@stream-io/node-sdk 0.4.22 → 0.4.24

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/gen/models/index.ts","../../src/utils/create-token.ts","../../src/types.ts","../../src/utils/rate-limit.ts","../../src/BaseApi.ts","../../src/gen/model-decoders/index.ts","../../src/gen/common/CommonApi.ts","../../src/gen/video/VideoApi.ts","../../src/gen/video/CallApi.ts","../../src/StreamCall.ts","../../src/StreamVideoClient.ts","../../src/gen/chat/ChatApi.ts","../../src/gen/chat/ChannelApi.ts","../../src/StreamChannel.ts","../../src/StreamChatClient.ts","../../src/gen/moderation/ModerationApi.ts","../../src/StreamModerationClient.ts","../../src/StreamClient.ts"],"sourcesContent":["export interface AIImageConfig {\n enabled: boolean;\n\n rules: AWSRekognitionRule[];\n\n async?: boolean;\n}\n\nexport interface AITextConfig {\n enabled: boolean;\n\n profile: string;\n\n rules: BodyguardRule[];\n\n severity_rules: BodyguardSeverityRule[];\n\n async?: boolean;\n}\n\nexport interface AIVideoConfig {\n enabled: boolean;\n\n rules: AWSRekognitionRule[];\n\n async?: boolean;\n}\n\nexport interface APIError {\n code: number;\n\n duration: string;\n\n message: string;\n\n more_info: string;\n\n status_code: number;\n\n details: number[];\n\n unrecoverable?: boolean;\n\n exception_fields?: Record<string, string>;\n}\n\nexport interface APNConfig {\n auth_key?: string;\n\n auth_type?: 'certificate' | 'token';\n\n bundle_id?: string;\n\n development?: boolean;\n\n disabled?: boolean;\n\n host?: string;\n\n key_id?: string;\n\n notification_template?: string;\n\n p12_cert?: string;\n\n team_id?: string;\n}\n\nexport interface APNConfigFields {\n development: boolean;\n\n enabled: boolean;\n\n notification_template: string;\n\n auth_key?: string;\n\n auth_type?: string;\n\n bundle_id?: string;\n\n host?: string;\n\n key_id?: string;\n\n p12_cert?: string;\n\n team_id?: string;\n}\n\nexport interface APNS {\n body: string;\n\n title: string;\n}\n\nexport interface AWSRekognitionRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n\n min_confidence: number;\n}\n\nexport interface Action {\n name: string;\n\n text: string;\n\n type: string;\n\n style?: string;\n\n value?: string;\n}\n\nexport interface ActionLog {\n created_at: Date;\n\n id: string;\n\n reason: string;\n\n reporter_type: string;\n\n review_queue_item_id: string;\n\n target_user_id: string;\n\n type: string;\n\n custom: Record<string, any>;\n\n review_queue_item?: ReviewQueueItem;\n\n target_user?: User;\n\n user?: User;\n}\n\nexport interface ActionLogResponse {\n created_at: Date;\n\n id: string;\n\n reason: string;\n\n target_user_id: string;\n\n type: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n review_queue_item?: ReviewQueueItem;\n\n target_user?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface AggregatedStats {\n publisher_aggregate_stats?: PublisherAggregateStats;\n\n turn?: TURNAggregatedStats;\n}\n\nexport interface AnyEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface AppResponseFields {\n async_url_enrich_enabled: boolean;\n\n auto_translation_enabled: boolean;\n\n campaign_enabled: boolean;\n\n cdn_expiration_seconds: number;\n\n custom_action_handler_url: string;\n\n disable_auth_checks: boolean;\n\n disable_permissions_checks: boolean;\n\n enforce_unique_usernames: string;\n\n guest_user_creation_disabled: boolean;\n\n image_moderation_enabled: boolean;\n\n moderation_enabled: boolean;\n\n moderation_multitenant_blocklist_enabled: boolean;\n\n moderation_webhook_url: string;\n\n multi_tenant_enabled: boolean;\n\n name: string;\n\n organization: string;\n\n permission_version: string;\n\n reminders_interval: number;\n\n sns_key: string;\n\n sns_secret: string;\n\n sns_topic_arn: string;\n\n sqs_key: string;\n\n sqs_secret: string;\n\n sqs_url: string;\n\n suspended: boolean;\n\n suspended_explanation: string;\n\n webhook_url: string;\n\n user_search_disallowed_roles: string[];\n\n webhook_events: string[];\n\n call_types: Record<string, CallType>;\n\n channel_configs: Record<string, ChannelConfig>;\n\n file_upload_config: FileUploadConfig;\n\n grants: Record<string, string[]>;\n\n image_upload_config: FileUploadConfig;\n\n policies: Record<string, Policy[]>;\n\n push_notifications: PushNotificationFields;\n\n before_message_send_hook_url?: string;\n\n revoke_tokens_issued_before?: Date;\n\n allowed_flag_reasons?: string[];\n\n geofences?: GeofenceResponse[];\n\n image_moderation_labels?: string[];\n\n datadog_info?: DataDogInfo;\n}\n\nexport interface AsyncExportChannelsEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportErrorEvent {\n created_at: Date;\n\n error: string;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportModerationLogsEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportUsersEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncModerationCallbackConfig {\n mode?: 'CALLBACK_MODE_NONE' | 'CALLBACK_MODE_REST' | 'CALLBACK_MODE_TWIRP';\n\n server_url?: string;\n}\n\nexport interface AsyncModerationConfiguration {\n timeout_ms?: number;\n\n callback?: AsyncModerationCallbackConfig;\n}\n\nexport interface Attachment {\n custom: Record<string, any>;\n\n asset_url?: string;\n\n author_icon?: string;\n\n author_link?: string;\n\n author_name?: string;\n\n color?: string;\n\n fallback?: string;\n\n footer?: string;\n\n footer_icon?: string;\n\n image_url?: string;\n\n latitude?: number;\n\n longitude?: number;\n\n og_scrape_url?: string;\n\n original_height?: number;\n\n original_width?: number;\n\n pretext?: string;\n\n stopped_sharing?: boolean;\n\n text?: string;\n\n thumb_url?: string;\n\n title?: string;\n\n title_link?: string;\n\n type?: string;\n\n actions?: Action[];\n\n fields?: Field[];\n\n giphy?: Images;\n}\n\nexport interface AudioSettings {\n access_request_enabled: boolean;\n\n default_device: 'speaker' | 'earpiece';\n\n mic_default_on: boolean;\n\n opus_dtx_enabled: boolean;\n\n redundant_coding_enabled: boolean;\n\n speaker_default_on: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AudioSettingsRequest {\n default_device: 'speaker' | 'earpiece';\n\n access_request_enabled?: boolean;\n\n mic_default_on?: boolean;\n\n opus_dtx_enabled?: boolean;\n\n redundant_coding_enabled?: boolean;\n\n speaker_default_on?: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AudioSettingsResponse {\n access_request_enabled: boolean;\n\n default_device: 'speaker' | 'earpiece';\n\n mic_default_on: boolean;\n\n opus_dtx_enabled: boolean;\n\n redundant_coding_enabled: boolean;\n\n speaker_default_on: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AutomodDetails {\n action?: string;\n\n original_message_type?: string;\n\n image_labels?: string[];\n\n message_details?: FlagMessageDetails;\n\n result?: MessageModerationResult;\n}\n\nexport interface AutomodPlatformCircumventionConfig {\n enabled: boolean;\n\n rules: AutomodRule[];\n\n async?: boolean;\n}\n\nexport interface AutomodRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n\n threshold: number;\n}\n\nexport interface AutomodSemanticFiltersConfig {\n enabled: boolean;\n\n rules: AutomodSemanticFiltersRule[];\n\n async?: boolean;\n}\n\nexport interface AutomodSemanticFiltersRule {\n action: 'flag' | 'shadow' | 'remove';\n\n name: string;\n\n threshold: number;\n}\n\nexport interface AutomodToxicityConfig {\n enabled: boolean;\n\n rules: AutomodRule[];\n\n async?: boolean;\n}\n\nexport interface AzureRequest {\n abs_account_name: string;\n\n abs_client_id: string;\n\n abs_client_secret: string;\n\n abs_tenant_id: string;\n}\n\nexport interface BackstageSettings {\n enabled: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface BackstageSettingsRequest {\n enabled?: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface BackstageSettingsResponse {\n enabled: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface Ban {\n created_at: Date;\n\n shadow: boolean;\n\n expires?: Date;\n\n reason?: string;\n\n channel?: Channel;\n\n created_by?: User;\n\n target?: User;\n}\n\nexport interface BanActionRequest {\n channel_ban_only?: boolean;\n\n ip_ban?: boolean;\n\n reason?: string;\n\n shadow?: boolean;\n\n timeout?: number;\n}\n\nexport interface BanRequest {\n target_user_id: string;\n\n banned_by_id?: string;\n\n channel_cid?: string;\n\n ip_ban?: boolean;\n\n reason?: string;\n\n shadow?: boolean;\n\n timeout?: number;\n\n banned_by?: UserRequest;\n}\n\nexport interface BanResponse {\n created_at: Date;\n\n expires?: Date;\n\n reason?: string;\n\n shadow?: boolean;\n\n banned_by?: UserResponse;\n\n channel?: ChannelResponse;\n\n user?: UserResponse;\n}\n\nexport interface BlockListConfig {\n enabled: boolean;\n\n rules: BlockListRule[];\n\n async?: boolean;\n}\n\nexport interface BlockListOptions {\n behavior: 'flag' | 'block' | 'shadow_block';\n\n blocklist: string;\n}\n\nexport interface BlockListResponse {\n name: string;\n\n type: string;\n\n words: string[];\n\n created_at?: Date;\n\n id?: string;\n\n team?: string;\n\n updated_at?: Date;\n}\n\nexport interface BlockListRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n name: string;\n\n team: string;\n}\n\nexport interface BlockUserRequest {\n user_id: string;\n}\n\nexport interface BlockUserResponse {\n duration: string;\n}\n\nexport interface BlockUsersRequest {\n blocked_user_id: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface BlockUsersResponse {\n blocked_by_user_id: string;\n\n blocked_user_id: string;\n\n created_at: Date;\n\n duration: string;\n}\n\nexport interface BlockedUserEvent {\n call_cid: string;\n\n created_at: Date;\n\n user: UserResponse;\n\n type: string;\n\n blocked_by_user?: UserResponse;\n}\n\nexport interface BlockedUserResponse {\n blocked_user_id: string;\n\n created_at: Date;\n\n user_id: string;\n\n blocked_user: UserResponse;\n\n user: UserResponse;\n}\n\nexport interface BodyguardRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n\n severity_rules: BodyguardSeverityRule[];\n}\n\nexport interface BodyguardSeverityRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n severity: 'low' | 'medium' | 'high' | 'critical';\n}\n\nexport interface Bound {\n inclusive: boolean;\n\n value: number;\n}\n\nexport interface BroadcastSettings {\n enabled: boolean;\n\n hls?: HLSSettings;\n\n rtmp?: RTMPSettings;\n}\n\nexport interface BroadcastSettingsRequest {\n enabled?: boolean;\n\n hls?: HLSSettingsRequest;\n\n rtmp?: RTMPSettingsRequest;\n}\n\nexport interface BroadcastSettingsResponse {\n enabled: boolean;\n\n hls: HLSSettingsResponse;\n\n rtmp: RTMPSettingsResponse;\n}\n\nexport interface BrowserDataResponse {\n name?: string;\n\n version?: string;\n}\n\nexport interface CallAcceptedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallClosedCaption {\n end_time: Date;\n\n speaker_id: string;\n\n start_time: Date;\n\n text: string;\n\n user: UserResponse;\n}\n\nexport interface CallClosedCaptionsFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallClosedCaptionsStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallClosedCaptionsStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallCreatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallDeletedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallDurationReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface CallDurationReportResponse {\n daily: DailyAggregateCallDurationReportResponse[];\n}\n\nexport interface CallEndedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n\n user?: UserResponse;\n}\n\nexport interface CallEvent {\n description: string;\n\n end_timestamp: number;\n\n internal: boolean;\n\n kind: string;\n\n severity: number;\n\n timestamp: number;\n\n type: string;\n\n category?: string;\n\n component?: string;\n\n issue_tags?: string[];\n}\n\nexport interface CallFrameRecordingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallFrameRecordingFrameReadyEvent {\n call_cid: string;\n\n captured_at: Date;\n\n created_at: Date;\n\n egress_id: string;\n\n session_id: string;\n\n track_type: string;\n\n url: string;\n\n users: Record<string, UserResponse>;\n\n type: string;\n}\n\nexport interface CallFrameRecordingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallFrameRecordingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n hls_playlist_url: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallIngressResponse {\n rtmp: RTMPIngress;\n}\n\nexport interface CallLiveStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberAddedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberRemovedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: string[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberUpdatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberUpdatedPermissionEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n capabilities_by_role: Record<string, string[]>;\n\n type: string;\n}\n\nexport interface CallMissedEvent {\n call_cid: string;\n\n created_at: Date;\n\n notify_user: boolean;\n\n session_id: string;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallNotificationEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallParticipantCountReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface CallParticipantCountReportResponse {\n daily: DailyAggregateCallParticipantCountReportResponse[];\n}\n\nexport interface CallParticipantResponse {\n joined_at: Date;\n\n role: string;\n\n user_session_id: string;\n\n user: UserResponse;\n}\n\nexport interface CallReactionEvent {\n call_cid: string;\n\n created_at: Date;\n\n reaction: ReactionResponse;\n\n type: string;\n}\n\nexport interface CallRecording {\n end_time: Date;\n\n filename: string;\n\n session_id: string;\n\n start_time: Date;\n\n url: string;\n}\n\nexport interface CallRecordingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRecordingReadyEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call_recording: CallRecording;\n\n type: string;\n}\n\nexport interface CallRecordingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRecordingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRejectedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n\n reason?: string;\n}\n\nexport interface CallReportResponse {\n score: number;\n\n ended_at?: Date;\n\n started_at?: Date;\n}\n\nexport interface CallRequest {\n created_by_id?: string;\n\n starts_at?: Date;\n\n team?: string;\n\n video?: boolean;\n\n members?: MemberRequest[];\n\n created_by?: UserRequest;\n\n custom?: Record<string, any>;\n\n settings_override?: CallSettingsRequest;\n}\n\nexport interface CallResponse {\n backstage: boolean;\n\n captioning: boolean;\n\n cid: string;\n\n created_at: Date;\n\n current_session_id: string;\n\n id: string;\n\n recording: boolean;\n\n transcribing: boolean;\n\n type: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n created_by: UserResponse;\n\n custom: Record<string, any>;\n\n egress: EgressResponse;\n\n ingress: CallIngressResponse;\n\n settings: CallSettingsResponse;\n\n ended_at?: Date;\n\n join_ahead_time_seconds?: number;\n\n starts_at?: Date;\n\n team?: string;\n\n session?: CallSessionResponse;\n\n thumbnails?: ThumbnailResponse;\n}\n\nexport interface CallRingEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n video: boolean;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallSessionEndedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallSessionParticipantJoinedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n participant: CallParticipantResponse;\n\n type: string;\n}\n\nexport interface CallSessionParticipantLeftEvent {\n call_cid: string;\n\n created_at: Date;\n\n duration_seconds: number;\n\n session_id: string;\n\n participant: CallParticipantResponse;\n\n type: string;\n}\n\nexport interface CallSessionResponse {\n anonymous_participant_count: number;\n\n id: string;\n\n participants: CallParticipantResponse[];\n\n accepted_by: Record<string, Date>;\n\n missed_by: Record<string, Date>;\n\n participants_count_by_role: Record<string, number>;\n\n rejected_by: Record<string, Date>;\n\n ended_at?: Date;\n\n live_ended_at?: Date;\n\n live_started_at?: Date;\n\n started_at?: Date;\n\n timer_ends_at?: Date;\n}\n\nexport interface CallSessionStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallSettings {\n audio?: AudioSettings;\n\n backstage?: BackstageSettings;\n\n broadcasting?: BroadcastSettings;\n\n frame_recording?: FrameRecordSettings;\n\n geofencing?: GeofenceSettings;\n\n limits?: LimitsSettings;\n\n recording?: RecordSettings;\n\n ring?: RingSettings;\n\n screensharing?: ScreensharingSettings;\n\n session?: SessionSettings;\n\n thumbnails?: ThumbnailsSettings;\n\n transcription?: TranscriptionSettings;\n\n video?: VideoSettings;\n}\n\nexport interface CallSettingsRequest {\n audio?: AudioSettingsRequest;\n\n backstage?: BackstageSettingsRequest;\n\n broadcasting?: BroadcastSettingsRequest;\n\n frame_recording?: FrameRecordingSettingsRequest;\n\n geofencing?: GeofenceSettingsRequest;\n\n limits?: LimitsSettingsRequest;\n\n recording?: RecordSettingsRequest;\n\n ring?: RingSettingsRequest;\n\n screensharing?: ScreensharingSettingsRequest;\n\n session?: SessionSettingsRequest;\n\n thumbnails?: ThumbnailsSettingsRequest;\n\n transcription?: TranscriptionSettingsRequest;\n\n video?: VideoSettingsRequest;\n}\n\nexport interface CallSettingsResponse {\n audio: AudioSettingsResponse;\n\n backstage: BackstageSettingsResponse;\n\n broadcasting: BroadcastSettingsResponse;\n\n frame_recording: FrameRecordingSettingsResponse;\n\n geofencing: GeofenceSettingsResponse;\n\n limits: LimitsSettingsResponse;\n\n recording: RecordSettingsResponse;\n\n ring: RingSettingsResponse;\n\n screensharing: ScreensharingSettingsResponse;\n\n session: SessionSettingsResponse;\n\n thumbnails: ThumbnailsSettingsResponse;\n\n transcription: TranscriptionSettingsResponse;\n\n video: VideoSettingsResponse;\n}\n\nexport interface CallStateResponseFields {\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface CallStatsReportSummaryResponse {\n call_cid: string;\n\n call_duration_seconds: number;\n\n call_session_id: string;\n\n call_status: string;\n\n first_stats_time: Date;\n\n created_at?: Date;\n\n min_user_rating?: number;\n\n quality_score?: number;\n}\n\nexport interface CallTimeline {\n events: CallEvent[];\n}\n\nexport interface CallTranscription {\n end_time: Date;\n\n filename: string;\n\n start_time: Date;\n\n url: string;\n}\n\nexport interface CallTranscriptionFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallTranscriptionReadyEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call_transcription: CallTranscription;\n\n type: string;\n}\n\nexport interface CallTranscriptionStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallTranscriptionStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallType {\n app_pk: number;\n\n created_at: Date;\n\n external_storage: string;\n\n name: string;\n\n pk: number;\n\n updated_at: Date;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettings;\n}\n\nexport interface CallTypeResponse {\n created_at: Date;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface CallUpdatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n capabilities_by_role: Record<string, string[]>;\n\n type: string;\n}\n\nexport interface CallUserFeedbackSubmittedEvent {\n call_cid: string;\n\n created_at: Date;\n\n rating: number;\n\n session_id: string;\n\n user: UserResponse;\n\n type: string;\n\n reason?: string;\n\n sdk?: string;\n\n sdk_version?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface CallUserMutedEvent {\n call_cid: string;\n\n created_at: Date;\n\n from_user_id: string;\n\n muted_user_ids: string[];\n\n type: string;\n}\n\nexport interface CallsPerDayReport {\n count: number;\n}\n\nexport interface CallsPerDayReportResponse {\n daily: DailyAggregateCallsPerDayReportResponse[];\n}\n\nexport interface CampaignChannelTemplate {\n type: string;\n\n custom: Record<string, any>;\n\n id?: string;\n\n team?: string;\n\n members?: string[];\n}\n\nexport interface CampaignCompletedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n campaign?: CampaignResponse;\n}\n\nexport interface CampaignMessageTemplate {\n poll_id: string;\n\n text: string;\n\n attachments: Attachment[];\n\n custom: Record<string, any>;\n}\n\nexport interface CampaignResponse {\n create_channels: boolean;\n\n created_at: Date;\n\n description: string;\n\n id: string;\n\n name: string;\n\n sender_id: string;\n\n sender_mode: string;\n\n skip_push: boolean;\n\n skip_webhook: boolean;\n\n status: string;\n\n updated_at: Date;\n\n segment_ids: string[];\n\n segments: Segment[];\n\n user_ids: string[];\n\n users: UserResponse[];\n\n stats: CampaignStatsResponse;\n\n scheduled_for?: Date;\n\n stop_at?: Date;\n\n channel_template?: CampaignChannelTemplate;\n\n message_template?: CampaignMessageTemplate;\n\n sender?: UserResponse;\n}\n\nexport interface CampaignStartedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n campaign?: CampaignResponse;\n}\n\nexport interface CampaignStatsResponse {\n progress: number;\n\n stats_channels_created: number;\n\n stats_completed_at: Date;\n\n stats_messages_sent: number;\n\n stats_started_at: Date;\n\n stats_users_read: number;\n\n stats_users_sent: number;\n}\n\nexport interface CastPollVoteRequest {\n user_id?: string;\n\n user?: UserRequest;\n\n vote?: VoteData;\n}\n\nexport interface Channel {\n auto_translation_language: string;\n\n cid: string;\n\n created_at: Date;\n\n disabled: boolean;\n\n frozen: boolean;\n\n id: string;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n auto_translation_enabled?: boolean;\n\n cooldown?: number;\n\n deleted_at?: Date;\n\n last_campaigns?: string;\n\n last_message_at?: Date;\n\n member_count?: number;\n\n team?: string;\n\n invites?: ChannelMember[];\n\n members?: ChannelMember[];\n\n config?: ChannelConfig;\n\n config_overrides?: ConfigOverrides;\n\n created_by?: User;\n\n truncated_by?: User;\n}\n\nexport interface ChannelConfig {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: string[];\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface ChannelConfigWithInfo {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: Command[];\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n\n grants?: Record<string, string[]>;\n}\n\nexport interface ChannelCreatedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelDeletedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelExport {\n cid?: string;\n\n id?: string;\n\n messages_since?: Date;\n\n messages_until?: Date;\n\n type?: string;\n}\n\nexport interface ChannelFrozenEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelGetOrCreateRequest {\n hide_for_creator?: boolean;\n\n state?: boolean;\n\n thread_unread_counts?: boolean;\n\n data?: ChannelInput;\n\n members?: PaginationParams;\n\n messages?: MessagePaginationParams;\n\n watchers?: PaginationParams;\n}\n\nexport interface ChannelHiddenEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n clear_history: boolean;\n\n created_at: Date;\n\n type: string;\n\n channel?: ChannelResponse;\n\n user?: User;\n}\n\nexport interface ChannelInput {\n auto_translation_enabled?: boolean;\n\n auto_translation_language?: string;\n\n created_by_id?: string;\n\n disabled?: boolean;\n\n frozen?: boolean;\n\n team?: string;\n\n truncated_by_id?: string;\n\n invites?: ChannelMember[];\n\n members?: ChannelMember[];\n\n config_overrides?: ChannelConfig;\n\n created_by?: UserRequest;\n\n custom?: Record<string, any>;\n}\n\nexport interface ChannelMember {\n banned: boolean;\n\n channel_role: string;\n\n created_at: Date;\n\n notifications_muted: boolean;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n archived_at?: Date;\n\n ban_expires?: Date;\n\n deleted_at?: Date;\n\n invite_accepted_at?: Date;\n\n invite_rejected_at?: Date;\n\n invited?: boolean;\n\n is_moderator?: boolean;\n\n pinned_at?: Date;\n\n role?: 'member' | 'moderator' | 'admin' | 'owner';\n\n status?: string;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface ChannelMemberResponse {\n banned: boolean;\n\n channel_role: string;\n\n created_at: Date;\n\n notifications_muted: boolean;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n archived_at?: Date;\n\n ban_expires?: Date;\n\n deleted_at?: Date;\n\n invite_accepted_at?: Date;\n\n invite_rejected_at?: Date;\n\n invited?: boolean;\n\n is_moderator?: boolean;\n\n pinned_at?: Date;\n\n role?: 'member' | 'moderator' | 'admin' | 'owner';\n\n status?: string;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface ChannelMessages {\n messages: Message[];\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelMute {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n channel?: ChannelResponse;\n\n user?: UserResponse;\n}\n\nexport interface ChannelMutedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport const ChannelOwnCapability = {\n BAN_CHANNEL_MEMBERS: 'ban-channel-members',\n CAST_POLL_VOTE: 'cast-poll-vote',\n CONNECT_EVENTS: 'connect-events',\n CREATE_ATTACHMENT: 'create-attachment',\n DELETE_ANY_MESSAGE: 'delete-any-message',\n DELETE_CHANNEL: 'delete-channel',\n DELETE_OWN_MESSAGE: 'delete-own-message',\n FLAG_MESSAGE: 'flag-message',\n FREEZE_CHANNEL: 'freeze-channel',\n JOIN_CHANNEL: 'join-channel',\n LEAVE_CHANNEL: 'leave-channel',\n MUTE_CHANNEL: 'mute-channel',\n PIN_MESSAGE: 'pin-message',\n QUERY_POLL_VOTES: 'query-poll-votes',\n QUOTE_MESSAGE: 'quote-message',\n READ_EVENTS: 'read-events',\n SEARCH_MESSAGES: 'search-messages',\n SEND_CUSTOM_EVENTS: 'send-custom-events',\n SEND_LINKS: 'send-links',\n SEND_MESSAGE: 'send-message',\n SEND_POLL: 'send-poll',\n SEND_REACTION: 'send-reaction',\n SEND_REPLY: 'send-reply',\n SEND_RESTRICTED_VISIBILITY_MESSAGE: 'send-restricted-visibility-message',\n SEND_TYPING_EVENTS: 'send-typing-events',\n SET_CHANNEL_COOLDOWN: 'set-channel-cooldown',\n SKIP_SLOW_MODE: 'skip-slow-mode',\n SLOW_MODE: 'slow-mode',\n TYPING_EVENTS: 'typing-events',\n UPDATE_ANY_MESSAGE: 'update-any-message',\n UPDATE_CHANNEL: 'update-channel',\n UPDATE_CHANNEL_MEMBERS: 'update-channel-members',\n UPDATE_OWN_MESSAGE: 'update-own-message',\n UPDATE_THREAD: 'update-thread',\n UPLOAD_FILE: 'upload-file',\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type ChannelOwnCapability =\n (typeof ChannelOwnCapability)[keyof typeof ChannelOwnCapability];\n\nexport interface ChannelPushPreferences {\n chat_level?: string;\n\n disabled_until?: Date;\n}\n\nexport interface ChannelResponse {\n cid: string;\n\n created_at: Date;\n\n disabled: boolean;\n\n frozen: boolean;\n\n id: string;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n auto_translation_enabled?: boolean;\n\n auto_translation_language?: string;\n\n blocked?: boolean;\n\n cooldown?: number;\n\n deleted_at?: Date;\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n last_message_at?: Date;\n\n member_count?: number;\n\n mute_expires_at?: Date;\n\n muted?: boolean;\n\n team?: string;\n\n truncated_at?: Date;\n\n members?: ChannelMember[];\n\n own_capabilities?: ChannelOwnCapability[];\n\n config?: ChannelConfigWithInfo;\n\n created_by?: UserResponse;\n\n truncated_by?: UserResponse;\n}\n\nexport interface ChannelStateResponse {\n duration: string;\n\n members: ChannelMember[];\n\n messages: MessageResponse[];\n\n pinned_messages: MessageResponse[];\n\n threads: ThreadStateResponse[];\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n watcher_count?: number;\n\n pending_messages?: PendingMessageResponse[];\n\n read?: ReadStateResponse[];\n\n watchers?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n membership?: ChannelMember;\n\n push_preferences?: ChannelPushPreferences;\n}\n\nexport interface ChannelStateResponseFields {\n members: ChannelMember[];\n\n messages: MessageResponse[];\n\n pinned_messages: MessageResponse[];\n\n threads: ThreadStateResponse[];\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n watcher_count?: number;\n\n pending_messages?: PendingMessageResponse[];\n\n read?: ReadStateResponse[];\n\n watchers?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n membership?: ChannelMember;\n\n push_preferences?: ChannelPushPreferences;\n}\n\nexport interface ChannelTruncatedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelTypeConfig {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: Command[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface ChannelUnFrozenEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelUnmutedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelUpdatedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n channel?: ChannelResponse;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface ChannelVisibleEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n user?: User;\n}\n\nexport interface CheckExternalStorageResponse {\n duration: string;\n\n file_url: string;\n}\n\nexport interface CheckPushRequest {\n apn_template?: string;\n\n firebase_data_template?: string;\n\n firebase_template?: string;\n\n message_id?: string;\n\n push_provider_name?: string;\n\n push_provider_type?: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n skip_devices?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface CheckPushResponse {\n duration: string;\n\n rendered_apn_template?: string;\n\n rendered_firebase_template?: string;\n\n skip_devices?: boolean;\n\n general_errors?: string[];\n\n device_errors?: Record<string, DeviceErrorInfo>;\n\n rendered_message?: Record<string, string>;\n}\n\nexport interface CheckRequest {\n config_key: string;\n\n entity_creator_id: string;\n\n entity_id: string;\n\n entity_type: string;\n\n config_team?: string;\n\n test_mode?: boolean;\n\n user_id?: string;\n\n moderation_payload?: ModerationPayload;\n\n options?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CheckResponse {\n duration: string;\n\n recommended_action: string;\n\n status: string;\n\n task_id?: string;\n\n item?: ReviewQueueItem;\n}\n\nexport interface CheckSNSRequest {\n sns_key?: string;\n\n sns_secret?: string;\n\n sns_topic_arn?: string;\n}\n\nexport interface CheckSNSResponse {\n duration: string;\n\n status: 'ok' | 'error';\n\n error?: string;\n\n data?: Record<string, any>;\n}\n\nexport interface CheckSQSRequest {\n sqs_key?: string;\n\n sqs_secret?: string;\n\n sqs_url?: string;\n}\n\nexport interface CheckSQSResponse {\n duration: string;\n\n status: 'ok' | 'error';\n\n error?: string;\n\n data?: Record<string, any>;\n}\n\nexport interface ClientOSDataResponse {\n architecture?: string;\n\n name?: string;\n\n version?: string;\n}\n\nexport interface ClosedCaptionEvent {\n call_cid: string;\n\n created_at: Date;\n\n closed_caption: CallClosedCaption;\n\n type: string;\n}\n\nexport interface CollectUserFeedbackRequest {\n rating: number;\n\n sdk: string;\n\n sdk_version: string;\n\n reason?: string;\n\n user_session_id?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface CollectUserFeedbackResponse {\n duration: string;\n}\n\nexport interface Command {\n args: string;\n\n description: string;\n\n name: string;\n\n set: string;\n\n created_at?: Date;\n\n updated_at?: Date;\n}\n\nexport interface CommitMessageRequest {}\n\nexport interface ConfigOverrides {\n commands: string[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block';\n\n max_message_length?: number;\n\n quotes?: boolean;\n\n reactions?: boolean;\n\n replies?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n}\n\nexport interface ConfigResponse {\n async: boolean;\n\n created_at: Date;\n\n key: string;\n\n team: string;\n\n updated_at: Date;\n\n ai_image_config?: AIImageConfig;\n\n ai_text_config?: AITextConfig;\n\n ai_video_config?: AIVideoConfig;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n block_list_config?: BlockListConfig;\n\n velocity_filter_config?: VelocityFilterConfig;\n}\n\nexport interface Coordinates {\n latitude: number;\n\n longitude: number;\n}\n\nexport interface Count {\n approximate: boolean;\n\n value: number;\n}\n\nexport interface CreateBlockListRequest {\n name: string;\n\n words: string[];\n\n team?: string;\n\n type?: 'regex' | 'domain' | 'email' | 'word';\n}\n\nexport interface CreateBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface CreateCallTypeRequest {\n name: string;\n\n external_storage?: string;\n\n grants?: Record<string, string[]>;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettingsRequest;\n}\n\nexport interface CreateCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface CreateChannelTypeRequest {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block';\n\n max_message_length: number;\n\n name: string;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n connect_events?: boolean;\n\n custom_events?: boolean;\n\n mark_messages_pending?: boolean;\n\n message_retention?: 'infinite' | 'numeric';\n\n mutes?: boolean;\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n polls?: boolean;\n\n push_notifications?: boolean;\n\n reactions?: boolean;\n\n read_events?: boolean;\n\n replies?: boolean;\n\n search?: boolean;\n\n skip_last_msg_update_for_system_msgs?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n\n blocklists?: BlockListOptions[];\n\n commands?: string[];\n\n permissions?: PolicyRequest[];\n\n grants?: Record<string, string[]>;\n}\n\nexport interface CreateChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: string[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface CreateCommandRequest {\n description: string;\n\n name: string;\n\n args?: string;\n\n set?: string;\n}\n\nexport interface CreateCommandResponse {\n duration: string;\n\n command?: Command;\n}\n\nexport interface CreateDeviceRequest {\n id: string;\n\n push_provider: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n push_provider_name?: string;\n\n user_id?: string;\n\n voip_token?: boolean;\n\n user?: UserRequest;\n}\n\nexport interface CreateExternalStorageRequest {\n bucket: string;\n\n name: string;\n\n storage_type: 's3' | 'gcs' | 'abs';\n\n gcs_credentials?: string;\n\n path?: string;\n\n aws_s3?: S3Request;\n\n azure_blob?: AzureRequest;\n}\n\nexport interface CreateExternalStorageResponse {\n duration: string;\n}\n\nexport interface CreateGuestRequest {\n user: UserRequest;\n}\n\nexport interface CreateGuestResponse {\n access_token: string;\n\n duration: string;\n\n user: UserResponse;\n}\n\nexport interface CreateImportRequest {\n mode: 'insert' | 'upsert';\n\n path: string;\n}\n\nexport interface CreateImportResponse {\n duration: string;\n\n import_task?: ImportTask;\n}\n\nexport interface CreateImportURLRequest {\n filename?: string;\n}\n\nexport interface CreateImportURLResponse {\n duration: string;\n\n path: string;\n\n upload_url: string;\n}\n\nexport interface CreatePollOptionRequest {\n text: string;\n\n position?: number;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CreatePollRequest {\n name: string;\n\n allow_answers?: boolean;\n\n allow_user_suggested_options?: boolean;\n\n description?: string;\n\n enforce_unique_vote?: boolean;\n\n id?: string;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n user_id?: string;\n\n voting_visibility?: 'anonymous' | 'public';\n\n options?: PollOptionInput[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CreateRoleRequest {\n name: string;\n}\n\nexport interface CreateRoleResponse {\n duration: string;\n\n role: Role;\n}\n\nexport interface CustomActionRequest {\n id?: string;\n\n options?: Record<string, any>;\n}\n\nexport interface CustomCheckFlag {\n type: string;\n\n reason?: string;\n\n labels?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface CustomCheckRequest {\n entity_id: string;\n\n entity_type: string;\n\n flags: CustomCheckFlag[];\n\n entity_creator_id?: string;\n\n user_id?: string;\n\n moderation_payload?: ModerationPayload;\n\n user?: UserRequest;\n}\n\nexport interface CustomCheckResponse {\n duration: string;\n\n id: string;\n\n status: string;\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface CustomVideoEvent {\n call_cid: string;\n\n created_at: Date;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface DailyAggregateCallDurationReportResponse {\n date: string;\n\n report: CallDurationReport;\n}\n\nexport interface DailyAggregateCallParticipantCountReportResponse {\n date: string;\n\n report: CallParticipantCountReport;\n}\n\nexport interface DailyAggregateCallsPerDayReportResponse {\n date: string;\n\n report: CallsPerDayReport;\n}\n\nexport interface DailyAggregateQualityScoreReportResponse {\n date: string;\n\n report: QualityScoreReport;\n}\n\nexport interface DailyAggregateSDKUsageReportResponse {\n date: string;\n\n report: SDKUsageReport;\n}\n\nexport interface DailyAggregateUserFeedbackReportResponse {\n date: string;\n\n report: UserFeedbackReport;\n}\n\nexport interface Data {\n id: string;\n}\n\nexport interface DataDogInfo {\n api_key?: string;\n\n enabled?: boolean;\n\n site?: string;\n}\n\nexport interface DeactivateUserRequest {\n created_by_id?: string;\n\n mark_messages_deleted?: boolean;\n}\n\nexport interface DeactivateUserResponse {\n duration: string;\n\n user?: UserResponse;\n}\n\nexport interface DeactivateUsersRequest {\n user_ids: string[];\n\n created_by_id?: string;\n\n mark_channels_deleted?: boolean;\n\n mark_messages_deleted?: boolean;\n}\n\nexport interface DeactivateUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface DeleteActivityRequest {\n hard_delete?: boolean;\n}\n\nexport interface DeleteCallRequest {\n hard?: boolean;\n}\n\nexport interface DeleteCallResponse {\n duration: string;\n\n call: CallResponse;\n\n task_id?: string;\n}\n\nexport interface DeleteChannelResponse {\n duration: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface DeleteChannelsRequest {\n cids: string[];\n\n hard_delete?: boolean;\n}\n\nexport interface DeleteChannelsResponse {\n duration: string;\n\n task_id?: string;\n\n result?: Record<string, DeleteChannelsResultResponse>;\n}\n\nexport interface DeleteChannelsResultResponse {\n status: string;\n\n error?: string;\n}\n\nexport interface DeleteCommandResponse {\n duration: string;\n\n name: string;\n}\n\nexport interface DeleteExternalStorageResponse {\n duration: string;\n}\n\nexport interface DeleteMessageRequest {\n hard_delete?: boolean;\n}\n\nexport interface DeleteMessageResponse {\n duration: string;\n\n message: MessageResponse;\n}\n\nexport interface DeleteModerationConfigResponse {\n duration: string;\n}\n\nexport interface DeleteModerationTemplateResponse {\n duration: string;\n}\n\nexport interface DeleteReactionRequest {\n hard_delete?: boolean;\n}\n\nexport interface DeleteReactionResponse {\n duration: string;\n\n message: MessageResponse;\n\n reaction: ReactionResponse;\n}\n\nexport interface DeleteRecordingResponse {\n duration: string;\n}\n\nexport interface DeleteSegmentTargetsRequest {\n target_ids: string[];\n}\n\nexport interface DeleteTranscriptionResponse {\n duration: string;\n}\n\nexport interface DeleteUserRequest {\n delete_conversation_channels?: boolean;\n\n delete_feeds_content?: boolean;\n\n hard_delete?: boolean;\n\n mark_messages_deleted?: boolean;\n}\n\nexport interface DeleteUsersRequest {\n user_ids: string[];\n\n calls?: 'soft' | 'hard';\n\n conversations?: 'soft' | 'hard';\n\n messages?: 'soft' | 'pruning' | 'hard';\n\n new_call_owner_id?: string;\n\n new_channel_owner_id?: string;\n\n user?: 'soft' | 'pruning' | 'hard';\n}\n\nexport interface DeleteUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface Device {\n created_at: Date;\n\n id: string;\n\n push_provider: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n user_id: string;\n\n disabled?: boolean;\n\n disabled_reason?: string;\n\n push_provider_name?: string;\n\n voip?: boolean;\n}\n\nexport interface DeviceDataResponse {\n name?: string;\n\n version?: string;\n}\n\nexport interface DeviceErrorInfo {\n error_message: string;\n\n provider: string;\n\n provider_name: string;\n}\n\nexport interface DeviceResponse {\n created_at: Date;\n\n id: string;\n\n push_provider: string;\n\n user_id: string;\n\n disabled?: boolean;\n\n disabled_reason?: string;\n\n push_provider_name?: string;\n\n voip?: boolean;\n}\n\nexport interface DraftPayloadResponse {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n\n html?: string;\n\n mml?: string;\n\n parent_id?: string;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n silent?: boolean;\n\n type?: string;\n\n attachments?: Attachment[];\n\n mentioned_users?: UserResponse[];\n}\n\nexport interface DraftResponse {\n channel_cid: string;\n\n created_at: Date;\n\n message: DraftPayloadResponse;\n\n parent_id?: string;\n\n channel?: ChannelResponse;\n\n parent_message?: MessageResponse;\n\n quoted_message?: MessageResponse;\n}\n\nexport interface EdgeResponse {\n continent_code: string;\n\n country_iso_code: string;\n\n green: number;\n\n id: string;\n\n latency_test_url: string;\n\n latitude: number;\n\n longitude: number;\n\n red: number;\n\n subdivision_iso_code: string;\n\n yellow: number;\n}\n\nexport interface EgressHLSResponse {\n playlist_url: string;\n\n status: string;\n}\n\nexport interface EgressRTMPResponse {\n name: string;\n\n started_at: Date;\n\n stream_key?: string;\n\n stream_url?: string;\n}\n\nexport interface EgressResponse {\n broadcasting: boolean;\n\n rtmps: EgressRTMPResponse[];\n\n frame_recording?: FrameRecordingResponse;\n\n hls?: EgressHLSResponse;\n}\n\nexport interface EndCallRequest {}\n\nexport interface EndCallResponse {\n duration: string;\n}\n\nexport interface EnrichedActivity {\n foreign_id?: string;\n\n id?: string;\n\n score?: number;\n\n verb?: string;\n\n to?: string[];\n\n actor?: Data;\n\n latest_reactions?: Record<string, EnrichedReaction[]>;\n\n object?: Data;\n\n origin?: Data;\n\n own_reactions?: Record<string, EnrichedReaction[]>;\n\n reaction_counts?: Record<string, number>;\n\n target?: Data;\n}\n\nexport interface EnrichedReaction {\n activity_id: string;\n\n kind: string;\n\n user_id: string;\n\n id?: string;\n\n parent?: string;\n\n target_feeds?: string[];\n\n children_counts?: Record<string, number>;\n\n created_at?: Time;\n\n data?: Record<string, any>;\n\n latest_children?: Record<string, EnrichedReaction[]>;\n\n own_children?: Record<string, EnrichedReaction[]>;\n\n updated_at?: Time;\n\n user?: Data;\n}\n\nexport interface EntityCreator {\n ban_count: number;\n\n banned: boolean;\n\n deleted_content_count: number;\n\n id: string;\n\n online: boolean;\n\n role: string;\n\n custom: Record<string, any>;\n\n teams_role: Record<string, string>;\n\n ban_expires?: Date;\n\n created_at?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n invisible?: boolean;\n\n language?: string;\n\n last_active?: Date;\n\n last_engaged_at?: Date;\n\n revoke_tokens_issued_before?: Date;\n\n updated_at?: Date;\n\n teams?: string[];\n\n privacy_settings?: PrivacySettings;\n}\n\nexport interface EntityCreatorResponse {\n ban_count: number;\n\n banned: boolean;\n\n created_at: Date;\n\n deleted_content_count: number;\n\n flagged_count: number;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n devices?: DeviceResponse[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_notifications?: PushNotificationSettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface ErrorResult {\n type: string;\n\n stacktrace?: string;\n\n version?: string;\n}\n\nexport interface EventNotificationSettings {\n enabled: boolean;\n\n apns: APNS;\n}\n\nexport interface EventRequest {\n type: string;\n\n parent_id?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface EventResponse {\n duration: string;\n\n event: WSEvent;\n}\n\nexport interface ExportChannelsRequest {\n channels: ChannelExport[];\n\n clear_deleted_message_text?: boolean;\n\n export_users?: boolean;\n\n include_soft_deleted_channels?: boolean;\n\n include_truncated_messages?: boolean;\n\n version?: string;\n}\n\nexport interface ExportChannelsResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ExportUserResponse {\n duration: string;\n\n messages?: MessageResponse[];\n\n reactions?: ReactionResponse[];\n\n user?: UserResponse;\n}\n\nexport interface ExportUsersRequest {\n user_ids: string[];\n}\n\nexport interface ExportUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ExternalStorageResponse {\n bucket: string;\n\n name: string;\n\n path: string;\n\n type: 's3' | 'gcs' | 'abs';\n}\n\nexport interface FPSStats {\n average_fps: number;\n\n tracked: number;\n}\n\nexport interface FeedsModerationTemplateConfig {\n config_key: string;\n\n data_types: Record<string, string>;\n}\n\nexport interface Field {\n short: boolean;\n\n title: string;\n\n value: string;\n}\n\nexport interface FileUploadConfig {\n size_limit: number;\n\n allowed_file_extensions?: string[];\n\n allowed_mime_types?: string[];\n\n blocked_file_extensions?: string[];\n\n blocked_mime_types?: string[];\n}\n\nexport interface FileUploadRequest {\n file?: string;\n\n user?: OnlyUserID;\n}\n\nexport interface FileUploadResponse {\n duration: string;\n\n file?: string;\n\n thumb_url?: string;\n}\n\nexport interface FirebaseConfig {\n apn_template?: string;\n\n credentials_json?: string;\n\n data_template?: string;\n\n disabled?: boolean;\n\n notification_template?: string;\n\n server_key?: string;\n}\n\nexport interface FirebaseConfigFields {\n apn_template: string;\n\n data_template: string;\n\n enabled: boolean;\n\n notification_template: string;\n\n credentials_json?: string;\n\n server_key?: string;\n}\n\nexport interface Flag {\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n updated_at: Date;\n\n result: Array<Record<string, any>>;\n\n entity_creator_id?: string;\n\n moderation_payload_hash?: string;\n\n reason?: string;\n\n review_queue_item_id?: string;\n\n type?: string;\n\n labels?: string[];\n\n custom?: Record<string, any>;\n\n moderation_payload?: ModerationPayload;\n\n user?: User;\n}\n\nexport interface FlagDetails {\n original_text: string;\n\n extra: Record<string, any>;\n\n automod?: AutomodDetails;\n}\n\nexport interface FlagFeedback {\n created_at: Date;\n\n message_id: string;\n\n labels: Label[];\n}\n\nexport interface FlagMessageDetails {\n pin_changed?: boolean;\n\n should_enrich?: boolean;\n\n skip_push?: boolean;\n\n updated_by_id?: string;\n}\n\nexport interface FlagRequest {\n entity_id: string;\n\n entity_type: string;\n\n entity_creator_id?: string;\n\n reason?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n moderation_payload?: ModerationPayload;\n\n user?: UserRequest;\n}\n\nexport interface FlagResponse {\n duration: string;\n\n item_id: string;\n}\n\nexport interface FlagUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n created_by?: UserResponse;\n\n message?: MessageResponse;\n\n user?: UserResponse;\n}\n\nexport interface FrameRecordSettings {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: string;\n}\n\nexport interface FrameRecordingResponse {\n status: string;\n}\n\nexport interface FrameRecordingSettingsRequest {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: '360p' | '480p' | '720p' | '1080p' | '1440p';\n}\n\nexport interface FrameRecordingSettingsResponse {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: string;\n}\n\nexport interface FullUserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n channel_mutes: ChannelMute[];\n\n devices: DeviceResponse[];\n\n mutes: UserMuteResponse[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n latest_hidden_channels?: string[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface GeofenceResponse {\n name: string;\n\n description?: string;\n\n type?: string;\n\n country_codes?: string[];\n}\n\nexport interface GeofenceSettings {\n names: string[];\n}\n\nexport interface GeofenceSettingsRequest {\n names?: string[];\n}\n\nexport interface GeofenceSettingsResponse {\n names: string[];\n}\n\nexport interface GeolocationResult {\n accuracy_radius: number;\n\n city: string;\n\n continent: string;\n\n continent_code: string;\n\n country: string;\n\n country_iso_code: string;\n\n latitude: number;\n\n longitude: number;\n\n subdivision: string;\n\n subdivision_iso_code: string;\n}\n\nexport interface GetApplicationResponse {\n duration: string;\n\n app: AppResponseFields;\n}\n\nexport interface GetBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface GetBlockedUsersResponse {\n duration: string;\n\n blocks: BlockedUserResponse[];\n}\n\nexport interface GetCallReportResponse {\n duration: string;\n\n session_id: string;\n\n report: ReportResponse;\n}\n\nexport interface GetCallResponse {\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface GetCallStatsResponse {\n call_duration_seconds: number;\n\n call_status: string;\n\n duration: string;\n\n is_truncated_report: boolean;\n\n max_freezes_duration_seconds: number;\n\n max_participants: number;\n\n max_total_quality_limitation_duration_seconds: number;\n\n publishing_participants: number;\n\n quality_score: number;\n\n sfu_count: number;\n\n participant_report: UserStats[];\n\n sfus: SFULocationResponse[];\n\n average_connection_time?: number;\n\n aggregated?: AggregatedStats;\n\n call_timeline?: CallTimeline;\n\n jitter?: TimeStats;\n\n latency?: TimeStats;\n}\n\nexport interface GetCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface GetCampaignResponse {\n duration: string;\n\n campaign?: CampaignResponse;\n\n users?: PagerResponse;\n}\n\nexport interface GetChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: Command[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface GetCommandResponse {\n args: string;\n\n description: string;\n\n duration: string;\n\n name: string;\n\n set: string;\n\n created_at?: Date;\n\n updated_at?: Date;\n}\n\nexport interface GetConfigResponse {\n duration: string;\n\n config?: ConfigResponse;\n}\n\nexport interface GetCustomPermissionResponse {\n duration: string;\n\n permission: Permission;\n}\n\nexport interface GetDraftResponse {\n duration: string;\n\n draft: DraftResponse;\n}\n\nexport interface GetEdgesResponse {\n duration: string;\n\n edges: EdgeResponse[];\n}\n\nexport interface GetImportResponse {\n duration: string;\n\n import_task?: ImportTask;\n}\n\nexport interface GetManyMessagesResponse {\n duration: string;\n\n messages: MessageResponse[];\n}\n\nexport interface GetMessageResponse {\n duration: string;\n\n message: MessageWithChannelResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface GetOGResponse {\n duration: string;\n\n custom: Record<string, any>;\n\n asset_url?: string;\n\n author_icon?: string;\n\n author_link?: string;\n\n author_name?: string;\n\n color?: string;\n\n fallback?: string;\n\n footer?: string;\n\n footer_icon?: string;\n\n image_url?: string;\n\n latitude?: number;\n\n longitude?: number;\n\n og_scrape_url?: string;\n\n original_height?: number;\n\n original_width?: number;\n\n pretext?: string;\n\n stopped_sharing?: boolean;\n\n text?: string;\n\n thumb_url?: string;\n\n title?: string;\n\n title_link?: string;\n\n type?: string;\n\n actions?: Action[];\n\n fields?: Field[];\n\n giphy?: Images;\n}\n\nexport interface GetOrCreateCallRequest {\n members_limit?: number;\n\n notify?: boolean;\n\n ring?: boolean;\n\n video?: boolean;\n\n data?: CallRequest;\n}\n\nexport interface GetOrCreateCallResponse {\n created: boolean;\n\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface GetRateLimitsResponse {\n duration: string;\n\n android?: Record<string, LimitInfo>;\n\n ios?: Record<string, LimitInfo>;\n\n server_side?: Record<string, LimitInfo>;\n\n web?: Record<string, LimitInfo>;\n}\n\nexport interface GetReactionsResponse {\n duration: string;\n\n reactions: Reaction[];\n}\n\nexport interface GetRepliesResponse {\n duration: string;\n\n messages: MessageResponse[];\n}\n\nexport interface GetReviewQueueItemResponse {\n duration: string;\n\n history: ReviewQueueItemResponse[];\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface GetSegmentResponse {\n duration: string;\n\n segment?: SegmentResponse;\n}\n\nexport interface GetTaskResponse {\n created_at: Date;\n\n duration: string;\n\n status: string;\n\n task_id: string;\n\n updated_at: Date;\n\n error?: ErrorResult;\n\n result?: Record<string, any>;\n}\n\nexport interface GetThreadResponse {\n duration: string;\n\n thread: ThreadStateResponse;\n}\n\nexport interface GoLiveRequest {\n recording_storage_name?: string;\n\n start_closed_caption?: boolean;\n\n start_hls?: boolean;\n\n start_recording?: boolean;\n\n start_transcription?: boolean;\n\n transcription_storage_name?: string;\n}\n\nexport interface GoLiveResponse {\n duration: string;\n\n call: CallResponse;\n}\n\nexport interface GoogleVisionConfig {\n enabled?: boolean;\n}\n\nexport interface HLSSettings {\n auto_on: boolean;\n\n enabled: boolean;\n\n quality_tracks: string[];\n\n layout?: LayoutSettings;\n}\n\nexport interface HLSSettingsRequest {\n quality_tracks: string[];\n\n auto_on?: boolean;\n\n enabled?: boolean;\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface HLSSettingsResponse {\n auto_on: boolean;\n\n enabled: boolean;\n\n quality_tracks: string[];\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface HideChannelRequest {\n clear_history?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface HideChannelResponse {\n duration: string;\n}\n\nexport interface HuaweiConfig {\n disabled?: boolean;\n\n id?: string;\n\n secret?: string;\n}\n\nexport interface HuaweiConfigFields {\n enabled: boolean;\n\n id?: string;\n\n secret?: string;\n}\n\nexport interface ImageData {\n frames: string;\n\n height: string;\n\n size: string;\n\n url: string;\n\n width: string;\n}\n\nexport interface ImageSize {\n crop?: 'top' | 'bottom' | 'left' | 'right' | 'center';\n\n height?: number;\n\n resize?: 'clip' | 'crop' | 'scale' | 'fill';\n\n width?: number;\n}\n\nexport interface ImageUploadRequest {\n file?: string;\n\n upload_sizes?: ImageSize[];\n\n user?: OnlyUserID;\n}\n\nexport interface ImageUploadResponse {\n duration: string;\n\n file?: string;\n\n thumb_url?: string;\n\n upload_sizes?: ImageSize[];\n}\n\nexport interface Images {\n fixed_height: ImageData;\n\n fixed_height_downsampled: ImageData;\n\n fixed_height_still: ImageData;\n\n fixed_width: ImageData;\n\n fixed_width_downsampled: ImageData;\n\n fixed_width_still: ImageData;\n\n original: ImageData;\n}\n\nexport interface ImportTask {\n created_at: Date;\n\n id: string;\n\n mode: string;\n\n path: string;\n\n state: string;\n\n updated_at: Date;\n\n history: ImportTaskHistory[];\n\n size?: number;\n}\n\nexport interface ImportTaskHistory {\n created_at: Date;\n\n next_state: string;\n\n prev_state: string;\n}\n\nexport interface Label {\n name: string;\n\n harm_labels?: string[];\n\n phrase_list_ids?: number[];\n}\n\nexport interface LabelThresholds {\n block?: number;\n\n flag?: number;\n}\n\nexport interface LayoutSettings {\n external_app_url: string;\n\n external_css_url: string;\n\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n options?: Record<string, any>;\n}\n\nexport interface LayoutSettingsRequest {\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n external_app_url?: string;\n\n external_css_url?: string;\n\n options?: Record<string, any>;\n}\n\nexport interface LayoutSettingsResponse {\n external_app_url: string;\n\n external_css_url: string;\n\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n options?: Record<string, any>;\n}\n\nexport interface LimitInfo {\n limit: number;\n\n remaining: number;\n\n reset: number;\n}\n\nexport interface LimitsSettings {\n max_duration_seconds?: number;\n\n max_participants?: number;\n}\n\nexport interface LimitsSettingsRequest {\n max_duration_seconds?: number;\n\n max_participants?: number;\n}\n\nexport interface LimitsSettingsResponse {\n max_duration_seconds?: number;\n\n max_participants?: number;\n}\n\nexport interface ListBlockListResponse {\n duration: string;\n\n blocklists: BlockListResponse[];\n}\n\nexport interface ListCallTypeResponse {\n duration: string;\n\n call_types: Record<string, CallTypeResponse>;\n}\n\nexport interface ListChannelTypesResponse {\n duration: string;\n\n channel_types: Record<string, ChannelTypeConfig>;\n}\n\nexport interface ListCommandsResponse {\n duration: string;\n\n commands: Command[];\n}\n\nexport interface ListDevicesResponse {\n duration: string;\n\n devices: DeviceResponse[];\n}\n\nexport interface ListExternalStorageResponse {\n duration: string;\n\n external_storages: Record<string, ExternalStorageResponse>;\n}\n\nexport interface ListImportsResponse {\n duration: string;\n\n import_tasks: ImportTask[];\n}\n\nexport interface ListPermissionsResponse {\n duration: string;\n\n permissions: Permission[];\n}\n\nexport interface ListPushProvidersResponse {\n duration: string;\n\n push_providers: PushProviderResponse[];\n}\n\nexport interface ListRecordingsResponse {\n duration: string;\n\n recordings: CallRecording[];\n}\n\nexport interface ListRolesResponse {\n duration: string;\n\n roles: Role[];\n}\n\nexport interface ListTranscriptionsResponse {\n duration: string;\n\n transcriptions: CallTranscription[];\n}\n\nexport interface Location {\n continent_code: string;\n\n country_iso_code: string;\n\n subdivision_iso_code: string;\n}\n\nexport interface MarkChannelsReadRequest {\n user_id?: string;\n\n read_by_channel?: Record<string, string>;\n\n user?: UserRequest;\n}\n\nexport interface MarkReadRequest {\n message_id?: string;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MarkReadResponse {\n duration: string;\n\n event?: MessageReadEvent;\n}\n\nexport interface MarkReviewedRequest {\n content_to_mark_as_reviewed_limit?: number;\n\n disable_marking_content_as_reviewed?: boolean;\n}\n\nexport interface MarkUnreadRequest {\n message_id?: string;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MediaPubSubHint {\n audio_published: boolean;\n\n audio_subscribed: boolean;\n\n video_published: boolean;\n\n video_subscribed: boolean;\n}\n\nexport interface MemberAddedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MemberRemovedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MemberRequest {\n user_id: string;\n\n role?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface MemberResponse {\n created_at: Date;\n\n updated_at: Date;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n\n deleted_at?: Date;\n\n role?: string;\n}\n\nexport interface MemberUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MembersResponse {\n duration: string;\n\n members: ChannelMember[];\n}\n\nexport interface Message {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: string;\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: Reaction[];\n\n mentioned_users: User[];\n\n own_reactions: Reaction[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_groups: Record<string, ReactionGroupResponse>;\n\n reaction_scores: Record<string, number>;\n\n before_message_send_failed?: boolean;\n\n command?: string;\n\n deleted_at?: Date;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: User[];\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: User;\n\n poll?: Poll;\n\n quoted_message?: Message;\n\n user?: User;\n}\n\nexport interface MessageActionRequest {\n form_data: Record<string, string>;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MessageChangeSet {\n attachments: boolean;\n\n custom: boolean;\n\n html: boolean;\n\n mentioned_user_ids: boolean;\n\n mml: boolean;\n\n pin: boolean;\n\n quoted_message_id: boolean;\n\n silent: boolean;\n\n text: boolean;\n}\n\nexport interface MessageDeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n hard_delete: boolean;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageFlagResponse {\n created_at: Date;\n\n created_by_automod: boolean;\n\n updated_at: Date;\n\n approved_at?: Date;\n\n reason?: string;\n\n rejected_at?: Date;\n\n reviewed_at?: Date;\n\n custom?: Record<string, any>;\n\n details?: FlagDetails;\n\n message?: Message;\n\n moderation_feedback?: FlagFeedback;\n\n moderation_result?: MessageModerationResult;\n\n reviewed_by?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface MessageFlaggedEvent {\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread_participants?: User[];\n\n flag?: Flag;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageHistoryEntryResponse {\n is_deleted: boolean;\n\n message_id: string;\n\n message_updated_at: Date;\n\n message_updated_by_id: string;\n\n text: string;\n\n attachments: Attachment[];\n\n custom: Record<string, any>;\n}\n\nexport interface MessageModerationResult {\n action: string;\n\n created_at: Date;\n\n message_id: string;\n\n updated_at: Date;\n\n user_bad_karma: boolean;\n\n user_karma: number;\n\n blocked_word?: string;\n\n blocklist_name?: string;\n\n moderated_by?: string;\n\n ai_moderation_response?: ModerationResponse;\n\n moderation_thresholds?: Thresholds;\n}\n\nexport interface MessageNewEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n watcher_count: number;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageOptions {\n include_thread_participants?: boolean;\n}\n\nexport interface MessagePaginationParams {}\n\nexport interface MessageReadEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n channel_last_message_at?: Date;\n\n last_read_message_id?: string;\n\n team?: string;\n\n thread?: ThreadResponse;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface MessageRequest {\n html?: string;\n\n id?: string;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned?: boolean;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n silent?: boolean;\n\n text?: string;\n\n type?: \"''\" | 'regular' | 'system';\n\n user_id?: string;\n\n attachments?: Attachment[];\n\n mentioned_users?: string[];\n\n restricted_visibility?: string[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface MessageResponse {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: 'regular' | 'ephemeral' | 'error' | 'reply' | 'system' | 'deleted';\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n}\n\nexport interface MessageUnblockedEvent {\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageUndeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageUpdate {\n old_text?: string;\n\n change_set?: MessageChangeSet;\n}\n\nexport interface MessageUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageWithChannelResponse {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: 'regular' | 'ephemeral' | 'error' | 'reply' | 'system' | 'deleted';\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n channel: ChannelResponse;\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n}\n\nexport interface ModerationActionConfig {\n action: string;\n\n description: string;\n\n entity_type: string;\n\n icon: string;\n\n order: number;\n\n custom: Record<string, any>;\n}\n\nexport interface ModerationCustomActionEvent {\n created_at: Date;\n\n type: string;\n\n item?: ReviewQueueItem;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface ModerationFlaggedEvent {\n created_at: Date;\n\n type: string;\n\n item?: string;\n\n object_id?: string;\n\n user?: User;\n}\n\nexport interface ModerationMarkReviewedEvent {\n created_at: Date;\n\n type: string;\n\n item?: ReviewQueueItem;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface ModerationPayload {\n images?: string[];\n\n texts?: string[];\n\n videos?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface ModerationResponse {\n action: string;\n\n explicit: number;\n\n spam: number;\n\n toxic: number;\n}\n\nexport interface ModerationV2Response {\n action: string;\n\n original_text: string;\n\n blocklist_matched?: string;\n\n platform_circumvented?: boolean;\n\n semantic_filter_matched?: string;\n\n image_harms?: string[];\n\n text_harms?: string[];\n}\n\nexport interface MuteChannelRequest {\n expiration?: number;\n\n user_id?: string;\n\n channel_cids?: string[];\n\n user?: UserRequest;\n}\n\nexport interface MuteChannelResponse {\n duration: string;\n\n channel_mutes?: ChannelMute[];\n\n channel_mute?: ChannelMute;\n\n own_user?: OwnUser;\n}\n\nexport interface MuteRequest {\n target_ids: string[];\n\n timeout?: number;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MuteResponse {\n duration: string;\n\n mutes?: UserMute[];\n\n non_existing_users?: string[];\n\n own_user?: OwnUser;\n}\n\nexport interface MuteUsersRequest {\n audio?: boolean;\n\n mute_all_users?: boolean;\n\n muted_by_id?: string;\n\n screenshare?: boolean;\n\n screenshare_audio?: boolean;\n\n video?: boolean;\n\n user_ids?: string[];\n\n muted_by?: UserRequest;\n}\n\nexport interface MuteUsersResponse {\n duration: string;\n}\n\nexport interface NetworkMetricsReportResponse {\n average_connection_time?: number;\n\n average_jitter?: number;\n\n average_latency?: number;\n\n average_time_to_reconnect?: number;\n}\n\nexport interface NoiseCancellationSettings {\n mode: 'available' | 'disabled' | 'auto-on';\n}\n\nexport interface NotificationMarkUnreadEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n first_unread_message_id: string;\n\n last_read_at: Date;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_messages: number;\n\n unread_threads: number;\n\n type: string;\n\n last_read_message_id?: string;\n\n team?: string;\n\n thread_id?: string;\n\n channel?: ChannelResponse;\n\n user?: User;\n}\n\nexport interface NotificationSettings {\n enabled: boolean;\n\n call_live_started: EventNotificationSettings;\n\n call_missed: EventNotificationSettings;\n\n call_notification: EventNotificationSettings;\n\n call_ring: EventNotificationSettings;\n\n session_started: EventNotificationSettings;\n}\n\nexport interface NullTime {}\n\nexport interface OnlyUserID {\n id: string;\n}\n\nexport const OwnCapability = {\n BLOCK_USERS: 'block-users',\n CHANGE_MAX_DURATION: 'change-max-duration',\n CREATE_CALL: 'create-call',\n CREATE_REACTION: 'create-reaction',\n ENABLE_NOISE_CANCELLATION: 'enable-noise-cancellation',\n END_CALL: 'end-call',\n JOIN_BACKSTAGE: 'join-backstage',\n JOIN_CALL: 'join-call',\n JOIN_ENDED_CALL: 'join-ended-call',\n MUTE_USERS: 'mute-users',\n PIN_FOR_EVERYONE: 'pin-for-everyone',\n READ_CALL: 'read-call',\n REMOVE_CALL_MEMBER: 'remove-call-member',\n SCREENSHARE: 'screenshare',\n SEND_AUDIO: 'send-audio',\n SEND_VIDEO: 'send-video',\n START_BROADCAST_CALL: 'start-broadcast-call',\n START_CLOSED_CAPTIONS_CALL: 'start-closed-captions-call',\n START_FRAME_RECORD_CALL: 'start-frame-record-call',\n START_RECORD_CALL: 'start-record-call',\n START_TRANSCRIPTION_CALL: 'start-transcription-call',\n STOP_BROADCAST_CALL: 'stop-broadcast-call',\n STOP_CLOSED_CAPTIONS_CALL: 'stop-closed-captions-call',\n STOP_FRAME_RECORD_CALL: 'stop-frame-record-call',\n STOP_RECORD_CALL: 'stop-record-call',\n STOP_TRANSCRIPTION_CALL: 'stop-transcription-call',\n UPDATE_CALL: 'update-call',\n UPDATE_CALL_MEMBER: 'update-call-member',\n UPDATE_CALL_PERMISSIONS: 'update-call-permissions',\n UPDATE_CALL_SETTINGS: 'update-call-settings',\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type OwnCapability = (typeof OwnCapability)[keyof typeof OwnCapability];\n\nexport interface OwnUser {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n channel_mutes: ChannelMute[];\n\n devices: Device[];\n\n mutes: UserMute[];\n\n custom: Record<string, any>;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n invisible?: boolean;\n\n last_active?: Date;\n\n last_engaged_at?: Date;\n\n blocked_user_ids?: string[];\n\n latest_hidden_channels?: string[];\n\n teams?: string[];\n\n privacy_settings?: PrivacySettings;\n\n push_preferences?: PushPreferences;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface OwnUserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n channel_mutes: ChannelMute[];\n\n devices: DeviceResponse[];\n\n mutes: UserMuteResponse[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n blocked_user_ids?: string[];\n\n latest_hidden_channels?: string[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_preferences?: PushPreferences;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface PagerResponse {\n next?: string;\n\n prev?: string;\n}\n\nexport interface PaginationParams {\n limit?: number;\n\n offset?: number;\n}\n\nexport interface ParticipantReportResponse {\n sum: number;\n\n unique: number;\n}\n\nexport interface PendingMessageResponse {\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n\n metadata?: Record<string, string>;\n\n user?: UserResponse;\n}\n\nexport interface PerSDKUsageReport {\n total: number;\n\n by_version: Record<string, number>;\n}\n\nexport interface Permission {\n action: string;\n\n custom: boolean;\n\n description: string;\n\n id: string;\n\n level: 'app' | 'channel';\n\n name: string;\n\n owner: boolean;\n\n same_team: boolean;\n\n tags: string[];\n\n condition?: Record<string, any>;\n}\n\nexport interface PermissionRequestEvent {\n call_cid: string;\n\n created_at: Date;\n\n permissions: string[];\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface PinRequest {\n session_id: string;\n\n user_id: string;\n}\n\nexport interface PinResponse {\n duration: string;\n}\n\nexport interface PlatformDataResponse {\n browser: BrowserDataResponse;\n\n device: DeviceDataResponse;\n\n os: ClientOSDataResponse;\n}\n\nexport interface Policy {\n action: number;\n\n created_at: Date;\n\n name: string;\n\n owner: boolean;\n\n priority: number;\n\n updated_at: Date;\n\n resources: string[];\n\n roles: string[];\n}\n\nexport interface PolicyRequest {\n action: 'Deny' | 'Allow';\n\n name: string;\n\n owner: boolean;\n\n priority: number;\n\n resources: string[];\n\n roles: string[];\n}\n\nexport interface Poll {\n allow_answers: boolean;\n\n allow_user_suggested_options: boolean;\n\n answers_count: number;\n\n created_at: Date;\n\n created_by_id: string;\n\n description: string;\n\n enforce_unique_vote: boolean;\n\n id: string;\n\n name: string;\n\n updated_at: Date;\n\n vote_count: number;\n\n latest_answers: PollVote[];\n\n options: PollOption[];\n\n own_votes: PollVote[];\n\n custom: Record<string, any>;\n\n latest_votes_by_option: Record<string, PollVote[]>;\n\n vote_counts_by_option: Record<string, number>;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n voting_visibility?: string;\n\n created_by?: User;\n}\n\nexport interface PollOption {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n}\n\nexport interface PollOptionInput {\n text?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface PollOptionRequest {\n id: string;\n\n text?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface PollOptionResponse {\n duration: string;\n\n poll_option: PollOptionResponseData;\n}\n\nexport interface PollOptionResponseData {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n}\n\nexport interface PollResponse {\n duration: string;\n\n poll: PollResponseData;\n}\n\nexport interface PollResponseData {\n allow_answers: boolean;\n\n allow_user_suggested_options: boolean;\n\n answers_count: number;\n\n created_at: Date;\n\n created_by_id: string;\n\n description: string;\n\n enforce_unique_vote: boolean;\n\n id: string;\n\n name: string;\n\n updated_at: Date;\n\n vote_count: number;\n\n voting_visibility: string;\n\n latest_answers: PollVoteResponseData[];\n\n options: PollOptionResponseData[];\n\n own_votes: PollVoteResponseData[];\n\n custom: Record<string, any>;\n\n latest_votes_by_option: Record<string, PollVoteResponseData[]>;\n\n vote_counts_by_option: Record<string, number>;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n created_by?: UserResponse;\n}\n\nexport interface PollVote {\n created_at: Date;\n\n id: string;\n\n option_id: string;\n\n poll_id: string;\n\n updated_at: Date;\n\n answer_text?: string;\n\n is_answer?: boolean;\n\n user_id?: string;\n\n user?: User;\n}\n\nexport interface PollVoteResponse {\n duration: string;\n\n vote?: PollVoteResponseData;\n}\n\nexport interface PollVoteResponseData {\n created_at: Date;\n\n id: string;\n\n option_id: string;\n\n poll_id: string;\n\n updated_at: Date;\n\n answer_text?: string;\n\n is_answer?: boolean;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface PollVotesResponse {\n duration: string;\n\n votes: PollVoteResponseData[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface PrivacySettings {\n read_receipts?: ReadReceipts;\n\n typing_indicators?: TypingIndicators;\n}\n\nexport interface PrivacySettingsResponse {\n read_receipts?: ReadReceiptsResponse;\n\n typing_indicators?: TypingIndicatorsResponse;\n}\n\nexport interface PublishedTrackInfo {\n codec_mime_type?: string;\n\n duration_seconds?: number;\n\n track_type?: string;\n}\n\nexport interface PublisherAggregateStats {\n by_track_type?: Record<string, Count>;\n\n total?: Count;\n}\n\nexport interface PushConfig {\n version: 'v1' | 'v2';\n\n offline_only?: boolean;\n}\n\nexport interface PushNotificationFields {\n offline_only: boolean;\n\n version: string;\n\n apn: APNConfigFields;\n\n firebase: FirebaseConfigFields;\n\n huawei: HuaweiConfigFields;\n\n xiaomi: XiaomiConfigFields;\n\n providers?: PushProvider[];\n}\n\nexport interface PushNotificationSettingsResponse {\n disabled?: boolean;\n\n disabled_until?: Date;\n}\n\nexport interface PushPreferenceInput {\n channel_cid?: string;\n\n chat_level?: 'all' | 'mentions' | 'none' | 'default';\n\n disabled_until?: Date;\n\n remove_disable?: boolean;\n\n user_id?: string;\n}\n\nexport interface PushPreferences {\n call_level?: string;\n\n chat_level?: string;\n\n disabled_until?: Date;\n}\n\nexport interface PushProvider {\n created_at: Date;\n\n name: string;\n\n type: string;\n\n updated_at: Date;\n\n apn_auth_key?: string;\n\n apn_auth_type?: string;\n\n apn_development?: boolean;\n\n apn_host?: string;\n\n apn_key_id?: string;\n\n apn_notification_template?: string;\n\n apn_p12_cert?: string;\n\n apn_team_id?: string;\n\n apn_topic?: string;\n\n description?: string;\n\n disabled_at?: Date;\n\n disabled_reason?: string;\n\n firebase_apn_template?: string;\n\n firebase_credentials?: string;\n\n firebase_data_template?: string;\n\n firebase_host?: string;\n\n firebase_notification_template?: string;\n\n firebase_server_key?: string;\n\n huawei_app_id?: string;\n\n huawei_app_secret?: string;\n\n xiaomi_app_secret?: string;\n\n xiaomi_package_name?: string;\n}\n\nexport interface PushProviderResponse {\n created_at: Date;\n\n name: string;\n\n type: string;\n\n updated_at: Date;\n\n apn_auth_key?: string;\n\n apn_auth_type?: string;\n\n apn_development?: boolean;\n\n apn_host?: string;\n\n apn_key_id?: string;\n\n apn_p12_cert?: string;\n\n apn_sandbox_certificate?: boolean;\n\n apn_supports_remote_notifications?: boolean;\n\n apn_supports_voip_notifications?: boolean;\n\n apn_team_id?: string;\n\n apn_topic?: string;\n\n description?: string;\n\n disabled_at?: Date;\n\n disabled_reason?: string;\n\n firebase_apn_template?: string;\n\n firebase_credentials?: string;\n\n firebase_data_template?: string;\n\n firebase_host?: string;\n\n firebase_notification_template?: string;\n\n firebase_server_key?: string;\n\n huawei_app_id?: string;\n\n huawei_app_secret?: string;\n\n xiaomi_app_secret?: string;\n\n xiaomi_package_name?: string;\n}\n\nexport interface QualityScoreReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface QualityScoreReportResponse {\n daily: DailyAggregateQualityScoreReportResponse[];\n}\n\nexport interface QueryAggregateCallStatsRequest {\n from?: string;\n\n to?: string;\n\n report_types?: string[];\n}\n\nexport interface QueryAggregateCallStatsResponse {\n duration: string;\n\n call_duration_report?: CallDurationReportResponse;\n\n call_participant_count_report?: CallParticipantCountReportResponse;\n\n calls_per_day_report?: CallsPerDayReportResponse;\n\n network_metrics_report?: NetworkMetricsReportResponse;\n\n quality_score_report?: QualityScoreReportResponse;\n\n sdk_usage_report?: SDKUsageReportResponse;\n\n user_feedback_report?: UserFeedbackReportResponse;\n}\n\nexport interface QueryBannedUsersPayload {\n filter_conditions: Record<string, any>;\n\n exclude_expired_bans?: boolean;\n\n limit?: number;\n\n offset?: number;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryBannedUsersResponse {\n duration: string;\n\n bans: BanResponse[];\n}\n\nexport interface QueryCallMembersRequest {\n id: string;\n\n type: string;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallMembersResponse {\n duration: string;\n\n members: MemberResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCallStatsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallStatsResponse {\n duration: string;\n\n reports: CallStatsReportSummaryResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCallsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallsResponse {\n duration: string;\n\n calls: CallStateResponseFields[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCampaignsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_limit?: number;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryCampaignsResponse {\n duration: string;\n\n campaigns: CampaignResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryChannelsRequest {\n limit?: number;\n\n member_limit?: number;\n\n message_limit?: number;\n\n offset?: number;\n\n state?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryChannelsResponse {\n duration: string;\n\n channels: ChannelStateResponseFields[];\n}\n\nexport interface QueryDraftsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryDraftsResponse {\n duration: string;\n\n drafts: DraftResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryFeedModerationTemplate {\n created_at: Date;\n\n name: string;\n\n updated_at: Date;\n\n config?: FeedsModerationTemplateConfig;\n}\n\nexport interface QueryFeedModerationTemplatesResponse {\n duration: string;\n\n templates: QueryFeedModerationTemplate[];\n}\n\nexport interface QueryMembersPayload {\n type: string;\n\n filter_conditions: Record<string, any>;\n\n id?: string;\n\n limit?: number;\n\n offset?: number;\n\n user_id?: string;\n\n members?: ChannelMember[];\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryMessageFlagsPayload {\n limit?: number;\n\n offset?: number;\n\n show_deleted_messages?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryMessageFlagsResponse {\n duration: string;\n\n flags: MessageFlagResponse[];\n}\n\nexport interface QueryMessageHistoryRequest {\n filter: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n}\n\nexport interface QueryMessageHistoryResponse {\n duration: string;\n\n message_history: MessageHistoryEntryResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationConfigsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryModerationConfigsResponse {\n duration: string;\n\n configs: ConfigResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationLogsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryModerationLogsResponse {\n duration: string;\n\n logs: ActionLogResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryPollVotesRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryPollsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryPollsResponse {\n duration: string;\n\n polls: PollResponseData[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryReactionsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryReactionsResponse {\n duration: string;\n\n reactions: ReactionResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryReviewQueueRequest {\n limit?: number;\n\n lock_count?: number;\n\n lock_duration?: number;\n\n lock_items?: boolean;\n\n next?: string;\n\n prev?: string;\n\n stats_only?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryReviewQueueResponse {\n duration: string;\n\n items: ReviewQueueItemResponse[];\n\n action_config: Record<string, ModerationActionConfig[]>;\n\n stats: Record<string, any>;\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QuerySegmentTargetsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QuerySegmentTargetsResponse {\n duration: string;\n\n targets: SegmentTargetResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QuerySegmentsRequest {\n filter: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n}\n\nexport interface QuerySegmentsResponse {\n duration: string;\n\n segments: SegmentResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryThreadsRequest {\n limit?: number;\n\n member_limit?: number;\n\n next?: string;\n\n participant_limit?: number;\n\n prev?: string;\n\n reply_limit?: number;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface QueryThreadsResponse {\n duration: string;\n\n threads: ThreadStateResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryUserFeedbackRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryUserFeedbackResponse {\n duration: string;\n\n user_feedback: UserFeedbackResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryUsersPayload {\n filter_conditions: Record<string, any>;\n\n include_deactivated_users?: boolean;\n\n limit?: number;\n\n offset?: number;\n\n presence?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryUsersResponse {\n duration: string;\n\n users: FullUserResponse[];\n}\n\nexport interface RTMPBroadcastRequest {\n name: string;\n\n stream_url: string;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n stream_key?: string;\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RTMPIngress {\n address: string;\n}\n\nexport interface RTMPLocation {\n name: string;\n\n stream_key: string;\n\n stream_url: string;\n}\n\nexport interface RTMPSettings {\n enabled: boolean;\n\n quality_name?: string;\n\n layout?: LayoutSettings;\n\n location?: RTMPLocation;\n}\n\nexport interface RTMPSettingsRequest {\n enabled?: boolean;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RTMPSettingsResponse {\n enabled: boolean;\n\n quality: string;\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface Reaction {\n created_at: Date;\n\n message_id: string;\n\n score: number;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n user_id?: string;\n\n user?: User;\n}\n\nexport interface ReactionDeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n reaction?: Reaction;\n\n user?: User;\n}\n\nexport interface ReactionGroupResponse {\n count: number;\n\n first_reaction_at: Date;\n\n last_reaction_at: Date;\n\n sum_scores: number;\n}\n\nexport interface ReactionNewEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n reaction?: Reaction;\n\n user?: User;\n}\n\nexport interface ReactionRequest {\n type: string;\n\n created_at?: Date;\n\n score?: number;\n\n updated_at?: Date;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface ReactionResponse {\n created_at: Date;\n\n message_id: string;\n\n score: number;\n\n type: string;\n\n updated_at: Date;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n}\n\nexport interface ReactionUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n message: Message;\n\n reaction: Reaction;\n\n type: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface ReactivateUserRequest {\n created_by_id?: string;\n\n name?: string;\n\n restore_messages?: boolean;\n}\n\nexport interface ReactivateUserResponse {\n duration: string;\n\n user?: UserResponse;\n}\n\nexport interface ReactivateUsersRequest {\n user_ids: string[];\n\n created_by_id?: string;\n\n restore_channels?: boolean;\n\n restore_messages?: boolean;\n}\n\nexport interface ReactivateUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ReadReceipts {\n enabled: boolean;\n}\n\nexport interface ReadReceiptsResponse {\n enabled?: boolean;\n}\n\nexport interface ReadStateResponse {\n last_read: Date;\n\n unread_messages: number;\n\n user: UserResponse;\n\n last_read_message_id?: string;\n}\n\nexport interface RecordSettings {\n mode: string;\n\n audio_only?: boolean;\n\n quality?: string;\n\n layout?: LayoutSettings;\n}\n\nexport interface RecordSettingsRequest {\n mode: 'available' | 'disabled' | 'auto-on';\n\n audio_only?: boolean;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RecordSettingsResponse {\n audio_only: boolean;\n\n mode: string;\n\n quality: string;\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface ReportByHistogramBucket {\n category: string;\n\n count: number;\n\n sum: number;\n\n lower_bound?: Bound;\n\n upper_bound?: Bound;\n}\n\nexport interface ReportResponse {\n call: CallReportResponse;\n\n participants: ParticipantReportResponse;\n\n user_ratings: UserRatingReportResponse;\n}\n\nexport interface Response {\n duration: string;\n}\n\nexport interface RestoreActionRequest {}\n\nexport interface RestoreUsersRequest {\n user_ids: string[];\n}\n\nexport interface ReviewQueueItem {\n ai_text_severity: string;\n\n bounce_count: number;\n\n content_changed: boolean;\n\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n flags_count: number;\n\n has_image: boolean;\n\n has_text: boolean;\n\n has_video: boolean;\n\n id: string;\n\n moderation_payload_hash: string;\n\n recommended_action: string;\n\n reviewed_by: string;\n\n severity: number;\n\n status: string;\n\n updated_at: Date;\n\n actions: ActionLog[];\n\n bans: Ban[];\n\n flags: Flag[];\n\n languages: string[];\n\n teams: string[];\n\n reviewed_at: NullTime;\n\n activity?: EnrichedActivity;\n\n assigned_to?: User;\n\n entity_creator?: EntityCreator;\n\n feeds_v2_activity?: EnrichedActivity;\n\n feeds_v2_reaction?: Reaction;\n\n message?: Message;\n\n moderation_payload?: ModerationPayload;\n\n reaction?: Reaction;\n}\n\nexport interface ReviewQueueItemNewEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n flags?: FlagResponse[];\n\n action?: ActionLogResponse;\n\n review_queue_item?: ReviewQueueItemResponse;\n}\n\nexport interface ReviewQueueItemResponse {\n ai_text_severity: string;\n\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n flags_count: number;\n\n id: string;\n\n recommended_action: string;\n\n reviewed_by: string;\n\n severity: number;\n\n status: string;\n\n updated_at: Date;\n\n actions: ActionLogResponse[];\n\n bans: Ban[];\n\n flags: FlagResponse[];\n\n languages: string[];\n\n completed_at?: Date;\n\n entity_creator_id?: string;\n\n reviewed_at?: Date;\n\n teams?: string[];\n\n activity?: EnrichedActivity;\n\n assigned_to?: UserResponse;\n\n entity_creator?: EntityCreatorResponse;\n\n feeds_v2_activity?: EnrichedActivity;\n\n feeds_v2_reaction?: Reaction;\n\n message?: MessageResponse;\n\n moderation_payload?: ModerationPayload;\n\n reaction?: Reaction;\n}\n\nexport interface ReviewQueueItemUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n flags?: FlagResponse[];\n\n action?: ActionLogResponse;\n\n review_queue_item?: ReviewQueueItemResponse;\n}\n\nexport interface RingSettings {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms: number;\n}\n\nexport interface RingSettingsRequest {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms?: number;\n}\n\nexport interface RingSettingsResponse {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms: number;\n}\n\nexport interface Role {\n created_at: Date;\n\n custom: boolean;\n\n name: string;\n\n updated_at: Date;\n\n scopes: string[];\n}\n\nexport interface S3Request {\n s3_region: string;\n\n s3_api_key?: string;\n\n s3_secret?: string;\n}\n\nexport interface SDKUsageReport {\n per_sdk_usage: Record<string, PerSDKUsageReport>;\n}\n\nexport interface SDKUsageReportResponse {\n daily: DailyAggregateSDKUsageReportResponse[];\n}\n\nexport interface SFULocationResponse {\n datacenter: string;\n\n id: string;\n\n coordinates: Coordinates;\n\n location: Location;\n}\n\nexport interface ScreensharingSettings {\n access_request_enabled: boolean;\n\n enabled: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface ScreensharingSettingsRequest {\n access_request_enabled?: boolean;\n\n enabled?: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface ScreensharingSettingsResponse {\n access_request_enabled: boolean;\n\n enabled: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface SearchPayload {\n filter_conditions: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n offset?: number;\n\n query?: string;\n\n sort?: SortParamRequest[];\n\n message_filter_conditions?: Record<string, any>;\n\n message_options?: MessageOptions;\n}\n\nexport interface SearchResponse {\n duration: string;\n\n results: SearchResult[];\n\n next?: string;\n\n previous?: string;\n\n results_warning?: SearchWarning;\n}\n\nexport interface SearchResult {\n message?: SearchResultMessage;\n}\n\nexport interface SearchResultMessage {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: string;\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n}\n\nexport interface SearchWarning {\n warning_code: number;\n\n warning_description: string;\n\n channel_search_count?: number;\n\n channel_search_cids?: string[];\n}\n\nexport interface Segment {\n all_sender_channels: boolean;\n\n all_users: boolean;\n\n created_at: Date;\n\n id: string;\n\n name: string;\n\n size: number;\n\n type: string;\n\n updated_at: Date;\n\n deleted_at?: Date;\n\n description?: string;\n\n task_id?: string;\n\n filter?: Record<string, any>;\n}\n\nexport interface SegmentResponse {\n all_sender_channels: boolean;\n\n all_users: boolean;\n\n created_at: Date;\n\n deleted_at: Date;\n\n description: string;\n\n id: string;\n\n name: string;\n\n size: number;\n\n type: string;\n\n updated_at: Date;\n\n filter: Record<string, any>;\n}\n\nexport interface SegmentTargetResponse {\n app_pk: number;\n\n created_at: Date;\n\n segment_id: string;\n\n target_id: string;\n}\n\nexport interface SendCallEventRequest {\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface SendCallEventResponse {\n duration: string;\n}\n\nexport interface SendEventRequest {\n event: EventRequest;\n}\n\nexport interface SendMessageRequest {\n message: MessageRequest;\n\n force_moderation?: boolean;\n\n keep_channel_hidden?: boolean;\n\n pending?: boolean;\n\n skip_enrich_url?: boolean;\n\n skip_push?: boolean;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface SendMessageResponse {\n duration: string;\n\n message: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface SendReactionRequest {\n reaction: ReactionRequest;\n\n enforce_unique?: boolean;\n\n skip_push?: boolean;\n}\n\nexport interface SendReactionResponse {\n duration: string;\n\n message: MessageResponse;\n\n reaction: ReactionResponse;\n}\n\nexport interface SendUserCustomEventRequest {\n event: UserCustomEventRequest;\n}\n\nexport interface SessionSettings {\n inactivity_timeout_seconds: number;\n}\n\nexport interface SessionSettingsRequest {\n inactivity_timeout_seconds: number;\n}\n\nexport interface SessionSettingsResponse {\n inactivity_timeout_seconds: number;\n}\n\nexport interface ShadowBlockActionRequest {}\n\nexport interface ShowChannelRequest {\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface ShowChannelResponse {\n duration: string;\n}\n\nexport interface SortParamRequest {\n direction?: number;\n\n field?: string;\n}\n\nexport interface StartCampaignRequest {\n scheduled_for?: Date;\n\n stop_at?: Date;\n}\n\nexport interface StartCampaignResponse {\n duration: string;\n\n campaign?: CampaignResponse;\n\n users?: PagerResponse;\n}\n\nexport interface StartClosedCaptionsRequest {\n enable_transcription?: boolean;\n\n external_storage?: string;\n\n language?: string;\n}\n\nexport interface StartClosedCaptionsResponse {\n duration: string;\n}\n\nexport interface StartFrameRecordingRequest {\n recording_external_storage?: string;\n}\n\nexport interface StartFrameRecordingResponse {\n duration: string;\n}\n\nexport interface StartHLSBroadcastingRequest {}\n\nexport interface StartHLSBroadcastingResponse {\n duration: string;\n\n playlist_url: string;\n}\n\nexport interface StartRTMPBroadcastsRequest {\n broadcasts: RTMPBroadcastRequest[];\n}\n\nexport interface StartRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StartRecordingRequest {\n recording_external_storage?: string;\n}\n\nexport interface StartRecordingResponse {\n duration: string;\n}\n\nexport interface StartTranscriptionRequest {\n enable_closed_captions?: boolean;\n\n language?: string;\n\n transcription_external_storage?: string;\n}\n\nexport interface StartTranscriptionResponse {\n duration: string;\n}\n\nexport interface StopAllRTMPBroadcastsRequest {}\n\nexport interface StopAllRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StopCampaignRequest {}\n\nexport interface StopClosedCaptionsRequest {\n stop_transcription?: boolean;\n}\n\nexport interface StopClosedCaptionsResponse {\n duration: string;\n}\n\nexport interface StopFrameRecordingRequest {}\n\nexport interface StopFrameRecordingResponse {\n duration: string;\n}\n\nexport interface StopHLSBroadcastingRequest {}\n\nexport interface StopHLSBroadcastingResponse {\n duration: string;\n}\n\nexport interface StopLiveRequest {\n continue_closed_caption?: boolean;\n\n continue_hls?: boolean;\n\n continue_recording?: boolean;\n\n continue_rtmp_broadcasts?: boolean;\n\n continue_transcription?: boolean;\n}\n\nexport interface StopLiveResponse {\n duration: string;\n\n call: CallResponse;\n}\n\nexport interface StopRTMPBroadcastsRequest {}\n\nexport interface StopRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StopRecordingRequest {}\n\nexport interface StopRecordingResponse {\n duration: string;\n}\n\nexport interface StopTranscriptionRequest {\n stop_closed_captions?: boolean;\n}\n\nexport interface StopTranscriptionResponse {\n duration: string;\n}\n\nexport interface SubmitActionRequest {\n action_type:\n | 'mark_reviewed'\n | 'delete_message'\n | 'delete_activity'\n | 'delete_reaction'\n | 'ban'\n | 'custom'\n | 'unban'\n | 'restore'\n | 'delete_user'\n | 'unblock'\n | 'shadow_block';\n\n item_id: string;\n\n user_id?: string;\n\n ban?: BanActionRequest;\n\n custom?: CustomActionRequest;\n\n delete_activity?: DeleteActivityRequest;\n\n delete_message?: DeleteMessageRequest;\n\n delete_reaction?: DeleteReactionRequest;\n\n delete_user?: DeleteUserRequest;\n\n mark_reviewed?: MarkReviewedRequest;\n\n unban?: UnbanActionRequest;\n\n user?: UserRequest;\n}\n\nexport interface SubmitActionResponse {\n duration: string;\n\n item?: ReviewQueueItem;\n}\n\nexport interface Subsession {\n ended_at: number;\n\n joined_at: number;\n\n sfu_id: string;\n\n pub_sub_hint?: MediaPubSubHint;\n}\n\nexport interface TURNAggregatedStats {\n tcp?: Count;\n\n total?: Count;\n}\n\nexport interface TargetResolution {\n bitrate: number;\n\n height: number;\n\n width: number;\n}\n\nexport interface ThreadParticipant {\n app_pk: number;\n\n channel_cid: string;\n\n created_at: Date;\n\n last_read_at: Date;\n\n custom: Record<string, any>;\n\n last_thread_message_at?: Date;\n\n left_thread_at?: Date;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface ThreadResponse {\n channel_cid: string;\n\n created_at: Date;\n\n created_by_user_id: string;\n\n parent_message_id: string;\n\n title: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n active_participant_count?: number;\n\n deleted_at?: Date;\n\n last_message_at?: Date;\n\n participant_count?: number;\n\n reply_count?: number;\n\n thread_participants?: ThreadParticipant[];\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n parent_message?: MessageResponse;\n}\n\nexport interface ThreadStateResponse {\n channel_cid: string;\n\n created_at: Date;\n\n created_by_user_id: string;\n\n parent_message_id: string;\n\n title: string;\n\n updated_at: Date;\n\n latest_replies: MessageResponse[];\n\n custom: Record<string, any>;\n\n active_participant_count?: number;\n\n deleted_at?: Date;\n\n last_message_at?: Date;\n\n participant_count?: number;\n\n reply_count?: number;\n\n read?: ReadStateResponse[];\n\n thread_participants?: ThreadParticipant[];\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n draft?: DraftResponse;\n\n parent_message?: MessageResponse;\n}\n\nexport interface ThreadUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread?: ThreadResponse;\n\n user?: User;\n}\n\nexport interface Thresholds {\n explicit?: LabelThresholds;\n\n spam?: LabelThresholds;\n\n toxic?: LabelThresholds;\n}\n\nexport interface ThumbnailResponse {\n image_url: string;\n}\n\nexport interface ThumbnailsSettings {\n enabled: boolean;\n}\n\nexport interface ThumbnailsSettingsRequest {\n enabled?: boolean;\n}\n\nexport interface ThumbnailsSettingsResponse {\n enabled: boolean;\n}\n\nexport interface Time {}\n\nexport interface TimeStats {\n average_seconds: number;\n\n max_seconds: number;\n}\n\nexport interface TranscriptionSettings {\n closed_caption_mode: 'available' | 'disabled' | 'auto-on';\n\n language:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk';\n\n mode: 'available' | 'disabled' | 'auto-on';\n}\n\nexport interface TranscriptionSettingsRequest {\n mode: 'available' | 'disabled' | 'auto-on';\n\n closed_caption_mode?: 'available' | 'disabled' | 'auto-on';\n\n language?:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk';\n}\n\nexport interface TranscriptionSettingsResponse {\n closed_caption_mode: 'available' | 'disabled' | 'auto-on';\n\n language:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk';\n\n mode: 'available' | 'disabled' | 'auto-on';\n}\n\nexport interface TranslateMessageRequest {\n language:\n | 'af'\n | 'sq'\n | 'am'\n | 'ar'\n | 'az'\n | 'bn'\n | 'bs'\n | 'bg'\n | 'zh'\n | 'zh-TW'\n | 'hr'\n | 'cs'\n | 'da'\n | 'fa-AF'\n | 'nl'\n | 'en'\n | 'et'\n | 'fi'\n | 'fr'\n | 'fr-CA'\n | 'ka'\n | 'de'\n | 'el'\n | 'ha'\n | 'he'\n | 'hi'\n | 'hu'\n | 'id'\n | 'it'\n | 'ja'\n | 'ko'\n | 'lv'\n | 'ms'\n | 'no'\n | 'fa'\n | 'ps'\n | 'pl'\n | 'pt'\n | 'ro'\n | 'ru'\n | 'sr'\n | 'sk'\n | 'sl'\n | 'so'\n | 'es'\n | 'es-MX'\n | 'sw'\n | 'sv'\n | 'tl'\n | 'ta'\n | 'th'\n | 'tr'\n | 'uk'\n | 'ur'\n | 'vi'\n | 'lt'\n | 'ht';\n}\n\nexport interface TruncateChannelRequest {\n hard_delete?: boolean;\n\n skip_push?: boolean;\n\n truncated_at?: Date;\n\n user_id?: string;\n\n message?: MessageRequest;\n\n user?: UserRequest;\n}\n\nexport interface TruncateChannelResponse {\n duration: string;\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface TypingIndicators {\n enabled: boolean;\n}\n\nexport interface TypingIndicatorsResponse {\n enabled?: boolean;\n}\n\nexport interface UnbanActionRequest {}\n\nexport interface UnbanRequest {\n unbanned_by_id?: string;\n\n unbanned_by?: UserRequest;\n}\n\nexport interface UnbanResponse {\n duration: string;\n}\n\nexport interface UnblockActionRequest {}\n\nexport interface UnblockUserRequest {\n user_id: string;\n}\n\nexport interface UnblockUserResponse {\n duration: string;\n}\n\nexport interface UnblockUsersRequest {\n blocked_user_id: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface UnblockUsersResponse {\n duration: string;\n}\n\nexport interface UnblockedUserEvent {\n call_cid: string;\n\n created_at: Date;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface UnmuteChannelRequest {\n expiration?: number;\n\n user_id?: string;\n\n channel_cids?: string[];\n\n user?: UserRequest;\n}\n\nexport interface UnmuteRequest {\n target_ids: string[];\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface UnmuteResponse {\n duration: string;\n\n non_existing_users?: string[];\n}\n\nexport interface UnpinRequest {\n session_id: string;\n\n user_id: string;\n}\n\nexport interface UnpinResponse {\n duration: string;\n}\n\nexport interface UnreadCountsBatchRequest {\n user_ids: string[];\n}\n\nexport interface UnreadCountsBatchResponse {\n duration: string;\n\n counts_by_user: Record<string, UnreadCountsResponse>;\n}\n\nexport interface UnreadCountsChannel {\n channel_id: string;\n\n last_read: Date;\n\n unread_count: number;\n}\n\nexport interface UnreadCountsChannelType {\n channel_count: number;\n\n channel_type: string;\n\n unread_count: number;\n}\n\nexport interface UnreadCountsResponse {\n total_unread_count: number;\n\n total_unread_threads_count: number;\n\n channel_type: UnreadCountsChannelType[];\n\n channels: UnreadCountsChannel[];\n\n threads: UnreadCountsThread[];\n}\n\nexport interface UnreadCountsThread {\n last_read: Date;\n\n last_read_message_id: string;\n\n parent_message_id: string;\n\n unread_count: number;\n}\n\nexport interface UpdateAppRequest {\n async_url_enrich_enabled?: boolean;\n\n auto_translation_enabled?: boolean;\n\n before_message_send_hook_url?: string;\n\n cdn_expiration_seconds?: number;\n\n channel_hide_members_only?: boolean;\n\n custom_action_handler_url?: string;\n\n disable_auth_checks?: boolean;\n\n disable_permissions_checks?: boolean;\n\n enforce_unique_usernames?: 'no' | 'app' | 'team';\n\n feeds_moderation_enabled?: boolean;\n\n feeds_v2_region?: string;\n\n guest_user_creation_disabled?: boolean;\n\n image_moderation_enabled?: boolean;\n\n migrate_permissions_to_v2?: boolean;\n\n moderation_enabled?: boolean;\n\n moderation_webhook_url?: string;\n\n multi_tenant_enabled?: boolean;\n\n permission_version?: 'v1' | 'v2';\n\n reminders_interval?: number;\n\n reminders_max_members?: number;\n\n revoke_tokens_issued_before?: Date;\n\n sns_key?: string;\n\n sns_secret?: string;\n\n sns_topic_arn?: string;\n\n sqs_key?: string;\n\n sqs_secret?: string;\n\n sqs_url?: string;\n\n webhook_url?: string;\n\n allowed_flag_reasons?: string[];\n\n image_moderation_block_labels?: string[];\n\n image_moderation_labels?: string[];\n\n user_search_disallowed_roles?: string[];\n\n webhook_events?: string[];\n\n apn_config?: APNConfig;\n\n async_moderation_config?: AsyncModerationConfiguration;\n\n datadog_info?: DataDogInfo;\n\n file_upload_config?: FileUploadConfig;\n\n firebase_config?: FirebaseConfig;\n\n grants?: Record<string, string[]>;\n\n huawei_config?: HuaweiConfig;\n\n image_upload_config?: FileUploadConfig;\n\n push_config?: PushConfig;\n\n xiaomi_config?: XiaomiConfig;\n}\n\nexport interface UpdateBlockListRequest {\n team?: string;\n\n words?: string[];\n}\n\nexport interface UpdateBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface UpdateCallMembersRequest {\n remove_members?: string[];\n\n update_members?: MemberRequest[];\n}\n\nexport interface UpdateCallMembersResponse {\n duration: string;\n\n members: MemberResponse[];\n}\n\nexport interface UpdateCallRequest {\n starts_at?: Date;\n\n custom?: Record<string, any>;\n\n settings_override?: CallSettingsRequest;\n}\n\nexport interface UpdateCallResponse {\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface UpdateCallTypeRequest {\n external_storage?: string;\n\n grants?: Record<string, string[]>;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettingsRequest;\n}\n\nexport interface UpdateCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface UpdateChannelPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateChannelPartialResponse {\n duration: string;\n\n members: ChannelMemberResponse[];\n\n channel?: ChannelResponse;\n}\n\nexport interface UpdateChannelRequest {\n accept_invite?: boolean;\n\n cooldown?: number;\n\n hide_history?: boolean;\n\n reject_invite?: boolean;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n add_members?: ChannelMember[];\n\n add_moderators?: string[];\n\n assign_roles?: ChannelMember[];\n\n demote_moderators?: string[];\n\n invites?: ChannelMember[];\n\n remove_members?: string[];\n\n data?: ChannelInput;\n\n message?: MessageRequest;\n\n user?: UserRequest;\n}\n\nexport interface UpdateChannelResponse {\n duration: string;\n\n members: ChannelMember[];\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface UpdateChannelTypeRequest {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n max_message_length: number;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n connect_events?: boolean;\n\n custom_events?: boolean;\n\n mark_messages_pending?: boolean;\n\n mutes?: boolean;\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n polls?: boolean;\n\n push_notifications?: boolean;\n\n quotes?: boolean;\n\n reactions?: boolean;\n\n read_events?: boolean;\n\n reminders?: boolean;\n\n replies?: boolean;\n\n search?: boolean;\n\n skip_last_msg_update_for_system_msgs?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n commands?: string[];\n\n permissions?: PolicyRequest[];\n\n automod_thresholds?: Thresholds;\n\n grants?: Record<string, string[]>;\n}\n\nexport interface UpdateChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: string[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface UpdateCommandRequest {\n description: string;\n\n args?: string;\n\n set?: string;\n}\n\nexport interface UpdateCommandResponse {\n duration: string;\n\n command?: Command;\n}\n\nexport interface UpdateExternalStorageRequest {\n bucket: string;\n\n storage_type: 's3' | 'gcs' | 'abs';\n\n gcs_credentials?: string;\n\n path?: string;\n\n aws_s3?: S3Request;\n\n azure_blob?: AzureRequest;\n}\n\nexport interface UpdateExternalStorageResponse {\n bucket: string;\n\n duration: string;\n\n name: string;\n\n path: string;\n\n type: 's3' | 'gcs' | 'abs';\n}\n\nexport interface UpdateMemberPartialRequest {\n unset?: string[];\n\n set?: Record<string, any>;\n}\n\nexport interface UpdateMemberPartialResponse {\n duration: string;\n\n channel_member?: ChannelMemberResponse;\n}\n\nexport interface UpdateMessagePartialRequest {\n skip_enrich_url?: boolean;\n\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateMessagePartialResponse {\n duration: string;\n\n message?: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface UpdateMessageRequest {\n message: MessageRequest;\n\n skip_enrich_url?: boolean;\n}\n\nexport interface UpdateMessageResponse {\n duration: string;\n\n message: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface UpdatePollOptionRequest {\n id: string;\n\n text: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdatePollPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdatePollRequest {\n id: string;\n\n name: string;\n\n allow_answers?: boolean;\n\n allow_user_suggested_options?: boolean;\n\n description?: string;\n\n enforce_unique_vote?: boolean;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n user_id?: string;\n\n voting_visibility?: 'anonymous' | 'public';\n\n options?: PollOptionRequest[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateThreadPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateThreadPartialResponse {\n duration: string;\n\n thread: ThreadResponse;\n}\n\nexport interface UpdateUserPartialRequest {\n id: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n}\n\nexport interface UpdateUserPermissionsRequest {\n user_id: string;\n\n grant_permissions?: string[];\n\n revoke_permissions?: string[];\n}\n\nexport interface UpdateUserPermissionsResponse {\n duration: string;\n}\n\nexport interface UpdateUsersPartialRequest {\n users: UpdateUserPartialRequest[];\n}\n\nexport interface UpdateUsersRequest {\n users: Record<string, UserRequest>;\n}\n\nexport interface UpdateUsersResponse {\n duration: string;\n\n membership_deletion_task_id: string;\n\n users: Record<string, FullUserResponse>;\n}\n\nexport interface UpdatedCallPermissionsEvent {\n call_cid: string;\n\n created_at: Date;\n\n own_capabilities: OwnCapability[];\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface UpsertConfigRequest {\n key: string;\n\n async?: boolean;\n\n team?: string;\n\n user_id?: string;\n\n ai_image_config?: AIImageConfig;\n\n ai_text_config?: AITextConfig;\n\n ai_video_config?: AIVideoConfig;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n aws_rekognition_config?: AIImageConfig;\n\n block_list_config?: BlockListConfig;\n\n bodyguard_config?: AITextConfig;\n\n google_vision_config?: GoogleVisionConfig;\n\n user?: UserRequest;\n\n velocity_filter_config?: VelocityFilterConfig;\n}\n\nexport interface UpsertConfigResponse {\n duration: string;\n\n config?: ConfigResponse;\n}\n\nexport interface UpsertModerationTemplateRequest {\n name: string;\n\n config: FeedsModerationTemplateConfig;\n}\n\nexport interface UpsertModerationTemplateResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n config?: FeedsModerationTemplateConfig;\n}\n\nexport interface UpsertPushPreferencesRequest {\n preferences: PushPreferenceInput[];\n}\n\nexport interface UpsertPushPreferencesResponse {\n duration: string;\n\n user_channel_preferences: Record<\n string,\n Record<string, ChannelPushPreferences>\n >;\n\n user_preferences: Record<string, PushPreferences>;\n}\n\nexport interface UpsertPushProviderRequest {\n push_provider?: PushProvider;\n}\n\nexport interface UpsertPushProviderResponse {\n duration: string;\n\n push_provider: PushProviderResponse;\n}\n\nexport interface User {\n banned: boolean;\n\n id: string;\n\n online: boolean;\n\n role: string;\n\n custom: Record<string, any>;\n\n teams_role: Record<string, string>;\n\n ban_expires?: Date;\n\n created_at?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n invisible?: boolean;\n\n language?: string;\n\n last_active?: Date;\n\n last_engaged_at?: Date;\n\n revoke_tokens_issued_before?: Date;\n\n updated_at?: Date;\n\n teams?: string[];\n\n privacy_settings?: PrivacySettings;\n}\n\nexport interface UserBannedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n shadow: boolean;\n\n created_by: User;\n\n type: string;\n\n expiration?: Date;\n\n reason?: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface UserCustomEventRequest {\n type: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface UserDeactivatedEvent {\n created_at: Date;\n\n created_by: User;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserDeletedEvent {\n created_at: Date;\n\n delete_conversation_channels: boolean;\n\n hard_delete: boolean;\n\n mark_messages_deleted: boolean;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserFeedbackReport {\n unreported_count: number;\n\n count_by_rating: Record<string, number>;\n}\n\nexport interface UserFeedbackReportResponse {\n daily: DailyAggregateUserFeedbackReportResponse[];\n}\n\nexport interface UserFeedbackResponse {\n cid: string;\n\n rating: number;\n\n reason: string;\n\n sdk: string;\n\n sdk_version: string;\n\n session_id: string;\n\n user_id: string;\n\n platform: PlatformDataResponse;\n\n custom?: Record<string, any>;\n}\n\nexport interface UserFlaggedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserInfoResponse {\n id: string;\n\n image: string;\n\n name: string;\n\n roles: string[];\n\n custom: Record<string, any>;\n}\n\nexport interface UserMute {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n target?: User;\n\n user?: User;\n}\n\nexport interface UserMuteResponse {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n target?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface UserMutedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserRatingReportResponse {\n average: number;\n\n count: number;\n}\n\nexport interface UserReactivatedEvent {\n created_at: Date;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserRequest {\n id: string;\n\n image?: string;\n\n invisible?: boolean;\n\n language?: string;\n\n name?: string;\n\n role?: string;\n\n teams?: string[];\n\n custom?: Record<string, any>;\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n devices?: DeviceResponse[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_notifications?: PushNotificationSettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponseCommonFields {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponsePrivacyFields {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n invisible?: boolean;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserSessionStats {\n freeze_duration_seconds: number;\n\n group: string;\n\n max_freeze_fraction: number;\n\n max_freezes_duration_seconds: number;\n\n min_event_ts: number;\n\n packet_loss_fraction: number;\n\n publisher_packet_loss_fraction: number;\n\n publishing_duration_seconds: number;\n\n quality_score: number;\n\n receiving_duration_seconds: number;\n\n session_id: string;\n\n total_pixels_in: number;\n\n total_pixels_out: number;\n\n average_connection_time?: number;\n\n browser?: string;\n\n browser_version?: string;\n\n current_ip?: string;\n\n current_sfu?: string;\n\n device_model?: string;\n\n device_version?: string;\n\n distance_to_sfu_kilometers?: number;\n\n max_fir_per_second?: number;\n\n max_freezes_per_second?: number;\n\n max_nack_per_second?: number;\n\n max_pli_per_second?: number;\n\n os?: string;\n\n os_version?: string;\n\n publisher_noise_cancellation_seconds?: number;\n\n publisher_quality_limitation_fraction?: number;\n\n publishing_audio_codec?: string;\n\n publishing_video_codec?: string;\n\n receiving_audio_codec?: string;\n\n receiving_video_codec?: string;\n\n sdk?: string;\n\n sdk_version?: string;\n\n subscriber_video_quality_throttled_duration_seconds?: number;\n\n truncated?: boolean;\n\n webrtc_version?: string;\n\n published_tracks?: PublishedTrackInfo[];\n\n subsessions?: Subsession[];\n\n fps?: FPSStats;\n\n geolocation?: GeolocationResult;\n\n jitter?: TimeStats;\n\n latency?: TimeStats;\n\n max_publishing_video_quality?: VideoQuality;\n\n max_receiving_video_quality?: VideoQuality;\n\n pub_sub_hints?: MediaPubSubHint;\n\n publisher_jitter?: TimeStats;\n\n publisher_latency?: TimeStats;\n\n publisher_video_quality_limitation_duration_seconds?: Record<string, number>;\n\n subscriber_jitter?: TimeStats;\n\n subscriber_latency?: TimeStats;\n\n timeline?: CallTimeline;\n}\n\nexport interface UserStats {\n min_event_ts: number;\n\n session_stats: UserSessionStats[];\n\n info: UserInfoResponse;\n\n feedback?: string;\n\n rating?: number;\n}\n\nexport interface UserUnbannedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n shadow: boolean;\n\n type: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface UserUnmutedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserUnreadReminderEvent {\n created_at: Date;\n\n channels: Record<string, ChannelMessages>;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n user: UserResponsePrivacyFields;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface VelocityFilterConfig {\n advanced_filters: boolean;\n\n cascading_actions: boolean;\n\n cids_per_user: number;\n\n enabled: boolean;\n\n first_message_only: boolean;\n\n rules: VelocityFilterConfigRule[];\n\n async?: boolean;\n}\n\nexport interface VelocityFilterConfigRule {\n action: 'flag' | 'shadow' | 'remove' | 'ban';\n\n ban_duration: number;\n\n cascading_action: 'flag' | 'shadow' | 'remove' | 'ban';\n\n cascading_threshold: number;\n\n check_message_context: boolean;\n\n fast_spam_threshold: number;\n\n fast_spam_ttl: number;\n\n ip_ban: boolean;\n\n probation_period: number;\n\n shadow_ban: boolean;\n\n slow_spam_threshold: number;\n\n slow_spam_ttl: number;\n\n url_only: boolean;\n\n slow_spam_ban_duration?: number;\n}\n\nexport interface VideoDimension {\n height: number;\n\n width: number;\n}\n\nexport interface VideoQuality {\n usage_type?: string;\n\n resolution?: VideoDimension;\n}\n\nexport interface VideoSettings {\n access_request_enabled: boolean;\n\n camera_default_on: boolean;\n\n camera_facing: 'front' | 'back' | 'external';\n\n enabled: boolean;\n\n target_resolution: TargetResolution;\n}\n\nexport interface VideoSettingsRequest {\n access_request_enabled?: boolean;\n\n camera_default_on?: boolean;\n\n camera_facing?: 'front' | 'back' | 'external';\n\n enabled?: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface VideoSettingsResponse {\n access_request_enabled: boolean;\n\n camera_default_on: boolean;\n\n camera_facing: 'front' | 'back' | 'external';\n\n enabled: boolean;\n\n target_resolution: TargetResolution;\n}\n\nexport interface VoteData {\n answer_text?: string;\n\n option_id?: string;\n\n option?: PollOptionResponseData;\n}\n\nexport interface WSEvent {\n created_at: Date;\n\n type: string;\n\n custom: Record<string, any>;\n\n automoderation?: boolean;\n\n channel_id?: string;\n\n channel_last_message_at?: Date;\n\n channel_type?: string;\n\n cid?: string;\n\n connection_id?: string;\n\n parent_id?: string;\n\n reason?: string;\n\n team?: string;\n\n thread_id?: string;\n\n user_id?: string;\n\n watcher_count?: number;\n\n automoderation_scores?: ModerationResponse;\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n me?: OwnUserResponse;\n\n member?: ChannelMember;\n\n message?: MessageResponse;\n\n message_update?: MessageUpdate;\n\n poll?: PollResponseData;\n\n poll_vote?: PollVoteResponseData;\n\n reaction?: ReactionResponse;\n\n thread?: ThreadResponse;\n\n user?: UserResponse;\n}\n\nexport interface WebhookEvent {\n type: string;\n}\n\nexport interface WrappedUnreadCountsResponse {\n duration: string;\n\n total_unread_count: number;\n\n total_unread_threads_count: number;\n\n channel_type: UnreadCountsChannelType[];\n\n channels: UnreadCountsChannel[];\n\n threads: UnreadCountsThread[];\n}\n\nexport interface XiaomiConfig {\n disabled?: boolean;\n\n package_name?: string;\n\n secret?: string;\n}\n\nexport interface XiaomiConfigFields {\n enabled: boolean;\n\n package_name?: string;\n\n secret?: string;\n}\n","import jwt, { Secret, SignOptions } from 'jsonwebtoken';\n\nexport function JWTUserToken(\n apiSecret: Secret,\n payload: {\n user_id: string;\n exp: number;\n iat: number;\n call_cids?: string[];\n } & { [key: string]: any },\n) {\n // make sure we return a clear error when jwt is shimmed (ie. browser build)\n if (jwt == null || jwt.sign == null) {\n throw Error(\n `Unable to find jwt crypto, if you are getting this error is probably because you are trying to generate tokens on browser or React Native (or other environment where crypto functions are not available). Please Note: token should only be generated server-side.`,\n );\n }\n\n const opts: SignOptions = Object.assign({\n algorithm: 'HS256',\n noTimestamp: true,\n });\n\n if (payload.iat) {\n opts.noTimestamp = false;\n }\n return jwt.sign(payload, apiSecret, opts);\n}\n\nexport function JWTServerToken(\n apiSecret: Secret,\n jwtOptions: SignOptions = {},\n) {\n const payload = {\n server: true,\n };\n\n const opts: SignOptions = Object.assign(\n { algorithm: 'HS256', noTimestamp: true },\n jwtOptions,\n );\n return jwt.sign(payload, apiSecret, opts);\n}\n","export type OmitTypeId<T> = Omit<T, 'type' | 'id' | 'connection_id'>;\n\nexport interface ApiConfig {\n apiKey: string;\n token: string;\n baseUrl: string;\n /** The timeout for requests in milliseconds. The default is 3000. */\n timeout: number;\n agent?: RequestInit['dispatcher'];\n}\n\nexport interface RequestMetadata {\n responseHeaders: Headers;\n rateLimit: RateLimit;\n responseCode: number;\n clientRequestId: string;\n}\n\nexport type StreamResponse<T> = T & {\n metadata: RequestMetadata;\n};\n\nexport class StreamError extends Error {\n constructor(\n message: string,\n public metadata: Partial<RequestMetadata>,\n public code?: number,\n errorOptions?: ErrorOptions,\n ) {\n super(message, errorOptions);\n }\n}\n\nexport interface RateLimit {\n rateLimit?: number;\n rateLimitRemaining?: number;\n rateLimitReset?: Date;\n}\n\ninterface BaseTokenPayload {\n user_id: string;\n exp: number;\n iat: number;\n call_cids?: string[];\n}\n\nexport type UserTokenPayload = BaseTokenPayload;\n\nexport type CallTokenPayload = BaseTokenPayload & {\n call_cids: string[];\n role?: string;\n};\n","import { RateLimit } from '../types';\n\nexport const getRateLimitFromResponseHeader = (responseHeaders: Headers) => {\n const rateLimit = responseHeaders.has('x-ratelimit-limit')\n ? +responseHeaders.get('x-ratelimit-limit')!\n : undefined;\n const rateLimitRemaining = responseHeaders.has('x-ratelimit-remaining')\n ? +responseHeaders.get('x-ratelimit-remaining')!\n : undefined;\n const rateLimitReset = responseHeaders.has('x-ratelimit-reset')\n ? new Date(+responseHeaders.get('x-ratelimit-reset')! * 1000)\n : undefined;\n\n const result: RateLimit = {\n rateLimit,\n rateLimitRemaining,\n rateLimitReset,\n };\n\n return result;\n};\n","import { v4 as uuidv4 } from 'uuid';\nimport { ApiConfig, RequestMetadata, StreamError } from './types';\nimport { APIError } from './gen/models';\nimport { getRateLimitFromResponseHeader } from './utils/rate-limit';\n\nexport class BaseApi {\n private readonly dispatcher?: RequestInit['dispatcher'];\n\n constructor(protected readonly apiConfig: ApiConfig) {\n this.dispatcher = this.apiConfig.agent;\n }\n\n protected sendRequest = async <T>(\n method: string,\n url: string,\n pathParams?: Record<string, string>,\n queryParams?: Record<string, any>,\n body?: any,\n ) => {\n queryParams = queryParams ?? {};\n queryParams.api_key = this.apiConfig.apiKey;\n const encodedParams = this.queryParamsStringify(queryParams);\n if (pathParams) {\n Object.keys(pathParams).forEach((paramName) => {\n url = url.replace(`{${paramName}}`, pathParams[paramName]);\n });\n }\n\n url += `?${encodedParams}`;\n const clientRequestId = uuidv4();\n const headers = {\n Authorization: this.apiConfig.token,\n 'stream-auth-type': 'jwt',\n 'Content-Type': 'application/json',\n 'X-Stream-Client': 'stream-node-' + process.env.PKG_VERSION,\n 'Accept-Encoding': 'gzip',\n 'x-client-request-id': clientRequestId,\n };\n\n const signal = AbortSignal.timeout(this.apiConfig.timeout);\n\n try {\n const response = await fetch(`${this.apiConfig.baseUrl}${url}`, {\n signal,\n method,\n body: JSON.stringify(body),\n headers,\n dispatcher: this.dispatcher,\n });\n\n const responseHeaders = response.headers;\n\n const metadata: RequestMetadata = {\n clientRequestId,\n responseHeaders,\n responseCode: response.status,\n rateLimit: getRateLimitFromResponseHeader(responseHeaders),\n };\n\n if (response.status < 200 || response.status >= 300) {\n let error: APIError;\n try {\n error = (await response.json()) as APIError;\n } catch (_) {\n throw new StreamError(\n `Stream error: ${response.status} - ${response.statusText}`,\n metadata,\n response.status,\n );\n }\n throw new StreamError(\n `Stream error code ${error!.code}: ${error!.message}`,\n metadata,\n error!.code,\n undefined,\n );\n }\n\n const responseBody = (await response.json()) as T;\n\n return { body: responseBody, metadata };\n } catch (error: any) {\n if (error instanceof StreamError) {\n throw error;\n }\n const metadata: Partial<RequestMetadata> = {\n clientRequestId,\n responseCode: error.status,\n };\n if (error.name === 'AbortError' || error.name === 'TimeoutError') {\n throw new StreamError(\n `The request was aborted due to to the ${this.apiConfig.timeout}ms timeout, you can set the timeout in the StreamClient constructor`,\n metadata,\n undefined,\n error,\n );\n } else {\n throw new StreamError(\n `The request failed due to an unexpected error`,\n metadata,\n error,\n );\n }\n }\n };\n\n protected queryParamsStringify = (params: Record<string, any>) => {\n const newParams = [];\n for (const k in params) {\n const param = params[k];\n if (Array.isArray(param)) {\n newParams.push(`${k}=${encodeURIComponent(param.join(','))}`);\n } else if (param instanceof Date) {\n newParams.push(param.toISOString());\n } else if (typeof param === 'object') {\n newParams.push(`${k}=${encodeURIComponent(JSON.stringify(param))}`);\n } else {\n if (\n typeof param === 'string' ||\n typeof param === 'number' ||\n typeof param === 'boolean'\n ) {\n newParams.push(`${k}=${encodeURIComponent(param)}`);\n }\n }\n }\n\n return newParams.join('&');\n };\n}\n","type Decoder = (i: any) => any;\n\ntype TypeMapping = Record<string, { type: string; isSingle: boolean }>;\n\nexport const decoders: Record<string, Decoder> = {};\n\nconst decodeDatetimeType = (input: number) =>\n new Date(Math.floor(input / 1000000));\n\ndecoders.DatetimeType = decodeDatetimeType;\n\nconst decode = (typeMappings: TypeMapping, input?: Record<string, any>) => {\n if (!input || Object.keys(typeMappings).length === 0) return input;\n\n Object.keys(typeMappings).forEach((key) => {\n if (input[key] != null) {\n if (typeMappings[key]) {\n const decoder = decoders[typeMappings[key].type];\n if (decoder) {\n if (typeMappings[key].isSingle) {\n input[key] = decoder(input[key]);\n } else {\n Object.keys(input[key]).forEach((k) => {\n input[key][k] = decoder(input[key][k]);\n });\n }\n }\n }\n }\n });\n\n return input;\n};\n\ndecoders.ActionLog = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItem', isSingle: true },\n\n target_user: { type: 'User', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActionLogResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItem', isSingle: true },\n\n target_user: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AppResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call_types: { type: 'CallType', isSingle: false },\n\n channel_configs: { type: 'ChannelConfig', isSingle: false },\n\n push_notifications: { type: 'PushNotificationFields', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AutomodDetails = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n result: { type: 'MessageModerationResult', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Ban = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'Channel', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n target: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BanResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n banned_by: { type: 'UserResponse', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockedUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n blocked_user: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallParticipantResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n joined_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecording = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n end_time: { type: 'DatetimeType', isSingle: true },\n\n start_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallReportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n starts_at: { type: 'DatetimeType', isSingle: true },\n\n session: { type: 'CallSessionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n participants: { type: 'CallParticipantResponse', isSingle: false },\n\n accepted_by: { type: 'DatetimeType', isSingle: false },\n\n missed_by: { type: 'DatetimeType', isSingle: false },\n\n rejected_by: { type: 'DatetimeType', isSingle: false },\n\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n live_ended_at: { type: 'DatetimeType', isSingle: true },\n\n live_started_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n timer_ends_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStateResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStatsReportSummaryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n first_stats_time: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscription = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n end_time: { type: 'DatetimeType', isSingle: true },\n\n start_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallType = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n segments: { type: 'Segment', isSingle: false },\n\n users: { type: 'UserResponse', isSingle: false },\n\n stats: { type: 'CampaignStatsResponse', isSingle: true },\n\n scheduled_for: { type: 'DatetimeType', isSingle: true },\n\n stop_at: { type: 'DatetimeType', isSingle: true },\n\n sender: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n stats_completed_at: { type: 'DatetimeType', isSingle: true },\n\n stats_started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Channel = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n invites: { type: 'ChannelMember', isSingle: false },\n\n members: { type: 'ChannelMember', isSingle: false },\n\n config: { type: 'ChannelConfig', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n truncated_by: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelConfig = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelConfigWithInfo = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMember = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n archived_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_rejected_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMemberResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n archived_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_rejected_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMute = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelPushPreferences = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n mute_expires_at: { type: 'DatetimeType', isSingle: true },\n\n truncated_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'ChannelMember', isSingle: false },\n\n config: { type: 'ChannelConfigWithInfo', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n truncated_by: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMember', isSingle: false },\n\n messages: { type: 'MessageResponse', isSingle: false },\n\n pinned_messages: { type: 'MessageResponse', isSingle: false },\n\n threads: { type: 'ThreadStateResponse', isSingle: false },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n pending_messages: { type: 'PendingMessageResponse', isSingle: false },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n watchers: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n membership: { type: 'ChannelMember', isSingle: true },\n\n push_preferences: { type: 'ChannelPushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelStateResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMember', isSingle: false },\n\n messages: { type: 'MessageResponse', isSingle: false },\n\n pinned_messages: { type: 'MessageResponse', isSingle: false },\n\n threads: { type: 'ThreadStateResponse', isSingle: false },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n pending_messages: { type: 'PendingMessageResponse', isSingle: false },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n watchers: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n membership: { type: 'ChannelMember', isSingle: true },\n\n push_preferences: { type: 'ChannelPushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelTypeConfig = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CheckResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItem', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Command = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n command: { type: 'Command', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateGuestResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateImportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_task: { type: 'ImportTask', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateRoleResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n role: { type: 'Role', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CustomCheckResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeactivateUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Device = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeviceResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DraftPayloadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n mentioned_users: { type: 'UserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DraftResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n message: { type: 'DraftPayloadResponse', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EgressRTMPResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EntityCreator = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n last_engaged_at: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EntityCreatorResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n push_notifications: {\n type: 'PushNotificationSettingsResponse',\n isSingle: true,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EventResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n event: { type: 'WSEvent', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ExportUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n\n reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Flag = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FlagDetails = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n automod: { type: 'AutomodDetails', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FlagFeedback = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FullUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n mutes: { type: 'UserMuteResponse', isSingle: false },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetApplicationResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n app: { type: 'AppResponseFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetBlockedUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocks: { type: 'BlockedUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n config: { type: 'ConfigResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetDraftResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n draft: { type: 'DraftResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetImportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_task: { type: 'ImportTask', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetManyMessagesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageWithChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetOrCreateCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'Reaction', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetRepliesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetReviewQueueItemResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n history: { type: 'ReviewQueueItemResponse', isSingle: false },\n\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetSegmentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n segment: { type: 'SegmentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetTaskResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetThreadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n thread: { type: 'ThreadStateResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GoLiveResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ImportTask = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n history: { type: 'ImportTaskHistory', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ImportTaskHistory = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklists: { type: 'BlockListResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call_types: { type: 'CallTypeResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListChannelTypesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_types: { type: 'ChannelTypeConfig', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListCommandsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListDevicesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n devices: { type: 'DeviceResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListImportsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_tasks: { type: 'ImportTask', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListPushProvidersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n push_providers: { type: 'PushProviderResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListRecordingsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n recordings: { type: 'CallRecording', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListRolesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n roles: { type: 'Role', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListTranscriptionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n transcriptions: { type: 'CallTranscription', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MarkReadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n event: { type: 'MessageReadEvent', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MemberResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMember', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Message = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'Reaction', isSingle: false },\n\n mentioned_users: { type: 'User', isSingle: false },\n\n own_reactions: { type: 'Reaction', isSingle: false },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n pinned_by: { type: 'User', isSingle: true },\n\n poll: { type: 'Poll', isSingle: true },\n\n quoted_message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageFlagResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n approved_at: { type: 'DatetimeType', isSingle: true },\n\n rejected_at: { type: 'DatetimeType', isSingle: true },\n\n reviewed_at: { type: 'DatetimeType', isSingle: true },\n\n details: { type: 'FlagDetails', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n moderation_feedback: { type: 'FlagFeedback', isSingle: true },\n\n moderation_result: { type: 'MessageModerationResult', isSingle: true },\n\n reviewed_by: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageHistoryEntryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message_updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageModerationResult = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageReadEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel_last_message_at: { type: 'DatetimeType', isSingle: true },\n\n thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageWithChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MuteChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n channel_mute: { type: 'ChannelMute', isSingle: true },\n\n own_user: { type: 'OwnUser', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n mutes: { type: 'UserMute', isSingle: false },\n\n own_user: { type: 'OwnUser', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.OwnUser = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'Device', isSingle: false },\n\n mutes: { type: 'UserMute', isSingle: false },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n last_engaged_at: { type: 'DatetimeType', isSingle: true },\n\n push_preferences: { type: 'PushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.OwnUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n mutes: { type: 'UserMuteResponse', isSingle: false },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n push_preferences: { type: 'PushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PendingMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Poll = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_answers: { type: 'PollVote', isSingle: false },\n\n own_votes: { type: 'PollVote', isSingle: false },\n\n created_by: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n poll: { type: 'PollResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_answers: { type: 'PollVoteResponseData', isSingle: false },\n\n own_votes: { type: 'PollVoteResponseData', isSingle: false },\n\n created_by: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVote = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVoteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n vote: { type: 'PollVoteResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVoteResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVotesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n votes: { type: 'PollVoteResponseData', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushNotificationFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n providers: { type: 'PushProvider', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushNotificationSettingsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushPreferences = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushProvider = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n disabled_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushProviderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n disabled_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryBannedUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bans: { type: 'BanResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reports: { type: 'CallStatsReportSummaryResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n calls: { type: 'CallStateResponseFields', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCampaignsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n campaigns: { type: 'CampaignResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryChannelsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'ChannelStateResponseFields', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryDraftsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n drafts: { type: 'DraftResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedModerationTemplate = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedModerationTemplatesResponse = (\n input?: Record<string, any>,\n) => {\n const typeMappings: TypeMapping = {\n templates: { type: 'QueryFeedModerationTemplate', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryMessageFlagsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n flags: { type: 'MessageFlagResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryMessageHistoryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message_history: { type: 'MessageHistoryEntryResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationConfigsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n configs: { type: 'ConfigResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationLogsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n logs: { type: 'ActionLogResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryPollsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n polls: { type: 'PollResponseData', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'ReactionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryReviewQueueResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n items: { type: 'ReviewQueueItemResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QuerySegmentTargetsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n targets: { type: 'SegmentTargetResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QuerySegmentsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n segments: { type: 'SegmentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryThreadsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n threads: { type: 'ThreadStateResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n users: { type: 'FullUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Reaction = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n first_reaction_at: { type: 'DatetimeType', isSingle: true },\n\n last_reaction_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactivateUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReadStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReviewQueueItem = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n actions: { type: 'ActionLog', isSingle: false },\n\n bans: { type: 'Ban', isSingle: false },\n\n flags: { type: 'Flag', isSingle: false },\n\n assigned_to: { type: 'User', isSingle: true },\n\n entity_creator: { type: 'EntityCreator', isSingle: true },\n\n feeds_v2_reaction: { type: 'Reaction', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReviewQueueItemResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n actions: { type: 'ActionLogResponse', isSingle: false },\n\n bans: { type: 'Ban', isSingle: false },\n\n completed_at: { type: 'DatetimeType', isSingle: true },\n\n reviewed_at: { type: 'DatetimeType', isSingle: true },\n\n assigned_to: { type: 'UserResponse', isSingle: true },\n\n entity_creator: { type: 'EntityCreatorResponse', isSingle: true },\n\n feeds_v2_reaction: { type: 'Reaction', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Role = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SearchResult = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'SearchResultMessage', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SearchResultMessage = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Segment = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SegmentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SegmentTargetResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SendMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SendReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.StopLiveResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SubmitActionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItem', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadParticipant = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n last_read_at: { type: 'DatetimeType', isSingle: true },\n\n last_thread_message_at: { type: 'DatetimeType', isSingle: true },\n\n left_thread_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'ThreadParticipant', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_replies: { type: 'MessageResponse', isSingle: false },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n thread_participants: { type: 'ThreadParticipant', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.TruncateChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n counts_by_user: { type: 'UnreadCountsResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsChannel = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'UnreadCountsChannel', isSingle: false },\n\n threads: { type: 'UnreadCountsThread', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsThread = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMember', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n command: { type: 'Command', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMemberPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_member: { type: 'ChannelMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMessagePartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateThreadPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n thread: { type: 'ThreadResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n users: { type: 'FullUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n config: { type: 'ConfigResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertModerationTemplateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertPushPreferencesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user_preferences: { type: 'PushPreferences', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertPushProviderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n push_provider: { type: 'PushProviderResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.User = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n last_engaged_at: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMute = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n target: { type: 'User', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n target: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n push_notifications: {\n type: 'PushNotificationSettingsResponse',\n isSingle: true,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserResponseCommonFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.WSEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel_last_message_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n me: { type: 'OwnUserResponse', isSingle: true },\n\n member: { type: 'ChannelMember', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n poll_vote: { type: 'PollVoteResponseData', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n\n thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.WrappedUnreadCountsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'UnreadCountsChannel', isSingle: false },\n\n threads: { type: 'UnreadCountsThread', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n","import { BaseApi } from '../../BaseApi';\nimport { StreamResponse } from '../../types';\nimport {\n BlockUsersRequest,\n BlockUsersResponse,\n CheckExternalStorageResponse,\n CheckPushRequest,\n CheckPushResponse,\n CheckSNSRequest,\n CheckSNSResponse,\n CheckSQSRequest,\n CheckSQSResponse,\n CreateBlockListRequest,\n CreateBlockListResponse,\n CreateDeviceRequest,\n CreateExternalStorageRequest,\n CreateExternalStorageResponse,\n CreateGuestRequest,\n CreateGuestResponse,\n CreateImportRequest,\n CreateImportResponse,\n CreateImportURLRequest,\n CreateImportURLResponse,\n CreateRoleRequest,\n CreateRoleResponse,\n DeactivateUserRequest,\n DeactivateUserResponse,\n DeactivateUsersRequest,\n DeactivateUsersResponse,\n DeleteExternalStorageResponse,\n DeleteUsersRequest,\n DeleteUsersResponse,\n ExportUserResponse,\n ExportUsersRequest,\n ExportUsersResponse,\n GetApplicationResponse,\n GetBlockListResponse,\n GetBlockedUsersResponse,\n GetCustomPermissionResponse,\n GetImportResponse,\n GetOGResponse,\n GetRateLimitsResponse,\n GetTaskResponse,\n ListBlockListResponse,\n ListDevicesResponse,\n ListExternalStorageResponse,\n ListImportsResponse,\n ListPermissionsResponse,\n ListPushProvidersResponse,\n ListRolesResponse,\n QueryUsersPayload,\n QueryUsersResponse,\n ReactivateUserRequest,\n ReactivateUserResponse,\n ReactivateUsersRequest,\n ReactivateUsersResponse,\n Response,\n RestoreUsersRequest,\n UnblockUsersRequest,\n UnblockUsersResponse,\n UpdateAppRequest,\n UpdateBlockListRequest,\n UpdateBlockListResponse,\n UpdateExternalStorageRequest,\n UpdateExternalStorageResponse,\n UpdateUsersPartialRequest,\n UpdateUsersRequest,\n UpdateUsersResponse,\n UpsertPushProviderRequest,\n UpsertPushProviderResponse,\n} from '../models';\nimport { decoders } from '../model-decoders';\n\nexport class CommonApi extends BaseApi {\n getApp = async (): Promise<StreamResponse<GetApplicationResponse>> => {\n const response = await this.sendRequest<\n StreamResponse<GetApplicationResponse>\n >('GET', '/api/v2/app', undefined, undefined);\n\n decoders.GetApplicationResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateApp = async (\n request?: UpdateAppRequest,\n ): Promise<StreamResponse<Response>> => {\n const body = {\n async_url_enrich_enabled: request?.async_url_enrich_enabled,\n auto_translation_enabled: request?.auto_translation_enabled,\n before_message_send_hook_url: request?.before_message_send_hook_url,\n cdn_expiration_seconds: request?.cdn_expiration_seconds,\n channel_hide_members_only: request?.channel_hide_members_only,\n custom_action_handler_url: request?.custom_action_handler_url,\n disable_auth_checks: request?.disable_auth_checks,\n disable_permissions_checks: request?.disable_permissions_checks,\n enforce_unique_usernames: request?.enforce_unique_usernames,\n feeds_moderation_enabled: request?.feeds_moderation_enabled,\n feeds_v2_region: request?.feeds_v2_region,\n guest_user_creation_disabled: request?.guest_user_creation_disabled,\n image_moderation_enabled: request?.image_moderation_enabled,\n migrate_permissions_to_v2: request?.migrate_permissions_to_v2,\n moderation_enabled: request?.moderation_enabled,\n moderation_webhook_url: request?.moderation_webhook_url,\n multi_tenant_enabled: request?.multi_tenant_enabled,\n permission_version: request?.permission_version,\n reminders_interval: request?.reminders_interval,\n reminders_max_members: request?.reminders_max_members,\n revoke_tokens_issued_before: request?.revoke_tokens_issued_before,\n sns_key: request?.sns_key,\n sns_secret: request?.sns_secret,\n sns_topic_arn: request?.sns_topic_arn,\n sqs_key: request?.sqs_key,\n sqs_secret: request?.sqs_secret,\n sqs_url: request?.sqs_url,\n webhook_url: request?.webhook_url,\n allowed_flag_reasons: request?.allowed_flag_reasons,\n image_moderation_block_labels: request?.image_moderation_block_labels,\n image_moderation_labels: request?.image_moderation_labels,\n user_search_disallowed_roles: request?.user_search_disallowed_roles,\n webhook_events: request?.webhook_events,\n apn_config: request?.apn_config,\n async_moderation_config: request?.async_moderation_config,\n datadog_info: request?.datadog_info,\n file_upload_config: request?.file_upload_config,\n firebase_config: request?.firebase_config,\n grants: request?.grants,\n huawei_config: request?.huawei_config,\n image_upload_config: request?.image_upload_config,\n push_config: request?.push_config,\n xiaomi_config: request?.xiaomi_config,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'PATCH',\n '/api/v2/app',\n undefined,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listBlockLists = async (request?: {\n team?: string;\n }): Promise<StreamResponse<ListBlockListResponse>> => {\n const queryParams = {\n team: request?.team,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ListBlockListResponse>\n >('GET', '/api/v2/blocklists', undefined, queryParams);\n\n decoders.ListBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createBlockList = async (\n request: CreateBlockListRequest,\n ): Promise<StreamResponse<CreateBlockListResponse>> => {\n const body = {\n name: request?.name,\n words: request?.words,\n team: request?.team,\n type: request?.type,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateBlockListResponse>\n >('POST', '/api/v2/blocklists', undefined, undefined, body);\n\n decoders.CreateBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteBlockList = async (request: {\n name: string;\n team?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/blocklists/{name}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getBlockList = async (request: {\n name: string;\n team?: string;\n }): Promise<StreamResponse<GetBlockListResponse>> => {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetBlockListResponse>\n >('GET', '/api/v2/blocklists/{name}', pathParams, queryParams);\n\n decoders.GetBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateBlockList = async (\n request: UpdateBlockListRequest & { name: string },\n ): Promise<StreamResponse<UpdateBlockListResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n team: request?.team,\n words: request?.words,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateBlockListResponse>\n >('PUT', '/api/v2/blocklists/{name}', pathParams, undefined, body);\n\n decoders.UpdateBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n checkPush = async (\n request?: CheckPushRequest,\n ): Promise<StreamResponse<CheckPushResponse>> => {\n const body = {\n apn_template: request?.apn_template,\n firebase_data_template: request?.firebase_data_template,\n firebase_template: request?.firebase_template,\n message_id: request?.message_id,\n push_provider_name: request?.push_provider_name,\n push_provider_type: request?.push_provider_type,\n skip_devices: request?.skip_devices,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<CheckPushResponse>>(\n 'POST',\n '/api/v2/check_push',\n undefined,\n undefined,\n body,\n );\n\n decoders.CheckPushResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n checkSNS = async (\n request?: CheckSNSRequest,\n ): Promise<StreamResponse<CheckSNSResponse>> => {\n const body = {\n sns_key: request?.sns_key,\n sns_secret: request?.sns_secret,\n sns_topic_arn: request?.sns_topic_arn,\n };\n\n const response = await this.sendRequest<StreamResponse<CheckSNSResponse>>(\n 'POST',\n '/api/v2/check_sns',\n undefined,\n undefined,\n body,\n );\n\n decoders.CheckSNSResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n checkSQS = async (\n request?: CheckSQSRequest,\n ): Promise<StreamResponse<CheckSQSResponse>> => {\n const body = {\n sqs_key: request?.sqs_key,\n sqs_secret: request?.sqs_secret,\n sqs_url: request?.sqs_url,\n };\n\n const response = await this.sendRequest<StreamResponse<CheckSQSResponse>>(\n 'POST',\n '/api/v2/check_sqs',\n undefined,\n undefined,\n body,\n );\n\n decoders.CheckSQSResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteDevice = async (request: {\n id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n id: request?.id,\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/devices',\n undefined,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listDevices = async (request?: {\n user_id?: string;\n }): Promise<StreamResponse<ListDevicesResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ListDevicesResponse>\n >('GET', '/api/v2/devices', undefined, queryParams);\n\n decoders.ListDevicesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createDevice = async (\n request: CreateDeviceRequest,\n ): Promise<StreamResponse<Response>> => {\n const body = {\n id: request?.id,\n push_provider: request?.push_provider,\n push_provider_name: request?.push_provider_name,\n user_id: request?.user_id,\n voip_token: request?.voip_token,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/devices',\n undefined,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n exportUsers = async (\n request: ExportUsersRequest,\n ): Promise<StreamResponse<ExportUsersResponse>> => {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ExportUsersResponse>\n >('POST', '/api/v2/export/users', undefined, undefined, body);\n\n decoders.ExportUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listExternalStorage = async (): Promise<\n StreamResponse<ListExternalStorageResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<ListExternalStorageResponse>\n >('GET', '/api/v2/external_storage', undefined, undefined);\n\n decoders.ListExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createExternalStorage = async (\n request: CreateExternalStorageRequest,\n ): Promise<StreamResponse<CreateExternalStorageResponse>> => {\n const body = {\n bucket: request?.bucket,\n name: request?.name,\n storage_type: request?.storage_type,\n gcs_credentials: request?.gcs_credentials,\n path: request?.path,\n aws_s3: request?.aws_s3,\n azure_blob: request?.azure_blob,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateExternalStorageResponse>\n >('POST', '/api/v2/external_storage', undefined, undefined, body);\n\n decoders.CreateExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteExternalStorage = async (request: {\n name: string;\n }): Promise<StreamResponse<DeleteExternalStorageResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteExternalStorageResponse>\n >('DELETE', '/api/v2/external_storage/{name}', pathParams, undefined);\n\n decoders.DeleteExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateExternalStorage = async (\n request: UpdateExternalStorageRequest & { name: string },\n ): Promise<StreamResponse<UpdateExternalStorageResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n bucket: request?.bucket,\n storage_type: request?.storage_type,\n gcs_credentials: request?.gcs_credentials,\n path: request?.path,\n aws_s3: request?.aws_s3,\n azure_blob: request?.azure_blob,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateExternalStorageResponse>\n >('PUT', '/api/v2/external_storage/{name}', pathParams, undefined, body);\n\n decoders.UpdateExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n checkExternalStorage = async (request: {\n name: string;\n }): Promise<StreamResponse<CheckExternalStorageResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CheckExternalStorageResponse>\n >('GET', '/api/v2/external_storage/{name}/check', pathParams, undefined);\n\n decoders.CheckExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createGuest = async (\n request: CreateGuestRequest,\n ): Promise<StreamResponse<CreateGuestResponse>> => {\n const body = {\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateGuestResponse>\n >('POST', '/api/v2/guest', undefined, undefined, body);\n\n decoders.CreateGuestResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createImportURL = async (\n request?: CreateImportURLRequest,\n ): Promise<StreamResponse<CreateImportURLResponse>> => {\n const body = {\n filename: request?.filename,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateImportURLResponse>\n >('POST', '/api/v2/import_urls', undefined, undefined, body);\n\n decoders.CreateImportURLResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listImports = async (): Promise<StreamResponse<ListImportsResponse>> => {\n const response = await this.sendRequest<\n StreamResponse<ListImportsResponse>\n >('GET', '/api/v2/imports', undefined, undefined);\n\n decoders.ListImportsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createImport = async (\n request: CreateImportRequest,\n ): Promise<StreamResponse<CreateImportResponse>> => {\n const body = {\n mode: request?.mode,\n path: request?.path,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateImportResponse>\n >('POST', '/api/v2/imports', undefined, undefined, body);\n\n decoders.CreateImportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getImport = async (request: {\n id: string;\n }): Promise<StreamResponse<GetImportResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetImportResponse>>(\n 'GET',\n '/api/v2/imports/{id}',\n pathParams,\n undefined,\n );\n\n decoders.GetImportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getOG = async (request: {\n url: string;\n }): Promise<StreamResponse<GetOGResponse>> => {\n const queryParams = {\n url: request?.url,\n };\n\n const response = await this.sendRequest<StreamResponse<GetOGResponse>>(\n 'GET',\n '/api/v2/og',\n undefined,\n queryParams,\n );\n\n decoders.GetOGResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listPermissions = async (): Promise<\n StreamResponse<ListPermissionsResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<ListPermissionsResponse>\n >('GET', '/api/v2/permissions', undefined, undefined);\n\n decoders.ListPermissionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getPermission = async (request: {\n id: string;\n }): Promise<StreamResponse<GetCustomPermissionResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetCustomPermissionResponse>\n >('GET', '/api/v2/permissions/{id}', pathParams, undefined);\n\n decoders.GetCustomPermissionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listPushProviders = async (): Promise<\n StreamResponse<ListPushProvidersResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<ListPushProvidersResponse>\n >('GET', '/api/v2/push_providers', undefined, undefined);\n\n decoders.ListPushProvidersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n upsertPushProvider = async (\n request?: UpsertPushProviderRequest,\n ): Promise<StreamResponse<UpsertPushProviderResponse>> => {\n const body = {\n push_provider: request?.push_provider,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpsertPushProviderResponse>\n >('POST', '/api/v2/push_providers', undefined, undefined, body);\n\n decoders.UpsertPushProviderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deletePushProvider = async (request: {\n type: string;\n name: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n type: request?.type,\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/push_providers/{type}/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getRateLimits = async (request?: {\n server_side?: boolean;\n android?: boolean;\n ios?: boolean;\n web?: boolean;\n endpoints?: string;\n }): Promise<StreamResponse<GetRateLimitsResponse>> => {\n const queryParams = {\n server_side: request?.server_side,\n android: request?.android,\n ios: request?.ios,\n web: request?.web,\n endpoints: request?.endpoints,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetRateLimitsResponse>\n >('GET', '/api/v2/rate_limits', undefined, queryParams);\n\n decoders.GetRateLimitsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listRoles = async (): Promise<StreamResponse<ListRolesResponse>> => {\n const response = await this.sendRequest<StreamResponse<ListRolesResponse>>(\n 'GET',\n '/api/v2/roles',\n undefined,\n undefined,\n );\n\n decoders.ListRolesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createRole = async (\n request: CreateRoleRequest,\n ): Promise<StreamResponse<CreateRoleResponse>> => {\n const body = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<CreateRoleResponse>>(\n 'POST',\n '/api/v2/roles',\n undefined,\n undefined,\n body,\n );\n\n decoders.CreateRoleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteRole = async (request: {\n name: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/roles/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getTask = async (request: {\n id: string;\n }): Promise<StreamResponse<GetTaskResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetTaskResponse>>(\n 'GET',\n '/api/v2/tasks/{id}',\n pathParams,\n undefined,\n );\n\n decoders.GetTaskResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryUsers = async (request?: {\n payload?: QueryUsersPayload;\n }): Promise<StreamResponse<QueryUsersResponse>> => {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.sendRequest<StreamResponse<QueryUsersResponse>>(\n 'GET',\n '/api/v2/users',\n undefined,\n queryParams,\n );\n\n decoders.QueryUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateUsersPartial = async (\n request: UpdateUsersPartialRequest,\n ): Promise<StreamResponse<UpdateUsersResponse>> => {\n const body = {\n users: request?.users,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateUsersResponse>\n >('PATCH', '/api/v2/users', undefined, undefined, body);\n\n decoders.UpdateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateUsers = async (\n request: UpdateUsersRequest,\n ): Promise<StreamResponse<UpdateUsersResponse>> => {\n const body = {\n users: request?.users,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateUsersResponse>\n >('POST', '/api/v2/users', undefined, undefined, body);\n\n decoders.UpdateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getBlockedUsers = async (request?: {\n user_id?: string;\n }): Promise<StreamResponse<GetBlockedUsersResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetBlockedUsersResponse>\n >('GET', '/api/v2/users/block', undefined, queryParams);\n\n decoders.GetBlockedUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n blockUsers = async (\n request: BlockUsersRequest,\n ): Promise<StreamResponse<BlockUsersResponse>> => {\n const body = {\n blocked_user_id: request?.blocked_user_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<BlockUsersResponse>>(\n 'POST',\n '/api/v2/users/block',\n undefined,\n undefined,\n body,\n );\n\n decoders.BlockUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deactivateUsers = async (\n request: DeactivateUsersRequest,\n ): Promise<StreamResponse<DeactivateUsersResponse>> => {\n const body = {\n user_ids: request?.user_ids,\n created_by_id: request?.created_by_id,\n mark_channels_deleted: request?.mark_channels_deleted,\n mark_messages_deleted: request?.mark_messages_deleted,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeactivateUsersResponse>\n >('POST', '/api/v2/users/deactivate', undefined, undefined, body);\n\n decoders.DeactivateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteUsers = async (\n request: DeleteUsersRequest,\n ): Promise<StreamResponse<DeleteUsersResponse>> => {\n const body = {\n user_ids: request?.user_ids,\n calls: request?.calls,\n conversations: request?.conversations,\n messages: request?.messages,\n new_call_owner_id: request?.new_call_owner_id,\n new_channel_owner_id: request?.new_channel_owner_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteUsersResponse>\n >('POST', '/api/v2/users/delete', undefined, undefined, body);\n\n decoders.DeleteUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n reactivateUsers = async (\n request: ReactivateUsersRequest,\n ): Promise<StreamResponse<ReactivateUsersResponse>> => {\n const body = {\n user_ids: request?.user_ids,\n created_by_id: request?.created_by_id,\n restore_channels: request?.restore_channels,\n restore_messages: request?.restore_messages,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ReactivateUsersResponse>\n >('POST', '/api/v2/users/reactivate', undefined, undefined, body);\n\n decoders.ReactivateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n restoreUsers = async (\n request: RestoreUsersRequest,\n ): Promise<StreamResponse<Response>> => {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/users/restore',\n undefined,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unblockUsers = async (\n request: UnblockUsersRequest,\n ): Promise<StreamResponse<UnblockUsersResponse>> => {\n const body = {\n blocked_user_id: request?.blocked_user_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UnblockUsersResponse>\n >('POST', '/api/v2/users/unblock', undefined, undefined, body);\n\n decoders.UnblockUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deactivateUser = async (\n request: DeactivateUserRequest & { user_id: string },\n ): Promise<StreamResponse<DeactivateUserResponse>> => {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n created_by_id: request?.created_by_id,\n mark_messages_deleted: request?.mark_messages_deleted,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeactivateUserResponse>\n >(\n 'POST',\n '/api/v2/users/{user_id}/deactivate',\n pathParams,\n undefined,\n body,\n );\n\n decoders.DeactivateUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n exportUser = async (request: {\n user_id: string;\n }): Promise<StreamResponse<ExportUserResponse>> => {\n const pathParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<StreamResponse<ExportUserResponse>>(\n 'GET',\n '/api/v2/users/{user_id}/export',\n pathParams,\n undefined,\n );\n\n decoders.ExportUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n reactivateUser = async (\n request: ReactivateUserRequest & { user_id: string },\n ): Promise<StreamResponse<ReactivateUserResponse>> => {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n created_by_id: request?.created_by_id,\n name: request?.name,\n restore_messages: request?.restore_messages,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ReactivateUserResponse>\n >(\n 'POST',\n '/api/v2/users/{user_id}/reactivate',\n pathParams,\n undefined,\n body,\n );\n\n decoders.ReactivateUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n}\n","import { BaseApi } from '../../BaseApi';\nimport { StreamResponse } from '../../types';\nimport {\n BlockUserRequest,\n BlockUserResponse,\n CollectUserFeedbackRequest,\n CollectUserFeedbackResponse,\n CreateCallTypeRequest,\n CreateCallTypeResponse,\n DeleteCallRequest,\n DeleteCallResponse,\n DeleteRecordingResponse,\n DeleteTranscriptionResponse,\n EndCallResponse,\n GetCallReportResponse,\n GetCallResponse,\n GetCallStatsResponse,\n GetCallTypeResponse,\n GetEdgesResponse,\n GetOrCreateCallRequest,\n GetOrCreateCallResponse,\n GoLiveRequest,\n GoLiveResponse,\n ListCallTypeResponse,\n ListRecordingsResponse,\n ListTranscriptionsResponse,\n MuteUsersRequest,\n MuteUsersResponse,\n PinRequest,\n PinResponse,\n QueryAggregateCallStatsRequest,\n QueryAggregateCallStatsResponse,\n QueryCallMembersRequest,\n QueryCallMembersResponse,\n QueryCallStatsRequest,\n QueryCallStatsResponse,\n QueryCallsRequest,\n QueryCallsResponse,\n QueryUserFeedbackRequest,\n QueryUserFeedbackResponse,\n Response,\n SendCallEventRequest,\n SendCallEventResponse,\n StartClosedCaptionsRequest,\n StartClosedCaptionsResponse,\n StartFrameRecordingRequest,\n StartFrameRecordingResponse,\n StartHLSBroadcastingResponse,\n StartRTMPBroadcastsRequest,\n StartRTMPBroadcastsResponse,\n StartRecordingRequest,\n StartRecordingResponse,\n StartTranscriptionRequest,\n StartTranscriptionResponse,\n StopAllRTMPBroadcastsResponse,\n StopClosedCaptionsRequest,\n StopClosedCaptionsResponse,\n StopFrameRecordingResponse,\n StopHLSBroadcastingResponse,\n StopLiveRequest,\n StopLiveResponse,\n StopRTMPBroadcastsRequest,\n StopRTMPBroadcastsResponse,\n StopRecordingResponse,\n StopTranscriptionRequest,\n StopTranscriptionResponse,\n UnblockUserRequest,\n UnblockUserResponse,\n UnpinRequest,\n UnpinResponse,\n UpdateCallMembersRequest,\n UpdateCallMembersResponse,\n UpdateCallRequest,\n UpdateCallResponse,\n UpdateCallTypeRequest,\n UpdateCallTypeResponse,\n UpdateUserPermissionsRequest,\n UpdateUserPermissionsResponse,\n} from '../models';\nimport { decoders } from '../model-decoders';\n\nexport class VideoApi extends BaseApi {\n queryUserFeedback = async (\n request?: QueryUserFeedbackRequest & { full?: boolean },\n ): Promise<StreamResponse<QueryUserFeedbackResponse>> => {\n const queryParams = {\n full: request?.full,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryUserFeedbackResponse>\n >('POST', '/api/v2/video/call/feedback', undefined, queryParams, body);\n\n decoders.QueryUserFeedbackResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryCallMembers = async (\n request: QueryCallMembersRequest,\n ): Promise<StreamResponse<QueryCallMembersResponse>> => {\n const body = {\n id: request?.id,\n type: request?.type,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryCallMembersResponse>\n >('POST', '/api/v2/video/call/members', undefined, undefined, body);\n\n decoders.QueryCallMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryCallStats = async (\n request?: QueryCallStatsRequest,\n ): Promise<StreamResponse<QueryCallStatsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryCallStatsResponse>\n >('POST', '/api/v2/video/call/stats', undefined, undefined, body);\n\n decoders.QueryCallStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getCall = async (request: {\n type: string;\n id: string;\n members_limit?: number;\n ring?: boolean;\n notify?: boolean;\n video?: boolean;\n }): Promise<StreamResponse<GetCallResponse>> => {\n const queryParams = {\n members_limit: request?.members_limit,\n ring: request?.ring,\n notify: request?.notify,\n video: request?.video,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetCallResponse>>(\n 'GET',\n '/api/v2/video/call/{type}/{id}',\n pathParams,\n queryParams,\n );\n\n decoders.GetCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateCall = async (\n request: UpdateCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateCallResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n starts_at: request?.starts_at,\n custom: request?.custom,\n settings_override: request?.settings_override,\n };\n\n const response = await this.sendRequest<StreamResponse<UpdateCallResponse>>(\n 'PATCH',\n '/api/v2/video/call/{type}/{id}',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getOrCreateCall = async (\n request: GetOrCreateCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<GetOrCreateCallResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n members_limit: request?.members_limit,\n notify: request?.notify,\n ring: request?.ring,\n video: request?.video,\n data: request?.data,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetOrCreateCallResponse>\n >('POST', '/api/v2/video/call/{type}/{id}', pathParams, undefined, body);\n\n decoders.GetOrCreateCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n blockUser = async (\n request: BlockUserRequest & { type: string; id: string },\n ): Promise<StreamResponse<BlockUserResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<StreamResponse<BlockUserResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/block',\n pathParams,\n undefined,\n body,\n );\n\n decoders.BlockUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteCall = async (\n request: DeleteCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<DeleteCallResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hard: request?.hard,\n };\n\n const response = await this.sendRequest<StreamResponse<DeleteCallResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/delete',\n pathParams,\n undefined,\n body,\n );\n\n decoders.DeleteCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n sendCallEvent = async (\n request: SendCallEventRequest & { type: string; id: string },\n ): Promise<StreamResponse<SendCallEventResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<SendCallEventResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/event',\n pathParams,\n undefined,\n body,\n );\n\n decoders.SendCallEventResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n collectUserFeedback = async (\n request: CollectUserFeedbackRequest & { type: string; id: string },\n ): Promise<StreamResponse<CollectUserFeedbackResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n rating: request?.rating,\n sdk: request?.sdk,\n sdk_version: request?.sdk_version,\n reason: request?.reason,\n user_session_id: request?.user_session_id,\n custom: request?.custom,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CollectUserFeedbackResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/feedback',\n pathParams,\n undefined,\n body,\n );\n\n decoders.CollectUserFeedbackResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n goLive = async (\n request: GoLiveRequest & { type: string; id: string },\n ): Promise<StreamResponse<GoLiveResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_storage_name: request?.recording_storage_name,\n start_closed_caption: request?.start_closed_caption,\n start_hls: request?.start_hls,\n start_recording: request?.start_recording,\n start_transcription: request?.start_transcription,\n transcription_storage_name: request?.transcription_storage_name,\n };\n\n const response = await this.sendRequest<StreamResponse<GoLiveResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/go_live',\n pathParams,\n undefined,\n body,\n );\n\n decoders.GoLiveResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n endCall = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<EndCallResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<EndCallResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/mark_ended',\n pathParams,\n undefined,\n );\n\n decoders.EndCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateCallMembers = async (\n request: UpdateCallMembersRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateCallMembersResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n remove_members: request?.remove_members,\n update_members: request?.update_members,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateCallMembersResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/members',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateCallMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n muteUsers = async (\n request: MuteUsersRequest & { type: string; id: string },\n ): Promise<StreamResponse<MuteUsersResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n audio: request?.audio,\n mute_all_users: request?.mute_all_users,\n muted_by_id: request?.muted_by_id,\n screenshare: request?.screenshare,\n screenshare_audio: request?.screenshare_audio,\n video: request?.video,\n user_ids: request?.user_ids,\n muted_by: request?.muted_by,\n };\n\n const response = await this.sendRequest<StreamResponse<MuteUsersResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/mute_users',\n pathParams,\n undefined,\n body,\n );\n\n decoders.MuteUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n videoPin = async (\n request: PinRequest & { type: string; id: string },\n ): Promise<StreamResponse<PinResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n session_id: request?.session_id,\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<StreamResponse<PinResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/pin',\n pathParams,\n undefined,\n body,\n );\n\n decoders.PinResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listRecordings = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<ListRecordingsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ListRecordingsResponse>\n >(\n 'GET',\n '/api/v2/video/call/{type}/{id}/recordings',\n pathParams,\n undefined,\n );\n\n decoders.ListRecordingsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getCallReport = async (request: {\n type: string;\n id: string;\n session_id?: string;\n }): Promise<StreamResponse<GetCallReportResponse>> => {\n const queryParams = {\n session_id: request?.session_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetCallReportResponse>\n >('GET', '/api/v2/video/call/{type}/{id}/report', pathParams, queryParams);\n\n decoders.GetCallReportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startRTMPBroadcasts = async (\n request: StartRTMPBroadcastsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartRTMPBroadcastsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n broadcasts: request?.broadcasts,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StartRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopAllRTMPBroadcasts = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopAllRTMPBroadcastsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopAllRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts/stop',\n pathParams,\n undefined,\n );\n\n decoders.StopAllRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopRTMPBroadcast = async (\n request: StopRTMPBroadcastsRequest & {\n type: string;\n id: string;\n name: string;\n },\n ): Promise<StreamResponse<StopRTMPBroadcastsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n name: request?.name,\n };\n const body = {};\n\n const response = await this.sendRequest<\n StreamResponse<StopRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts/{name}/stop',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StopRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startHLSBroadcasting = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StartHLSBroadcastingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartHLSBroadcastingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_broadcasting',\n pathParams,\n undefined,\n );\n\n decoders.StartHLSBroadcastingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startClosedCaptions = async (\n request: StartClosedCaptionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartClosedCaptionsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n enable_transcription: request?.enable_transcription,\n external_storage: request?.external_storage,\n language: request?.language,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartClosedCaptionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_closed_captions',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StartClosedCaptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startFrameRecording = async (\n request: StartFrameRecordingRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartFrameRecordingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_external_storage: request?.recording_external_storage,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartFrameRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_frame_recording',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StartFrameRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startRecording = async (\n request: StartRecordingRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartRecordingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_external_storage: request?.recording_external_storage,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_recording',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StartRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startTranscription = async (\n request: StartTranscriptionRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartTranscriptionResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n enable_closed_captions: request?.enable_closed_captions,\n language: request?.language,\n transcription_external_storage: request?.transcription_external_storage,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartTranscriptionResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_transcription',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StartTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getCallStats = async (request: {\n type: string;\n id: string;\n session: string;\n }): Promise<StreamResponse<GetCallStatsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n session: request?.session,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetCallStatsResponse>\n >(\n 'GET',\n '/api/v2/video/call/{type}/{id}/stats/{session}',\n pathParams,\n undefined,\n );\n\n decoders.GetCallStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopHLSBroadcasting = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopHLSBroadcastingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopHLSBroadcastingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_broadcasting',\n pathParams,\n undefined,\n );\n\n decoders.StopHLSBroadcastingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopClosedCaptions = async (\n request: StopClosedCaptionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopClosedCaptionsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n stop_transcription: request?.stop_transcription,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopClosedCaptionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_closed_captions',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StopClosedCaptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopFrameRecording = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopFrameRecordingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopFrameRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_frame_recording',\n pathParams,\n undefined,\n );\n\n decoders.StopFrameRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopLive = async (\n request: StopLiveRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopLiveResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n continue_closed_caption: request?.continue_closed_caption,\n continue_hls: request?.continue_hls,\n continue_recording: request?.continue_recording,\n continue_rtmp_broadcasts: request?.continue_rtmp_broadcasts,\n continue_transcription: request?.continue_transcription,\n };\n\n const response = await this.sendRequest<StreamResponse<StopLiveResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_live',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StopLiveResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopRecording = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopRecordingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_recording',\n pathParams,\n undefined,\n );\n\n decoders.StopRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopTranscription = async (\n request: StopTranscriptionRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopTranscriptionResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n stop_closed_captions: request?.stop_closed_captions,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopTranscriptionResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_transcription',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StopTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listTranscriptions = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<ListTranscriptionsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ListTranscriptionsResponse>\n >(\n 'GET',\n '/api/v2/video/call/{type}/{id}/transcriptions',\n pathParams,\n undefined,\n );\n\n decoders.ListTranscriptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unblockUser = async (\n request: UnblockUserRequest & { type: string; id: string },\n ): Promise<StreamResponse<UnblockUserResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UnblockUserResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/unblock',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UnblockUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n videoUnpin = async (\n request: UnpinRequest & { type: string; id: string },\n ): Promise<StreamResponse<UnpinResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n session_id: request?.session_id,\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<StreamResponse<UnpinResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/unpin',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UnpinResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateUserPermissions = async (\n request: UpdateUserPermissionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateUserPermissionsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n grant_permissions: request?.grant_permissions,\n revoke_permissions: request?.revoke_permissions,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateUserPermissionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/user_permissions',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateUserPermissionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteRecording = async (request: {\n type: string;\n id: string;\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteRecordingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n session: request?.session,\n filename: request?.filename,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteRecordingResponse>\n >(\n 'DELETE',\n '/api/v2/video/call/{type}/{id}/{session}/recordings/{filename}',\n pathParams,\n undefined,\n );\n\n decoders.DeleteRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteTranscription = async (request: {\n type: string;\n id: string;\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteTranscriptionResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n session: request?.session,\n filename: request?.filename,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteTranscriptionResponse>\n >(\n 'DELETE',\n '/api/v2/video/call/{type}/{id}/{session}/transcriptions/{filename}',\n pathParams,\n undefined,\n );\n\n decoders.DeleteTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryCalls = async (\n request?: QueryCallsRequest,\n ): Promise<StreamResponse<QueryCallsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.sendRequest<StreamResponse<QueryCallsResponse>>(\n 'POST',\n '/api/v2/video/calls',\n undefined,\n undefined,\n body,\n );\n\n decoders.QueryCallsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listCallTypes = async (): Promise<StreamResponse<ListCallTypeResponse>> => {\n const response = await this.sendRequest<\n StreamResponse<ListCallTypeResponse>\n >('GET', '/api/v2/video/calltypes', undefined, undefined);\n\n decoders.ListCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createCallType = async (\n request: CreateCallTypeRequest,\n ): Promise<StreamResponse<CreateCallTypeResponse>> => {\n const body = {\n name: request?.name,\n external_storage: request?.external_storage,\n grants: request?.grants,\n notification_settings: request?.notification_settings,\n settings: request?.settings,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateCallTypeResponse>\n >('POST', '/api/v2/video/calltypes', undefined, undefined, body);\n\n decoders.CreateCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteCallType = async (request: {\n name: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/video/calltypes/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getCallType = async (request: {\n name: string;\n }): Promise<StreamResponse<GetCallTypeResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetCallTypeResponse>\n >('GET', '/api/v2/video/calltypes/{name}', pathParams, undefined);\n\n decoders.GetCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateCallType = async (\n request: UpdateCallTypeRequest & { name: string },\n ): Promise<StreamResponse<UpdateCallTypeResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n external_storage: request?.external_storage,\n grants: request?.grants,\n notification_settings: request?.notification_settings,\n settings: request?.settings,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateCallTypeResponse>\n >('PUT', '/api/v2/video/calltypes/{name}', pathParams, undefined, body);\n\n decoders.UpdateCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getEdges = async (): Promise<StreamResponse<GetEdgesResponse>> => {\n const response = await this.sendRequest<StreamResponse<GetEdgesResponse>>(\n 'GET',\n '/api/v2/video/edges',\n undefined,\n undefined,\n );\n\n decoders.GetEdgesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryAggregateCallStats = async (\n request?: QueryAggregateCallStatsRequest,\n ): Promise<StreamResponse<QueryAggregateCallStatsResponse>> => {\n const body = {\n from: request?.from,\n to: request?.to,\n report_types: request?.report_types,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryAggregateCallStatsResponse>\n >('POST', '/api/v2/video/stats', undefined, undefined, body);\n\n decoders.QueryAggregateCallStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n}\n","import { VideoApi } from './VideoApi';\nimport { StreamResponse } from '../../types';\nimport {\n BlockUserRequest,\n BlockUserResponse,\n CollectUserFeedbackRequest,\n CollectUserFeedbackResponse,\n DeleteCallRequest,\n DeleteCallResponse,\n DeleteRecordingResponse,\n DeleteTranscriptionResponse,\n EndCallResponse,\n GetCallReportResponse,\n GetCallResponse,\n GetCallStatsResponse,\n GetOrCreateCallRequest,\n GetOrCreateCallResponse,\n GoLiveRequest,\n GoLiveResponse,\n ListRecordingsResponse,\n ListTranscriptionsResponse,\n MuteUsersRequest,\n MuteUsersResponse,\n PinRequest,\n PinResponse,\n SendCallEventRequest,\n SendCallEventResponse,\n StartClosedCaptionsRequest,\n StartClosedCaptionsResponse,\n StartFrameRecordingRequest,\n StartFrameRecordingResponse,\n StartHLSBroadcastingResponse,\n StartRTMPBroadcastsRequest,\n StartRTMPBroadcastsResponse,\n StartRecordingRequest,\n StartRecordingResponse,\n StartTranscriptionRequest,\n StartTranscriptionResponse,\n StopAllRTMPBroadcastsResponse,\n StopClosedCaptionsRequest,\n StopClosedCaptionsResponse,\n StopFrameRecordingResponse,\n StopHLSBroadcastingResponse,\n StopLiveRequest,\n StopLiveResponse,\n StopRTMPBroadcastsRequest,\n StopRTMPBroadcastsResponse,\n StopRecordingResponse,\n StopTranscriptionRequest,\n StopTranscriptionResponse,\n UnblockUserRequest,\n UnblockUserResponse,\n UnpinRequest,\n UnpinResponse,\n UpdateCallMembersRequest,\n UpdateCallMembersResponse,\n UpdateCallRequest,\n UpdateCallResponse,\n UpdateUserPermissionsRequest,\n UpdateUserPermissionsResponse,\n} from '../models';\n\nexport class CallApi {\n constructor(\n protected videoApi: VideoApi,\n public readonly type: string,\n public readonly id: string,\n ) {}\n\n get = (request?: {\n members_limit?: number;\n ring?: boolean;\n notify?: boolean;\n video?: boolean;\n }): Promise<StreamResponse<GetCallResponse>> => {\n return this.videoApi.getCall({ id: this.id, type: this.type, ...request });\n };\n\n update = (\n request?: UpdateCallRequest,\n ): Promise<StreamResponse<UpdateCallResponse>> => {\n return this.videoApi.updateCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n getOrCreate = (\n request?: GetOrCreateCallRequest,\n ): Promise<StreamResponse<GetOrCreateCallResponse>> => {\n return this.videoApi.getOrCreateCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n blockUser = (\n request: BlockUserRequest,\n ): Promise<StreamResponse<BlockUserResponse>> => {\n return this.videoApi.blockUser({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n delete = (\n request?: DeleteCallRequest,\n ): Promise<StreamResponse<DeleteCallResponse>> => {\n return this.videoApi.deleteCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n sendCallEvent = (\n request?: SendCallEventRequest,\n ): Promise<StreamResponse<SendCallEventResponse>> => {\n return this.videoApi.sendCallEvent({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n collectUserFeedback = (\n request: CollectUserFeedbackRequest,\n ): Promise<StreamResponse<CollectUserFeedbackResponse>> => {\n return this.videoApi.collectUserFeedback({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n goLive = (\n request?: GoLiveRequest,\n ): Promise<StreamResponse<GoLiveResponse>> => {\n return this.videoApi.goLive({ id: this.id, type: this.type, ...request });\n };\n\n end = (): Promise<StreamResponse<EndCallResponse>> => {\n return this.videoApi.endCall({ id: this.id, type: this.type });\n };\n\n updateCallMembers = (\n request?: UpdateCallMembersRequest,\n ): Promise<StreamResponse<UpdateCallMembersResponse>> => {\n return this.videoApi.updateCallMembers({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n muteUsers = (\n request?: MuteUsersRequest,\n ): Promise<StreamResponse<MuteUsersResponse>> => {\n return this.videoApi.muteUsers({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n videoPin = (request: PinRequest): Promise<StreamResponse<PinResponse>> => {\n return this.videoApi.videoPin({ id: this.id, type: this.type, ...request });\n };\n\n listRecordings = (): Promise<StreamResponse<ListRecordingsResponse>> => {\n return this.videoApi.listRecordings({ id: this.id, type: this.type });\n };\n\n getCallReport = (request?: {\n session_id?: string;\n }): Promise<StreamResponse<GetCallReportResponse>> => {\n return this.videoApi.getCallReport({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n startRTMPBroadcasts = (\n request: StartRTMPBroadcastsRequest,\n ): Promise<StreamResponse<StartRTMPBroadcastsResponse>> => {\n return this.videoApi.startRTMPBroadcasts({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n stopAllRTMPBroadcasts = (): Promise<\n StreamResponse<StopAllRTMPBroadcastsResponse>\n > => {\n return this.videoApi.stopAllRTMPBroadcasts({\n id: this.id,\n type: this.type,\n });\n };\n\n stopRTMPBroadcast = (\n request: StopRTMPBroadcastsRequest & { name: string },\n ): Promise<StreamResponse<StopRTMPBroadcastsResponse>> => {\n return this.videoApi.stopRTMPBroadcast({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n startHLSBroadcasting = (): Promise<\n StreamResponse<StartHLSBroadcastingResponse>\n > => {\n return this.videoApi.startHLSBroadcasting({ id: this.id, type: this.type });\n };\n\n startClosedCaptions = (\n request?: StartClosedCaptionsRequest,\n ): Promise<StreamResponse<StartClosedCaptionsResponse>> => {\n return this.videoApi.startClosedCaptions({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n startFrameRecording = (\n request?: StartFrameRecordingRequest,\n ): Promise<StreamResponse<StartFrameRecordingResponse>> => {\n return this.videoApi.startFrameRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n startRecording = (\n request?: StartRecordingRequest,\n ): Promise<StreamResponse<StartRecordingResponse>> => {\n return this.videoApi.startRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n startTranscription = (\n request?: StartTranscriptionRequest,\n ): Promise<StreamResponse<StartTranscriptionResponse>> => {\n return this.videoApi.startTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n getCallStats = (request: {\n session: string;\n }): Promise<StreamResponse<GetCallStatsResponse>> => {\n return this.videoApi.getCallStats({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n stopHLSBroadcasting = (): Promise<\n StreamResponse<StopHLSBroadcastingResponse>\n > => {\n return this.videoApi.stopHLSBroadcasting({ id: this.id, type: this.type });\n };\n\n stopClosedCaptions = (\n request?: StopClosedCaptionsRequest,\n ): Promise<StreamResponse<StopClosedCaptionsResponse>> => {\n return this.videoApi.stopClosedCaptions({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n stopFrameRecording = (): Promise<\n StreamResponse<StopFrameRecordingResponse>\n > => {\n return this.videoApi.stopFrameRecording({ id: this.id, type: this.type });\n };\n\n stopLive = (\n request?: StopLiveRequest,\n ): Promise<StreamResponse<StopLiveResponse>> => {\n return this.videoApi.stopLive({ id: this.id, type: this.type, ...request });\n };\n\n stopRecording = (): Promise<StreamResponse<StopRecordingResponse>> => {\n return this.videoApi.stopRecording({ id: this.id, type: this.type });\n };\n\n stopTranscription = (\n request?: StopTranscriptionRequest,\n ): Promise<StreamResponse<StopTranscriptionResponse>> => {\n return this.videoApi.stopTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n listTranscriptions = (): Promise<\n StreamResponse<ListTranscriptionsResponse>\n > => {\n return this.videoApi.listTranscriptions({ id: this.id, type: this.type });\n };\n\n unblockUser = (\n request: UnblockUserRequest,\n ): Promise<StreamResponse<UnblockUserResponse>> => {\n return this.videoApi.unblockUser({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n videoUnpin = (\n request: UnpinRequest,\n ): Promise<StreamResponse<UnpinResponse>> => {\n return this.videoApi.videoUnpin({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n updateUserPermissions = (\n request: UpdateUserPermissionsRequest,\n ): Promise<StreamResponse<UpdateUserPermissionsResponse>> => {\n return this.videoApi.updateUserPermissions({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n deleteRecording = (request: {\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteRecordingResponse>> => {\n return this.videoApi.deleteRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n deleteTranscription = (request: {\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteTranscriptionResponse>> => {\n return this.videoApi.deleteTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n}\n","import { QueryCallMembersRequest } from './gen/models';\nimport { CallApi } from './gen/video/CallApi';\nimport { OmitTypeId } from './types';\n\nexport class StreamCall extends CallApi {\n get cid() {\n return `${this.type}:${this.id}`;\n }\n\n create = this.getOrCreate;\n\n queryMembers = (request?: OmitTypeId<QueryCallMembersRequest>) => {\n return this.videoApi.queryCallMembers({\n id: this.id,\n type: this.type,\n ...(request ?? {}),\n });\n };\n}\n","import { VideoApi } from './gen/video/VideoApi';\nimport { StreamCall } from './StreamCall';\nimport type { StreamClient } from './StreamClient';\nimport type { ApiConfig } from './types';\n// eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error\n/** @ts-ignore Optional dependency */\nimport type {\n createRealtimeClient,\n RealtimeAPIModel,\n RealtimeClient,\n} from '@stream-io/openai-realtime-api';\n\nexport class StreamVideoClient extends VideoApi {\n private readonly streamClient: StreamClient;\n\n constructor({\n streamClient,\n ...apiConfig\n }: ApiConfig & { streamClient: StreamClient }) {\n super(apiConfig);\n this.streamClient = streamClient;\n }\n\n call = (type: string, id: string) => {\n return new StreamCall(this, type, id);\n };\n\n connectOpenAi = async (options: {\n call: StreamCall;\n agentUserId: string;\n openAiApiKey: string;\n model?: RealtimeAPIModel;\n validityInSeconds?: number;\n }): Promise<RealtimeClient> => {\n let doCreateRealtimeClient: typeof createRealtimeClient;\n\n try {\n doCreateRealtimeClient = (await import('@stream-io/openai-realtime-api'))\n .createRealtimeClient;\n } catch {\n throw new Error(\n 'Cannot create Realtime API client. Is @stream-io/openai-realtime-api installed?',\n );\n }\n\n if (!options.agentUserId) {\n throw new Error('\"agentUserId\" must by specified in options');\n }\n\n const token = this.streamClient.generateCallToken({\n user_id: options.agentUserId,\n call_cids: [options.call.cid],\n validity_in_seconds: options.validityInSeconds,\n });\n\n const realtimeClient = doCreateRealtimeClient({\n baseUrl: this.apiConfig.baseUrl,\n call: options.call,\n streamApiKey: this.apiConfig.apiKey,\n streamUserToken: token,\n openAiApiKey: options.openAiApiKey,\n model: options.model,\n });\n\n await realtimeClient.connect();\n return realtimeClient;\n };\n}\n","import { BaseApi } from '../../BaseApi';\nimport { StreamResponse } from '../../types';\nimport {\n CampaignResponse,\n CastPollVoteRequest,\n ChannelGetOrCreateRequest,\n ChannelStateResponse,\n CommitMessageRequest,\n CreateChannelTypeRequest,\n CreateChannelTypeResponse,\n CreateCommandRequest,\n CreateCommandResponse,\n CreatePollOptionRequest,\n CreatePollRequest,\n DeleteChannelResponse,\n DeleteChannelsRequest,\n DeleteChannelsResponse,\n DeleteCommandResponse,\n DeleteMessageResponse,\n DeleteReactionResponse,\n DeleteSegmentTargetsRequest,\n EventResponse,\n ExportChannelsRequest,\n ExportChannelsResponse,\n FileUploadRequest,\n FileUploadResponse,\n GetCampaignResponse,\n GetChannelTypeResponse,\n GetCommandResponse,\n GetDraftResponse,\n GetManyMessagesResponse,\n GetMessageResponse,\n GetReactionsResponse,\n GetRepliesResponse,\n GetSegmentResponse,\n GetThreadResponse,\n HideChannelRequest,\n HideChannelResponse,\n ImageUploadRequest,\n ImageUploadResponse,\n ListChannelTypesResponse,\n ListCommandsResponse,\n MarkChannelsReadRequest,\n MarkReadRequest,\n MarkReadResponse,\n MarkUnreadRequest,\n MembersResponse,\n MessageActionRequest,\n MessageResponse,\n MuteChannelRequest,\n MuteChannelResponse,\n PollOptionResponse,\n PollResponse,\n PollVoteResponse,\n PollVotesResponse,\n QueryBannedUsersPayload,\n QueryBannedUsersResponse,\n QueryCampaignsRequest,\n QueryCampaignsResponse,\n QueryChannelsRequest,\n QueryChannelsResponse,\n QueryDraftsRequest,\n QueryDraftsResponse,\n QueryMembersPayload,\n QueryMessageFlagsPayload,\n QueryMessageFlagsResponse,\n QueryMessageHistoryRequest,\n QueryMessageHistoryResponse,\n QueryPollVotesRequest,\n QueryPollsRequest,\n QueryPollsResponse,\n QueryReactionsRequest,\n QueryReactionsResponse,\n QuerySegmentTargetsRequest,\n QuerySegmentTargetsResponse,\n QuerySegmentsRequest,\n QuerySegmentsResponse,\n QueryThreadsRequest,\n QueryThreadsResponse,\n Response,\n SearchPayload,\n SearchResponse,\n SendEventRequest,\n SendMessageRequest,\n SendMessageResponse,\n SendReactionRequest,\n SendReactionResponse,\n SendUserCustomEventRequest,\n ShowChannelRequest,\n ShowChannelResponse,\n SortParamRequest,\n StartCampaignRequest,\n StartCampaignResponse,\n StopCampaignRequest,\n TranslateMessageRequest,\n TruncateChannelRequest,\n TruncateChannelResponse,\n UnmuteChannelRequest,\n UnmuteResponse,\n UnreadCountsBatchRequest,\n UnreadCountsBatchResponse,\n UpdateChannelPartialRequest,\n UpdateChannelPartialResponse,\n UpdateChannelRequest,\n UpdateChannelResponse,\n UpdateChannelTypeRequest,\n UpdateChannelTypeResponse,\n UpdateCommandRequest,\n UpdateCommandResponse,\n UpdateMemberPartialRequest,\n UpdateMemberPartialResponse,\n UpdateMessagePartialRequest,\n UpdateMessagePartialResponse,\n UpdateMessageRequest,\n UpdateMessageResponse,\n UpdatePollOptionRequest,\n UpdatePollPartialRequest,\n UpdatePollRequest,\n UpdateThreadPartialRequest,\n UpdateThreadPartialResponse,\n UpsertPushPreferencesRequest,\n UpsertPushPreferencesResponse,\n WrappedUnreadCountsResponse,\n} from '../models';\nimport { decoders } from '../model-decoders';\n\nexport class ChatApi extends BaseApi {\n queryCampaigns = async (\n request?: QueryCampaignsRequest,\n ): Promise<StreamResponse<QueryCampaignsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_limit: request?.user_limit,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryCampaignsResponse>\n >('POST', '/api/v2/chat/campaigns/query', undefined, undefined, body);\n\n decoders.QueryCampaignsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getCampaign = async (request: {\n id: string;\n prev?: string;\n next?: string;\n limit?: number;\n }): Promise<StreamResponse<GetCampaignResponse>> => {\n const queryParams = {\n prev: request?.prev,\n next: request?.next,\n limit: request?.limit,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetCampaignResponse>\n >('GET', '/api/v2/chat/campaigns/{id}', pathParams, queryParams);\n\n decoders.GetCampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startCampaign = async (\n request: StartCampaignRequest & { id: string },\n ): Promise<StreamResponse<StartCampaignResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n scheduled_for: request?.scheduled_for,\n stop_at: request?.stop_at,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartCampaignResponse>\n >('POST', '/api/v2/chat/campaigns/{id}/start', pathParams, undefined, body);\n\n decoders.StartCampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n scheduleCampaign = async (\n request: StopCampaignRequest & { id: string },\n ): Promise<StreamResponse<CampaignResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {};\n\n const response = await this.sendRequest<StreamResponse<CampaignResponse>>(\n 'POST',\n '/api/v2/chat/campaigns/{id}/stop',\n pathParams,\n undefined,\n body,\n );\n\n decoders.CampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryChannels = async (\n request?: QueryChannelsRequest,\n ): Promise<StreamResponse<QueryChannelsResponse>> => {\n const body = {\n limit: request?.limit,\n member_limit: request?.member_limit,\n message_limit: request?.message_limit,\n offset: request?.offset,\n state: request?.state,\n user_id: request?.user_id,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryChannelsResponse>\n >('POST', '/api/v2/chat/channels', undefined, undefined, body);\n\n decoders.QueryChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteChannels = async (\n request: DeleteChannelsRequest,\n ): Promise<StreamResponse<DeleteChannelsResponse>> => {\n const body = {\n cids: request?.cids,\n hard_delete: request?.hard_delete,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteChannelsResponse>\n >('POST', '/api/v2/chat/channels/delete', undefined, undefined, body);\n\n decoders.DeleteChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n markChannelsRead = async (\n request?: MarkChannelsReadRequest,\n ): Promise<StreamResponse<MarkReadResponse>> => {\n const body = {\n user_id: request?.user_id,\n read_by_channel: request?.read_by_channel,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<MarkReadResponse>>(\n 'POST',\n '/api/v2/chat/channels/read',\n undefined,\n undefined,\n body,\n );\n\n decoders.MarkReadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getOrCreateDistinctChannel = async (\n request: ChannelGetOrCreateRequest & { type: string },\n ): Promise<StreamResponse<ChannelStateResponse>> => {\n const pathParams = {\n type: request?.type,\n };\n const body = {\n hide_for_creator: request?.hide_for_creator,\n state: request?.state,\n thread_unread_counts: request?.thread_unread_counts,\n data: request?.data,\n members: request?.members,\n messages: request?.messages,\n watchers: request?.watchers,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ChannelStateResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/query',\n pathParams,\n undefined,\n body,\n );\n\n decoders.ChannelStateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteChannel = async (request: {\n type: string;\n id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteChannelResponse>> => {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteChannelResponse>\n >('DELETE', '/api/v2/chat/channels/{type}/{id}', pathParams, queryParams);\n\n decoders.DeleteChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateChannelPartial = async (\n request: UpdateChannelPartialRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateChannelPartialResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateChannelPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/channels/{type}/{id}',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateChannelPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateChannel = async (\n request: UpdateChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateChannelResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n accept_invite: request?.accept_invite,\n cooldown: request?.cooldown,\n hide_history: request?.hide_history,\n reject_invite: request?.reject_invite,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n add_members: request?.add_members,\n add_moderators: request?.add_moderators,\n assign_roles: request?.assign_roles,\n demote_moderators: request?.demote_moderators,\n invites: request?.invites,\n remove_members: request?.remove_members,\n data: request?.data,\n message: request?.message,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateChannelResponse>\n >('POST', '/api/v2/chat/channels/{type}/{id}', pathParams, undefined, body);\n\n decoders.UpdateChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteDraft = async (request: {\n type: string;\n id: string;\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n parent_id: request?.parent_id,\n user_id: request?.user_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/draft',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getDraft = async (request: {\n type: string;\n id: string;\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<GetDraftResponse>> => {\n const queryParams = {\n parent_id: request?.parent_id,\n user_id: request?.user_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetDraftResponse>>(\n 'GET',\n '/api/v2/chat/channels/{type}/{id}/draft',\n pathParams,\n queryParams,\n );\n\n decoders.GetDraftResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n sendEvent = async (\n request: SendEventRequest & { type: string; id: string },\n ): Promise<StreamResponse<EventResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n event: request?.event,\n };\n\n const response = await this.sendRequest<StreamResponse<EventResponse>>(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/event',\n pathParams,\n undefined,\n body,\n );\n\n decoders.EventResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteFile = async (request: {\n type: string;\n id: string;\n url?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n url: request?.url,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/file',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n uploadFile = async (\n request: FileUploadRequest & { type: string; id: string },\n ): Promise<StreamResponse<FileUploadResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n file: request?.file,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<FileUploadResponse>>(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/file',\n pathParams,\n undefined,\n body,\n );\n\n decoders.FileUploadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n hideChannel = async (\n request: HideChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<HideChannelResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n clear_history: request?.clear_history,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<HideChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/hide',\n pathParams,\n undefined,\n body,\n );\n\n decoders.HideChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteImage = async (request: {\n type: string;\n id: string;\n url?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n url: request?.url,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/image',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n uploadImage = async (\n request: ImageUploadRequest & { type: string; id: string },\n ): Promise<StreamResponse<ImageUploadResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n file: request?.file,\n upload_sizes: request?.upload_sizes,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ImageUploadResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/image',\n pathParams,\n undefined,\n body,\n );\n\n decoders.ImageUploadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateMemberPartial = async (\n request: UpdateMemberPartialRequest & {\n user_id: string;\n type: string;\n id: string;\n },\n ): Promise<StreamResponse<UpdateMemberPartialResponse>> => {\n const pathParams = {\n user_id: request?.user_id,\n type: request?.type,\n id: request?.id,\n };\n const body = {\n unset: request?.unset,\n set: request?.set,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateMemberPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/channels/{type}/{id}/member/{user_id}',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateMemberPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n sendMessage = async (\n request: SendMessageRequest & { type: string; id: string },\n ): Promise<StreamResponse<SendMessageResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message: request?.message,\n force_moderation: request?.force_moderation,\n keep_channel_hidden: request?.keep_channel_hidden,\n pending: request?.pending,\n skip_enrich_url: request?.skip_enrich_url,\n skip_push: request?.skip_push,\n pending_message_metadata: request?.pending_message_metadata,\n };\n\n const response = await this.sendRequest<\n StreamResponse<SendMessageResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/message',\n pathParams,\n undefined,\n body,\n );\n\n decoders.SendMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getManyMessages = async (request: {\n type: string;\n id: string;\n ids: string[];\n }): Promise<StreamResponse<GetManyMessagesResponse>> => {\n const queryParams = {\n ids: request?.ids,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetManyMessagesResponse>\n >(\n 'GET',\n '/api/v2/chat/channels/{type}/{id}/messages',\n pathParams,\n queryParams,\n );\n\n decoders.GetManyMessagesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getOrCreateChannel = async (\n request: ChannelGetOrCreateRequest & { type: string; id: string },\n ): Promise<StreamResponse<ChannelStateResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hide_for_creator: request?.hide_for_creator,\n state: request?.state,\n thread_unread_counts: request?.thread_unread_counts,\n data: request?.data,\n members: request?.members,\n messages: request?.messages,\n watchers: request?.watchers,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ChannelStateResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/query',\n pathParams,\n undefined,\n body,\n );\n\n decoders.ChannelStateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n markRead = async (\n request: MarkReadRequest & { type: string; id: string },\n ): Promise<StreamResponse<MarkReadResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message_id: request?.message_id,\n thread_id: request?.thread_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<MarkReadResponse>>(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/read',\n pathParams,\n undefined,\n body,\n );\n\n decoders.MarkReadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n showChannel = async (\n request: ShowChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<ShowChannelResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ShowChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/show',\n pathParams,\n undefined,\n body,\n );\n\n decoders.ShowChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n truncateChannel = async (\n request: TruncateChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<TruncateChannelResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hard_delete: request?.hard_delete,\n skip_push: request?.skip_push,\n truncated_at: request?.truncated_at,\n user_id: request?.user_id,\n message: request?.message,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<TruncateChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/truncate',\n pathParams,\n undefined,\n body,\n );\n\n decoders.TruncateChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n markUnread = async (\n request: MarkUnreadRequest & { type: string; id: string },\n ): Promise<StreamResponse<Response>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message_id: request?.message_id,\n thread_id: request?.thread_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/unread',\n pathParams,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listChannelTypes = async (): Promise<\n StreamResponse<ListChannelTypesResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<ListChannelTypesResponse>\n >('GET', '/api/v2/chat/channeltypes', undefined, undefined);\n\n decoders.ListChannelTypesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createChannelType = async (\n request: CreateChannelTypeRequest,\n ): Promise<StreamResponse<CreateChannelTypeResponse>> => {\n const body = {\n automod: request?.automod,\n automod_behavior: request?.automod_behavior,\n max_message_length: request?.max_message_length,\n name: request?.name,\n blocklist: request?.blocklist,\n blocklist_behavior: request?.blocklist_behavior,\n connect_events: request?.connect_events,\n custom_events: request?.custom_events,\n mark_messages_pending: request?.mark_messages_pending,\n message_retention: request?.message_retention,\n mutes: request?.mutes,\n partition_size: request?.partition_size,\n partition_ttl: request?.partition_ttl,\n polls: request?.polls,\n push_notifications: request?.push_notifications,\n reactions: request?.reactions,\n read_events: request?.read_events,\n replies: request?.replies,\n search: request?.search,\n skip_last_msg_update_for_system_msgs:\n request?.skip_last_msg_update_for_system_msgs,\n typing_events: request?.typing_events,\n uploads: request?.uploads,\n url_enrichment: request?.url_enrichment,\n blocklists: request?.blocklists,\n commands: request?.commands,\n permissions: request?.permissions,\n grants: request?.grants,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateChannelTypeResponse>\n >('POST', '/api/v2/chat/channeltypes', undefined, undefined, body);\n\n decoders.CreateChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteChannelType = async (request: {\n name: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channeltypes/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getChannelType = async (request: {\n name: string;\n }): Promise<StreamResponse<GetChannelTypeResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetChannelTypeResponse>\n >('GET', '/api/v2/chat/channeltypes/{name}', pathParams, undefined);\n\n decoders.GetChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateChannelType = async (\n request: UpdateChannelTypeRequest & { name: string },\n ): Promise<StreamResponse<UpdateChannelTypeResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n automod: request?.automod,\n automod_behavior: request?.automod_behavior,\n max_message_length: request?.max_message_length,\n blocklist: request?.blocklist,\n blocklist_behavior: request?.blocklist_behavior,\n connect_events: request?.connect_events,\n custom_events: request?.custom_events,\n mark_messages_pending: request?.mark_messages_pending,\n mutes: request?.mutes,\n partition_size: request?.partition_size,\n partition_ttl: request?.partition_ttl,\n polls: request?.polls,\n push_notifications: request?.push_notifications,\n quotes: request?.quotes,\n reactions: request?.reactions,\n read_events: request?.read_events,\n reminders: request?.reminders,\n replies: request?.replies,\n search: request?.search,\n skip_last_msg_update_for_system_msgs:\n request?.skip_last_msg_update_for_system_msgs,\n typing_events: request?.typing_events,\n uploads: request?.uploads,\n url_enrichment: request?.url_enrichment,\n allowed_flag_reasons: request?.allowed_flag_reasons,\n blocklists: request?.blocklists,\n commands: request?.commands,\n permissions: request?.permissions,\n automod_thresholds: request?.automod_thresholds,\n grants: request?.grants,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateChannelTypeResponse>\n >('PUT', '/api/v2/chat/channeltypes/{name}', pathParams, undefined, body);\n\n decoders.UpdateChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listCommands = async (): Promise<StreamResponse<ListCommandsResponse>> => {\n const response = await this.sendRequest<\n StreamResponse<ListCommandsResponse>\n >('GET', '/api/v2/chat/commands', undefined, undefined);\n\n decoders.ListCommandsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createCommand = async (\n request: CreateCommandRequest,\n ): Promise<StreamResponse<CreateCommandResponse>> => {\n const body = {\n description: request?.description,\n name: request?.name,\n args: request?.args,\n set: request?.set,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateCommandResponse>\n >('POST', '/api/v2/chat/commands', undefined, undefined, body);\n\n decoders.CreateCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteCommand = async (request: {\n name: string;\n }): Promise<StreamResponse<DeleteCommandResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteCommandResponse>\n >('DELETE', '/api/v2/chat/commands/{name}', pathParams, undefined);\n\n decoders.DeleteCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getCommand = async (request: {\n name: string;\n }): Promise<StreamResponse<GetCommandResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<GetCommandResponse>>(\n 'GET',\n '/api/v2/chat/commands/{name}',\n pathParams,\n undefined,\n );\n\n decoders.GetCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateCommand = async (\n request: UpdateCommandRequest & { name: string },\n ): Promise<StreamResponse<UpdateCommandResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n description: request?.description,\n args: request?.args,\n set: request?.set,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateCommandResponse>\n >('PUT', '/api/v2/chat/commands/{name}', pathParams, undefined, body);\n\n decoders.UpdateCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryDrafts = async (\n request?: QueryDraftsRequest,\n ): Promise<StreamResponse<QueryDraftsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryDraftsResponse>\n >('POST', '/api/v2/chat/drafts/query', undefined, undefined, body);\n\n decoders.QueryDraftsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n exportChannels = async (\n request: ExportChannelsRequest,\n ): Promise<StreamResponse<ExportChannelsResponse>> => {\n const body = {\n channels: request?.channels,\n clear_deleted_message_text: request?.clear_deleted_message_text,\n export_users: request?.export_users,\n include_soft_deleted_channels: request?.include_soft_deleted_channels,\n include_truncated_messages: request?.include_truncated_messages,\n version: request?.version,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ExportChannelsResponse>\n >('POST', '/api/v2/chat/export_channels', undefined, undefined, body);\n\n decoders.ExportChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryMembers = async (request?: {\n payload?: QueryMembersPayload;\n }): Promise<StreamResponse<MembersResponse>> => {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.sendRequest<StreamResponse<MembersResponse>>(\n 'GET',\n '/api/v2/chat/members',\n undefined,\n queryParams,\n );\n\n decoders.MembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryMessageHistory = async (\n request: QueryMessageHistoryRequest,\n ): Promise<StreamResponse<QueryMessageHistoryResponse>> => {\n const body = {\n filter: request?.filter,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryMessageHistoryResponse>\n >('POST', '/api/v2/chat/messages/history', undefined, undefined, body);\n\n decoders.QueryMessageHistoryResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteMessage = async (request: {\n id: string;\n hard?: boolean;\n deleted_by?: string;\n }): Promise<StreamResponse<DeleteMessageResponse>> => {\n const queryParams = {\n hard: request?.hard,\n deleted_by: request?.deleted_by,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteMessageResponse>\n >('DELETE', '/api/v2/chat/messages/{id}', pathParams, queryParams);\n\n decoders.DeleteMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getMessage = async (request: {\n id: string;\n show_deleted_message?: boolean;\n }): Promise<StreamResponse<GetMessageResponse>> => {\n const queryParams = {\n show_deleted_message: request?.show_deleted_message,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetMessageResponse>>(\n 'GET',\n '/api/v2/chat/messages/{id}',\n pathParams,\n queryParams,\n );\n\n decoders.GetMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateMessage = async (\n request: UpdateMessageRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessageResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n message: request?.message,\n skip_enrich_url: request?.skip_enrich_url,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateMessageResponse>\n >('POST', '/api/v2/chat/messages/{id}', pathParams, undefined, body);\n\n decoders.UpdateMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateMessagePartial = async (\n request: UpdateMessagePartialRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessagePartialResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n skip_enrich_url: request?.skip_enrich_url,\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateMessagePartialResponse>\n >('PUT', '/api/v2/chat/messages/{id}', pathParams, undefined, body);\n\n decoders.UpdateMessagePartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n runMessageAction = async (\n request: MessageActionRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n form_data: request?.form_data,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<MessageResponse>>(\n 'POST',\n '/api/v2/chat/messages/{id}/action',\n pathParams,\n undefined,\n body,\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n commitMessage = async (\n request: CommitMessageRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {};\n\n const response = await this.sendRequest<StreamResponse<MessageResponse>>(\n 'POST',\n '/api/v2/chat/messages/{id}/commit',\n pathParams,\n undefined,\n body,\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n sendReaction = async (\n request: SendReactionRequest & { id: string },\n ): Promise<StreamResponse<SendReactionResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n reaction: request?.reaction,\n enforce_unique: request?.enforce_unique,\n skip_push: request?.skip_push,\n };\n\n const response = await this.sendRequest<\n StreamResponse<SendReactionResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/reaction',\n pathParams,\n undefined,\n body,\n );\n\n decoders.SendReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteReaction = async (request: {\n id: string;\n type: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteReactionResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n id: request?.id,\n type: request?.type,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteReactionResponse>\n >(\n 'DELETE',\n '/api/v2/chat/messages/{id}/reaction/{type}',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getReactions = async (request: {\n id: string;\n limit?: number;\n offset?: number;\n }): Promise<StreamResponse<GetReactionsResponse>> => {\n const queryParams = {\n limit: request?.limit,\n offset: request?.offset,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetReactionsResponse>\n >('GET', '/api/v2/chat/messages/{id}/reactions', pathParams, queryParams);\n\n decoders.GetReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryReactions = async (\n request: QueryReactionsRequest & { id: string },\n ): Promise<StreamResponse<QueryReactionsResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryReactionsResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/reactions',\n pathParams,\n undefined,\n body,\n );\n\n decoders.QueryReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n translateMessage = async (\n request: TranslateMessageRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n language: request?.language,\n };\n\n const response = await this.sendRequest<StreamResponse<MessageResponse>>(\n 'POST',\n '/api/v2/chat/messages/{id}/translate',\n pathParams,\n undefined,\n body,\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n undeleteMessage = async (\n request: UpdateMessageRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessageResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n message: request?.message,\n skip_enrich_url: request?.skip_enrich_url,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateMessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/undelete',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n castPollVote = async (\n request: CastPollVoteRequest & { message_id: string; poll_id: string },\n ): Promise<StreamResponse<PollVoteResponse>> => {\n const pathParams = {\n message_id: request?.message_id,\n poll_id: request?.poll_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n vote: request?.vote,\n };\n\n const response = await this.sendRequest<StreamResponse<PollVoteResponse>>(\n 'POST',\n '/api/v2/chat/messages/{message_id}/polls/{poll_id}/vote',\n pathParams,\n undefined,\n body,\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n removePollVote = async (request: {\n message_id: string;\n poll_id: string;\n vote_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollVoteResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n message_id: request?.message_id,\n poll_id: request?.poll_id,\n vote_id: request?.vote_id,\n };\n\n const response = await this.sendRequest<StreamResponse<PollVoteResponse>>(\n 'DELETE',\n '/api/v2/chat/messages/{message_id}/polls/{poll_id}/vote/{vote_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getReplies = async (request: {\n parent_id: string;\n limit?: number;\n offset?: number;\n id_gte?: string;\n id_gt?: string;\n id_lte?: string;\n id_lt?: string;\n created_at_after_or_equal?: Date;\n created_at_after?: Date;\n created_at_before_or_equal?: Date;\n created_at_before?: Date;\n id_around?: string;\n created_at_around?: Date;\n sort?: SortParamRequest[];\n }): Promise<StreamResponse<GetRepliesResponse>> => {\n const queryParams = {\n limit: request?.limit,\n offset: request?.offset,\n id_gte: request?.id_gte,\n id_gt: request?.id_gt,\n id_lte: request?.id_lte,\n id_lt: request?.id_lt,\n created_at_after_or_equal: request?.created_at_after_or_equal,\n created_at_after: request?.created_at_after,\n created_at_before_or_equal: request?.created_at_before_or_equal,\n created_at_before: request?.created_at_before,\n id_around: request?.id_around,\n created_at_around: request?.created_at_around,\n sort: request?.sort,\n };\n const pathParams = {\n parent_id: request?.parent_id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetRepliesResponse>>(\n 'GET',\n '/api/v2/chat/messages/{parent_id}/replies',\n pathParams,\n queryParams,\n );\n\n decoders.GetRepliesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryMessageFlags = async (request?: {\n payload?: QueryMessageFlagsPayload;\n }): Promise<StreamResponse<QueryMessageFlagsResponse>> => {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryMessageFlagsResponse>\n >('GET', '/api/v2/chat/moderation/flags/message', undefined, queryParams);\n\n decoders.QueryMessageFlagsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n muteChannel = async (\n request?: MuteChannelRequest,\n ): Promise<StreamResponse<MuteChannelResponse>> => {\n const body = {\n expiration: request?.expiration,\n user_id: request?.user_id,\n channel_cids: request?.channel_cids,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<MuteChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/moderation/mute/channel',\n undefined,\n undefined,\n body,\n );\n\n decoders.MuteChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unmuteChannel = async (\n request?: UnmuteChannelRequest,\n ): Promise<StreamResponse<UnmuteResponse>> => {\n const body = {\n expiration: request?.expiration,\n user_id: request?.user_id,\n channel_cids: request?.channel_cids,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<UnmuteResponse>>(\n 'POST',\n '/api/v2/chat/moderation/unmute/channel',\n undefined,\n undefined,\n body,\n );\n\n decoders.UnmuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createPoll = async (\n request: CreatePollRequest,\n ): Promise<StreamResponse<PollResponse>> => {\n const body = {\n name: request?.name,\n allow_answers: request?.allow_answers,\n allow_user_suggested_options: request?.allow_user_suggested_options,\n description: request?.description,\n enforce_unique_vote: request?.enforce_unique_vote,\n id: request?.id,\n is_closed: request?.is_closed,\n max_votes_allowed: request?.max_votes_allowed,\n user_id: request?.user_id,\n voting_visibility: request?.voting_visibility,\n options: request?.options,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<PollResponse>>(\n 'POST',\n '/api/v2/chat/polls',\n undefined,\n undefined,\n body,\n );\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updatePoll = async (\n request: UpdatePollRequest,\n ): Promise<StreamResponse<PollResponse>> => {\n const body = {\n id: request?.id,\n name: request?.name,\n allow_answers: request?.allow_answers,\n allow_user_suggested_options: request?.allow_user_suggested_options,\n description: request?.description,\n enforce_unique_vote: request?.enforce_unique_vote,\n is_closed: request?.is_closed,\n max_votes_allowed: request?.max_votes_allowed,\n user_id: request?.user_id,\n voting_visibility: request?.voting_visibility,\n options: request?.options,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<PollResponse>>(\n 'PUT',\n '/api/v2/chat/polls',\n undefined,\n undefined,\n body,\n );\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryPolls = async (\n request?: QueryPollsRequest & { user_id?: string },\n ): Promise<StreamResponse<QueryPollsResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.sendRequest<StreamResponse<QueryPollsResponse>>(\n 'POST',\n '/api/v2/chat/polls/query',\n undefined,\n queryParams,\n body,\n );\n\n decoders.QueryPollsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deletePoll = async (request: {\n poll_id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/polls/{poll_id}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getPoll = async (request: {\n poll_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n\n const response = await this.sendRequest<StreamResponse<PollResponse>>(\n 'GET',\n '/api/v2/chat/polls/{poll_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updatePollPartial = async (\n request: UpdatePollPartialRequest & { poll_id: string },\n ): Promise<StreamResponse<PollResponse>> => {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<PollResponse>>(\n 'PATCH',\n '/api/v2/chat/polls/{poll_id}',\n pathParams,\n undefined,\n body,\n );\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createPollOption = async (\n request: CreatePollOptionRequest & { poll_id: string },\n ): Promise<StreamResponse<PollOptionResponse>> => {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n text: request?.text,\n position: request?.position,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<PollOptionResponse>>(\n 'POST',\n '/api/v2/chat/polls/{poll_id}/options',\n pathParams,\n undefined,\n body,\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updatePollOption = async (\n request: UpdatePollOptionRequest & { poll_id: string },\n ): Promise<StreamResponse<PollOptionResponse>> => {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n id: request?.id,\n text: request?.text,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<PollOptionResponse>>(\n 'PUT',\n '/api/v2/chat/polls/{poll_id}/options',\n pathParams,\n undefined,\n body,\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deletePollOption = async (request: {\n poll_id: string;\n option_id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n option_id: request?.option_id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/polls/{poll_id}/options/{option_id}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getPollOption = async (request: {\n poll_id: string;\n option_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollOptionResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n option_id: request?.option_id,\n };\n\n const response = await this.sendRequest<StreamResponse<PollOptionResponse>>(\n 'GET',\n '/api/v2/chat/polls/{poll_id}/options/{option_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryPollVotes = async (\n request: QueryPollVotesRequest & { poll_id: string; user_id?: string },\n ): Promise<StreamResponse<PollVotesResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.sendRequest<StreamResponse<PollVotesResponse>>(\n 'POST',\n '/api/v2/chat/polls/{poll_id}/votes',\n pathParams,\n queryParams,\n body,\n );\n\n decoders.PollVotesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updatePushNotificationPreferences = async (\n request: UpsertPushPreferencesRequest,\n ): Promise<StreamResponse<UpsertPushPreferencesResponse>> => {\n const body = {\n preferences: request?.preferences,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpsertPushPreferencesResponse>\n >('POST', '/api/v2/chat/push_preferences', undefined, undefined, body);\n\n decoders.UpsertPushPreferencesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryBannedUsers = async (request?: {\n payload?: QueryBannedUsersPayload;\n }): Promise<StreamResponse<QueryBannedUsersResponse>> => {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryBannedUsersResponse>\n >('GET', '/api/v2/chat/query_banned_users', undefined, queryParams);\n\n decoders.QueryBannedUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n search = async (request?: {\n payload?: SearchPayload;\n }): Promise<StreamResponse<SearchResponse>> => {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.sendRequest<StreamResponse<SearchResponse>>(\n 'GET',\n '/api/v2/chat/search',\n undefined,\n queryParams,\n );\n\n decoders.SearchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n querySegments = async (\n request: QuerySegmentsRequest,\n ): Promise<StreamResponse<QuerySegmentsResponse>> => {\n const body = {\n filter: request?.filter,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QuerySegmentsResponse>\n >('POST', '/api/v2/chat/segments/query', undefined, undefined, body);\n\n decoders.QuerySegmentsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteSegment = async (request: {\n id: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/segments/{id}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getSegment = async (request: {\n id: string;\n }): Promise<StreamResponse<GetSegmentResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetSegmentResponse>>(\n 'GET',\n '/api/v2/chat/segments/{id}',\n pathParams,\n undefined,\n );\n\n decoders.GetSegmentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteSegmentTargets = async (\n request: DeleteSegmentTargetsRequest & { id: string },\n ): Promise<StreamResponse<Response>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n target_ids: request?.target_ids,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/segments/{id}/deletetargets',\n pathParams,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n segmentTargetExists = async (request: {\n id: string;\n target_id: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n id: request?.id,\n target_id: request?.target_id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'GET',\n '/api/v2/chat/segments/{id}/target/{target_id}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n querySegmentTargets = async (\n request: QuerySegmentTargetsRequest & { id: string },\n ): Promise<StreamResponse<QuerySegmentTargetsResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QuerySegmentTargetsResponse>\n >(\n 'POST',\n '/api/v2/chat/segments/{id}/targets/query',\n pathParams,\n undefined,\n body,\n );\n\n decoders.QuerySegmentTargetsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryThreads = async (\n request?: QueryThreadsRequest,\n ): Promise<StreamResponse<QueryThreadsResponse>> => {\n const body = {\n limit: request?.limit,\n member_limit: request?.member_limit,\n next: request?.next,\n participant_limit: request?.participant_limit,\n prev: request?.prev,\n reply_limit: request?.reply_limit,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryThreadsResponse>\n >('POST', '/api/v2/chat/threads', undefined, undefined, body);\n\n decoders.QueryThreadsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getThread = async (request: {\n message_id: string;\n reply_limit?: number;\n participant_limit?: number;\n member_limit?: number;\n }): Promise<StreamResponse<GetThreadResponse>> => {\n const queryParams = {\n reply_limit: request?.reply_limit,\n participant_limit: request?.participant_limit,\n member_limit: request?.member_limit,\n };\n const pathParams = {\n message_id: request?.message_id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetThreadResponse>>(\n 'GET',\n '/api/v2/chat/threads/{message_id}',\n pathParams,\n queryParams,\n );\n\n decoders.GetThreadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateThreadPartial = async (\n request: UpdateThreadPartialRequest & { message_id: string },\n ): Promise<StreamResponse<UpdateThreadPartialResponse>> => {\n const pathParams = {\n message_id: request?.message_id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateThreadPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/threads/{message_id}',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateThreadPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unreadCounts = async (): Promise<\n StreamResponse<WrappedUnreadCountsResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<WrappedUnreadCountsResponse>\n >('GET', '/api/v2/chat/unread', undefined, undefined);\n\n decoders.WrappedUnreadCountsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unreadCountsBatch = async (\n request: UnreadCountsBatchRequest,\n ): Promise<StreamResponse<UnreadCountsBatchResponse>> => {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UnreadCountsBatchResponse>\n >('POST', '/api/v2/chat/unread_batch', undefined, undefined, body);\n\n decoders.UnreadCountsBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n sendUserCustomEvent = async (\n request: SendUserCustomEventRequest & { user_id: string },\n ): Promise<StreamResponse<Response>> => {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n event: request?.event,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/users/{user_id}/event',\n pathParams,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n}\n","import { ChatApi } from './ChatApi';\nimport { StreamResponse } from '../../types';\nimport {\n ChannelGetOrCreateRequest,\n ChannelStateResponse,\n DeleteChannelResponse,\n EventResponse,\n FileUploadRequest,\n FileUploadResponse,\n GetDraftResponse,\n GetManyMessagesResponse,\n HideChannelRequest,\n HideChannelResponse,\n ImageUploadRequest,\n ImageUploadResponse,\n MarkReadRequest,\n MarkReadResponse,\n MarkUnreadRequest,\n Response,\n SendEventRequest,\n SendMessageRequest,\n SendMessageResponse,\n ShowChannelRequest,\n ShowChannelResponse,\n TruncateChannelRequest,\n TruncateChannelResponse,\n UpdateChannelPartialRequest,\n UpdateChannelPartialResponse,\n UpdateChannelRequest,\n UpdateChannelResponse,\n UpdateMemberPartialRequest,\n UpdateMemberPartialResponse,\n} from '../models';\n\nexport class ChannelApi {\n constructor(\n protected chatApi: ChatApi,\n public readonly type: string,\n public id?: string,\n ) {}\n\n delete = (request?: {\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteChannelResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.deleteChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n updateChannelPartial = (\n request?: UpdateChannelPartialRequest,\n ): Promise<StreamResponse<UpdateChannelPartialResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.updateChannelPartial({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n update = (\n request?: UpdateChannelRequest,\n ): Promise<StreamResponse<UpdateChannelResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.updateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n deleteDraft = (request?: {\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.deleteDraft({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n getDraft = (request?: {\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<GetDraftResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.getDraft({ id: this.id, type: this.type, ...request });\n };\n\n sendEvent = (\n request: SendEventRequest,\n ): Promise<StreamResponse<EventResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.sendEvent({ id: this.id, type: this.type, ...request });\n };\n\n deleteFile = (request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.deleteFile({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n uploadFile = (\n request?: FileUploadRequest,\n ): Promise<StreamResponse<FileUploadResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.uploadFile({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n hide = (\n request?: HideChannelRequest,\n ): Promise<StreamResponse<HideChannelResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.hideChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n deleteImage = (request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.deleteImage({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n uploadImage = (\n request?: ImageUploadRequest,\n ): Promise<StreamResponse<ImageUploadResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.uploadImage({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n updateMemberPartial = (\n request: UpdateMemberPartialRequest & { user_id: string },\n ): Promise<StreamResponse<UpdateMemberPartialResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.updateMemberPartial({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n sendMessage = (\n request: SendMessageRequest,\n ): Promise<StreamResponse<SendMessageResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.sendMessage({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n getManyMessages = (request: {\n ids: string[];\n }): Promise<StreamResponse<GetManyMessagesResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.getManyMessages({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n getOrCreate = (\n request?: ChannelGetOrCreateRequest,\n ): Promise<StreamResponse<ChannelStateResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.getOrCreateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n markRead = (\n request?: MarkReadRequest,\n ): Promise<StreamResponse<MarkReadResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.markRead({ id: this.id, type: this.type, ...request });\n };\n\n show = (\n request?: ShowChannelRequest,\n ): Promise<StreamResponse<ShowChannelResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.showChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n truncate = (\n request?: TruncateChannelRequest,\n ): Promise<StreamResponse<TruncateChannelResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.truncateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n markUnread = (\n request?: MarkUnreadRequest,\n ): Promise<StreamResponse<Response>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.markUnread({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n}\n","import { ChannelApi } from './gen/chat/ChannelApi';\nimport { ChannelGetOrCreateRequest, QueryMembersPayload } from './gen/models';\nimport { OmitTypeId } from './types';\n\nexport class StreamChannel extends ChannelApi {\n get cid() {\n return `${this.type}:${this.id}`;\n }\n\n getOrCreate = (channel_get_or_create_request?: ChannelGetOrCreateRequest) => {\n if (!this.id) {\n return this.chatApi\n .getOrCreateDistinctChannel({\n type: this.type,\n ...channel_get_or_create_request,\n })\n .then((response) => {\n this.id = response.channel?.id;\n return response;\n });\n } else {\n return this.chatApi.getOrCreateChannel({\n id: this.id,\n type: this.type,\n ...channel_get_or_create_request,\n });\n }\n };\n\n queryMembers(request?: { payload?: OmitTypeId<QueryMembersPayload> }) {\n return this.chatApi.queryMembers({\n payload: {\n id: this.id,\n type: this.type,\n ...(request?.payload ?? { filter_conditions: {} }),\n },\n });\n }\n}\n","import { ChatApi } from './gen/chat/ChatApi';\nimport { StreamChannel } from './StreamChannel';\n\nexport class StreamChatClient extends ChatApi {\n channel = (type: string, id?: string) => {\n return new StreamChannel(this, type, id);\n };\n}\n","import { BaseApi } from '../../BaseApi';\nimport { StreamResponse } from '../../types';\nimport {\n BanRequest,\n BanResponse,\n CheckRequest,\n CheckResponse,\n CustomCheckRequest,\n CustomCheckResponse,\n DeleteModerationConfigResponse,\n DeleteModerationTemplateResponse,\n FlagRequest,\n FlagResponse,\n GetConfigResponse,\n GetReviewQueueItemResponse,\n MuteRequest,\n MuteResponse,\n QueryFeedModerationTemplatesResponse,\n QueryModerationConfigsRequest,\n QueryModerationConfigsResponse,\n QueryModerationLogsRequest,\n QueryModerationLogsResponse,\n QueryReviewQueueRequest,\n QueryReviewQueueResponse,\n SubmitActionRequest,\n SubmitActionResponse,\n UnbanRequest,\n UnbanResponse,\n UnmuteRequest,\n UnmuteResponse,\n UpsertConfigRequest,\n UpsertConfigResponse,\n UpsertModerationTemplateRequest,\n UpsertModerationTemplateResponse,\n} from '../models';\nimport { decoders } from '../model-decoders';\n\nexport class ModerationApi extends BaseApi {\n ban = async (request: BanRequest): Promise<StreamResponse<BanResponse>> => {\n const body = {\n target_user_id: request?.target_user_id,\n banned_by_id: request?.banned_by_id,\n channel_cid: request?.channel_cid,\n ip_ban: request?.ip_ban,\n reason: request?.reason,\n shadow: request?.shadow,\n timeout: request?.timeout,\n banned_by: request?.banned_by,\n };\n\n const response = await this.sendRequest<StreamResponse<BanResponse>>(\n 'POST',\n '/api/v2/moderation/ban',\n undefined,\n undefined,\n body,\n );\n\n decoders.BanResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n check = async (\n request: CheckRequest,\n ): Promise<StreamResponse<CheckResponse>> => {\n const body = {\n config_key: request?.config_key,\n entity_creator_id: request?.entity_creator_id,\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n config_team: request?.config_team,\n test_mode: request?.test_mode,\n user_id: request?.user_id,\n moderation_payload: request?.moderation_payload,\n options: request?.options,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<CheckResponse>>(\n 'POST',\n '/api/v2/moderation/check',\n undefined,\n undefined,\n body,\n );\n\n decoders.CheckResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n upsertConfig = async (\n request: UpsertConfigRequest,\n ): Promise<StreamResponse<UpsertConfigResponse>> => {\n const body = {\n key: request?.key,\n async: request?.async,\n team: request?.team,\n user_id: request?.user_id,\n ai_image_config: request?.ai_image_config,\n ai_text_config: request?.ai_text_config,\n ai_video_config: request?.ai_video_config,\n automod_platform_circumvention_config:\n request?.automod_platform_circumvention_config,\n automod_semantic_filters_config: request?.automod_semantic_filters_config,\n automod_toxicity_config: request?.automod_toxicity_config,\n aws_rekognition_config: request?.aws_rekognition_config,\n block_list_config: request?.block_list_config,\n bodyguard_config: request?.bodyguard_config,\n google_vision_config: request?.google_vision_config,\n user: request?.user,\n velocity_filter_config: request?.velocity_filter_config,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpsertConfigResponse>\n >('POST', '/api/v2/moderation/config', undefined, undefined, body);\n\n decoders.UpsertConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteConfig = async (request: {\n key: string;\n team?: string;\n }): Promise<StreamResponse<DeleteModerationConfigResponse>> => {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n key: request?.key,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteModerationConfigResponse>\n >('DELETE', '/api/v2/moderation/config/{key}', pathParams, queryParams);\n\n decoders.DeleteModerationConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getConfig = async (request: {\n key: string;\n team?: string;\n }): Promise<StreamResponse<GetConfigResponse>> => {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n key: request?.key,\n };\n\n const response = await this.sendRequest<StreamResponse<GetConfigResponse>>(\n 'GET',\n '/api/v2/moderation/config/{key}',\n pathParams,\n queryParams,\n );\n\n decoders.GetConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryModerationConfigs = async (\n request?: QueryModerationConfigsRequest,\n ): Promise<StreamResponse<QueryModerationConfigsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryModerationConfigsResponse>\n >('POST', '/api/v2/moderation/configs', undefined, undefined, body);\n\n decoders.QueryModerationConfigsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n customCheck = async (\n request: CustomCheckRequest,\n ): Promise<StreamResponse<CustomCheckResponse>> => {\n const body = {\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n flags: request?.flags,\n entity_creator_id: request?.entity_creator_id,\n user_id: request?.user_id,\n moderation_payload: request?.moderation_payload,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CustomCheckResponse>\n >('POST', '/api/v2/moderation/custom_check', undefined, undefined, body);\n\n decoders.CustomCheckResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n v2DeleteTemplate = async (): Promise<\n StreamResponse<DeleteModerationTemplateResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<DeleteModerationTemplateResponse>\n >(\n 'DELETE',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n );\n\n decoders.DeleteModerationTemplateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n v2QueryTemplates = async (): Promise<\n StreamResponse<QueryFeedModerationTemplatesResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<QueryFeedModerationTemplatesResponse>\n >(\n 'GET',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n );\n\n decoders.QueryFeedModerationTemplatesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n v2UpsertTemplate = async (\n request: UpsertModerationTemplateRequest,\n ): Promise<StreamResponse<UpsertModerationTemplateResponse>> => {\n const body = {\n name: request?.name,\n config: request?.config,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpsertModerationTemplateResponse>\n >(\n 'POST',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n body,\n );\n\n decoders.UpsertModerationTemplateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n flag = async (\n request: FlagRequest,\n ): Promise<StreamResponse<FlagResponse>> => {\n const body = {\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n entity_creator_id: request?.entity_creator_id,\n reason: request?.reason,\n user_id: request?.user_id,\n custom: request?.custom,\n moderation_payload: request?.moderation_payload,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<FlagResponse>>(\n 'POST',\n '/api/v2/moderation/flag',\n undefined,\n undefined,\n body,\n );\n\n decoders.FlagResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryModerationLogs = async (\n request?: QueryModerationLogsRequest,\n ): Promise<StreamResponse<QueryModerationLogsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryModerationLogsResponse>\n >('POST', '/api/v2/moderation/logs', undefined, undefined, body);\n\n decoders.QueryModerationLogsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n mute = async (\n request: MuteRequest,\n ): Promise<StreamResponse<MuteResponse>> => {\n const body = {\n target_ids: request?.target_ids,\n timeout: request?.timeout,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<MuteResponse>>(\n 'POST',\n '/api/v2/moderation/mute',\n undefined,\n undefined,\n body,\n );\n\n decoders.MuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryReviewQueue = async (\n request?: QueryReviewQueueRequest,\n ): Promise<StreamResponse<QueryReviewQueueResponse>> => {\n const body = {\n limit: request?.limit,\n lock_count: request?.lock_count,\n lock_duration: request?.lock_duration,\n lock_items: request?.lock_items,\n next: request?.next,\n prev: request?.prev,\n stats_only: request?.stats_only,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryReviewQueueResponse>\n >('POST', '/api/v2/moderation/review_queue', undefined, undefined, body);\n\n decoders.QueryReviewQueueResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getReviewQueueItem = async (request: {\n id: string;\n }): Promise<StreamResponse<GetReviewQueueItemResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetReviewQueueItemResponse>\n >('GET', '/api/v2/moderation/review_queue/{id}', pathParams, undefined);\n\n decoders.GetReviewQueueItemResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n submitAction = async (\n request: SubmitActionRequest,\n ): Promise<StreamResponse<SubmitActionResponse>> => {\n const body = {\n action_type: request?.action_type,\n item_id: request?.item_id,\n user_id: request?.user_id,\n ban: request?.ban,\n custom: request?.custom,\n delete_activity: request?.delete_activity,\n delete_message: request?.delete_message,\n delete_reaction: request?.delete_reaction,\n delete_user: request?.delete_user,\n mark_reviewed: request?.mark_reviewed,\n unban: request?.unban,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<SubmitActionResponse>\n >('POST', '/api/v2/moderation/submit_action', undefined, undefined, body);\n\n decoders.SubmitActionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unban = async (\n request: UnbanRequest & {\n target_user_id: string;\n channel_cid?: string;\n created_by?: string;\n },\n ): Promise<StreamResponse<UnbanResponse>> => {\n const queryParams = {\n target_user_id: request?.target_user_id,\n channel_cid: request?.channel_cid,\n created_by: request?.created_by,\n };\n const body = {\n unbanned_by_id: request?.unbanned_by_id,\n unbanned_by: request?.unbanned_by,\n };\n\n const response = await this.sendRequest<StreamResponse<UnbanResponse>>(\n 'POST',\n '/api/v2/moderation/unban',\n undefined,\n queryParams,\n body,\n );\n\n decoders.UnbanResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unmute = async (\n request: UnmuteRequest,\n ): Promise<StreamResponse<UnmuteResponse>> => {\n const body = {\n target_ids: request?.target_ids,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<UnmuteResponse>>(\n 'POST',\n '/api/v2/moderation/unmute',\n undefined,\n undefined,\n body,\n );\n\n decoders.UnmuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n}\n","import { ModerationApi } from './gen/moderation/ModerationApi';\n\nexport class StreamModerationClient extends ModerationApi {}\n","import { JWTServerToken, JWTUserToken } from './utils/create-token';\nimport { CommonApi } from './gen/common/CommonApi';\nimport { StreamVideoClient } from './StreamVideoClient';\nimport crypto from 'crypto';\nimport { StreamChatClient } from './StreamChatClient';\nimport { CallTokenPayload, UserTokenPayload } from './types';\nimport { QueryBannedUsersPayload, UserRequest } from './gen/models';\nimport { StreamModerationClient } from './StreamModerationClient';\n\nexport interface StreamClientOptions {\n timeout?: number;\n basePath?: string;\n // We use unknown here because RequestInit['dispatcher'] is different between Node versions\n /** The [HTTP Agent](https://undici.nodejs.org/#/docs/api/Agent.md) to use. */\n agent?: unknown;\n}\n\nexport class StreamClient extends CommonApi {\n public readonly video: StreamVideoClient;\n public readonly chat: StreamChatClient;\n public readonly moderation: StreamModerationClient;\n public readonly options: StreamClientOptions = {};\n\n private static readonly DEFAULT_TIMEOUT = 3000;\n\n /**\n *\n * @param apiKey\n * @param secret\n * @param config config object\n */\n constructor(\n readonly apiKey: string,\n private readonly secret: string,\n readonly config?: StreamClientOptions,\n ) {\n const token = JWTServerToken(secret);\n const timeout = config?.timeout ?? StreamClient.DEFAULT_TIMEOUT;\n const chatBaseUrl = config?.basePath ?? 'https://chat.stream-io-api.com';\n const videoBaseUrl = config?.basePath ?? 'https://video.stream-io-api.com';\n super({\n apiKey,\n token,\n timeout,\n baseUrl: chatBaseUrl,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n\n this.video = new StreamVideoClient({\n streamClient: this,\n apiKey,\n token,\n timeout,\n baseUrl: videoBaseUrl,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n this.chat = new StreamChatClient({\n apiKey,\n token,\n timeout,\n baseUrl: chatBaseUrl,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n this.moderation = new StreamModerationClient({\n apiKey,\n token,\n timeout,\n baseUrl: chatBaseUrl,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n }\n\n upsertUsers = (users: UserRequest[]) => {\n const payload: Record<string, UserRequest> = {};\n\n users.forEach((u) => {\n payload[u.id] = u;\n });\n\n return this.updateUsers({ users: payload });\n };\n\n queryBannedUsers = (request?: { payload?: QueryBannedUsersPayload }) => {\n return this.chat.queryBannedUsers(request);\n };\n\n /**\n *\n * @param payload\n * - user_id - the id of the user the token is for\n * - validity_in_seconds - how many seconds is the token valid for (starting from issued at), by default it's 1 hour, dicarded if exp is provided\n * - exp - when the token expires, unix timestamp in seconds\n * - iat - issued at date of the token, unix timestamp in seconds, by default it's now\n */\n generateUserToken = (\n payload: {\n user_id: string;\n validity_in_seconds?: number;\n exp?: number;\n iat?: number;\n } & Record<string, unknown>,\n ) => {\n const defaultIat = Math.floor((Date.now() - 1000) / 1000);\n payload.iat = payload.iat ?? defaultIat;\n const validityInSeconds = payload.validity_in_seconds ?? 60 * 60;\n payload.exp = payload.exp ?? payload.iat + validityInSeconds;\n\n return JWTUserToken(this.secret, payload as UserTokenPayload);\n };\n\n /**\n *\n * @param payload\n * - user_id - the id of the user the token is for\n * - validity_in_seconds - how many seconds is the token valid for (starting from issued at), by default it's 1 hour, dicarded if exp is provided\n * - exp - when the token expires, unix timestamp in seconds\n * - iat - issued at date of the token, unix timestamp in seconds, by default it's now\n */\n generateCallToken = (\n payload: {\n user_id: string;\n role?: string;\n call_cids: string[];\n validity_in_seconds?: number;\n exp?: number;\n iat?: number;\n } & Record<string, unknown>,\n ) => {\n return this.generateUserToken(payload);\n };\n\n /**\n *\n * @param userID\n * @param exp\n * @param iat deprecated, the default date will be set internally\n * @returns\n *\n * @deprecated use generateUserToken instead\n */\n createToken = (\n userID: string,\n exp = Math.round(Date.now() / 1000) + 60 * 60,\n iat = Math.floor((Date.now() - 1000) / 1000),\n ) => {\n const payload: UserTokenPayload = {\n user_id: userID,\n exp,\n iat,\n };\n\n return JWTUserToken(this.secret, payload);\n };\n\n /**\n *\n * @param userID\n * @param call_cids\n * @param exp\n * @param iat this is deprecated, the current date will be set internally\n * @returns\n *\n * @deprecated use generateCallToken instead\n */\n createCallToken = (\n userIdOrObject: string | { user_id: string; role?: string },\n call_cids: string[],\n exp = Math.round(Date.now() / 1000) + 60 * 60,\n iat = Math.floor((Date.now() - 1000) / 1000),\n ) => {\n const payload: CallTokenPayload = {\n exp,\n iat,\n call_cids,\n user_id:\n typeof userIdOrObject === 'string'\n ? userIdOrObject\n : userIdOrObject.user_id,\n };\n\n if (typeof userIdOrObject === 'object' && userIdOrObject.role) {\n payload.role = userIdOrObject.role;\n }\n\n return JWTUserToken(this.secret, payload);\n };\n\n verifyWebhook = (requestBody: string | Buffer, xSignature: string) => {\n const key = Buffer.from(this.secret, 'utf8');\n const hash = crypto\n .createHmac('sha256', key)\n .update(requestBody)\n .digest('hex');\n\n try {\n return crypto.timingSafeEqual(Buffer.from(hash), Buffer.from(xSignature));\n } catch (err) {\n return false;\n }\n };\n}\n"],"names":["uuidv4"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA8iEa,MAAA,oBAAoB,GAAG;AAClC,IAAA,mBAAmB,EAAE,qBAAqB;AAC1C,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,iBAAiB,EAAE,mBAAmB;AACtC,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,aAAa,EAAE,eAAe;AAC9B,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,gBAAgB,EAAE,kBAAkB;AACpC,IAAA,aAAa,EAAE,eAAe;AAC9B,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,YAAY,EAAE,cAAc;AAC5B,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,aAAa,EAAE,eAAe;AAC9B,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,kCAAkC,EAAE,oCAAoC;AACxE,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,oBAAoB,EAAE,sBAAsB;AAC5C,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,aAAa,EAAE,eAAe;AAC9B,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,sBAAsB,EAAE,wBAAwB;AAChD,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,aAAa,EAAE,eAAe;AAC9B,IAAA,WAAW,EAAE,aAAa;EACjB;AA0uGE,MAAA,aAAa,GAAG;AAC3B,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,mBAAmB,EAAE,qBAAqB;AAC1C,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,yBAAyB,EAAE,2BAA2B;AACtD,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,cAAc,EAAE,gBAAgB;AAChC,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,gBAAgB,EAAE,kBAAkB;AACpC,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,oBAAoB,EAAE,sBAAsB;AAC5C,IAAA,0BAA0B,EAAE,4BAA4B;AACxD,IAAA,uBAAuB,EAAE,yBAAyB;AAClD,IAAA,iBAAiB,EAAE,mBAAmB;AACtC,IAAA,wBAAwB,EAAE,0BAA0B;AACpD,IAAA,mBAAmB,EAAE,qBAAqB;AAC1C,IAAA,yBAAyB,EAAE,2BAA2B;AACtD,IAAA,sBAAsB,EAAE,wBAAwB;AAChD,IAAA,gBAAgB,EAAE,kBAAkB;AACpC,IAAA,uBAAuB,EAAE,yBAAyB;AAClD,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,uBAAuB,EAAE,yBAAyB;AAClD,IAAA,oBAAoB,EAAE,sBAAsB;;;ACx1K9B,SAAA,YAAY,CAC1B,SAAiB,EACjB,OAK0B,EAAA;;IAG1B,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE;AACnC,QAAA,MAAM,KAAK,CACT,CAAqQ,mQAAA,CAAA,CACtQ,CAAC;KACH;AAED,IAAA,MAAM,IAAI,GAAgB,MAAM,CAAC,MAAM,CAAC;AACtC,QAAA,SAAS,EAAE,OAAO;AAClB,QAAA,WAAW,EAAE,IAAI;AAClB,KAAA,CAAC,CAAC;AAEH,IAAA,IAAI,OAAO,CAAC,GAAG,EAAE;AACf,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC1B;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC;SAEe,cAAc,CAC5B,SAAiB,EACjB,aAA0B,EAAE,EAAA;AAE5B,IAAA,MAAM,OAAO,GAAG;AACd,QAAA,MAAM,EAAE,IAAI;KACb,CAAC;AAEF,IAAA,MAAM,IAAI,GAAgB,MAAM,CAAC,MAAM,CACrC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EACzC,UAAU,CACX,CAAC;IACF,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAC5C;;ACpBM,MAAO,WAAY,SAAQ,KAAK,CAAA;AACpC,IAAA,WAAA,CACE,OAAe,EACR,QAAkC,EAClC,IAAa,EACpB,YAA2B,EAAA;AAE3B,QAAA,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAJtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;QAClC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAS;KAIrB;AACF;;AC7BM,MAAM,8BAA8B,GAAG,CAAC,eAAwB,KAAI;AACzE,IAAA,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,mBAAmB,CAAC;AACxD,UAAE,CAAC,eAAe,CAAC,GAAG,CAAC,mBAAmB,CAAE;UAC1C,SAAS,CAAC;AACd,IAAA,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,uBAAuB,CAAC;AACrE,UAAE,CAAC,eAAe,CAAC,GAAG,CAAC,uBAAuB,CAAE;UAC9C,SAAS,CAAC;AACd,IAAA,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAC7D,UAAE,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,mBAAmB,CAAE,GAAG,IAAI,CAAC;UAC3D,SAAS,CAAC;AAEd,IAAA,MAAM,MAAM,GAAc;QACxB,SAAS;QACT,kBAAkB;QAClB,cAAc;KACf,CAAC;AAEF,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC;;MCfY,OAAO,CAAA;AAGlB,IAAA,WAAA,CAA+B,SAAoB,EAAA;QAApB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AAIzC,QAAA,IAAA,CAAA,WAAW,GAAG,OACtB,MAAc,EACd,GAAW,EACX,UAAmC,EACnC,WAAiC,EACjC,IAAU,KACR;AACF,YAAA,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;YAChC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC7D,IAAI,UAAU,EAAE;gBACd,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;AAC5C,oBAAA,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAI,CAAA,EAAA,SAAS,CAAG,CAAA,CAAA,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7D,iBAAC,CAAC,CAAC;aACJ;AAED,YAAA,GAAG,IAAI,CAAA,CAAA,EAAI,aAAa,CAAA,CAAE,CAAC;AAC3B,YAAA,MAAM,eAAe,GAAGA,OAAM,EAAE,CAAC;AACjC,YAAA,MAAM,OAAO,GAAG;AACd,gBAAA,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;AACnC,gBAAA,kBAAkB,EAAE,KAAK;AACzB,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,iBAAiB,EAAE,cAAc,GAAG,QAAuB;AAC3D,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,qBAAqB,EAAE,eAAe;aACvC,CAAC;AAEF,YAAA,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAE3D,YAAA,IAAI;AACF,gBAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,CAAG,EAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAG,EAAA,GAAG,EAAE,EAAE;oBAC9D,MAAM;oBACN,MAAM;AACN,oBAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,OAAO;oBACP,UAAU,EAAE,IAAI,CAAC,UAAU;AAC5B,iBAAA,CAAC,CAAC;AAEH,gBAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC;AAEzC,gBAAA,MAAM,QAAQ,GAAoB;oBAChC,eAAe;oBACf,eAAe;oBACf,YAAY,EAAE,QAAQ,CAAC,MAAM;AAC7B,oBAAA,SAAS,EAAE,8BAA8B,CAAC,eAAe,CAAC;iBAC3D,CAAC;AAEF,gBAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;AACnD,oBAAA,IAAI,KAAe,CAAC;AACpB,oBAAA,IAAI;wBACF,KAAK,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;qBAC7C;oBAAC,OAAO,CAAC,EAAE;AACV,wBAAA,MAAM,IAAI,WAAW,CACnB,iBAAiB,QAAQ,CAAC,MAAM,CAAM,GAAA,EAAA,QAAQ,CAAC,UAAU,CAAA,CAAE,EAC3D,QAAQ,EACR,QAAQ,CAAC,MAAM,CAChB,CAAC;qBACH;oBACD,MAAM,IAAI,WAAW,CACnB,CAAA,kBAAA,EAAqB,KAAM,CAAC,IAAI,KAAK,KAAM,CAAC,OAAO,CAAE,CAAA,EACrD,QAAQ,EACR,KAAM,CAAC,IAAI,EACX,SAAS,CACV,CAAC;iBACH;gBAED,MAAM,YAAY,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;AAElD,gBAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;aACzC;YAAC,OAAO,KAAU,EAAE;AACnB,gBAAA,IAAI,KAAK,YAAY,WAAW,EAAE;AAChC,oBAAA,MAAM,KAAK,CAAC;iBACb;AACD,gBAAA,MAAM,QAAQ,GAA6B;oBACzC,eAAe;oBACf,YAAY,EAAE,KAAK,CAAC,MAAM;iBAC3B,CAAC;AACF,gBAAA,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE;AAChE,oBAAA,MAAM,IAAI,WAAW,CACnB,CAAyC,sCAAA,EAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAA,mEAAA,CAAqE,EACpI,QAAQ,EACR,SAAS,EACT,KAAK,CACN,CAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,WAAW,CACnB,CAAA,6CAAA,CAA+C,EAC/C,QAAQ,EACR,KAAK,CACN,CAAC;iBACH;aACF;AACH,SAAC,CAAC;AAEQ,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,MAA2B,KAAI;YAC/D,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,YAAA,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;AACtB,gBAAA,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,oBAAA,SAAS,CAAC,IAAI,CAAC,CAAG,EAAA,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA,CAAE,CAAC,CAAC;iBAC/D;AAAM,qBAAA,IAAI,KAAK,YAAY,IAAI,EAAE;oBAChC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;iBACrC;AAAM,qBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACpC,oBAAA,SAAS,CAAC,IAAI,CAAC,CAAG,EAAA,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA,CAAE,CAAC,CAAC;iBACrE;qBAAM;oBACL,IACE,OAAO,KAAK,KAAK,QAAQ;wBACzB,OAAO,KAAK,KAAK,QAAQ;AACzB,wBAAA,OAAO,KAAK,KAAK,SAAS,EAC1B;AACA,wBAAA,SAAS,CAAC,IAAI,CAAC,CAAA,EAAG,CAAC,CAAA,CAAA,EAAI,kBAAkB,CAAC,KAAK,CAAC,CAAE,CAAA,CAAC,CAAC;qBACrD;iBACF;aACF;AAED,YAAA,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7B,SAAC,CAAC;QAvHA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KACxC;AAuHF;;AC7HM,MAAM,QAAQ,GAA4B,EAAE,CAAC;AAEpD,MAAM,kBAAkB,GAAG,CAAC,KAAa,KACvC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;AAExC,QAAQ,CAAC,YAAY,GAAG,kBAAkB,CAAC;AAE3C,MAAM,MAAM,GAAG,CAAC,YAAyB,EAAE,KAA2B,KAAI;AACxE,IAAA,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,OAAO,KAAK,CAAC;IAEnE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACxC,QAAA,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;AACtB,YAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrB,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,OAAO,EAAE;AACX,oBAAA,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;wBAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;qBAClC;yBAAM;AACL,wBAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACpC,4BAAA,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,yBAAC,CAAC,CAAC;qBACJ;iBACF;aACF;SACF;AACH,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,QAAQ,CAAC,SAAS,GAAG,CAAC,KAA2B,KAAI;AACnD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9D,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE7C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;KACvC,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9D,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEjD,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE3D,kBAAkB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtE,2BAA2B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACtE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,cAAc,GAAG,CAAC,KAA2B,KAAI;AACxD,IAAA,MAAM,YAAY,GAAgB;QAChC,MAAM,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,GAAG,GAAG,CAAC,KAA2B,KAAI;AAC7C,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5C,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzC,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,CAAC,KAA2B,KAAI;AACrD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,aAAa,GAAG,CAAC,KAA2B,KAAI;AACvD,IAAA,MAAM,YAAY,GAAgB;QAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,YAAY,GAAG,CAAC,KAA2B,KAAI;AACtD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,YAAY,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAElE,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEtD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEtD,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,aAAa,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEvD,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,aAAa,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACxD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,8BAA8B,GAAG,CAAC,KAA2B,KAAI;AACxE,IAAA,MAAM,YAAY,GAAgB;QAChC,gBAAgB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE1D,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,QAAQ,GAAG,CAAC,KAA2B,KAAI;AAClD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,GAAG,CAAC,KAA2B,KAAI;AAC1D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,GAAG,CAAC,KAA2B,KAAI;AAC1D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE9C,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEhD,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAExD,aAAa,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEvD,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACjD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5D,gBAAgB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC3D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,OAAO,GAAG,CAAC,KAA2B,KAAI;AACjD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnD,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnD,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5C,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,aAAa,GAAG,CAAC,KAA2B,KAAI;AACvD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,aAAa,GAAG,CAAC,KAA2B,KAAI;AACvD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5D,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5D,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5D,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5D,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,CAAC,KAA2B,KAAI;AACrD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,eAAe,GAAG,CAAC,KAA2B,KAAI;AACzD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,oBAAoB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9D,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtD,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnD,MAAM,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACvD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnD,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEtD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE7D,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEzD,oBAAoB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9D,gBAAgB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAErE,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEhD,UAAU,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,gBAAgB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,0BAA0B,GAAG,CAAC,KAA2B,KAAI;AACpE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnD,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEtD,eAAe,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE7D,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEzD,oBAAoB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9D,gBAAgB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAErE,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEhD,UAAU,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,gBAAgB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,aAAa,GAAG,CAAC,KAA2B,KAAI;AACvD,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAClD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,OAAO,GAAG,CAAC,KAA2B,KAAI;AACjD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,cAAc,GAAG,CAAC,KAA2B,KAAI;AACxD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,yBAAyB,GAAG,CAAC,KAA2B,KAAI;AACnE,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KACpD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;KACvC,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC1D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,QAAQ,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACvD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,MAAM,GAAG,CAAC,KAA2B,KAAI;AAChD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,cAAc,GAAG,CAAC,KAA2B,KAAI;AACxD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC3D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,aAAa,GAAG,CAAC,KAA2B,KAAI;AACvD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE3D,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,aAAa,GAAG,CAAC,KAA2B,KAAI;AACvD,IAAA,MAAM,YAAY,GAAgB;QAChC,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAExD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,2BAA2B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErE,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAExD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,2BAA2B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErE,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;AAEpD,QAAA,kBAAkB,EAAE;AAClB,YAAA,IAAI,EAAE,kCAAkC;AACxC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;KACF,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,aAAa,GAAG,CAAC,KAA2B,KAAI;AACvD,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC3C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEtD,SAAS,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAExD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,IAAI,GAAG,CAAC,KAA2B,KAAI;AAC9C,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;KACvC,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,CAAC,KAA2B,KAAI;AACrD,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACpD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,YAAY,GAAG,CAAC,KAA2B,KAAI;AACtD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,GAAG,CAAC,KAA2B,KAAI;AAC1D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEvD,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAExD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,2BAA2B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACtE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,GAAG,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACnD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,IAAA,MAAM,YAAY,GAAgB;QAChC,MAAM,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,eAAe,GAAG,CAAC,KAA2B,KAAI;AACzD,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACnD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,GAAG,CAAC,KAA2B,KAAI;AAC1D,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;KACjD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KACpD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,IAAA,MAAM,YAAY,GAAgB;QAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACvD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE;KAChE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;KACjD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACvD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,0BAA0B,GAAG,CAAC,KAA2B,KAAI;AACpE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE7D,IAAI,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC1D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,eAAe,GAAG,CAAC,KAA2B,KAAI;AACzD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,MAAM,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACxD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,cAAc,GAAG,CAAC,KAA2B,KAAI;AACxD,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,UAAU,GAAG,CAAC,KAA2B,KAAI;AACpD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACxD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC3D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC1D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,wBAAwB,GAAG,CAAC,KAA2B,KAAI;AAClE,IAAA,MAAM,YAAY,GAAgB;QAChC,aAAa,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC9D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;KACtD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,yBAAyB,GAAG,CAAC,KAA2B,KAAI;AACnE,IAAA,MAAM,YAAY,GAAgB;QAChC,cAAc,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAClE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;KACvD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;KACzC,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,0BAA0B,GAAG,CAAC,KAA2B,KAAI;AACpE,IAAA,MAAM,YAAY,GAAgB;QAChC,cAAc,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC/D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,GAAG,CAAC,KAA2B,KAAI;AAC1D,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACpD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,cAAc,GAAG,CAAC,KAA2B,KAAI;AACxD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9C,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,eAAe,GAAG,CAAC,KAA2B,KAAI;AACzD,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;KACpD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,OAAO,GAAG,CAAC,KAA2B,KAAI;AACjD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,gBAAgB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEvD,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAElD,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,eAAe,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnE,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,uBAAuB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjE,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEtD,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE3C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;KACvC,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEhD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5C,mBAAmB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE7D,iBAAiB,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtE,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,2BAA2B,GAAG,CAAC,KAA2B,KAAI;AACrE,IAAA,MAAM,YAAY,GAAgB;QAChC,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,GAAG,CAAC,KAA2B,KAAI;AAC1D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,uBAAuB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjE,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,IAAI,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC3D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,eAAe,GAAG,CAAC,KAA2B,KAAI;AACzD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE/D,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE1D,aAAa,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5D,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9C,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,uBAAuB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjE,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,mBAAmB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE9D,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEhD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE3D,eAAe,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACpE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,0BAA0B,GAAG,CAAC,KAA2B,KAAI;AACpE,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE/D,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE1D,aAAa,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5D,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9C,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,uBAAuB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjE,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,mBAAmB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE9D,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEhD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE3D,eAAe,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACpE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEvD,YAAY,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC9C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,YAAY,GAAG,CAAC,KAA2B,KAAI;AACtD,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5C,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC9C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,OAAO,GAAG,CAAC,KAA2B,KAAI;AACjD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEvD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5C,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5C,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAExD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,gBAAgB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC9D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,eAAe,GAAG,CAAC,KAA2B,KAAI;AACzD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEvD,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAExD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,2BAA2B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErE,gBAAgB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC9D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,IAAI,GAAG,CAAC,KAA2B,KAAI;AAC9C,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;QAErD,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEhD,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,YAAY,GAAG,CAAC,KAA2B,KAAI;AACtD,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACnD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,GAAG,CAAC,KAA2B,KAAI;AAC1D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,cAAc,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEjE,SAAS,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5D,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,QAAQ,GAAG,CAAC,KAA2B,KAAI;AAClD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;KACvC,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,GAAG,CAAC,KAA2B,KAAI;AAC1D,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACvD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gCAAgC,GAAG,CAAC,KAA2B,KAAI;AAC1E,IAAA,MAAM,YAAY,GAAgB;QAChC,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,eAAe,GAAG,CAAC,KAA2B,KAAI;AACzD,IAAA,MAAM,YAAY,GAAgB;QAChC,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,YAAY,GAAG,CAAC,KAA2B,KAAI;AACtD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACtD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACtD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,wBAAwB,GAAG,CAAC,KAA2B,KAAI;AAClE,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,wBAAwB,GAAG,CAAC,KAA2B,KAAI;AAClE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,gCAAgC,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC5D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,KAAK,EAAE;KAClE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;KACnD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,2BAA2B,GAAG,CAAC,KAA2B,KAAI;AACrE,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oCAAoC,GAAG,CAC9C,KAA2B,KACzB;AACF,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,KAAK,EAAE;KACpE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,yBAAyB,GAAG,CAAC,KAA2B,KAAI;AACnE,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACxD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,2BAA2B,GAAG,CAAC,KAA2B,KAAI;AACrE,IAAA,MAAM,YAAY,GAAgB;QAChC,eAAe,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC1E,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,8BAA8B,GAAG,CAAC,KAA2B,KAAI;AACxE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,2BAA2B,GAAG,CAAC,KAA2B,KAAI;AACrE,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,wBAAwB,GAAG,CAAC,KAA2B,KAAI;AAClE,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC5D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,2BAA2B,GAAG,CAAC,KAA2B,KAAI;AACrE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC5D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACvD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC1D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,QAAQ,GAAG,CAAC,KAA2B,KAAI;AAClD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;KACvC,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,iBAAiB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE3D,gBAAgB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC3D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,GAAG,CAAC,KAA2B,KAAI;AAC1D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,eAAe,GAAG,CAAC,KAA2B,KAAI;AACzD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE/C,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEtC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAExC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE7C,cAAc,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,iBAAiB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEvD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5C,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEvD,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEtC,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,cAAc,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjE,iBAAiB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEvD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,IAAI,GAAG,CAAC,KAA2B,KAAI;AAC9C,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,YAAY,GAAG,CAAC,KAA2B,KAAI;AACtD,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,gBAAgB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE/D,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE1D,aAAa,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5D,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9C,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,uBAAuB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjE,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,mBAAmB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE9D,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEhD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE3D,eAAe,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACpE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,OAAO,GAAG,CAAC,KAA2B,KAAI;AACjD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,eAAe,GAAG,CAAC,KAA2B,KAAI;AACzD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,QAAQ,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACvD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,GAAG,CAAC,KAA2B,KAAI;AAC1D,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,IAAI,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAClD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,GAAG,CAAC,KAA2B,KAAI;AAC3D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,YAAY,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtD,sBAAsB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEhE,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAExD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,cAAc,GAAG,CAAC,KAA2B,KAAI;AACxD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,mBAAmB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnE,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5D,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,mBAAmB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnE,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEhD,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,yBAAyB,GAAG,CAAC,KAA2B,KAAI;AACnE,IAAA,MAAM,YAAY,GAAgB;QAChC,cAAc,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAClE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACpD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE1D,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACpD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,yBAAyB,GAAG,CAAC,KAA2B,KAAI;AACnE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,kBAAkB,GAAG,CAAC,KAA2B,KAAI;AAC5D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,sBAAsB,GAAG,CAAC,KAA2B,KAAI;AAChE,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,4BAA4B,GAAG,CAAC,KAA2B,KAAI;AACtE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE3D,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,yBAAyB,GAAG,CAAC,KAA2B,KAAI;AACnE,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,2BAA2B,GAAG,CAAC,KAA2B,KAAI;AACrE,IAAA,MAAM,YAAY,GAAgB;QAChC,cAAc,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAClE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,4BAA4B,GAAG,CAAC,KAA2B,KAAI;AACtE,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,qBAAqB,GAAG,CAAC,KAA2B,KAAI;AAC/D,IAAA,MAAM,YAAY,GAAgB;QAChC,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,2BAA2B,GAAG,CAAC,KAA2B,KAAI;AACrE,IAAA,MAAM,YAAY,GAAgB;QAChC,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACnD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,mBAAmB,GAAG,CAAC,KAA2B,KAAI;AAC7D,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,IAAA,MAAM,YAAY,GAAgB;QAChC,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;KACnD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gCAAgC,GAAG,CAAC,KAA2B,KAAI;AAC1E,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,6BAA6B,GAAG,CAAC,KAA2B,KAAI;AACvE,IAAA,MAAM,YAAY,GAAgB;QAChC,gBAAgB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC/D,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,0BAA0B,GAAG,CAAC,KAA2B,KAAI;AACpE,IAAA,MAAM,YAAY,GAAgB;QAChC,aAAa,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAChE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,IAAI,GAAG,CAAC,KAA2B,KAAI;AAC9C,IAAA,MAAM,YAAY,GAAgB;QAChC,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAExD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,eAAe,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEzD,2BAA2B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErE,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACrD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,QAAQ,GAAG,CAAC,KAA2B,KAAI;AAClD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAExC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;KACvC,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,GAAG,CAAC,KAA2B,KAAI;AAC1D,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEhD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,YAAY,GAAG,CAAC,KAA2B,KAAI;AACtD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAExD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,2BAA2B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErE,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;AAEpD,QAAA,kBAAkB,EAAE;AAClB,YAAA,IAAI,EAAE,kCAAkC;AACxC,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA;KACF,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,wBAAwB,GAAG,CAAC,KAA2B,KAAI;AAClE,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAExD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,WAAW,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErD,2BAA2B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KACtE,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,OAAO,GAAG,CAAC,KAA2B,KAAI;AACjD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,uBAAuB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjE,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE/C,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,SAAS,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE3D,QAAQ,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtD,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/C,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,2BAA2B,GAAG,CAAC,KAA2B,KAAI;AACrE,IAAA,MAAM,YAAY,GAAgB;QAChC,QAAQ,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE1D,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE;KACzD,CAAC;AACF,IAAA,OAAO,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;;AClgEK,MAAO,SAAU,SAAQ,OAAO,CAAA;AAAtC,IAAA,WAAA,GAAA;;QACE,IAAM,CAAA,MAAA,GAAG,YAA4D;AACnE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAE9C,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,OACV,OAA0B,KACW;AACrC,YAAA,MAAM,IAAI,GAAG;gBACX,wBAAwB,EAAE,OAAO,EAAE,wBAAwB;gBAC3D,wBAAwB,EAAE,OAAO,EAAE,wBAAwB;gBAC3D,4BAA4B,EAAE,OAAO,EAAE,4BAA4B;gBACnE,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;gBACvD,yBAAyB,EAAE,OAAO,EAAE,yBAAyB;gBAC7D,yBAAyB,EAAE,OAAO,EAAE,yBAAyB;gBAC7D,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;gBACjD,0BAA0B,EAAE,OAAO,EAAE,0BAA0B;gBAC/D,wBAAwB,EAAE,OAAO,EAAE,wBAAwB;gBAC3D,wBAAwB,EAAE,OAAO,EAAE,wBAAwB;gBAC3D,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,4BAA4B,EAAE,OAAO,EAAE,4BAA4B;gBACnE,wBAAwB,EAAE,OAAO,EAAE,wBAAwB;gBAC3D,yBAAyB,EAAE,OAAO,EAAE,yBAAyB;gBAC7D,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;gBACvD,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;gBACnD,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;gBACrD,2BAA2B,EAAE,OAAO,EAAE,2BAA2B;gBACjE,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;gBACnD,6BAA6B,EAAE,OAAO,EAAE,6BAA6B;gBACrE,uBAAuB,EAAE,OAAO,EAAE,uBAAuB;gBACzD,4BAA4B,EAAE,OAAO,EAAE,4BAA4B;gBACnE,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,uBAAuB,EAAE,OAAO,EAAE,uBAAuB;gBACzD,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;gBACjD,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,aAAa,EAAE,OAAO,EAAE,aAAa;aACtC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,OAAO,EACP,aAAa,EACb,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO,OAEvB,KAAoD;AACnD,YAAA,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAEvD,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAChB,OAA+B,KACqB;AACpD,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE5D,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAAO,OAGxB,KAAuC;AACtC,YAAA,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,2BAA2B,EAC3B,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OAAO,OAGrB,KAAmD;AAClD,YAAA,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAE/D,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAChB,OAAkD,KACE;AACpD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEnE,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,OACV,OAA0B,KACoB;AAC9C,YAAA,MAAM,IAAI,GAAG;gBACX,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;gBACvD,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,OACT,OAAyB,KACoB;AAC7C,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,aAAa,EAAE,OAAO,EAAE,aAAa;aACtC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,OACT,OAAyB,KACoB;AAC7C,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OAAO,OAGrB,KAAuC;AACtC,YAAA,MAAM,WAAW,GAAG;gBAClB,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OAAO,OAEpB,KAAkD;AACjD,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAEpD,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OACb,OAA4B,KACS;AACrC,YAAA,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA2B,KACqB;AAChD,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE9D,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAmB,CAAA,mBAAA,GAAG,YAElB;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,0BAA0B,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAE3D,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,OACtB,OAAqC,KACqB;AAC1D,YAAA,MAAM,IAAI,GAAG;gBACX,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,0BAA0B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAElE,QAAQ,CAAC,6BAA6B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,OAAO,OAE9B,KAA4D;AAC3D,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,QAAQ,EAAE,iCAAiC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEtE,QAAQ,CAAC,6BAA6B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,OACtB,OAAwD,KACE;AAC1D,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,iCAAiC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEzE,QAAQ,CAAC,6BAA6B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,OAAO,OAE7B,KAA2D;AAC1D,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,uCAAuC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEzE,QAAQ,CAAC,4BAA4B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA2B,KACqB;AAChD,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEvD,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAChB,OAAgC,KACoB;AACpD,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE7D,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAW,CAAA,WAAA,GAAG,YAAyD;AACrE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAElD,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OACb,OAA4B,KACqB;AACjD,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEzD,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,OAAO,OAElB,KAAgD;AAC/C,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,sBAAsB,EACtB,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,KAAK,GAAG,OAAO,OAEd,KAA4C;AAC3C,YAAA,MAAM,WAAW,GAAG;gBAClB,GAAG,EAAE,OAAO,EAAE,GAAG;aAClB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,YAAY,EACZ,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAe,CAAA,eAAA,GAAG,YAEd;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAEtD,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OAAO,OAEtB,KAA0D;AACzD,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,0BAA0B,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAE5D,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAiB,CAAA,iBAAA,GAAG,YAEhB;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAEzD,QAAQ,CAAC,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEpD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,OACnB,OAAmC,KACoB;AACvD,YAAA,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,OAAO,EAAE,aAAa;aACtC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,wBAAwB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEhE,QAAQ,CAAC,0BAA0B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAErD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,OAAO,OAG3B,KAAuC;AACtC,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,sCAAsC,EACtC,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OAAO,OAMtB,KAAoD;AACnD,YAAA,MAAM,WAAW,GAAG;gBAClB,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,SAAS,EAAE,OAAO,EAAE,SAAS;aAC9B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAExD,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAS,CAAA,SAAA,GAAG,YAAuD;AACjE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,eAAe,EACf,SAAS,EACT,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OACX,OAA0B,KACqB;AAC/C,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,eAAe,EACf,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OAAO,OAEnB,KAAuC;AACtC,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,sBAAsB,EACtB,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,OAAO,OAEhB,KAA8C;AAC7C,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,oBAAoB,EACpB,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE1C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OAAO,OAEnB,KAAiD;AAChD,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,eAAe,EACf,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,OACnB,OAAkC,KACc;AAChD,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAExD,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA2B,KACqB;AAChD,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEvD,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAAO,OAExB,KAAsD;AACrD,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAExD,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OACX,OAA0B,KACqB;AAC/C,YAAA,MAAM,IAAI,GAAG;gBACX,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAChB,OAA+B,KACqB;AACpD,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;gBACrD,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;aACtD,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,0BAA0B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAElE,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA2B,KACqB;AAChD,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;gBACnD,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE9D,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAChB,OAA+B,KACqB;AACpD,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;gBAC3C,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;aAC5C,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,0BAA0B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAElE,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OACb,OAA4B,KACS;AACrC,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OACb,OAA4B,KACqB;AACjD,YAAA,MAAM,IAAI,GAAG;gBACX,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE/D,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OACf,OAAoD,KACD;AACnD,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;aACtD,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,oCAAoC,EACpC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OAAO,OAEnB,KAAiD;AAChD,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,gCAAgC,EAChC,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OACf,OAAoD,KACD;AACnD,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;aAC5C,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,oCAAoC,EACpC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;KACH;AAAA;;ACl6BK,MAAO,QAAS,SAAQ,OAAO,CAAA;AAArC,IAAA,WAAA,GAAA;;AACE,QAAA,IAAA,CAAA,iBAAiB,GAAG,OAClB,OAAuD,KACD;AACtD,YAAA,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;aAC9C,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,6BAA6B,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YAEvE,QAAQ,CAAC,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEpD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,OACjB,OAAgC,KACqB;AACrD,YAAA,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;aAC9C,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,4BAA4B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEpE,QAAQ,CAAC,wBAAwB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OACf,OAA+B,KACoB;AACnD,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;aAC9C,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,0BAA0B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAElE,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,OAAO,OAOhB,KAA8C;AAC7C,YAAA,MAAM,WAAW,GAAG;gBAClB,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,gCAAgC,EAChC,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE1C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OACX,OAAyD,KACV;AAC/C,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;aAC9C,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,OAAO,EACP,gCAAgC,EAChC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAChB,OAA8D,KACV;AACpD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,gCAAgC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEzE,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,OACV,OAAwD,KACV;AAC9C,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,sCAAsC,EACtC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OACX,OAAyD,KACV;AAC/C,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,uCAAuC,EACvC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OACd,OAA4D,KACV;AAClD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,sCAAsC,EACtC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OACpB,OAAkE,KACV;AACxD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,yCAAyC,EACzC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,OACP,OAAqD,KACV;AAC3C,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;gBACvD,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;gBACnD,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;gBACjD,0BAA0B,EAAE,OAAO,EAAE,0BAA0B;aAChE,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,wCAAwC,EACxC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEzC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,OAAO,OAGhB,KAA8C;AAC7C,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,2CAA2C,EAC3C,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE1C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,OAClB,OAAgE,KACV;AACtD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,cAAc,EAAE,OAAO,EAAE,cAAc;aACxC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,wCAAwC,EACxC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEpD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,OACV,OAAwD,KACV;AAC9C,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,2CAA2C,EAC3C,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,OACT,OAAkD,KACV;AACxC,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,oCAAoC,EACpC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO,OAGvB,KAAqD;AACpD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,KAAK,EACL,2CAA2C,EAC3C,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OAAO,OAItB,KAAoD;AACnD,YAAA,MAAM,WAAW,GAAG;gBAClB,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,uCAAuC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAE3E,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OACpB,OAAkE,KACV;AACxD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,gDAAgD,EAChD,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,OAAO,OAG9B,KAA4D;AAC3D,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,qDAAqD,EACrD,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,6BAA6B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,OAClB,OAIC,KACsD;AACvD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;YACF,MAAM,IAAI,GAAG,EAAE,CAAC;AAEhB,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,4DAA4D,EAC5D,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,0BAA0B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAErD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,OAAO,OAG7B,KAA2D;AAC1D,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,mDAAmD,EACnD,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,4BAA4B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OACpB,OAAkE,KACV;AACxD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;gBACnD,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;gBAC3C,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,sDAAsD,EACtD,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OACpB,OAAkE,KACV;AACxD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,0BAA0B,EAAE,OAAO,EAAE,0BAA0B;aAChE,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,sDAAsD,EACtD,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OACf,OAA6D,KACV;AACnD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,0BAA0B,EAAE,OAAO,EAAE,0BAA0B;aAChE,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,gDAAgD,EAChD,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,OACnB,OAAiE,KACV;AACvD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;gBACvD,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,8BAA8B,EAAE,OAAO,EAAE,8BAA8B;aACxE,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,oDAAoD,EACpD,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,0BAA0B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAErD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OAAO,OAIrB,KAAmD;AAClD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,KAAK,EACL,gDAAgD,EAChD,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OAAO,OAG5B,KAA0D;AACzD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,kDAAkD,EAClD,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,OACnB,OAAiE,KACV;AACvD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;aAChD,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,qDAAqD,EACrD,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,0BAA0B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAErD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,OAAO,OAG3B,KAAyD;AACxD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,qDAAqD,EACrD,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,0BAA0B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAErD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,OACT,OAAuD,KACV;AAC7C,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,uBAAuB,EAAE,OAAO,EAAE,uBAAuB;gBACzD,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,wBAAwB,EAAE,OAAO,EAAE,wBAAwB;gBAC3D,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;aACxD,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,0CAA0C,EAC1C,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OAAO,OAGtB,KAAoD;AACnD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,+CAA+C,EAC/C,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,OAClB,OAAgE,KACV;AACtD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;aACpD,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,mDAAmD,EACnD,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEpD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,OAAO,OAG3B,KAAyD;AACxD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,KAAK,EACL,+CAA+C,EAC/C,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,0BAA0B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAErD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA0D,KACV;AAChD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,wCAAwC,EACxC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OACX,OAAoD,KACV;AAC1C,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,sCAAsC,EACtC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,OACtB,OAAoE,KACV;AAC1D,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;aAChD,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,iDAAiD,EACjD,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,6BAA6B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAAO,OAKxB,KAAsD;AACrD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,QAAQ,EACR,gEAAgE,EAChE,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OAAO,OAK5B,KAA0D;AACzD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,QAAQ,EACR,oEAAoE,EACpE,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OACX,OAA2B,KACoB;AAC/C,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;aAC9C,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAa,CAAA,aAAA,GAAG,YAA0D;AACxE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAE1D,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OACf,OAA8B,KACqB;AACnD,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;gBAC3C,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;gBACrD,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,yBAAyB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEjE,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO,OAEvB,KAAuC;AACtC,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,gCAAgC,EAChC,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OAAO,OAEpB,KAAkD;AACjD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,gCAAgC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAElE,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OACf,OAAiD,KACE;AACnD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;gBAC3C,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;gBACrD,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,gCAAgC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAExE,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAQ,CAAA,QAAA,GAAG,YAAsD;AAC/D,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,qBAAqB,EACrB,SAAS,EACT,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,uBAAuB,GAAG,OACxB,OAAwC,KACoB;AAC5D,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,YAAY,EAAE,OAAO,EAAE,YAAY;aACpC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE7D,QAAQ,CAAC,+BAA+B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE1D,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;KACH;AAAA;;MC3mCY,OAAO,CAAA;AAClB,IAAA,WAAA,CACY,QAAkB,EACZ,IAAY,EACZ,EAAU,EAAA;QAFhB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QACZ,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QACZ,IAAE,CAAA,EAAA,GAAF,EAAE,CAAQ;AAG5B,QAAA,IAAA,CAAA,GAAG,GAAG,CAAC,OAKN,KAA8C;YAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC7E,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,CACP,OAA2B,KACoB;AAC/C,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAAgC,KACoB;AACpD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;gBACnC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CACV,OAAyB,KACqB;AAC9C,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,CACP,OAA2B,KACoB;AAC/C,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CACd,OAA8B,KACoB;AAClD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACjC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAAmC,KACqB;AACxD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBACvC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,CACP,OAAuB,KACoB;YAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC5E,SAAC,CAAC;QAEF,IAAG,CAAA,GAAA,GAAG,MAA+C;YACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAClB,OAAkC,KACoB;AACtD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACrC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CACV,OAA0B,KACoB;AAC9C,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,OAAmB,KAA0C;YACvE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC9E,SAAC,CAAC;QAEF,IAAc,CAAA,cAAA,GAAG,MAAsD;YACrE,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACxE,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,OAEhB,KAAoD;AACnD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBACjC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAAmC,KACqB;AACxD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBACvC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEF,IAAqB,CAAA,qBAAA,GAAG,MAEpB;AACF,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACzC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAClB,OAAqD,KACE;AACvD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACrC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEF,IAAoB,CAAA,oBAAA,GAAG,MAEnB;YACF,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAAoC,KACoB;AACxD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBACvC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAAoC,KACoB;AACxD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBACvC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CACf,OAA+B,KACoB;AACnD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAClC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,CACnB,OAAmC,KACoB;AACvD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACtC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,OAEf,KAAmD;AAClD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAChC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEF,IAAmB,CAAA,mBAAA,GAAG,MAElB;YACF,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7E,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,CACnB,OAAmC,KACoB;AACvD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBACtC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEF,IAAkB,CAAA,kBAAA,GAAG,MAEjB;YACF,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5E,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CACT,OAAyB,KACoB;YAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC9E,SAAC,CAAC;QAEF,IAAa,CAAA,aAAA,GAAG,MAAqD;YACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACvE,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAClB,OAAkC,KACoB;AACtD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACrC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;QAEF,IAAkB,CAAA,kBAAA,GAAG,MAEjB;YACF,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5E,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA2B,KACqB;AAChD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAAqB,KACqB;AAC1C,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,CACtB,OAAqC,KACqB;AAC1D,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACzC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,OAGlB,KAAsD;AACrD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;gBACnC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,OAGtB,KAA0D;AACzD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBACvC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KA9SE;AA+SL;;AC9WK,MAAO,UAAW,SAAQ,OAAO,CAAA;AAAvC,IAAA,WAAA,GAAA;;AAKE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;AAE1B,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,OAA6C,KAAI;AAC/D,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBACpC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,IAAI,OAAO,IAAI,EAAE,CAAC;AACnB,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KACH;AAbC,IAAA,IAAI,GAAG,GAAA;QACL,OAAO,CAAA,EAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAA,CAAE,CAAC;KAClC;AAWF;;ACNK,MAAO,iBAAkB,SAAQ,QAAQ,CAAA;AAG7C,IAAA,WAAA,CAAY,EACV,YAAY,EACZ,GAAG,SAAS,EAC+B,EAAA;QAC3C,KAAK,CAAC,SAAS,CAAC,CAAC;AAInB,QAAA,IAAA,CAAA,IAAI,GAAG,CAAC,IAAY,EAAE,EAAU,KAAI;YAClC,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACxC,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OAAO,OAMtB,KAA6B;AAC5B,YAAA,IAAI,sBAAmD,CAAC;AAExD,YAAA,IAAI;AACF,gBAAA,sBAAsB,GAAG,CAAC,MAAM,0FAAO,gCAAgC,MAAC;AACrE,qBAAA,oBAAoB,CAAC;aACzB;AAAC,YAAA,MAAM;AACN,gBAAA,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;aACH;AAED,YAAA,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AACxB,gBAAA,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aAC/D;AAED,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;gBAChD,OAAO,EAAE,OAAO,CAAC,WAAW;AAC5B,gBAAA,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC7B,mBAAmB,EAAE,OAAO,CAAC,iBAAiB;AAC/C,aAAA,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAC5C,gBAAA,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO;gBAC/B,IAAI,EAAE,OAAO,CAAC,IAAI;AAClB,gBAAA,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;AACnC,gBAAA,eAAe,EAAE,KAAK;gBACtB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;AACrB,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC;AAC/B,YAAA,OAAO,cAAc,CAAC;AACxB,SAAC,CAAC;AA9CA,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;KAClC;AA8CF;;AC2DK,MAAO,OAAQ,SAAQ,OAAO,CAAA;AAApC,IAAA,WAAA,GAAA;;AACE,QAAA,IAAA,CAAA,cAAc,GAAG,OACf,OAA+B,KACoB;AACnD,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,8BAA8B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEtE,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OAAO,OAKpB,KAAkD;AACjD,YAAA,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,6BAA6B,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAEjE,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OACd,OAA8C,KACI;AAClD,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,mCAAmC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE5E,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,OACjB,OAA6C,KACA;AAC7C,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;YACF,MAAM,IAAI,GAAG,EAAE,CAAC;AAEhB,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,kCAAkC,EAClC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OACd,OAA8B,KACoB;AAClD,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE/D,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OACf,OAA8B,KACqB;AACnD,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,8BAA8B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEtE,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,OACjB,OAAiC,KACY;AAC7C,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,4BAA4B,EAC5B,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,0BAA0B,GAAG,OAC3B,OAAqD,KACJ;AACjD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;gBAC3C,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;gBACnD,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,oCAAoC,EACpC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OAAO,OAItB,KAAoD;AACnD,YAAA,MAAM,WAAW,GAAG;gBAClB,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,QAAQ,EAAE,mCAAmC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAE1E,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,OACrB,OAAmE,KACV;AACzD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,OAAO,EACP,mCAAmC,EACnC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,4BAA4B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OACd,OAA4D,KACV;AAClD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,mCAAmC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE5E,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OAAO,OAKpB,KAAuC;AACtC,YAAA,MAAM,WAAW,GAAG;gBAClB,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,yCAAyC,EACzC,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,OAAO,OAKjB,KAA+C;AAC9C,YAAA,MAAM,WAAW,GAAG;gBAClB,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,yCAAyC,EACzC,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,OACV,OAAwD,KACd;AAC1C,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,yCAAyC,EACzC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OAAO,OAInB,KAAuC;AACtC,YAAA,MAAM,WAAW,GAAG;gBAClB,GAAG,EAAE,OAAO,EAAE,GAAG;aAClB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,wCAAwC,EACxC,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OACX,OAAyD,KACV;AAC/C,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,wCAAwC,EACxC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA0D,KACV;AAChD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,wCAAwC,EACxC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OAAO,OAIpB,KAAuC;AACtC,YAAA,MAAM,WAAW,GAAG;gBAClB,GAAG,EAAE,OAAO,EAAE,GAAG;aAClB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,yCAAyC,EACzC,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA0D,KACV;AAChD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,yCAAyC,EACzC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OACpB,OAIC,KACuD;AACxD,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,GAAG,EAAE,OAAO,EAAE,GAAG;aAClB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,OAAO,EACP,oDAAoD,EACpD,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA0D,KACV;AAChD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;gBAC3C,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;gBACjD,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,wBAAwB,EAAE,OAAO,EAAE,wBAAwB;aAC5D,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,2CAA2C,EAC3C,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAAO,OAIxB,KAAsD;AACrD,YAAA,MAAM,WAAW,GAAG;gBAClB,GAAG,EAAE,OAAO,EAAE,GAAG;aAClB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,KAAK,EACL,4CAA4C,EAC5C,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,OACnB,OAAiE,KAChB;AACjD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;gBAC3C,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;gBACnD,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,yCAAyC,EACzC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,OACT,OAAuD,KACV;AAC7C,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,wCAAwC,EACxC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA0D,KACV;AAChD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,wCAAwC,EACxC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAChB,OAA8D,KACV;AACpD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,4CAA4C,EAC5C,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAElD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OACX,OAAyD,KACpB;AACrC,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,0CAA0C,EAC1C,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAgB,CAAA,gBAAA,GAAG,YAEf;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,2BAA2B,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAE5D,QAAQ,CAAC,wBAAwB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,OAClB,OAAiC,KACqB;AACtD,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;gBAC3C,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;gBACrD,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,oCAAoC,EAClC,OAAO,EAAE,oCAAoC;gBAC/C,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,2BAA2B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEnE,QAAQ,CAAC,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEpD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,OAAO,OAE1B,KAAuC;AACtC,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,kCAAkC,EAClC,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO,OAEvB,KAAqD;AACpD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,kCAAkC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEpE,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,OAClB,OAAoD,KACE;AACtD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;gBAC3C,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;gBACrD,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,oCAAoC,EAClC,OAAO,EAAE,oCAAoC;gBAC/C,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;gBACnD,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,kCAAkC,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE1E,QAAQ,CAAC,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEpD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAY,CAAA,YAAA,GAAG,YAA0D;AACvE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAExD,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OACd,OAA6B,KACqB;AAClD,YAAA,MAAM,IAAI,GAAG;gBACX,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,GAAG,EAAE,OAAO,EAAE,GAAG;aAClB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,uBAAuB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE/D,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OAAO,OAEtB,KAAoD;AACnD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,QAAQ,EAAE,8BAA8B,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEnE,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OAAO,OAEnB,KAAiD;AAChD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,8BAA8B,EAC9B,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OACd,OAAgD,KACE;AAClD,YAAA,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,GAAG,EAAE,OAAO,EAAE,GAAG;aAClB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,8BAA8B,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEtE,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA4B,KACoB;AAChD,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,2BAA2B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEnE,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OACf,OAA8B,KACqB;AACnD,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,0BAA0B,EAAE,OAAO,EAAE,0BAA0B;gBAC/D,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,6BAA6B,EAAE,OAAO,EAAE,6BAA6B;gBACrE,0BAA0B,EAAE,OAAO,EAAE,0BAA0B;gBAC/D,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,8BAA8B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEtE,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OAAO,OAErB,KAA8C;AAC7C,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,sBAAsB,EACtB,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE1C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OACpB,OAAmC,KACqB;AACxD,YAAA,MAAM,IAAI,GAAG;gBACX,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,+BAA+B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEvE,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OAAO,OAItB,KAAoD;AACnD,YAAA,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,QAAQ,EAAE,4BAA4B,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAEnE,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OAAO,OAGnB,KAAiD;AAChD,YAAA,MAAM,WAAW,GAAG;gBAClB,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;aACpD,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,4BAA4B,EAC5B,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OACd,OAA8C,KACI;AAClD,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,eAAe,EAAE,OAAO,EAAE,eAAe;aAC1C,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,4BAA4B,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAErE,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,OACrB,OAAqD,KACI;AACzD,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEpE,QAAQ,CAAC,4BAA4B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,OACjB,OAA8C,KACF;AAC5C,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,mCAAmC,EACnC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE1C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OACd,OAA8C,KACF;AAC5C,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;YACF,MAAM,IAAI,GAAG,EAAE,CAAC;AAEhB,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,mCAAmC,EACnC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE1C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OACb,OAA6C,KACI;AACjD,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,SAAS,EAAE,OAAO,EAAE,SAAS;aAC9B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,qCAAqC,EACrC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO,OAIvB,KAAqD;AACpD,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,QAAQ,EACR,4CAA4C,EAC5C,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OAAO,OAIrB,KAAmD;AAClD,YAAA,MAAM,WAAW,GAAG;gBAClB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,sCAAsC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAE1E,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OACf,OAA+C,KACI;AACnD,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,sCAAsC,EACtC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEjD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,OACjB,OAAiD,KACL;AAC5C,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,sCAAsC,EACtC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE1C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,OAChB,OAA8C,KACI;AAClD,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,eAAe,EAAE,OAAO,EAAE,eAAe;aAC1C,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,qCAAqC,EACrC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OACb,OAAsE,KACzB;AAC7C,YAAA,MAAM,UAAU,GAAG;gBACjB,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,yDAAyD,EACzD,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO,OAKvB,KAA+C;AAC9C,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,mEAAmE,EACnE,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OAAO,OAenB,KAAiD;AAChD,YAAA,MAAM,WAAW,GAAG;gBAClB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,yBAAyB,EAAE,OAAO,EAAE,yBAAyB;gBAC7D,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;gBAC3C,0BAA0B,EAAE,OAAO,EAAE,0BAA0B;gBAC/D,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,SAAS,EAAE,OAAO,EAAE,SAAS;aAC9B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,2CAA2C,EAC3C,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,OAAO,OAE1B,KAAwD;AACvD,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,uCAAuC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAE1E,QAAQ,CAAC,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEpD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA4B,KACoB;AAChD,YAAA,MAAM,IAAI,GAAG;gBACX,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,sCAAsC,EACtC,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OACd,OAA8B,KACa;AAC3C,YAAA,MAAM,IAAI,GAAG;gBACX,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,wCAAwC,EACxC,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEzC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OACX,OAA0B,KACe;AACzC,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,4BAA4B,EAAE,OAAO,EAAE,4BAA4B;gBACnE,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;gBACjD,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OACX,OAA0B,KACe;AACzC,YAAA,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,4BAA4B,EAAE,OAAO,EAAE,4BAA4B;gBACnE,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;gBACjD,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OACX,OAAkD,KACH;AAC/C,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,0BAA0B,EAC1B,SAAS,EACT,WAAW,EACX,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OAAO,OAGnB,KAAuC;AACtC,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,8BAA8B,EAC9B,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,OAAO,OAGhB,KAA2C;AAC1C,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,8BAA8B,EAC9B,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,OAClB,OAAuD,KACd;AACzC,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,OAAO,EACP,8BAA8B,EAC9B,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,OACjB,OAAsD,KACP;AAC/C,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,sCAAsC,EACtC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,OACjB,OAAsD,KACP;AAC/C,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,sCAAsC,EACtC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,OAAO,OAIzB,KAAuC;AACtC,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,SAAS,EAAE,OAAO,EAAE,SAAS;aAC9B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,kDAAkD,EAClD,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OAAO,OAItB,KAAiD;AAChD,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,SAAS,EAAE,OAAO,EAAE,SAAS;aAC9B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,kDAAkD,EAClD,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,OACf,OAAsE,KACxB;AAC9C,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,oCAAoC,EACpC,UAAU,EACV,WAAW,EACX,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iCAAiC,GAAG,OAClC,OAAqC,KACqB;AAC1D,YAAA,MAAM,IAAI,GAAG;gBACX,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,+BAA+B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEvE,QAAQ,CAAC,6BAA6B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,OAAO,OAEzB,KAAuD;AACtD,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,iCAAiC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAEpE,QAAQ,CAAC,wBAAwB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,OAAO,OAEf,KAA6C;AAC5C,YAAA,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,qBAAqB,EACrB,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEzC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OACd,OAA6B,KACqB;AAClD,YAAA,MAAM,IAAI,GAAG;gBACX,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,6BAA6B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAErE,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEhD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,OAAO,OAEtB,KAAuC;AACtC,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,4BAA4B,EAC5B,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,OAAO,OAEnB,KAAiD;AAChD,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,4BAA4B,EAC5B,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,OACrB,OAAqD,KAChB;AACrC,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,0CAA0C,EAC1C,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OAAO,OAG5B,KAAuC;AACtC,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;gBACf,SAAS,EAAE,OAAO,EAAE,SAAS;aAC9B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,+CAA+C,EAC/C,UAAU,EACV,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OACpB,OAAoD,KACI;AACxD,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,0CAA0C,EAC1C,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OACb,OAA6B,KACoB;AACjD,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE9D,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,OAAO,OAKlB,KAAgD;AAC/C,YAAA,MAAM,WAAW,GAAG;gBAClB,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,YAAY,EAAE,OAAO,EAAE,YAAY;aACpC,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,mCAAmC,EACnC,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OACpB,OAA4D,KACJ;AACxD,YAAA,MAAM,UAAU,GAAG;gBACjB,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,OAAO,EACP,mCAAmC,EACnC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAY,CAAA,YAAA,GAAG,YAEX;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAEtD,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,OAClB,OAAiC,KACqB;AACtD,YAAA,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,OAAO,EAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,2BAA2B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEnE,QAAQ,CAAC,yBAAyB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEpD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OACpB,OAAyD,KACpB;AACrC,YAAA,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,oCAAoC,EACpC,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;KACH;AAAA;;MCxnEY,UAAU,CAAA;AACrB,IAAA,WAAA,CACY,OAAgB,EACV,IAAY,EACrB,EAAW,EAAA;QAFR,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;QACV,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAQ;QACrB,IAAE,CAAA,EAAA,GAAF,EAAE,CAAS;AAGpB,QAAA,IAAA,CAAA,MAAM,GAAG,CAAC,OAET,KAAoD;AACnD,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBAChC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,CACrB,OAAqC,KACoB;AACzD,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBACvC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,CACP,OAA8B,KACoB;AAClD,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;gBAChC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,OAGd,KAAuC;AACtC,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,OAGX,KAA+C;AAC9C,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC7E,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CACV,OAAyB,KACiB;AAC1C,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC9E,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,OAEb,KAAuC;AACtC,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAA2B,KACoB;AAC/C,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,IAAI,GAAG,CACL,OAA4B,KACoB;AAChD,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,OAEd,KAAuC;AACtC,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA4B,KACoB;AAChD,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAAyD,KACD;AACxD,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBACtC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA2B,KACqB;AAChD,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,OAElB,KAAsD;AACrD,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;gBAClC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAAmC,KACc;AACjD,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBACrC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CACT,OAAyB,KACoB;AAC7C,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC7E,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,IAAI,GAAG,CACL,OAA4B,KACoB;AAChD,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CACT,OAAgC,KACoB;AACpD,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;gBAClC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAA2B,KACU;AACrC,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACZ,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,kFAAA,CAAoF,CACrF,CAAC;aACH;AACD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC7B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,GAAG,OAAO;AACX,aAAA,CAAC,CAAC;AACL,SAAC,CAAC;KAnRE;AAoRL;;ACvTK,MAAO,aAAc,SAAQ,UAAU,CAAA;AAA7C,IAAA,WAAA,GAAA;;AAKE,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,6BAAyD,KAAI;AAC1E,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBACZ,OAAO,IAAI,CAAC,OAAO;AAChB,qBAAA,0BAA0B,CAAC;oBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,oBAAA,GAAG,6BAA6B;iBACjC,CAAC;AACD,qBAAA,IAAI,CAAC,CAAC,QAAQ,KAAI;oBACjB,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;AAC/B,oBAAA,OAAO,QAAQ,CAAC;AAClB,iBAAC,CAAC,CAAC;aACN;iBAAM;AACL,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;oBACrC,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,oBAAA,GAAG,6BAA6B;AACjC,iBAAA,CAAC,CAAC;aACJ;AACH,SAAC,CAAC;KAWH;AAjCC,IAAA,IAAI,GAAG,GAAA;QACL,OAAO,CAAA,EAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAA,CAAE,CAAC;KAClC;AAsBD,IAAA,YAAY,CAAC,OAAuD,EAAA;AAClE,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;AAC/B,YAAA,OAAO,EAAE;gBACP,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,OAAO,EAAE,OAAO,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC;AACnD,aAAA;AACF,SAAA,CAAC,CAAC;KACJ;AACF;;ACnCK,MAAO,gBAAiB,SAAQ,OAAO,CAAA;AAA7C,IAAA,WAAA,GAAA;;AACE,QAAA,IAAA,CAAA,OAAO,GAAG,CAAC,IAAY,EAAE,EAAW,KAAI;YACtC,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3C,SAAC,CAAC;KACH;AAAA;;AC8BK,MAAO,aAAc,SAAQ,OAAO,CAAA;AAA1C,IAAA,WAAA,GAAA;;AACE,QAAA,IAAA,CAAA,GAAG,GAAG,OAAO,OAAmB,KAA0C;AACxE,YAAA,MAAM,IAAI,GAAG;gBACX,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,SAAS,EAAE,OAAO,EAAE,SAAS;aAC9B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,wBAAwB,EACxB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,KAAK,GAAG,OACN,OAAqB,KACqB;AAC1C,YAAA,MAAM,IAAI,GAAG;gBACX,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,0BAA0B,EAC1B,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OACb,OAA4B,KACqB;AACjD,YAAA,MAAM,IAAI,GAAG;gBACX,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,qCAAqC,EACnC,OAAO,EAAE,qCAAqC;gBAChD,+BAA+B,EAAE,OAAO,EAAE,+BAA+B;gBACzE,uBAAuB,EAAE,OAAO,EAAE,uBAAuB;gBACzD,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;gBACvD,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;gBAC3C,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;gBACnD,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,sBAAsB,EAAE,OAAO,EAAE,sBAAsB;aACxD,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,2BAA2B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEnE,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OAAO,OAGrB,KAA6D;AAC5D,YAAA,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,GAAG,EAAE,OAAO,EAAE,GAAG;aAClB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,QAAQ,EAAE,iCAAiC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAExE,QAAQ,CAAC,8BAA8B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEzD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,OAAO,OAGlB,KAAgD;AAC/C,YAAA,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;gBACjB,GAAG,EAAE,OAAO,EAAE,GAAG;aAClB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,iCAAiC,EACjC,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,sBAAsB,GAAG,OACvB,OAAuC,KACoB;AAC3D,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,4BAA4B,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEpE,QAAQ,CAAC,8BAA8B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEzD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,OACZ,OAA2B,KACqB;AAChD,YAAA,MAAM,IAAI,GAAG;gBACX,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,iCAAiC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEzE,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE9C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAgB,CAAA,gBAAA,GAAG,YAEf;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,QAAQ,EACR,8CAA8C,EAC9C,SAAS,EACT,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,gCAAgC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3D,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;QAEF,IAAgB,CAAA,gBAAA,GAAG,YAEf;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,KAAK,EACL,8CAA8C,EAC9C,SAAS,EACT,SAAS,CACV,CAAC;YAEF,QAAQ,CAAC,oCAAoC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/D,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,OACjB,OAAwC,KACqB;AAC7D,YAAA,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;aACxB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,8CAA8C,EAC9C,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,gCAAgC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE3D,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,IAAI,GAAG,OACL,OAAoB,KACqB;AACzC,YAAA,MAAM,IAAI,GAAG;gBACX,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,iBAAiB,EAAE,OAAO,EAAE,iBAAiB;gBAC7C,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,kBAAkB,EAAE,OAAO,EAAE,kBAAkB;gBAC/C,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,yBAAyB,EACzB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,OACpB,OAAoC,KACoB;AACxD,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,yBAAyB,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEjE,QAAQ,CAAC,2BAA2B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,IAAI,GAAG,OACL,OAAoB,KACqB;AACzC,YAAA,MAAM,IAAI,GAAG;gBACX,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,yBAAyB,EACzB,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEvC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,OACjB,OAAiC,KACoB;AACrD,YAAA,MAAM,IAAI,GAAG;gBACX,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,iCAAiC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAEzE,QAAQ,CAAC,wBAAwB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEnD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,OAAO,OAE3B,KAAyD;AACxD,YAAA,MAAM,UAAU,GAAG;gBACjB,EAAE,EAAE,OAAO,EAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,sCAAsC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAExE,QAAQ,CAAC,0BAA0B,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAErD,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,OACb,OAA4B,KACqB;AACjD,YAAA,MAAM,IAAI,GAAG;gBACX,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,GAAG,EAAE,OAAO,EAAE,GAAG;gBACjB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,eAAe,EAAE,OAAO,EAAE,eAAe;gBACzC,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,aAAa,EAAE,OAAO,EAAE,aAAa;gBACrC,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,kCAAkC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE1E,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE/C,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,KAAK,GAAG,OACN,OAIC,KACyC;AAC1C,YAAA,MAAM,WAAW,GAAG;gBAClB,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,WAAW,EAAE,OAAO,EAAE,WAAW;gBACjC,UAAU,EAAE,OAAO,EAAE,UAAU;aAChC,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACX,cAAc,EAAE,OAAO,EAAE,cAAc;gBACvC,WAAW,EAAE,OAAO,EAAE,WAAW;aAClC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,0BAA0B,EAC1B,SAAS,EACT,WAAW,EACX,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAExC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,OACP,OAAsB,KACqB;AAC3C,YAAA,MAAM,IAAI,GAAG;gBACX,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,IAAI,EAAE,OAAO,EAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,2BAA2B,EAC3B,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;YAEF,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEzC,YAAA,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC3D,SAAC,CAAC;KACH;AAAA;;AC1cK,MAAO,sBAAuB,SAAQ,aAAa,CAAA;AAAG;;ACetD,MAAO,YAAa,SAAQ,SAAS,CAAA;AAQzC;;;;;AAKG;AACH,IAAA,WAAA,CACW,MAAc,EACN,MAAc,EACtB,MAA4B,EAAA;AAErC,QAAA,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,YAAY,CAAC,eAAe,CAAC;AAChE,QAAA,MAAM,WAAW,GAAG,MAAM,EAAE,QAAQ,IAAI,gCAAgC,CAAC;AACzE,QAAA,MAAM,YAAY,GAAG,MAAM,EAAE,QAAQ,IAAI,iCAAiC,CAAC;AAC3E,QAAA,KAAK,CAAC;YACJ,MAAM;YACN,KAAK;YACL,OAAO;AACP,YAAA,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,MAAM,EAAE,KAAkC;AAClD,SAAA,CAAC,CAAC;QAdM,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACN,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACtB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAsB;QAbvB,IAAO,CAAA,OAAA,GAAwB,EAAE,CAAC;AAmDlD,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,KAAoB,KAAI;YACrC,MAAM,OAAO,GAAgC,EAAE,CAAC;AAEhD,YAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAClB,gBAAA,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACpB,aAAC,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9C,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,OAA+C,KAAI;YACrE,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC7C,SAAC,CAAC;AAEF;;;;;;;AAOG;AACH,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAClB,OAK2B,KACzB;AACF,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC;YACxC,MAAM,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,IAAI,EAAE,GAAG,EAAE,CAAC;AACjE,YAAA,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,GAAG,iBAAiB,CAAC;YAE7D,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAA2B,CAAC,CAAC;AAChE,SAAC,CAAC;AAEF;;;;;;;AAOG;AACH,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAClB,OAO2B,KACzB;AACF,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACzC,SAAC,CAAC;AAEF;;;;;;;;AAQG;AACH,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,MAAc,EACd,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAC7C,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,CAAC,KAC1C;AACF,YAAA,MAAM,OAAO,GAAqB;AAChC,gBAAA,OAAO,EAAE,MAAM;gBACf,GAAG;gBACH,GAAG;aACJ,CAAC;YAEF,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,SAAC,CAAC;AAEF;;;;;;;;;AASG;AACH,QAAA,IAAA,CAAA,eAAe,GAAG,CAChB,cAA2D,EAC3D,SAAmB,EACnB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAC7C,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,CAAC,KAC1C;AACF,YAAA,MAAM,OAAO,GAAqB;gBAChC,GAAG;gBACH,GAAG;gBACH,SAAS;AACT,gBAAA,OAAO,EACL,OAAO,cAAc,KAAK,QAAQ;AAChC,sBAAE,cAAc;sBACd,cAAc,CAAC,OAAO;aAC7B,CAAC;YAEF,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,EAAE;AAC7D,gBAAA,OAAO,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;aACpC;YAED,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5C,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,WAA4B,EAAE,UAAkB,KAAI;AACnE,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,MAAM;AAChB,iBAAA,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC;iBACzB,MAAM,CAAC,WAAW,CAAC;iBACnB,MAAM,CAAC,KAAK,CAAC,CAAC;AAEjB,YAAA,IAAI;AACF,gBAAA,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;aAC3E;YAAC,OAAO,GAAG,EAAE;AACZ,gBAAA,OAAO,KAAK,CAAC;aACd;AACH,SAAC,CAAC;AAvJA,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC;AACjC,YAAA,YAAY,EAAE,IAAI;YAClB,MAAM;YACN,KAAK;YACL,OAAO;AACP,YAAA,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,MAAM,EAAE,KAAkC;AAClD,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC;YAC/B,MAAM;YACN,KAAK;YACL,OAAO;AACP,YAAA,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,MAAM,EAAE,KAAkC;AAClD,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,sBAAsB,CAAC;YAC3C,MAAM;YACN,KAAK;YACL,OAAO;AACP,YAAA,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,MAAM,EAAE,KAAkC;AAClD,SAAA,CAAC,CAAC;KACJ;;AA/CuB,YAAe,CAAA,eAAA,GAAG,IAAH;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/gen/models/index.ts","../../src/utils/create-token.ts","../../src/types.ts","../../src/utils/rate-limit.ts","../../src/BaseApi.ts","../../src/gen/model-decoders/index.ts","../../src/gen/common/CommonApi.ts","../../src/gen/video/VideoApi.ts","../../src/gen/video/CallApi.ts","../../src/StreamCall.ts","../../src/StreamVideoClient.ts","../../src/gen/chat/ChatApi.ts","../../src/gen/chat/ChannelApi.ts","../../src/StreamChannel.ts","../../src/StreamChatClient.ts","../../src/gen/moderation/ModerationApi.ts","../../src/StreamModerationClient.ts","../../src/StreamClient.ts"],"sourcesContent":["export interface AIImageConfig {\n enabled: boolean;\n\n ocr_rules: OCRRule[];\n\n rules: AWSRekognitionRule[];\n\n async?: boolean;\n}\n\nexport interface AITextConfig {\n enabled: boolean;\n\n profile: string;\n\n rules: BodyguardRule[];\n\n severity_rules: BodyguardSeverityRule[];\n\n async?: boolean;\n}\n\nexport interface AIVideoConfig {\n enabled: boolean;\n\n rules: AWSRekognitionRule[];\n\n async?: boolean;\n}\n\nexport interface APIError {\n code: number;\n\n duration: string;\n\n message: string;\n\n more_info: string;\n\n status_code: number;\n\n details: number[];\n\n unrecoverable?: boolean;\n\n exception_fields?: Record<string, string>;\n}\n\nexport interface APNConfig {\n auth_key?: string;\n\n auth_type?: 'certificate' | 'token';\n\n bundle_id?: string;\n\n development?: boolean;\n\n disabled?: boolean;\n\n host?: string;\n\n key_id?: string;\n\n notification_template?: string;\n\n p12_cert?: string;\n\n team_id?: string;\n}\n\nexport interface APNConfigFields {\n development: boolean;\n\n enabled: boolean;\n\n notification_template: string;\n\n auth_key?: string;\n\n auth_type?: string;\n\n bundle_id?: string;\n\n host?: string;\n\n key_id?: string;\n\n p12_cert?: string;\n\n team_id?: string;\n}\n\nexport interface APNS {\n body: string;\n\n title: string;\n}\n\nexport interface AWSRekognitionRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n\n min_confidence: number;\n}\n\nexport interface Action {\n name: string;\n\n text: string;\n\n type: string;\n\n style?: string;\n\n value?: string;\n}\n\nexport interface ActionLog {\n created_at: Date;\n\n id: string;\n\n reason: string;\n\n reporter_type: string;\n\n review_queue_item_id: string;\n\n target_user_id: string;\n\n type: string;\n\n custom: Record<string, any>;\n\n review_queue_item?: ReviewQueueItem;\n\n target_user?: User;\n\n user?: User;\n}\n\nexport interface ActionLogResponse {\n created_at: Date;\n\n id: string;\n\n reason: string;\n\n target_user_id: string;\n\n type: string;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n review_queue_item?: ReviewQueueItem;\n\n target_user?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface AnyEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface AppResponseFields {\n async_url_enrich_enabled: boolean;\n\n auto_translation_enabled: boolean;\n\n campaign_enabled: boolean;\n\n cdn_expiration_seconds: number;\n\n custom_action_handler_url: string;\n\n disable_auth_checks: boolean;\n\n disable_permissions_checks: boolean;\n\n enforce_unique_usernames: string;\n\n guest_user_creation_disabled: boolean;\n\n image_moderation_enabled: boolean;\n\n moderation_enabled: boolean;\n\n moderation_multitenant_blocklist_enabled: boolean;\n\n moderation_webhook_url: string;\n\n multi_tenant_enabled: boolean;\n\n name: string;\n\n organization: string;\n\n permission_version: string;\n\n reminders_interval: number;\n\n sns_key: string;\n\n sns_secret: string;\n\n sns_topic_arn: string;\n\n sqs_key: string;\n\n sqs_secret: string;\n\n sqs_url: string;\n\n suspended: boolean;\n\n suspended_explanation: string;\n\n webhook_url: string;\n\n user_search_disallowed_roles: string[];\n\n webhook_events: string[];\n\n call_types: Record<string, CallType>;\n\n channel_configs: Record<string, ChannelConfig>;\n\n file_upload_config: FileUploadConfig;\n\n grants: Record<string, string[]>;\n\n image_upload_config: FileUploadConfig;\n\n policies: Record<string, Policy[]>;\n\n push_notifications: PushNotificationFields;\n\n before_message_send_hook_url?: string;\n\n revoke_tokens_issued_before?: Date;\n\n allowed_flag_reasons?: string[];\n\n geofences?: GeofenceResponse[];\n\n image_moderation_labels?: string[];\n\n datadog_info?: DataDogInfo;\n}\n\nexport interface AsyncExportChannelsEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportErrorEvent {\n created_at: Date;\n\n error: string;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportModerationLogsEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncExportUsersEvent {\n created_at: Date;\n\n finished_at: Date;\n\n started_at: Date;\n\n task_id: string;\n\n url: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface AsyncModerationCallbackConfig {\n mode?: 'CALLBACK_MODE_NONE' | 'CALLBACK_MODE_REST' | 'CALLBACK_MODE_TWIRP';\n\n server_url?: string;\n}\n\nexport interface AsyncModerationConfiguration {\n timeout_ms?: number;\n\n callback?: AsyncModerationCallbackConfig;\n}\n\nexport interface Attachment {\n custom: Record<string, any>;\n\n asset_url?: string;\n\n author_icon?: string;\n\n author_link?: string;\n\n author_name?: string;\n\n color?: string;\n\n fallback?: string;\n\n footer?: string;\n\n footer_icon?: string;\n\n image_url?: string;\n\n latitude?: number;\n\n longitude?: number;\n\n og_scrape_url?: string;\n\n original_height?: number;\n\n original_width?: number;\n\n pretext?: string;\n\n stopped_sharing?: boolean;\n\n text?: string;\n\n thumb_url?: string;\n\n title?: string;\n\n title_link?: string;\n\n type?: string;\n\n actions?: Action[];\n\n fields?: Field[];\n\n giphy?: Images;\n}\n\nexport interface AudioSettings {\n access_request_enabled: boolean;\n\n default_device: 'speaker' | 'earpiece';\n\n mic_default_on: boolean;\n\n opus_dtx_enabled: boolean;\n\n redundant_coding_enabled: boolean;\n\n speaker_default_on: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AudioSettingsRequest {\n default_device: 'speaker' | 'earpiece';\n\n access_request_enabled?: boolean;\n\n mic_default_on?: boolean;\n\n opus_dtx_enabled?: boolean;\n\n redundant_coding_enabled?: boolean;\n\n speaker_default_on?: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AudioSettingsResponse {\n access_request_enabled: boolean;\n\n default_device: 'speaker' | 'earpiece';\n\n mic_default_on: boolean;\n\n opus_dtx_enabled: boolean;\n\n redundant_coding_enabled: boolean;\n\n speaker_default_on: boolean;\n\n noise_cancellation?: NoiseCancellationSettings;\n}\n\nexport interface AutomodDetails {\n action?: string;\n\n original_message_type?: string;\n\n image_labels?: string[];\n\n message_details?: FlagMessageDetails;\n\n result?: MessageModerationResult;\n}\n\nexport interface AutomodPlatformCircumventionConfig {\n enabled: boolean;\n\n rules: AutomodRule[];\n\n async?: boolean;\n}\n\nexport interface AutomodRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n\n threshold: number;\n}\n\nexport interface AutomodSemanticFiltersConfig {\n enabled: boolean;\n\n rules: AutomodSemanticFiltersRule[];\n\n async?: boolean;\n}\n\nexport interface AutomodSemanticFiltersRule {\n action: 'flag' | 'shadow' | 'remove';\n\n name: string;\n\n threshold: number;\n}\n\nexport interface AutomodToxicityConfig {\n enabled: boolean;\n\n rules: AutomodRule[];\n\n async?: boolean;\n}\n\nexport interface AzureRequest {\n abs_account_name: string;\n\n abs_client_id: string;\n\n abs_client_secret: string;\n\n abs_tenant_id: string;\n}\n\nexport interface BackstageSettings {\n enabled: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface BackstageSettingsRequest {\n enabled?: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface BackstageSettingsResponse {\n enabled: boolean;\n\n join_ahead_time_seconds?: number;\n}\n\nexport interface Ban {\n created_at: Date;\n\n shadow: boolean;\n\n expires?: Date;\n\n reason?: string;\n\n channel?: Channel;\n\n created_by?: User;\n\n target?: User;\n}\n\nexport interface BanActionRequest {\n channel_ban_only?: boolean;\n\n ip_ban?: boolean;\n\n reason?: string;\n\n shadow?: boolean;\n\n timeout?: number;\n}\n\nexport interface BanRequest {\n target_user_id: string;\n\n banned_by_id?: string;\n\n channel_cid?: string;\n\n ip_ban?: boolean;\n\n reason?: string;\n\n shadow?: boolean;\n\n timeout?: number;\n\n banned_by?: UserRequest;\n}\n\nexport interface BanResponse {\n created_at: Date;\n\n expires?: Date;\n\n reason?: string;\n\n shadow?: boolean;\n\n banned_by?: UserResponse;\n\n channel?: ChannelResponse;\n\n user?: UserResponse;\n}\n\nexport interface BlockListConfig {\n enabled: boolean;\n\n rules: BlockListRule[];\n\n async?: boolean;\n}\n\nexport interface BlockListOptions {\n behavior: 'flag' | 'block' | 'shadow_block';\n\n blocklist: string;\n}\n\nexport interface BlockListResponse {\n name: string;\n\n type: string;\n\n words: string[];\n\n created_at?: Date;\n\n id?: string;\n\n team?: string;\n\n updated_at?: Date;\n}\n\nexport interface BlockListRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n name: string;\n\n team: string;\n}\n\nexport interface BlockUserRequest {\n user_id: string;\n}\n\nexport interface BlockUserResponse {\n duration: string;\n}\n\nexport interface BlockUsersRequest {\n blocked_user_id: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface BlockUsersResponse {\n blocked_by_user_id: string;\n\n blocked_user_id: string;\n\n created_at: Date;\n\n duration: string;\n}\n\nexport interface BlockedUserEvent {\n call_cid: string;\n\n created_at: Date;\n\n user: UserResponse;\n\n type: string;\n\n blocked_by_user?: UserResponse;\n}\n\nexport interface BlockedUserResponse {\n blocked_user_id: string;\n\n created_at: Date;\n\n user_id: string;\n\n blocked_user: UserResponse;\n\n user: UserResponse;\n}\n\nexport interface BodyguardRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n\n severity_rules: BodyguardSeverityRule[];\n}\n\nexport interface BodyguardSeverityRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n severity: 'low' | 'medium' | 'high' | 'critical';\n}\n\nexport interface Bound {\n inclusive: boolean;\n\n value: number;\n}\n\nexport interface BroadcastSettings {\n enabled: boolean;\n\n hls?: HLSSettings;\n\n rtmp?: RTMPSettings;\n}\n\nexport interface BroadcastSettingsRequest {\n enabled?: boolean;\n\n hls?: HLSSettingsRequest;\n\n rtmp?: RTMPSettingsRequest;\n}\n\nexport interface BroadcastSettingsResponse {\n enabled: boolean;\n\n hls: HLSSettingsResponse;\n\n rtmp: RTMPSettingsResponse;\n}\n\nexport interface BrowserDataResponse {\n name?: string;\n\n version?: string;\n}\n\nexport interface CallAcceptedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallClosedCaption {\n end_time: Date;\n\n speaker_id: string;\n\n start_time: Date;\n\n text: string;\n\n user: UserResponse;\n}\n\nexport interface CallClosedCaptionsFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallClosedCaptionsStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallClosedCaptionsStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallCreatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallDeletedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallDurationReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface CallDurationReportResponse {\n daily: DailyAggregateCallDurationReportResponse[];\n}\n\nexport interface CallEndedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n\n user?: UserResponse;\n}\n\nexport interface CallFrameRecordingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallFrameRecordingFrameReadyEvent {\n call_cid: string;\n\n captured_at: Date;\n\n created_at: Date;\n\n egress_id: string;\n\n session_id: string;\n\n track_type: string;\n\n url: string;\n\n users: Record<string, UserResponse>;\n\n type: string;\n}\n\nexport interface CallFrameRecordingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallFrameRecordingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n hls_playlist_url: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallHLSBroadcastingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface CallIngressResponse {\n rtmp: RTMPIngress;\n}\n\nexport interface CallLiveStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberAddedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberRemovedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: string[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberUpdatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallMemberUpdatedPermissionEvent {\n call_cid: string;\n\n created_at: Date;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n capabilities_by_role: Record<string, string[]>;\n\n type: string;\n}\n\nexport interface CallMissedEvent {\n call_cid: string;\n\n created_at: Date;\n\n notify_user: boolean;\n\n session_id: string;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallNotificationEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallParticipantCountReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface CallParticipantCountReportResponse {\n daily: DailyAggregateCallParticipantCountReportResponse[];\n}\n\nexport interface CallParticipantResponse {\n joined_at: Date;\n\n role: string;\n\n user_session_id: string;\n\n user: UserResponse;\n}\n\nexport interface CallReactionEvent {\n call_cid: string;\n\n created_at: Date;\n\n reaction: ReactionResponse;\n\n type: string;\n}\n\nexport interface CallRecording {\n end_time: Date;\n\n filename: string;\n\n session_id: string;\n\n start_time: Date;\n\n url: string;\n}\n\nexport interface CallRecordingFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRecordingReadyEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call_recording: CallRecording;\n\n type: string;\n}\n\nexport interface CallRecordingStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRecordingStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallRejectedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n\n reason?: string;\n}\n\nexport interface CallReportResponse {\n score: number;\n\n ended_at?: Date;\n\n started_at?: Date;\n}\n\nexport interface CallRequest {\n channel_cid?: string;\n\n created_by_id?: string;\n\n starts_at?: Date;\n\n team?: string;\n\n video?: boolean;\n\n members?: MemberRequest[];\n\n created_by?: UserRequest;\n\n custom?: Record<string, any>;\n\n settings_override?: CallSettingsRequest;\n}\n\nexport interface CallResponse {\n backstage: boolean;\n\n captioning: boolean;\n\n cid: string;\n\n created_at: Date;\n\n current_session_id: string;\n\n id: string;\n\n recording: boolean;\n\n transcribing: boolean;\n\n type: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n created_by: UserResponse;\n\n custom: Record<string, any>;\n\n egress: EgressResponse;\n\n ingress: CallIngressResponse;\n\n settings: CallSettingsResponse;\n\n channel_cid?: string;\n\n ended_at?: Date;\n\n join_ahead_time_seconds?: number;\n\n starts_at?: Date;\n\n team?: string;\n\n session?: CallSessionResponse;\n\n thumbnails?: ThumbnailResponse;\n}\n\nexport interface CallRingEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n video: boolean;\n\n members: MemberResponse[];\n\n call: CallResponse;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallRtmpBroadcastStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n name: string;\n\n type: string;\n}\n\nexport interface CallSessionEndedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallSessionParticipantJoinedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n participant: CallParticipantResponse;\n\n type: string;\n}\n\nexport interface CallSessionParticipantLeftEvent {\n call_cid: string;\n\n created_at: Date;\n\n duration_seconds: number;\n\n session_id: string;\n\n participant: CallParticipantResponse;\n\n type: string;\n}\n\nexport interface CallSessionResponse {\n anonymous_participant_count: number;\n\n id: string;\n\n participants: CallParticipantResponse[];\n\n accepted_by: Record<string, Date>;\n\n missed_by: Record<string, Date>;\n\n participants_count_by_role: Record<string, number>;\n\n rejected_by: Record<string, Date>;\n\n ended_at?: Date;\n\n live_ended_at?: Date;\n\n live_started_at?: Date;\n\n started_at?: Date;\n\n timer_ends_at?: Date;\n}\n\nexport interface CallSessionStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n call: CallResponse;\n\n type: string;\n}\n\nexport interface CallSettings {\n audio?: AudioSettings;\n\n backstage?: BackstageSettings;\n\n broadcasting?: BroadcastSettings;\n\n frame_recording?: FrameRecordSettings;\n\n geofencing?: GeofenceSettings;\n\n limits?: LimitsSettings;\n\n recording?: RecordSettings;\n\n ring?: RingSettings;\n\n screensharing?: ScreensharingSettings;\n\n session?: SessionSettings;\n\n thumbnails?: ThumbnailsSettings;\n\n transcription?: TranscriptionSettings;\n\n video?: VideoSettings;\n}\n\nexport interface CallSettingsRequest {\n audio?: AudioSettingsRequest;\n\n backstage?: BackstageSettingsRequest;\n\n broadcasting?: BroadcastSettingsRequest;\n\n frame_recording?: FrameRecordingSettingsRequest;\n\n geofencing?: GeofenceSettingsRequest;\n\n limits?: LimitsSettingsRequest;\n\n recording?: RecordSettingsRequest;\n\n ring?: RingSettingsRequest;\n\n screensharing?: ScreensharingSettingsRequest;\n\n session?: SessionSettingsRequest;\n\n thumbnails?: ThumbnailsSettingsRequest;\n\n transcription?: TranscriptionSettingsRequest;\n\n video?: VideoSettingsRequest;\n}\n\nexport interface CallSettingsResponse {\n audio: AudioSettingsResponse;\n\n backstage: BackstageSettingsResponse;\n\n broadcasting: BroadcastSettingsResponse;\n\n frame_recording: FrameRecordingSettingsResponse;\n\n geofencing: GeofenceSettingsResponse;\n\n limits: LimitsSettingsResponse;\n\n recording: RecordSettingsResponse;\n\n ring: RingSettingsResponse;\n\n screensharing: ScreensharingSettingsResponse;\n\n session: SessionSettingsResponse;\n\n thumbnails: ThumbnailsSettingsResponse;\n\n transcription: TranscriptionSettingsResponse;\n\n video: VideoSettingsResponse;\n}\n\nexport interface CallStateResponseFields {\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface CallStatsReportReadyEvent {\n call_cid: string;\n\n created_at: Date;\n\n session_id: string;\n\n type: string;\n}\n\nexport interface CallStatsReportSummaryResponse {\n call_cid: string;\n\n call_duration_seconds: number;\n\n call_session_id: string;\n\n call_status: string;\n\n first_stats_time: Date;\n\n created_at?: Date;\n\n min_user_rating?: number;\n\n quality_score?: number;\n}\n\nexport interface CallTranscription {\n end_time: Date;\n\n filename: string;\n\n start_time: Date;\n\n url: string;\n}\n\nexport interface CallTranscriptionFailedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallTranscriptionReadyEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n call_transcription: CallTranscription;\n\n type: string;\n}\n\nexport interface CallTranscriptionStartedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallTranscriptionStoppedEvent {\n call_cid: string;\n\n created_at: Date;\n\n egress_id: string;\n\n type: string;\n}\n\nexport interface CallType {\n app_pk: number;\n\n created_at: Date;\n\n enable_live_insights: boolean;\n\n external_storage: string;\n\n name: string;\n\n pk: number;\n\n updated_at: Date;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettings;\n}\n\nexport interface CallTypeResponse {\n created_at: Date;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface CallUpdatedEvent {\n call_cid: string;\n\n created_at: Date;\n\n call: CallResponse;\n\n capabilities_by_role: Record<string, string[]>;\n\n type: string;\n}\n\nexport interface CallUserFeedbackSubmittedEvent {\n call_cid: string;\n\n created_at: Date;\n\n rating: number;\n\n session_id: string;\n\n user: UserResponse;\n\n type: string;\n\n reason?: string;\n\n sdk?: string;\n\n sdk_version?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface CallUserMutedEvent {\n call_cid: string;\n\n created_at: Date;\n\n from_user_id: string;\n\n muted_user_ids: string[];\n\n type: string;\n}\n\nexport interface CallsPerDayReport {\n count: number;\n}\n\nexport interface CallsPerDayReportResponse {\n daily: DailyAggregateCallsPerDayReportResponse[];\n}\n\nexport interface CampaignChannelTemplate {\n type: string;\n\n custom: Record<string, any>;\n\n id?: string;\n\n team?: string;\n\n members?: string[];\n}\n\nexport interface CampaignCompletedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n campaign?: CampaignResponse;\n}\n\nexport interface CampaignMessageTemplate {\n poll_id: string;\n\n text: string;\n\n attachments: Attachment[];\n\n custom: Record<string, any>;\n}\n\nexport interface CampaignResponse {\n create_channels: boolean;\n\n created_at: Date;\n\n description: string;\n\n id: string;\n\n name: string;\n\n sender_id: string;\n\n sender_mode: string;\n\n show_channels: boolean;\n\n skip_push: boolean;\n\n skip_webhook: boolean;\n\n status: string;\n\n updated_at: Date;\n\n segment_ids: string[];\n\n segments: Segment[];\n\n user_ids: string[];\n\n users: UserResponse[];\n\n stats: CampaignStatsResponse;\n\n scheduled_for?: Date;\n\n stop_at?: Date;\n\n channel_template?: CampaignChannelTemplate;\n\n message_template?: CampaignMessageTemplate;\n\n sender?: UserResponse;\n}\n\nexport interface CampaignStartedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n campaign?: CampaignResponse;\n}\n\nexport interface CampaignStatsResponse {\n progress: number;\n\n stats_channels_created: number;\n\n stats_completed_at: Date;\n\n stats_messages_sent: number;\n\n stats_started_at: Date;\n\n stats_users_read: number;\n\n stats_users_sent: number;\n}\n\nexport interface CastPollVoteRequest {\n user_id?: string;\n\n user?: UserRequest;\n\n vote?: VoteData;\n}\n\nexport interface Channel {\n auto_translation_language: string;\n\n cid: string;\n\n created_at: Date;\n\n disabled: boolean;\n\n frozen: boolean;\n\n id: string;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n auto_translation_enabled?: boolean;\n\n cooldown?: number;\n\n deleted_at?: Date;\n\n last_campaigns?: string;\n\n last_message_at?: Date;\n\n member_count?: number;\n\n team?: string;\n\n invites?: ChannelMember[];\n\n members?: ChannelMember[];\n\n config?: ChannelConfig;\n\n config_overrides?: ConfigOverrides;\n\n created_by?: User;\n\n truncated_by?: User;\n}\n\nexport interface ChannelConfig {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: string[];\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface ChannelConfigWithInfo {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: Command[];\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n\n grants?: Record<string, string[]>;\n}\n\nexport interface ChannelCreatedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelDeletedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelExport {\n cid?: string;\n\n id?: string;\n\n messages_since?: Date;\n\n messages_until?: Date;\n\n type?: string;\n}\n\nexport interface ChannelFrozenEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelGetOrCreateRequest {\n hide_for_creator?: boolean;\n\n state?: boolean;\n\n thread_unread_counts?: boolean;\n\n data?: ChannelInput;\n\n members?: PaginationParams;\n\n messages?: MessagePaginationParams;\n\n watchers?: PaginationParams;\n}\n\nexport interface ChannelHiddenEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n clear_history: boolean;\n\n created_at: Date;\n\n type: string;\n\n channel?: ChannelResponse;\n\n user?: User;\n}\n\nexport interface ChannelInput {\n auto_translation_enabled?: boolean;\n\n auto_translation_language?: string;\n\n created_by_id?: string;\n\n disabled?: boolean;\n\n frozen?: boolean;\n\n team?: string;\n\n truncated_by_id?: string;\n\n invites?: ChannelMember[];\n\n members?: ChannelMember[];\n\n config_overrides?: ChannelConfig;\n\n created_by?: UserRequest;\n\n custom?: Record<string, any>;\n}\n\nexport interface ChannelMember {\n banned: boolean;\n\n channel_role: string;\n\n created_at: Date;\n\n notifications_muted: boolean;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n archived_at?: Date;\n\n ban_expires?: Date;\n\n deleted_at?: Date;\n\n invite_accepted_at?: Date;\n\n invite_rejected_at?: Date;\n\n invited?: boolean;\n\n is_moderator?: boolean;\n\n pinned_at?: Date;\n\n role?: 'member' | 'moderator' | 'admin' | 'owner';\n\n status?: string;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface ChannelMemberResponse {\n banned: boolean;\n\n channel_role: string;\n\n created_at: Date;\n\n notifications_muted: boolean;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n archived_at?: Date;\n\n ban_expires?: Date;\n\n deleted_at?: Date;\n\n invite_accepted_at?: Date;\n\n invite_rejected_at?: Date;\n\n invited?: boolean;\n\n is_moderator?: boolean;\n\n pinned_at?: Date;\n\n role?: 'member' | 'moderator' | 'admin' | 'owner';\n\n status?: string;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface ChannelMessages {\n messages: Message[];\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelMute {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n channel?: ChannelResponse;\n\n user?: UserResponse;\n}\n\nexport interface ChannelMutedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport const ChannelOwnCapability = {\n BAN_CHANNEL_MEMBERS: 'ban-channel-members',\n CAST_POLL_VOTE: 'cast-poll-vote',\n CONNECT_EVENTS: 'connect-events',\n CREATE_ATTACHMENT: 'create-attachment',\n DELETE_ANY_MESSAGE: 'delete-any-message',\n DELETE_CHANNEL: 'delete-channel',\n DELETE_OWN_MESSAGE: 'delete-own-message',\n FLAG_MESSAGE: 'flag-message',\n FREEZE_CHANNEL: 'freeze-channel',\n JOIN_CHANNEL: 'join-channel',\n LEAVE_CHANNEL: 'leave-channel',\n MUTE_CHANNEL: 'mute-channel',\n PIN_MESSAGE: 'pin-message',\n QUERY_POLL_VOTES: 'query-poll-votes',\n QUOTE_MESSAGE: 'quote-message',\n READ_EVENTS: 'read-events',\n SEARCH_MESSAGES: 'search-messages',\n SEND_CUSTOM_EVENTS: 'send-custom-events',\n SEND_LINKS: 'send-links',\n SEND_MESSAGE: 'send-message',\n SEND_POLL: 'send-poll',\n SEND_REACTION: 'send-reaction',\n SEND_REPLY: 'send-reply',\n SEND_RESTRICTED_VISIBILITY_MESSAGE: 'send-restricted-visibility-message',\n SEND_TYPING_EVENTS: 'send-typing-events',\n SET_CHANNEL_COOLDOWN: 'set-channel-cooldown',\n SKIP_SLOW_MODE: 'skip-slow-mode',\n SLOW_MODE: 'slow-mode',\n TYPING_EVENTS: 'typing-events',\n UPDATE_ANY_MESSAGE: 'update-any-message',\n UPDATE_CHANNEL: 'update-channel',\n UPDATE_CHANNEL_MEMBERS: 'update-channel-members',\n UPDATE_OWN_MESSAGE: 'update-own-message',\n UPDATE_THREAD: 'update-thread',\n UPLOAD_FILE: 'upload-file',\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type ChannelOwnCapability =\n (typeof ChannelOwnCapability)[keyof typeof ChannelOwnCapability];\n\nexport interface ChannelPushPreferences {\n chat_level?: string;\n\n disabled_until?: Date;\n}\n\nexport interface ChannelResponse {\n cid: string;\n\n created_at: Date;\n\n disabled: boolean;\n\n frozen: boolean;\n\n id: string;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n auto_translation_enabled?: boolean;\n\n auto_translation_language?: string;\n\n blocked?: boolean;\n\n cooldown?: number;\n\n deleted_at?: Date;\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n last_message_at?: Date;\n\n member_count?: number;\n\n mute_expires_at?: Date;\n\n muted?: boolean;\n\n team?: string;\n\n truncated_at?: Date;\n\n members?: ChannelMember[];\n\n own_capabilities?: ChannelOwnCapability[];\n\n config?: ChannelConfigWithInfo;\n\n created_by?: UserResponse;\n\n truncated_by?: UserResponse;\n}\n\nexport interface ChannelStateResponse {\n duration: string;\n\n members: ChannelMember[];\n\n messages: MessageResponse[];\n\n pinned_messages: MessageResponse[];\n\n threads: ThreadStateResponse[];\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n watcher_count?: number;\n\n pending_messages?: PendingMessageResponse[];\n\n read?: ReadStateResponse[];\n\n watchers?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n membership?: ChannelMember;\n\n push_preferences?: ChannelPushPreferences;\n}\n\nexport interface ChannelStateResponseFields {\n members: ChannelMember[];\n\n messages: MessageResponse[];\n\n pinned_messages: MessageResponse[];\n\n threads: ThreadStateResponse[];\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n watcher_count?: number;\n\n pending_messages?: PendingMessageResponse[];\n\n read?: ReadStateResponse[];\n\n watchers?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n membership?: ChannelMember;\n\n push_preferences?: ChannelPushPreferences;\n}\n\nexport interface ChannelTruncatedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface ChannelTypeConfig {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: Command[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface ChannelUnFrozenEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelUnmutedEvent {\n created_at: Date;\n\n type: string;\n}\n\nexport interface ChannelUpdatedEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n channel?: ChannelResponse;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface ChannelVisibleEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n user?: User;\n}\n\nexport interface ChatActivityStatsResponse {\n messages?: MessageStatsResponse;\n}\n\nexport interface CheckExternalStorageResponse {\n duration: string;\n\n file_url: string;\n}\n\nexport interface CheckPushRequest {\n apn_template?: string;\n\n firebase_data_template?: string;\n\n firebase_template?: string;\n\n message_id?: string;\n\n push_provider_name?: string;\n\n push_provider_type?: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n skip_devices?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface CheckPushResponse {\n duration: string;\n\n rendered_apn_template?: string;\n\n rendered_firebase_template?: string;\n\n skip_devices?: boolean;\n\n general_errors?: string[];\n\n device_errors?: Record<string, DeviceErrorInfo>;\n\n rendered_message?: Record<string, string>;\n}\n\nexport interface CheckRequest {\n config_key: string;\n\n entity_creator_id: string;\n\n entity_id: string;\n\n entity_type: string;\n\n config_team?: string;\n\n test_mode?: boolean;\n\n user_id?: string;\n\n moderation_payload?: ModerationPayload;\n\n options?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CheckResponse {\n duration: string;\n\n recommended_action: string;\n\n status: string;\n\n task_id?: string;\n\n item?: ReviewQueueItem;\n}\n\nexport interface CheckSNSRequest {\n sns_key?: string;\n\n sns_secret?: string;\n\n sns_topic_arn?: string;\n}\n\nexport interface CheckSNSResponse {\n duration: string;\n\n status: 'ok' | 'error';\n\n error?: string;\n\n data?: Record<string, any>;\n}\n\nexport interface CheckSQSRequest {\n sqs_key?: string;\n\n sqs_secret?: string;\n\n sqs_url?: string;\n}\n\nexport interface CheckSQSResponse {\n duration: string;\n\n status: 'ok' | 'error';\n\n error?: string;\n\n data?: Record<string, any>;\n}\n\nexport interface ClientOSDataResponse {\n architecture?: string;\n\n name?: string;\n\n version?: string;\n}\n\nexport interface ClosedCaptionEvent {\n call_cid: string;\n\n created_at: Date;\n\n closed_caption: CallClosedCaption;\n\n type: string;\n}\n\nexport interface CollectUserFeedbackRequest {\n rating: number;\n\n sdk: string;\n\n sdk_version: string;\n\n reason?: string;\n\n user_session_id?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface CollectUserFeedbackResponse {\n duration: string;\n}\n\nexport interface Command {\n args: string;\n\n description: string;\n\n name: string;\n\n set: string;\n\n created_at?: Date;\n\n updated_at?: Date;\n}\n\nexport interface CommitMessageRequest {}\n\nexport interface ConfigOverrides {\n commands: string[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block';\n\n max_message_length?: number;\n\n quotes?: boolean;\n\n reactions?: boolean;\n\n replies?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n}\n\nexport interface ConfigResponse {\n async: boolean;\n\n created_at: Date;\n\n key: string;\n\n team: string;\n\n updated_at: Date;\n\n ai_image_config?: AIImageConfig;\n\n ai_text_config?: AITextConfig;\n\n ai_video_config?: AIVideoConfig;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n block_list_config?: BlockListConfig;\n\n velocity_filter_config?: VelocityFilterConfig;\n}\n\nexport interface CountByMinuteResponse {\n count: number;\n\n start_ts: Date;\n}\n\nexport interface CreateBlockListRequest {\n name: string;\n\n words: string[];\n\n team?: string;\n\n type?: 'regex' | 'domain' | 'domain_allowlist' | 'email' | 'word';\n}\n\nexport interface CreateBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface CreateCallTypeRequest {\n name: string;\n\n external_storage?: string;\n\n grants?: Record<string, string[]>;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettingsRequest;\n}\n\nexport interface CreateCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface CreateChannelTypeRequest {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block';\n\n max_message_length: number;\n\n name: string;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n connect_events?: boolean;\n\n custom_events?: boolean;\n\n mark_messages_pending?: boolean;\n\n message_retention?: 'infinite' | 'numeric';\n\n mutes?: boolean;\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n polls?: boolean;\n\n push_notifications?: boolean;\n\n reactions?: boolean;\n\n read_events?: boolean;\n\n replies?: boolean;\n\n search?: boolean;\n\n skip_last_msg_update_for_system_msgs?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n\n blocklists?: BlockListOptions[];\n\n commands?: string[];\n\n permissions?: PolicyRequest[];\n\n grants?: Record<string, string[]>;\n}\n\nexport interface CreateChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: string[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface CreateCommandRequest {\n description: string;\n\n name: string;\n\n args?: string;\n\n set?: string;\n}\n\nexport interface CreateCommandResponse {\n duration: string;\n\n command?: Command;\n}\n\nexport interface CreateDeviceRequest {\n id: string;\n\n push_provider: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n push_provider_name?: string;\n\n user_id?: string;\n\n voip_token?: boolean;\n\n user?: UserRequest;\n}\n\nexport interface CreateExternalStorageRequest {\n bucket: string;\n\n name: string;\n\n storage_type: 's3' | 'gcs' | 'abs';\n\n gcs_credentials?: string;\n\n path?: string;\n\n aws_s3?: S3Request;\n\n azure_blob?: AzureRequest;\n}\n\nexport interface CreateExternalStorageResponse {\n duration: string;\n}\n\nexport interface CreateGuestRequest {\n user: UserRequest;\n}\n\nexport interface CreateGuestResponse {\n access_token: string;\n\n duration: string;\n\n user: UserResponse;\n}\n\nexport interface CreateImportRequest {\n mode: 'insert' | 'upsert';\n\n path: string;\n}\n\nexport interface CreateImportResponse {\n duration: string;\n\n import_task?: ImportTask;\n}\n\nexport interface CreateImportURLRequest {\n filename?: string;\n}\n\nexport interface CreateImportURLResponse {\n duration: string;\n\n path: string;\n\n upload_url: string;\n}\n\nexport interface CreatePollOptionRequest {\n text: string;\n\n position?: number;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CreatePollRequest {\n name: string;\n\n allow_answers?: boolean;\n\n allow_user_suggested_options?: boolean;\n\n description?: string;\n\n enforce_unique_vote?: boolean;\n\n id?: string;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n user_id?: string;\n\n voting_visibility?: 'anonymous' | 'public';\n\n options?: PollOptionInput[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface CreateRoleRequest {\n name: string;\n}\n\nexport interface CreateRoleResponse {\n duration: string;\n\n role: Role;\n}\n\nexport interface CustomActionRequest {\n id?: string;\n\n options?: Record<string, any>;\n}\n\nexport interface CustomCheckFlag {\n type: string;\n\n reason?: string;\n\n labels?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface CustomCheckRequest {\n entity_id: string;\n\n entity_type: string;\n\n flags: CustomCheckFlag[];\n\n entity_creator_id?: string;\n\n user_id?: string;\n\n moderation_payload?: ModerationPayload;\n\n user?: UserRequest;\n}\n\nexport interface CustomCheckResponse {\n duration: string;\n\n id: string;\n\n status: string;\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface CustomVideoEvent {\n call_cid: string;\n\n created_at: Date;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface DailyAggregateCallDurationReportResponse {\n date: string;\n\n report: CallDurationReport;\n}\n\nexport interface DailyAggregateCallParticipantCountReportResponse {\n date: string;\n\n report: CallParticipantCountReport;\n}\n\nexport interface DailyAggregateCallsPerDayReportResponse {\n date: string;\n\n report: CallsPerDayReport;\n}\n\nexport interface DailyAggregateQualityScoreReportResponse {\n date: string;\n\n report: QualityScoreReport;\n}\n\nexport interface DailyAggregateSDKUsageReportResponse {\n date: string;\n\n report: SDKUsageReport;\n}\n\nexport interface DailyAggregateUserFeedbackReportResponse {\n date: string;\n\n report: UserFeedbackReport;\n}\n\nexport interface Data {\n id: string;\n}\n\nexport interface DataDogInfo {\n api_key?: string;\n\n enabled?: boolean;\n\n site?: string;\n}\n\nexport interface DeactivateUserRequest {\n created_by_id?: string;\n\n mark_messages_deleted?: boolean;\n}\n\nexport interface DeactivateUserResponse {\n duration: string;\n\n user?: UserResponse;\n}\n\nexport interface DeactivateUsersRequest {\n user_ids: string[];\n\n created_by_id?: string;\n\n mark_channels_deleted?: boolean;\n\n mark_messages_deleted?: boolean;\n}\n\nexport interface DeactivateUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface DeleteActivityRequest {\n hard_delete?: boolean;\n}\n\nexport interface DeleteCallRequest {\n hard?: boolean;\n}\n\nexport interface DeleteCallResponse {\n duration: string;\n\n call: CallResponse;\n\n task_id?: string;\n}\n\nexport interface DeleteChannelResponse {\n duration: string;\n\n channel?: ChannelResponse;\n}\n\nexport interface DeleteChannelsRequest {\n cids: string[];\n\n hard_delete?: boolean;\n}\n\nexport interface DeleteChannelsResponse {\n duration: string;\n\n task_id?: string;\n\n result?: Record<string, DeleteChannelsResultResponse>;\n}\n\nexport interface DeleteChannelsResultResponse {\n status: string;\n\n error?: string;\n}\n\nexport interface DeleteCommandResponse {\n duration: string;\n\n name: string;\n}\n\nexport interface DeleteExternalStorageResponse {\n duration: string;\n}\n\nexport interface DeleteMessageRequest {\n hard_delete?: boolean;\n}\n\nexport interface DeleteMessageResponse {\n duration: string;\n\n message: MessageResponse;\n}\n\nexport interface DeleteModerationConfigResponse {\n duration: string;\n}\n\nexport interface DeleteModerationTemplateResponse {\n duration: string;\n}\n\nexport interface DeleteReactionRequest {\n hard_delete?: boolean;\n}\n\nexport interface DeleteReactionResponse {\n duration: string;\n\n message: MessageResponse;\n\n reaction: ReactionResponse;\n}\n\nexport interface DeleteRecordingResponse {\n duration: string;\n}\n\nexport interface DeleteSegmentTargetsRequest {\n target_ids: string[];\n}\n\nexport interface DeleteTranscriptionResponse {\n duration: string;\n}\n\nexport interface DeleteUserRequest {\n delete_conversation_channels?: boolean;\n\n delete_feeds_content?: boolean;\n\n hard_delete?: boolean;\n\n mark_messages_deleted?: boolean;\n}\n\nexport interface DeleteUsersRequest {\n user_ids: string[];\n\n calls?: 'soft' | 'hard';\n\n conversations?: 'soft' | 'hard';\n\n messages?: 'soft' | 'pruning' | 'hard';\n\n new_call_owner_id?: string;\n\n new_channel_owner_id?: string;\n\n user?: 'soft' | 'pruning' | 'hard';\n}\n\nexport interface DeleteUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface Device {\n created_at: Date;\n\n id: string;\n\n push_provider: 'firebase' | 'apn' | 'huawei' | 'xiaomi';\n\n user_id: string;\n\n disabled?: boolean;\n\n disabled_reason?: string;\n\n push_provider_name?: string;\n\n voip?: boolean;\n}\n\nexport interface DeviceDataResponse {\n name?: string;\n\n version?: string;\n}\n\nexport interface DeviceErrorInfo {\n error_message: string;\n\n provider: string;\n\n provider_name: string;\n}\n\nexport interface DeviceResponse {\n created_at: Date;\n\n id: string;\n\n push_provider: string;\n\n user_id: string;\n\n disabled?: boolean;\n\n disabled_reason?: string;\n\n push_provider_name?: string;\n\n voip?: boolean;\n}\n\nexport interface DraftPayloadResponse {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n\n html?: string;\n\n mml?: string;\n\n parent_id?: string;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n silent?: boolean;\n\n type?: string;\n\n attachments?: Attachment[];\n\n mentioned_users?: UserResponse[];\n}\n\nexport interface DraftResponse {\n channel_cid: string;\n\n created_at: Date;\n\n message: DraftPayloadResponse;\n\n parent_id?: string;\n\n channel?: ChannelResponse;\n\n parent_message?: MessageResponse;\n\n quoted_message?: MessageResponse;\n}\n\nexport interface EdgeResponse {\n continent_code: string;\n\n country_iso_code: string;\n\n green: number;\n\n id: string;\n\n latency_test_url: string;\n\n latitude: number;\n\n longitude: number;\n\n red: number;\n\n subdivision_iso_code: string;\n\n yellow: number;\n}\n\nexport interface EgressHLSResponse {\n playlist_url: string;\n\n status: string;\n}\n\nexport interface EgressRTMPResponse {\n name: string;\n\n started_at: Date;\n\n stream_key?: string;\n\n stream_url?: string;\n}\n\nexport interface EgressResponse {\n broadcasting: boolean;\n\n rtmps: EgressRTMPResponse[];\n\n frame_recording?: FrameRecordingResponse;\n\n hls?: EgressHLSResponse;\n}\n\nexport interface EndCallRequest {}\n\nexport interface EndCallResponse {\n duration: string;\n}\n\nexport interface EnrichedActivity {\n foreign_id?: string;\n\n id?: string;\n\n score?: number;\n\n verb?: string;\n\n to?: string[];\n\n actor?: Data;\n\n latest_reactions?: Record<string, EnrichedReaction[]>;\n\n object?: Data;\n\n origin?: Data;\n\n own_reactions?: Record<string, EnrichedReaction[]>;\n\n reaction_counts?: Record<string, number>;\n\n target?: Data;\n}\n\nexport interface EnrichedReaction {\n activity_id: string;\n\n kind: string;\n\n user_id: string;\n\n id?: string;\n\n parent?: string;\n\n target_feeds?: string[];\n\n children_counts?: Record<string, number>;\n\n created_at?: Time;\n\n data?: Record<string, any>;\n\n latest_children?: Record<string, EnrichedReaction[]>;\n\n own_children?: Record<string, EnrichedReaction[]>;\n\n updated_at?: Time;\n\n user?: Data;\n}\n\nexport interface EntityCreator {\n ban_count: number;\n\n banned: boolean;\n\n deleted_content_count: number;\n\n id: string;\n\n online: boolean;\n\n role: string;\n\n custom: Record<string, any>;\n\n teams_role: Record<string, string>;\n\n ban_expires?: Date;\n\n created_at?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n invisible?: boolean;\n\n language?: string;\n\n last_active?: Date;\n\n last_engaged_at?: Date;\n\n revoke_tokens_issued_before?: Date;\n\n updated_at?: Date;\n\n teams?: string[];\n\n privacy_settings?: PrivacySettings;\n}\n\nexport interface EntityCreatorResponse {\n ban_count: number;\n\n banned: boolean;\n\n created_at: Date;\n\n deleted_content_count: number;\n\n flagged_count: number;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n devices?: DeviceResponse[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_notifications?: PushNotificationSettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface ErrorResult {\n type: string;\n\n stacktrace?: string;\n\n version?: string;\n}\n\nexport interface EventNotificationSettings {\n enabled: boolean;\n\n apns: APNS;\n}\n\nexport interface EventRequest {\n type: string;\n\n parent_id?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface EventResponse {\n duration: string;\n\n event: WSEvent;\n}\n\nexport interface ExportChannelsRequest {\n channels: ChannelExport[];\n\n clear_deleted_message_text?: boolean;\n\n export_users?: boolean;\n\n include_soft_deleted_channels?: boolean;\n\n include_truncated_messages?: boolean;\n\n version?: string;\n}\n\nexport interface ExportChannelsResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ExportUserResponse {\n duration: string;\n\n messages?: MessageResponse[];\n\n reactions?: ReactionResponse[];\n\n user?: UserResponse;\n}\n\nexport interface ExportUsersRequest {\n user_ids: string[];\n}\n\nexport interface ExportUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ExternalStorageResponse {\n bucket: string;\n\n name: string;\n\n path: string;\n\n type: 's3' | 'gcs' | 'abs';\n}\n\nexport interface FeedsModerationTemplateConfig {\n config_key: string;\n\n data_types: Record<string, string>;\n}\n\nexport interface Field {\n short: boolean;\n\n title: string;\n\n value: string;\n}\n\nexport interface FileUploadConfig {\n size_limit: number;\n\n allowed_file_extensions?: string[];\n\n allowed_mime_types?: string[];\n\n blocked_file_extensions?: string[];\n\n blocked_mime_types?: string[];\n}\n\nexport interface FileUploadRequest {\n file?: string;\n\n user?: OnlyUserID;\n}\n\nexport interface FileUploadResponse {\n duration: string;\n\n file?: string;\n\n thumb_url?: string;\n}\n\nexport interface FirebaseConfig {\n apn_template?: string;\n\n credentials_json?: string;\n\n data_template?: string;\n\n disabled?: boolean;\n\n notification_template?: string;\n\n server_key?: string;\n}\n\nexport interface FirebaseConfigFields {\n apn_template: string;\n\n data_template: string;\n\n enabled: boolean;\n\n notification_template: string;\n\n credentials_json?: string;\n\n server_key?: string;\n}\n\nexport interface Flag {\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n updated_at: Date;\n\n result: Array<Record<string, any>>;\n\n entity_creator_id?: string;\n\n moderation_payload_hash?: string;\n\n reason?: string;\n\n review_queue_item_id?: string;\n\n type?: string;\n\n labels?: string[];\n\n custom?: Record<string, any>;\n\n moderation_payload?: ModerationPayload;\n\n user?: User;\n}\n\nexport interface FlagDetails {\n original_text: string;\n\n extra: Record<string, any>;\n\n automod?: AutomodDetails;\n}\n\nexport interface FlagFeedback {\n created_at: Date;\n\n message_id: string;\n\n labels: Label[];\n}\n\nexport interface FlagMessageDetails {\n pin_changed?: boolean;\n\n should_enrich?: boolean;\n\n skip_push?: boolean;\n\n updated_by_id?: string;\n}\n\nexport interface FlagRequest {\n entity_id: string;\n\n entity_type: string;\n\n entity_creator_id?: string;\n\n reason?: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n moderation_payload?: ModerationPayload;\n\n user?: UserRequest;\n}\n\nexport interface FlagResponse {\n duration: string;\n\n item_id: string;\n}\n\nexport interface FlagUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n created_by?: UserResponse;\n\n message?: MessageResponse;\n\n user?: UserResponse;\n}\n\nexport interface FrameRecordSettings {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: string;\n}\n\nexport interface FrameRecordingResponse {\n status: string;\n}\n\nexport interface FrameRecordingSettingsRequest {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: '360p' | '480p' | '720p' | '1080p' | '1440p';\n}\n\nexport interface FrameRecordingSettingsResponse {\n capture_interval_in_seconds: number;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n quality?: string;\n}\n\nexport interface FullUserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n channel_mutes: ChannelMute[];\n\n devices: DeviceResponse[];\n\n mutes: UserMuteResponse[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n latest_hidden_channels?: string[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface GeofenceResponse {\n name: string;\n\n description?: string;\n\n type?: string;\n\n country_codes?: string[];\n}\n\nexport interface GeofenceSettings {\n names: string[];\n}\n\nexport interface GeofenceSettingsRequest {\n names?: string[];\n}\n\nexport interface GeofenceSettingsResponse {\n names: string[];\n}\n\nexport interface GetApplicationResponse {\n duration: string;\n\n app: AppResponseFields;\n}\n\nexport interface GetBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface GetBlockedUsersResponse {\n duration: string;\n\n blocks: BlockedUserResponse[];\n}\n\nexport interface GetCallReportResponse {\n duration: string;\n\n session_id: string;\n\n report: ReportResponse;\n\n chat_activity?: ChatActivityStatsResponse;\n}\n\nexport interface GetCallResponse {\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface GetCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface GetCampaignResponse {\n duration: string;\n\n campaign?: CampaignResponse;\n\n users?: PagerResponse;\n}\n\nexport interface GetChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: Command[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface GetCommandResponse {\n args: string;\n\n description: string;\n\n duration: string;\n\n name: string;\n\n set: string;\n\n created_at?: Date;\n\n updated_at?: Date;\n}\n\nexport interface GetConfigResponse {\n duration: string;\n\n config?: ConfigResponse;\n}\n\nexport interface GetCustomPermissionResponse {\n duration: string;\n\n permission: Permission;\n}\n\nexport interface GetDraftResponse {\n duration: string;\n\n draft: DraftResponse;\n}\n\nexport interface GetEdgesResponse {\n duration: string;\n\n edges: EdgeResponse[];\n}\n\nexport interface GetImportResponse {\n duration: string;\n\n import_task?: ImportTask;\n}\n\nexport interface GetManyMessagesResponse {\n duration: string;\n\n messages: MessageResponse[];\n}\n\nexport interface GetMessageResponse {\n duration: string;\n\n message: MessageWithChannelResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface GetOGResponse {\n duration: string;\n\n custom: Record<string, any>;\n\n asset_url?: string;\n\n author_icon?: string;\n\n author_link?: string;\n\n author_name?: string;\n\n color?: string;\n\n fallback?: string;\n\n footer?: string;\n\n footer_icon?: string;\n\n image_url?: string;\n\n latitude?: number;\n\n longitude?: number;\n\n og_scrape_url?: string;\n\n original_height?: number;\n\n original_width?: number;\n\n pretext?: string;\n\n stopped_sharing?: boolean;\n\n text?: string;\n\n thumb_url?: string;\n\n title?: string;\n\n title_link?: string;\n\n type?: string;\n\n actions?: Action[];\n\n fields?: Field[];\n\n giphy?: Images;\n}\n\nexport interface GetOrCreateCallRequest {\n members_limit?: number;\n\n notify?: boolean;\n\n ring?: boolean;\n\n video?: boolean;\n\n data?: CallRequest;\n}\n\nexport interface GetOrCreateCallResponse {\n created: boolean;\n\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface GetRateLimitsResponse {\n duration: string;\n\n android?: Record<string, LimitInfo>;\n\n ios?: Record<string, LimitInfo>;\n\n server_side?: Record<string, LimitInfo>;\n\n web?: Record<string, LimitInfo>;\n}\n\nexport interface GetReactionsResponse {\n duration: string;\n\n reactions: Reaction[];\n}\n\nexport interface GetRepliesResponse {\n duration: string;\n\n messages: MessageResponse[];\n}\n\nexport interface GetReviewQueueItemResponse {\n duration: string;\n\n item?: ReviewQueueItemResponse;\n}\n\nexport interface GetSegmentResponse {\n duration: string;\n\n segment?: SegmentResponse;\n}\n\nexport interface GetTaskResponse {\n created_at: Date;\n\n duration: string;\n\n status: string;\n\n task_id: string;\n\n updated_at: Date;\n\n error?: ErrorResult;\n\n result?: Record<string, any>;\n}\n\nexport interface GetThreadResponse {\n duration: string;\n\n thread: ThreadStateResponse;\n}\n\nexport interface GoLiveRequest {\n recording_storage_name?: string;\n\n start_closed_caption?: boolean;\n\n start_hls?: boolean;\n\n start_recording?: boolean;\n\n start_transcription?: boolean;\n\n transcription_storage_name?: string;\n}\n\nexport interface GoLiveResponse {\n duration: string;\n\n call: CallResponse;\n}\n\nexport interface GoogleVisionConfig {\n enabled?: boolean;\n}\n\nexport interface GroupedStatsResponse {\n name: string;\n\n unique: number;\n}\n\nexport interface HLSSettings {\n auto_on: boolean;\n\n enabled: boolean;\n\n quality_tracks: string[];\n\n layout?: LayoutSettings;\n}\n\nexport interface HLSSettingsRequest {\n quality_tracks: string[];\n\n auto_on?: boolean;\n\n enabled?: boolean;\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface HLSSettingsResponse {\n auto_on: boolean;\n\n enabled: boolean;\n\n quality_tracks: string[];\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface HideChannelRequest {\n clear_history?: boolean;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface HideChannelResponse {\n duration: string;\n}\n\nexport interface HuaweiConfig {\n disabled?: boolean;\n\n id?: string;\n\n secret?: string;\n}\n\nexport interface HuaweiConfigFields {\n enabled: boolean;\n\n id?: string;\n\n secret?: string;\n}\n\nexport interface ImageData {\n frames: string;\n\n height: string;\n\n size: string;\n\n url: string;\n\n width: string;\n}\n\nexport interface ImageSize {\n crop?: 'top' | 'bottom' | 'left' | 'right' | 'center';\n\n height?: number;\n\n resize?: 'clip' | 'crop' | 'scale' | 'fill';\n\n width?: number;\n}\n\nexport interface ImageUploadRequest {\n file?: string;\n\n upload_sizes?: ImageSize[];\n\n user?: OnlyUserID;\n}\n\nexport interface ImageUploadResponse {\n duration: string;\n\n file?: string;\n\n thumb_url?: string;\n\n upload_sizes?: ImageSize[];\n}\n\nexport interface Images {\n fixed_height: ImageData;\n\n fixed_height_downsampled: ImageData;\n\n fixed_height_still: ImageData;\n\n fixed_width: ImageData;\n\n fixed_width_downsampled: ImageData;\n\n fixed_width_still: ImageData;\n\n original: ImageData;\n}\n\nexport interface ImportTask {\n created_at: Date;\n\n id: string;\n\n mode: string;\n\n path: string;\n\n state: string;\n\n updated_at: Date;\n\n history: ImportTaskHistory[];\n\n size?: number;\n}\n\nexport interface ImportTaskHistory {\n created_at: Date;\n\n next_state: string;\n\n prev_state: string;\n}\n\nexport interface Label {\n name: string;\n\n harm_labels?: string[];\n\n phrase_list_ids?: number[];\n}\n\nexport interface LabelThresholds {\n block?: number;\n\n flag?: number;\n}\n\nexport interface LayoutSettings {\n external_app_url: string;\n\n external_css_url: string;\n\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n options?: Record<string, any>;\n}\n\nexport interface LayoutSettingsRequest {\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n external_app_url?: string;\n\n external_css_url?: string;\n\n options?: Record<string, any>;\n}\n\nexport interface LayoutSettingsResponse {\n external_app_url: string;\n\n external_css_url: string;\n\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\n\n detect_orientation?: boolean;\n\n options?: Record<string, any>;\n}\n\nexport interface LimitInfo {\n limit: number;\n\n remaining: number;\n\n reset: number;\n}\n\nexport interface LimitsSettings {\n max_duration_seconds?: number;\n\n max_participants?: number;\n}\n\nexport interface LimitsSettingsRequest {\n max_duration_seconds?: number;\n\n max_participants?: number;\n}\n\nexport interface LimitsSettingsResponse {\n max_duration_seconds?: number;\n\n max_participants?: number;\n}\n\nexport interface ListBlockListResponse {\n duration: string;\n\n blocklists: BlockListResponse[];\n}\n\nexport interface ListCallTypeResponse {\n duration: string;\n\n call_types: Record<string, CallTypeResponse>;\n}\n\nexport interface ListChannelTypesResponse {\n duration: string;\n\n channel_types: Record<string, ChannelTypeConfig>;\n}\n\nexport interface ListCommandsResponse {\n duration: string;\n\n commands: Command[];\n}\n\nexport interface ListDevicesResponse {\n duration: string;\n\n devices: DeviceResponse[];\n}\n\nexport interface ListExternalStorageResponse {\n duration: string;\n\n external_storages: Record<string, ExternalStorageResponse>;\n}\n\nexport interface ListImportsResponse {\n duration: string;\n\n import_tasks: ImportTask[];\n}\n\nexport interface ListPermissionsResponse {\n duration: string;\n\n permissions: Permission[];\n}\n\nexport interface ListPushProvidersResponse {\n duration: string;\n\n push_providers: PushProviderResponse[];\n}\n\nexport interface ListRecordingsResponse {\n duration: string;\n\n recordings: CallRecording[];\n}\n\nexport interface ListRolesResponse {\n duration: string;\n\n roles: Role[];\n}\n\nexport interface ListTranscriptionsResponse {\n duration: string;\n\n transcriptions: CallTranscription[];\n}\n\nexport interface MarkChannelsReadRequest {\n user_id?: string;\n\n read_by_channel?: Record<string, string>;\n\n user?: UserRequest;\n}\n\nexport interface MarkReadRequest {\n message_id?: string;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MarkReadResponse {\n duration: string;\n\n event?: MessageReadEvent;\n}\n\nexport interface MarkReviewedRequest {\n content_to_mark_as_reviewed_limit?: number;\n\n disable_marking_content_as_reviewed?: boolean;\n}\n\nexport interface MarkUnreadRequest {\n message_id?: string;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MemberAddedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MemberRemovedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MemberRequest {\n user_id: string;\n\n role?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface MemberResponse {\n created_at: Date;\n\n updated_at: Date;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n\n deleted_at?: Date;\n\n role?: string;\n}\n\nexport interface MemberUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n member?: ChannelMember;\n\n user?: User;\n}\n\nexport interface MembersResponse {\n duration: string;\n\n members: ChannelMember[];\n}\n\nexport interface Message {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: string;\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: Reaction[];\n\n mentioned_users: User[];\n\n own_reactions: Reaction[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_groups: Record<string, ReactionGroupResponse>;\n\n reaction_scores: Record<string, number>;\n\n before_message_send_failed?: boolean;\n\n command?: string;\n\n deleted_at?: Date;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: User[];\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: User;\n\n poll?: Poll;\n\n quoted_message?: Message;\n\n user?: User;\n}\n\nexport interface MessageActionRequest {\n form_data: Record<string, string>;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MessageChangeSet {\n attachments: boolean;\n\n custom: boolean;\n\n html: boolean;\n\n mentioned_user_ids: boolean;\n\n mml: boolean;\n\n pin: boolean;\n\n quoted_message_id: boolean;\n\n silent: boolean;\n\n text: boolean;\n}\n\nexport interface MessageDeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n hard_delete: boolean;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageFlagResponse {\n created_at: Date;\n\n created_by_automod: boolean;\n\n updated_at: Date;\n\n approved_at?: Date;\n\n reason?: string;\n\n rejected_at?: Date;\n\n reviewed_at?: Date;\n\n custom?: Record<string, any>;\n\n details?: FlagDetails;\n\n message?: Message;\n\n moderation_feedback?: FlagFeedback;\n\n moderation_result?: MessageModerationResult;\n\n reviewed_by?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface MessageFlaggedEvent {\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread_participants?: User[];\n\n flag?: Flag;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageHistoryEntryResponse {\n is_deleted: boolean;\n\n message_id: string;\n\n message_updated_at: Date;\n\n message_updated_by_id: string;\n\n text: string;\n\n attachments: Attachment[];\n\n custom: Record<string, any>;\n}\n\nexport interface MessageModerationResult {\n action: string;\n\n created_at: Date;\n\n message_id: string;\n\n updated_at: Date;\n\n user_bad_karma: boolean;\n\n user_karma: number;\n\n blocked_word?: string;\n\n blocklist_name?: string;\n\n moderated_by?: string;\n\n ai_moderation_response?: ModerationResponse;\n\n moderation_thresholds?: Thresholds;\n}\n\nexport interface MessageNewEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n watcher_count: number;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageOptions {\n include_thread_participants?: boolean;\n}\n\nexport interface MessagePaginationParams {}\n\nexport interface MessageReadEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n channel_last_message_at?: Date;\n\n last_read_message_id?: string;\n\n team?: string;\n\n thread?: ThreadResponse;\n\n user?: UserResponseCommonFields;\n}\n\nexport interface MessageRequest {\n html?: string;\n\n id?: string;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned?: boolean;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n silent?: boolean;\n\n text?: string;\n\n type?: \"''\" | 'regular' | 'system';\n\n user_id?: string;\n\n attachments?: Attachment[];\n\n mentioned_users?: string[];\n\n restricted_visibility?: string[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface MessageResponse {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: 'regular' | 'ephemeral' | 'error' | 'reply' | 'system' | 'deleted';\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n}\n\nexport interface MessageStatsResponse {\n count_over_time?: CountByMinuteResponse[];\n}\n\nexport interface MessageUnblockedEvent {\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageUndeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageUpdate {\n old_text?: string;\n\n change_set?: MessageChangeSet;\n}\n\nexport interface MessageUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface MessageWithChannelResponse {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: 'regular' | 'ephemeral' | 'error' | 'reply' | 'system' | 'deleted';\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n channel: ChannelResponse;\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n}\n\nexport interface ModerationActionConfig {\n action: string;\n\n description: string;\n\n entity_type: string;\n\n icon: string;\n\n order: number;\n\n custom: Record<string, any>;\n}\n\nexport interface ModerationCheckCompletedEvent {\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n recommended_action: string;\n\n review_queue_item_id: string;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface ModerationCustomActionEvent {\n created_at: Date;\n\n type: string;\n\n item?: ReviewQueueItem;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface ModerationFlaggedEvent {\n created_at: Date;\n\n type: string;\n\n item?: string;\n\n object_id?: string;\n\n user?: User;\n}\n\nexport interface ModerationMarkReviewedEvent {\n created_at: Date;\n\n type: string;\n\n item?: ReviewQueueItem;\n\n message?: Message;\n\n user?: User;\n}\n\nexport interface ModerationPayload {\n images?: string[];\n\n texts?: string[];\n\n videos?: string[];\n\n custom?: Record<string, any>;\n}\n\nexport interface ModerationResponse {\n action: string;\n\n explicit: number;\n\n spam: number;\n\n toxic: number;\n}\n\nexport interface ModerationV2Response {\n action: string;\n\n original_text: string;\n\n blocklist_matched?: string;\n\n platform_circumvented?: boolean;\n\n semantic_filter_matched?: string;\n\n image_harms?: string[];\n\n text_harms?: string[];\n}\n\nexport interface MuteChannelRequest {\n expiration?: number;\n\n user_id?: string;\n\n channel_cids?: string[];\n\n user?: UserRequest;\n}\n\nexport interface MuteChannelResponse {\n duration: string;\n\n channel_mutes?: ChannelMute[];\n\n channel_mute?: ChannelMute;\n\n own_user?: OwnUser;\n}\n\nexport interface MuteRequest {\n target_ids: string[];\n\n timeout?: number;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface MuteResponse {\n duration: string;\n\n mutes?: UserMute[];\n\n non_existing_users?: string[];\n\n own_user?: OwnUser;\n}\n\nexport interface MuteUsersRequest {\n audio?: boolean;\n\n mute_all_users?: boolean;\n\n muted_by_id?: string;\n\n screenshare?: boolean;\n\n screenshare_audio?: boolean;\n\n video?: boolean;\n\n user_ids?: string[];\n\n muted_by?: UserRequest;\n}\n\nexport interface MuteUsersResponse {\n duration: string;\n}\n\nexport interface NetworkMetricsReportResponse {\n average_connection_time?: number;\n\n average_jitter?: number;\n\n average_latency?: number;\n\n average_time_to_reconnect?: number;\n}\n\nexport interface NoiseCancellationSettings {\n mode: 'available' | 'disabled' | 'auto-on';\n}\n\nexport interface NotificationMarkUnreadEvent {\n channel_id: string;\n\n channel_member_count: number;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n first_unread_message_id: string;\n\n last_read_at: Date;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_messages: number;\n\n unread_threads: number;\n\n type: string;\n\n last_read_message_id?: string;\n\n team?: string;\n\n thread_id?: string;\n\n channel?: ChannelResponse;\n\n user?: User;\n}\n\nexport interface NotificationSettings {\n enabled: boolean;\n\n call_live_started: EventNotificationSettings;\n\n call_missed: EventNotificationSettings;\n\n call_notification: EventNotificationSettings;\n\n call_ring: EventNotificationSettings;\n\n session_started: EventNotificationSettings;\n}\n\nexport interface NullTime {}\n\nexport interface OCRRule {\n action:\n | 'flag'\n | 'shadow'\n | 'remove'\n | 'bounce'\n | 'bounce_flag'\n | 'bounce_remove';\n\n label: string;\n}\n\nexport interface OnlyUserID {\n id: string;\n}\n\nexport const OwnCapability = {\n BLOCK_USERS: 'block-users',\n CHANGE_MAX_DURATION: 'change-max-duration',\n CREATE_CALL: 'create-call',\n CREATE_REACTION: 'create-reaction',\n ENABLE_NOISE_CANCELLATION: 'enable-noise-cancellation',\n END_CALL: 'end-call',\n JOIN_BACKSTAGE: 'join-backstage',\n JOIN_CALL: 'join-call',\n JOIN_ENDED_CALL: 'join-ended-call',\n MUTE_USERS: 'mute-users',\n PIN_FOR_EVERYONE: 'pin-for-everyone',\n READ_CALL: 'read-call',\n REMOVE_CALL_MEMBER: 'remove-call-member',\n SCREENSHARE: 'screenshare',\n SEND_AUDIO: 'send-audio',\n SEND_VIDEO: 'send-video',\n START_BROADCAST_CALL: 'start-broadcast-call',\n START_CLOSED_CAPTIONS_CALL: 'start-closed-captions-call',\n START_FRAME_RECORD_CALL: 'start-frame-record-call',\n START_RECORD_CALL: 'start-record-call',\n START_TRANSCRIPTION_CALL: 'start-transcription-call',\n STOP_BROADCAST_CALL: 'stop-broadcast-call',\n STOP_CLOSED_CAPTIONS_CALL: 'stop-closed-captions-call',\n STOP_FRAME_RECORD_CALL: 'stop-frame-record-call',\n STOP_RECORD_CALL: 'stop-record-call',\n STOP_TRANSCRIPTION_CALL: 'stop-transcription-call',\n UPDATE_CALL: 'update-call',\n UPDATE_CALL_MEMBER: 'update-call-member',\n UPDATE_CALL_PERMISSIONS: 'update-call-permissions',\n UPDATE_CALL_SETTINGS: 'update-call-settings',\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport type OwnCapability = (typeof OwnCapability)[keyof typeof OwnCapability];\n\nexport interface OwnUser {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n channel_mutes: ChannelMute[];\n\n devices: Device[];\n\n mutes: UserMute[];\n\n custom: Record<string, any>;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n invisible?: boolean;\n\n last_active?: Date;\n\n last_engaged_at?: Date;\n\n blocked_user_ids?: string[];\n\n latest_hidden_channels?: string[];\n\n teams?: string[];\n\n privacy_settings?: PrivacySettings;\n\n push_preferences?: PushPreferences;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface OwnUserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n total_unread_count: number;\n\n unread_channels: number;\n\n unread_count: number;\n\n unread_threads: number;\n\n updated_at: Date;\n\n channel_mutes: ChannelMute[];\n\n devices: DeviceResponse[];\n\n mutes: UserMuteResponse[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n blocked_user_ids?: string[];\n\n latest_hidden_channels?: string[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_preferences?: PushPreferences;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface PagerResponse {\n next?: string;\n\n prev?: string;\n}\n\nexport interface PaginationParams {\n limit?: number;\n\n offset?: number;\n}\n\nexport interface ParticipantCountByMinuteResponse {\n first: number;\n\n last: number;\n\n max: number;\n\n min: number;\n\n start_ts: Date;\n}\n\nexport interface ParticipantCountOverTimeResponse {\n by_minute?: ParticipantCountByMinuteResponse[];\n}\n\nexport interface ParticipantReportResponse {\n sum: number;\n\n unique: number;\n\n max_concurrent?: number;\n\n by_browser?: GroupedStatsResponse[];\n\n by_country?: GroupedStatsResponse[];\n\n by_device?: GroupedStatsResponse[];\n\n by_operating_system?: GroupedStatsResponse[];\n\n count_over_time?: ParticipantCountOverTimeResponse;\n\n publishers?: PublisherStatsResponse;\n\n subscribers?: SubscriberStatsResponse;\n}\n\nexport interface PendingMessageResponse {\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n\n metadata?: Record<string, string>;\n\n user?: UserResponse;\n}\n\nexport interface PerSDKUsageReport {\n total: number;\n\n by_version: Record<string, number>;\n}\n\nexport interface Permission {\n action: string;\n\n custom: boolean;\n\n description: string;\n\n id: string;\n\n level: 'app' | 'channel';\n\n name: string;\n\n owner: boolean;\n\n same_team: boolean;\n\n tags: string[];\n\n condition?: Record<string, any>;\n}\n\nexport interface PermissionRequestEvent {\n call_cid: string;\n\n created_at: Date;\n\n permissions: string[];\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface PinRequest {\n session_id: string;\n\n user_id: string;\n}\n\nexport interface PinResponse {\n duration: string;\n}\n\nexport interface PlatformDataResponse {\n browser: BrowserDataResponse;\n\n device: DeviceDataResponse;\n\n os: ClientOSDataResponse;\n}\n\nexport interface Policy {\n action: number;\n\n created_at: Date;\n\n name: string;\n\n owner: boolean;\n\n priority: number;\n\n updated_at: Date;\n\n resources: string[];\n\n roles: string[];\n}\n\nexport interface PolicyRequest {\n action: 'Deny' | 'Allow';\n\n name: string;\n\n owner: boolean;\n\n priority: number;\n\n resources: string[];\n\n roles: string[];\n}\n\nexport interface Poll {\n allow_answers: boolean;\n\n allow_user_suggested_options: boolean;\n\n answers_count: number;\n\n created_at: Date;\n\n created_by_id: string;\n\n description: string;\n\n enforce_unique_vote: boolean;\n\n id: string;\n\n name: string;\n\n updated_at: Date;\n\n vote_count: number;\n\n latest_answers: PollVote[];\n\n options: PollOption[];\n\n own_votes: PollVote[];\n\n custom: Record<string, any>;\n\n latest_votes_by_option: Record<string, PollVote[]>;\n\n vote_counts_by_option: Record<string, number>;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n voting_visibility?: string;\n\n created_by?: User;\n}\n\nexport interface PollOption {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n}\n\nexport interface PollOptionInput {\n text?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface PollOptionRequest {\n id: string;\n\n text?: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface PollOptionResponse {\n duration: string;\n\n poll_option: PollOptionResponseData;\n}\n\nexport interface PollOptionResponseData {\n id: string;\n\n text: string;\n\n custom: Record<string, any>;\n}\n\nexport interface PollResponse {\n duration: string;\n\n poll: PollResponseData;\n}\n\nexport interface PollResponseData {\n allow_answers: boolean;\n\n allow_user_suggested_options: boolean;\n\n answers_count: number;\n\n created_at: Date;\n\n created_by_id: string;\n\n description: string;\n\n enforce_unique_vote: boolean;\n\n id: string;\n\n name: string;\n\n updated_at: Date;\n\n vote_count: number;\n\n voting_visibility: string;\n\n latest_answers: PollVoteResponseData[];\n\n options: PollOptionResponseData[];\n\n own_votes: PollVoteResponseData[];\n\n custom: Record<string, any>;\n\n latest_votes_by_option: Record<string, PollVoteResponseData[]>;\n\n vote_counts_by_option: Record<string, number>;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n created_by?: UserResponse;\n}\n\nexport interface PollVote {\n created_at: Date;\n\n id: string;\n\n option_id: string;\n\n poll_id: string;\n\n updated_at: Date;\n\n answer_text?: string;\n\n is_answer?: boolean;\n\n user_id?: string;\n\n user?: User;\n}\n\nexport interface PollVoteResponse {\n duration: string;\n\n vote?: PollVoteResponseData;\n}\n\nexport interface PollVoteResponseData {\n created_at: Date;\n\n id: string;\n\n option_id: string;\n\n poll_id: string;\n\n updated_at: Date;\n\n answer_text?: string;\n\n is_answer?: boolean;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface PollVotesResponse {\n duration: string;\n\n votes: PollVoteResponseData[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface PrivacySettings {\n read_receipts?: ReadReceipts;\n\n typing_indicators?: TypingIndicators;\n}\n\nexport interface PrivacySettingsResponse {\n read_receipts?: ReadReceiptsResponse;\n\n typing_indicators?: TypingIndicatorsResponse;\n}\n\nexport interface PublisherStatsResponse {\n total: number;\n\n unique: number;\n\n by_track?: TrackStatsResponse[];\n}\n\nexport interface PushConfig {\n version: 'v1' | 'v2';\n\n offline_only?: boolean;\n}\n\nexport interface PushNotificationFields {\n offline_only: boolean;\n\n version: string;\n\n apn: APNConfigFields;\n\n firebase: FirebaseConfigFields;\n\n huawei: HuaweiConfigFields;\n\n xiaomi: XiaomiConfigFields;\n\n providers?: PushProvider[];\n}\n\nexport interface PushNotificationSettingsResponse {\n disabled?: boolean;\n\n disabled_until?: Date;\n}\n\nexport interface PushPreferenceInput {\n channel_cid?: string;\n\n chat_level?: 'all' | 'mentions' | 'none' | 'default';\n\n disabled_until?: Date;\n\n remove_disable?: boolean;\n\n user_id?: string;\n}\n\nexport interface PushPreferences {\n call_level?: string;\n\n chat_level?: string;\n\n disabled_until?: Date;\n}\n\nexport interface PushProvider {\n created_at: Date;\n\n name: string;\n\n type: string;\n\n updated_at: Date;\n\n apn_auth_key?: string;\n\n apn_auth_type?: string;\n\n apn_development?: boolean;\n\n apn_host?: string;\n\n apn_key_id?: string;\n\n apn_notification_template?: string;\n\n apn_p12_cert?: string;\n\n apn_team_id?: string;\n\n apn_topic?: string;\n\n description?: string;\n\n disabled_at?: Date;\n\n disabled_reason?: string;\n\n firebase_apn_template?: string;\n\n firebase_credentials?: string;\n\n firebase_data_template?: string;\n\n firebase_host?: string;\n\n firebase_notification_template?: string;\n\n firebase_server_key?: string;\n\n huawei_app_id?: string;\n\n huawei_app_secret?: string;\n\n xiaomi_app_secret?: string;\n\n xiaomi_package_name?: string;\n}\n\nexport interface PushProviderResponse {\n created_at: Date;\n\n name: string;\n\n type: string;\n\n updated_at: Date;\n\n apn_auth_key?: string;\n\n apn_auth_type?: string;\n\n apn_development?: boolean;\n\n apn_host?: string;\n\n apn_key_id?: string;\n\n apn_p12_cert?: string;\n\n apn_sandbox_certificate?: boolean;\n\n apn_supports_remote_notifications?: boolean;\n\n apn_supports_voip_notifications?: boolean;\n\n apn_team_id?: string;\n\n apn_topic?: string;\n\n description?: string;\n\n disabled_at?: Date;\n\n disabled_reason?: string;\n\n firebase_apn_template?: string;\n\n firebase_credentials?: string;\n\n firebase_data_template?: string;\n\n firebase_host?: string;\n\n firebase_notification_template?: string;\n\n firebase_server_key?: string;\n\n huawei_app_id?: string;\n\n huawei_app_secret?: string;\n\n xiaomi_app_secret?: string;\n\n xiaomi_package_name?: string;\n}\n\nexport interface QualityScoreReport {\n histogram: ReportByHistogramBucket[];\n}\n\nexport interface QualityScoreReportResponse {\n daily: DailyAggregateQualityScoreReportResponse[];\n}\n\nexport interface QueryAggregateCallStatsRequest {\n from?: string;\n\n to?: string;\n\n report_types?: string[];\n}\n\nexport interface QueryAggregateCallStatsResponse {\n duration: string;\n\n call_duration_report?: CallDurationReportResponse;\n\n call_participant_count_report?: CallParticipantCountReportResponse;\n\n calls_per_day_report?: CallsPerDayReportResponse;\n\n network_metrics_report?: NetworkMetricsReportResponse;\n\n quality_score_report?: QualityScoreReportResponse;\n\n sdk_usage_report?: SDKUsageReportResponse;\n\n user_feedback_report?: UserFeedbackReportResponse;\n}\n\nexport interface QueryBannedUsersPayload {\n filter_conditions: Record<string, any>;\n\n exclude_expired_bans?: boolean;\n\n limit?: number;\n\n offset?: number;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryBannedUsersResponse {\n duration: string;\n\n bans: BanResponse[];\n}\n\nexport interface QueryCallMembersRequest {\n id: string;\n\n type: string;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallMembersResponse {\n duration: string;\n\n members: MemberResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCallParticipantsRequest {\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallParticipantsResponse {\n duration: string;\n\n total_participants: number;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n participants: CallParticipantResponse[];\n\n call: CallResponse;\n}\n\nexport interface QueryCallStatsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallStatsResponse {\n duration: string;\n\n reports: CallStatsReportSummaryResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCallsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryCallsResponse {\n duration: string;\n\n calls: CallStateResponseFields[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryCampaignsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_limit?: number;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryCampaignsResponse {\n duration: string;\n\n campaigns: CampaignResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryChannelsRequest {\n limit?: number;\n\n member_limit?: number;\n\n message_limit?: number;\n\n offset?: number;\n\n state?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryChannelsResponse {\n duration: string;\n\n channels: ChannelStateResponseFields[];\n}\n\nexport interface QueryDraftsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryDraftsResponse {\n duration: string;\n\n drafts: DraftResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryFeedModerationTemplate {\n created_at: Date;\n\n name: string;\n\n updated_at: Date;\n\n config?: FeedsModerationTemplateConfig;\n}\n\nexport interface QueryFeedModerationTemplatesResponse {\n duration: string;\n\n templates: QueryFeedModerationTemplate[];\n}\n\nexport interface QueryMembersPayload {\n type: string;\n\n filter_conditions: Record<string, any>;\n\n id?: string;\n\n limit?: number;\n\n offset?: number;\n\n user_id?: string;\n\n members?: ChannelMember[];\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryMessageFlagsPayload {\n limit?: number;\n\n offset?: number;\n\n show_deleted_messages?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryMessageFlagsResponse {\n duration: string;\n\n flags: MessageFlagResponse[];\n}\n\nexport interface QueryMessageHistoryRequest {\n filter: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n}\n\nexport interface QueryMessageHistoryResponse {\n duration: string;\n\n message_history: MessageHistoryEntryResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationConfigsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryModerationConfigsResponse {\n duration: string;\n\n configs: ConfigResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryModerationLogsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryModerationLogsResponse {\n duration: string;\n\n logs: ActionLogResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryPollVotesRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryPollsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QueryPollsResponse {\n duration: string;\n\n polls: PollResponseData[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryReactionsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryReactionsResponse {\n duration: string;\n\n reactions: ReactionResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryReviewQueueRequest {\n limit?: number;\n\n lock_count?: number;\n\n lock_duration?: number;\n\n lock_items?: boolean;\n\n next?: string;\n\n prev?: string;\n\n stats_only?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryReviewQueueResponse {\n duration: string;\n\n items: ReviewQueueItemResponse[];\n\n action_config: Record<string, ModerationActionConfig[]>;\n\n stats: Record<string, any>;\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QuerySegmentTargetsRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n}\n\nexport interface QuerySegmentTargetsResponse {\n duration: string;\n\n targets: SegmentTargetResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QuerySegmentsRequest {\n filter: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n}\n\nexport interface QuerySegmentsResponse {\n duration: string;\n\n segments: SegmentResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryThreadsRequest {\n limit?: number;\n\n member_limit?: number;\n\n next?: string;\n\n participant_limit?: number;\n\n prev?: string;\n\n reply_limit?: number;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n filter?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface QueryThreadsResponse {\n duration: string;\n\n threads: ThreadStateResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryUserFeedbackRequest {\n limit?: number;\n\n next?: string;\n\n prev?: string;\n\n sort?: SortParamRequest[];\n\n filter_conditions?: Record<string, any>;\n}\n\nexport interface QueryUserFeedbackResponse {\n duration: string;\n\n user_feedback: UserFeedbackResponse[];\n\n next?: string;\n\n prev?: string;\n}\n\nexport interface QueryUsersPayload {\n filter_conditions: Record<string, any>;\n\n include_deactivated_users?: boolean;\n\n limit?: number;\n\n offset?: number;\n\n presence?: boolean;\n\n user_id?: string;\n\n sort?: SortParamRequest[];\n\n user?: UserRequest;\n}\n\nexport interface QueryUsersResponse {\n duration: string;\n\n users: FullUserResponse[];\n}\n\nexport interface RTMPBroadcastRequest {\n name: string;\n\n stream_url: string;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n stream_key?: string;\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RTMPIngress {\n address: string;\n}\n\nexport interface RTMPLocation {\n name: string;\n\n stream_key: string;\n\n stream_url: string;\n}\n\nexport interface RTMPSettings {\n enabled: boolean;\n\n quality_name?: string;\n\n layout?: LayoutSettings;\n\n location?: RTMPLocation;\n}\n\nexport interface RTMPSettingsRequest {\n enabled?: boolean;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RTMPSettingsResponse {\n enabled: boolean;\n\n quality: string;\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface Reaction {\n created_at: Date;\n\n message_id: string;\n\n score: number;\n\n type: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n user_id?: string;\n\n user?: User;\n}\n\nexport interface ReactionDeletedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n reaction?: Reaction;\n\n user?: User;\n}\n\nexport interface ReactionGroupResponse {\n count: number;\n\n first_reaction_at: Date;\n\n last_reaction_at: Date;\n\n sum_scores: number;\n}\n\nexport interface ReactionNewEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n team?: string;\n\n thread_participants?: User[];\n\n message?: Message;\n\n reaction?: Reaction;\n\n user?: User;\n}\n\nexport interface ReactionRequest {\n type: string;\n\n created_at?: Date;\n\n score?: number;\n\n updated_at?: Date;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface ReactionResponse {\n created_at: Date;\n\n message_id: string;\n\n score: number;\n\n type: string;\n\n updated_at: Date;\n\n user_id: string;\n\n custom: Record<string, any>;\n\n user: UserResponse;\n}\n\nexport interface ReactionUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n message: Message;\n\n reaction: Reaction;\n\n type: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface ReactivateUserRequest {\n created_by_id?: string;\n\n name?: string;\n\n restore_messages?: boolean;\n}\n\nexport interface ReactivateUserResponse {\n duration: string;\n\n user?: UserResponse;\n}\n\nexport interface ReactivateUsersRequest {\n user_ids: string[];\n\n created_by_id?: string;\n\n restore_channels?: boolean;\n\n restore_messages?: boolean;\n}\n\nexport interface ReactivateUsersResponse {\n duration: string;\n\n task_id: string;\n}\n\nexport interface ReadReceipts {\n enabled: boolean;\n}\n\nexport interface ReadReceiptsResponse {\n enabled?: boolean;\n}\n\nexport interface ReadStateResponse {\n last_read: Date;\n\n unread_messages: number;\n\n user: UserResponse;\n\n last_read_message_id?: string;\n}\n\nexport interface RecordSettings {\n mode: string;\n\n audio_only?: boolean;\n\n quality?: string;\n\n layout?: LayoutSettings;\n}\n\nexport interface RecordSettingsRequest {\n mode: 'available' | 'disabled' | 'auto-on';\n\n audio_only?: boolean;\n\n quality?:\n | '360p'\n | '480p'\n | '720p'\n | '1080p'\n | '1440p'\n | 'portrait-360x640'\n | 'portrait-480x854'\n | 'portrait-720x1280'\n | 'portrait-1080x1920'\n | 'portrait-1440x2560';\n\n layout?: LayoutSettingsRequest;\n}\n\nexport interface RecordSettingsResponse {\n audio_only: boolean;\n\n mode: string;\n\n quality: string;\n\n layout: LayoutSettingsResponse;\n}\n\nexport interface ReportByHistogramBucket {\n category: string;\n\n count: number;\n\n sum: number;\n\n lower_bound?: Bound;\n\n upper_bound?: Bound;\n}\n\nexport interface ReportResponse {\n call: CallReportResponse;\n\n participants: ParticipantReportResponse;\n\n user_ratings: UserRatingReportResponse;\n}\n\nexport interface Response {\n duration: string;\n}\n\nexport interface RestoreActionRequest {}\n\nexport interface RestoreUsersRequest {\n user_ids: string[];\n}\n\nexport interface ReviewQueueItem {\n ai_text_severity: string;\n\n bounce_count: number;\n\n config_key: string;\n\n content_changed: boolean;\n\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n flags_count: number;\n\n has_image: boolean;\n\n has_text: boolean;\n\n has_video: boolean;\n\n id: string;\n\n moderation_payload_hash: string;\n\n recommended_action: string;\n\n reviewed_by: string;\n\n severity: number;\n\n status: string;\n\n updated_at: Date;\n\n actions: ActionLog[];\n\n bans: Ban[];\n\n flags: Flag[];\n\n languages: string[];\n\n teams: string[];\n\n reviewed_at: NullTime;\n\n activity?: EnrichedActivity;\n\n assigned_to?: User;\n\n entity_creator?: EntityCreator;\n\n feeds_v2_activity?: EnrichedActivity;\n\n feeds_v2_reaction?: Reaction;\n\n message?: Message;\n\n moderation_payload?: ModerationPayload;\n\n reaction?: Reaction;\n}\n\nexport interface ReviewQueueItemNewEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n flags?: FlagResponse[];\n\n action?: ActionLogResponse;\n\n review_queue_item?: ReviewQueueItemResponse;\n}\n\nexport interface ReviewQueueItemResponse {\n ai_text_severity: string;\n\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\n\n flags_count: number;\n\n id: string;\n\n recommended_action: string;\n\n reviewed_by: string;\n\n severity: number;\n\n status: string;\n\n updated_at: Date;\n\n actions: ActionLogResponse[];\n\n bans: Ban[];\n\n flags: FlagResponse[];\n\n languages: string[];\n\n completed_at?: Date;\n\n config_key?: string;\n\n entity_creator_id?: string;\n\n reviewed_at?: Date;\n\n teams?: string[];\n\n activity?: EnrichedActivity;\n\n assigned_to?: UserResponse;\n\n entity_creator?: EntityCreatorResponse;\n\n feeds_v2_activity?: EnrichedActivity;\n\n feeds_v2_reaction?: Reaction;\n\n message?: MessageResponse;\n\n moderation_payload?: ModerationPayload;\n\n reaction?: Reaction;\n}\n\nexport interface ReviewQueueItemUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n type: string;\n\n received_at?: Date;\n\n flags?: FlagResponse[];\n\n action?: ActionLogResponse;\n\n review_queue_item?: ReviewQueueItemResponse;\n}\n\nexport interface RingSettings {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms: number;\n}\n\nexport interface RingSettingsRequest {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms?: number;\n}\n\nexport interface RingSettingsResponse {\n auto_cancel_timeout_ms: number;\n\n incoming_call_timeout_ms: number;\n\n missed_call_timeout_ms: number;\n}\n\nexport interface Role {\n created_at: Date;\n\n custom: boolean;\n\n name: string;\n\n updated_at: Date;\n\n scopes: string[];\n}\n\nexport interface RuleBuilderAction {\n duration?: number;\n\n ip_ban?: boolean;\n\n reason?: string;\n\n shadow_ban?: boolean;\n\n type?: string;\n}\n\nexport interface RuleBuilderCondition {\n provider?: string;\n\n threshold?: number;\n\n time_window?: string;\n\n labels?: string[];\n}\n\nexport interface RuleBuilderConfig {\n async?: boolean;\n\n enabled?: boolean;\n\n rules?: RuleBuilderRule[];\n}\n\nexport interface RuleBuilderRule {\n enabled?: boolean;\n\n id?: string;\n\n name?: string;\n\n conditions?: RuleBuilderCondition[];\n\n action?: RuleBuilderAction;\n}\n\nexport interface S3Request {\n s3_region: string;\n\n s3_api_key?: string;\n\n s3_custom_endpoint_url?: string;\n\n s3_secret?: string;\n}\n\nexport interface SDKUsageReport {\n per_sdk_usage: Record<string, PerSDKUsageReport>;\n}\n\nexport interface SDKUsageReportResponse {\n daily: DailyAggregateSDKUsageReportResponse[];\n}\n\nexport interface ScreensharingSettings {\n access_request_enabled: boolean;\n\n enabled: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface ScreensharingSettingsRequest {\n access_request_enabled?: boolean;\n\n enabled?: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface ScreensharingSettingsResponse {\n access_request_enabled: boolean;\n\n enabled: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface SearchPayload {\n filter_conditions: Record<string, any>;\n\n limit?: number;\n\n next?: string;\n\n offset?: number;\n\n query?: string;\n\n sort?: SortParamRequest[];\n\n message_filter_conditions?: Record<string, any>;\n\n message_options?: MessageOptions;\n}\n\nexport interface SearchResponse {\n duration: string;\n\n results: SearchResult[];\n\n next?: string;\n\n previous?: string;\n\n results_warning?: SearchWarning;\n}\n\nexport interface SearchResult {\n message?: SearchResultMessage;\n}\n\nexport interface SearchResultMessage {\n cid: string;\n\n created_at: Date;\n\n deleted_reply_count: number;\n\n html: string;\n\n id: string;\n\n pinned: boolean;\n\n reply_count: number;\n\n shadowed: boolean;\n\n silent: boolean;\n\n text: string;\n\n type: string;\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: ReactionResponse[];\n\n mentioned_users: UserResponse[];\n\n own_reactions: ReactionResponse[];\n\n restricted_visibility: string[];\n\n custom: Record<string, any>;\n\n reaction_counts: Record<string, number>;\n\n reaction_scores: Record<string, number>;\n\n user: UserResponse;\n\n command?: string;\n\n deleted_at?: Date;\n\n message_text_updated_at?: Date;\n\n mml?: string;\n\n parent_id?: string;\n\n pin_expires?: Date;\n\n pinned_at?: Date;\n\n poll_id?: string;\n\n quoted_message_id?: string;\n\n show_in_channel?: boolean;\n\n thread_participants?: UserResponse[];\n\n channel?: ChannelResponse;\n\n draft?: DraftResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n moderation?: ModerationV2Response;\n\n pinned_by?: UserResponse;\n\n poll?: PollResponseData;\n\n quoted_message?: MessageResponse;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n}\n\nexport interface SearchWarning {\n warning_code: number;\n\n warning_description: string;\n\n channel_search_count?: number;\n\n channel_search_cids?: string[];\n}\n\nexport interface Segment {\n all_sender_channels: boolean;\n\n all_users: boolean;\n\n created_at: Date;\n\n id: string;\n\n name: string;\n\n size: number;\n\n type: string;\n\n updated_at: Date;\n\n deleted_at?: Date;\n\n description?: string;\n\n task_id?: string;\n\n filter?: Record<string, any>;\n}\n\nexport interface SegmentResponse {\n all_sender_channels: boolean;\n\n all_users: boolean;\n\n created_at: Date;\n\n deleted_at: Date;\n\n description: string;\n\n id: string;\n\n name: string;\n\n size: number;\n\n type: string;\n\n updated_at: Date;\n\n filter: Record<string, any>;\n}\n\nexport interface SegmentTargetResponse {\n app_pk: number;\n\n created_at: Date;\n\n segment_id: string;\n\n target_id: string;\n}\n\nexport interface SendCallEventRequest {\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface SendCallEventResponse {\n duration: string;\n}\n\nexport interface SendEventRequest {\n event: EventRequest;\n}\n\nexport interface SendMessageRequest {\n message: MessageRequest;\n\n force_moderation?: boolean;\n\n keep_channel_hidden?: boolean;\n\n pending?: boolean;\n\n skip_enrich_url?: boolean;\n\n skip_push?: boolean;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface SendMessageResponse {\n duration: string;\n\n message: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface SendReactionRequest {\n reaction: ReactionRequest;\n\n enforce_unique?: boolean;\n\n skip_push?: boolean;\n}\n\nexport interface SendReactionResponse {\n duration: string;\n\n message: MessageResponse;\n\n reaction: ReactionResponse;\n}\n\nexport interface SendUserCustomEventRequest {\n event: UserCustomEventRequest;\n}\n\nexport interface SessionSettings {\n inactivity_timeout_seconds: number;\n}\n\nexport interface SessionSettingsRequest {\n inactivity_timeout_seconds: number;\n}\n\nexport interface SessionSettingsResponse {\n inactivity_timeout_seconds: number;\n}\n\nexport interface ShadowBlockActionRequest {}\n\nexport interface ShowChannelRequest {\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface ShowChannelResponse {\n duration: string;\n}\n\nexport interface SortParamRequest {\n direction?: number;\n\n field?: string;\n}\n\nexport interface StartCampaignRequest {\n scheduled_for?: Date;\n\n stop_at?: Date;\n}\n\nexport interface StartCampaignResponse {\n duration: string;\n\n campaign?: CampaignResponse;\n\n users?: PagerResponse;\n}\n\nexport interface StartClosedCaptionsRequest {\n enable_transcription?: boolean;\n\n external_storage?: string;\n\n language?:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n}\n\nexport interface StartClosedCaptionsResponse {\n duration: string;\n}\n\nexport interface StartFrameRecordingRequest {\n recording_external_storage?: string;\n}\n\nexport interface StartFrameRecordingResponse {\n duration: string;\n}\n\nexport interface StartHLSBroadcastingRequest {}\n\nexport interface StartHLSBroadcastingResponse {\n duration: string;\n\n playlist_url: string;\n}\n\nexport interface StartRTMPBroadcastsRequest {\n broadcasts: RTMPBroadcastRequest[];\n}\n\nexport interface StartRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StartRecordingRequest {\n recording_external_storage?: string;\n}\n\nexport interface StartRecordingResponse {\n duration: string;\n}\n\nexport interface StartTranscriptionRequest {\n enable_closed_captions?: boolean;\n\n language?:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n transcription_external_storage?: string;\n}\n\nexport interface StartTranscriptionResponse {\n duration: string;\n}\n\nexport interface StopAllRTMPBroadcastsRequest {}\n\nexport interface StopAllRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StopCampaignRequest {}\n\nexport interface StopClosedCaptionsRequest {\n stop_transcription?: boolean;\n}\n\nexport interface StopClosedCaptionsResponse {\n duration: string;\n}\n\nexport interface StopFrameRecordingRequest {}\n\nexport interface StopFrameRecordingResponse {\n duration: string;\n}\n\nexport interface StopHLSBroadcastingRequest {}\n\nexport interface StopHLSBroadcastingResponse {\n duration: string;\n}\n\nexport interface StopLiveRequest {\n continue_closed_caption?: boolean;\n\n continue_hls?: boolean;\n\n continue_recording?: boolean;\n\n continue_rtmp_broadcasts?: boolean;\n\n continue_transcription?: boolean;\n}\n\nexport interface StopLiveResponse {\n duration: string;\n\n call: CallResponse;\n}\n\nexport interface StopRTMPBroadcastsRequest {}\n\nexport interface StopRTMPBroadcastsResponse {\n duration: string;\n}\n\nexport interface StopRecordingRequest {}\n\nexport interface StopRecordingResponse {\n duration: string;\n}\n\nexport interface StopTranscriptionRequest {\n stop_closed_captions?: boolean;\n}\n\nexport interface StopTranscriptionResponse {\n duration: string;\n}\n\nexport interface SubmitActionRequest {\n action_type:\n | 'mark_reviewed'\n | 'delete_message'\n | 'delete_activity'\n | 'delete_reaction'\n | 'ban'\n | 'custom'\n | 'unban'\n | 'restore'\n | 'delete_user'\n | 'unblock'\n | 'shadow_block';\n\n item_id: string;\n\n user_id?: string;\n\n ban?: BanActionRequest;\n\n custom?: CustomActionRequest;\n\n delete_activity?: DeleteActivityRequest;\n\n delete_message?: DeleteMessageRequest;\n\n delete_reaction?: DeleteReactionRequest;\n\n delete_user?: DeleteUserRequest;\n\n mark_reviewed?: MarkReviewedRequest;\n\n unban?: UnbanActionRequest;\n\n user?: UserRequest;\n}\n\nexport interface SubmitActionResponse {\n duration: string;\n\n item?: ReviewQueueItem;\n}\n\nexport interface SubscriberStatsResponse {\n total: number;\n\n total_subscribed_duration_seconds: number;\n\n unique: number;\n}\n\nexport interface TargetResolution {\n bitrate: number;\n\n height: number;\n\n width: number;\n}\n\nexport interface ThreadParticipant {\n app_pk: number;\n\n channel_cid: string;\n\n created_at: Date;\n\n last_read_at: Date;\n\n custom: Record<string, any>;\n\n last_thread_message_at?: Date;\n\n left_thread_at?: Date;\n\n thread_id?: string;\n\n user_id?: string;\n\n user?: UserResponse;\n}\n\nexport interface ThreadResponse {\n channel_cid: string;\n\n created_at: Date;\n\n created_by_user_id: string;\n\n parent_message_id: string;\n\n title: string;\n\n updated_at: Date;\n\n custom: Record<string, any>;\n\n active_participant_count?: number;\n\n deleted_at?: Date;\n\n last_message_at?: Date;\n\n participant_count?: number;\n\n reply_count?: number;\n\n thread_participants?: ThreadParticipant[];\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n parent_message?: MessageResponse;\n}\n\nexport interface ThreadStateResponse {\n channel_cid: string;\n\n created_at: Date;\n\n created_by_user_id: string;\n\n parent_message_id: string;\n\n title: string;\n\n updated_at: Date;\n\n latest_replies: MessageResponse[];\n\n custom: Record<string, any>;\n\n active_participant_count?: number;\n\n deleted_at?: Date;\n\n last_message_at?: Date;\n\n participant_count?: number;\n\n reply_count?: number;\n\n read?: ReadStateResponse[];\n\n thread_participants?: ThreadParticipant[];\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n draft?: DraftResponse;\n\n parent_message?: MessageResponse;\n}\n\nexport interface ThreadUpdatedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n type: string;\n\n thread?: ThreadResponse;\n\n user?: User;\n}\n\nexport interface Thresholds {\n explicit?: LabelThresholds;\n\n spam?: LabelThresholds;\n\n toxic?: LabelThresholds;\n}\n\nexport interface ThumbnailResponse {\n image_url: string;\n}\n\nexport interface ThumbnailsSettings {\n enabled: boolean;\n}\n\nexport interface ThumbnailsSettingsRequest {\n enabled?: boolean;\n}\n\nexport interface ThumbnailsSettingsResponse {\n enabled: boolean;\n}\n\nexport interface Time {}\n\nexport interface TrackStatsResponse {\n duration_seconds: number;\n\n track_type: string;\n}\n\nexport interface TranscriptionSettings {\n closed_caption_mode: 'available' | 'disabled' | 'auto-on';\n\n language:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n mode: 'available' | 'disabled' | 'auto-on';\n}\n\nexport interface TranscriptionSettingsRequest {\n mode: 'available' | 'disabled' | 'auto-on';\n\n closed_caption_mode?: 'available' | 'disabled' | 'auto-on';\n\n language?:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n}\n\nexport interface TranscriptionSettingsResponse {\n closed_caption_mode: 'available' | 'disabled' | 'auto-on';\n\n language:\n | 'auto'\n | 'en'\n | 'fr'\n | 'es'\n | 'de'\n | 'it'\n | 'nl'\n | 'pt'\n | 'pl'\n | 'ca'\n | 'cs'\n | 'da'\n | 'el'\n | 'fi'\n | 'id'\n | 'ja'\n | 'ru'\n | 'sv'\n | 'ta'\n | 'th'\n | 'tr'\n | 'hu'\n | 'ro'\n | 'zh'\n | 'ar'\n | 'tl'\n | 'he'\n | 'hi'\n | 'hr'\n | 'ko'\n | 'ms'\n | 'no'\n | 'uk'\n | 'bg'\n | 'et'\n | 'sl'\n | 'sk';\n\n mode: 'available' | 'disabled' | 'auto-on';\n}\n\nexport interface TranslateMessageRequest {\n language:\n | 'af'\n | 'sq'\n | 'am'\n | 'ar'\n | 'az'\n | 'bn'\n | 'bs'\n | 'bg'\n | 'zh'\n | 'zh-TW'\n | 'hr'\n | 'cs'\n | 'da'\n | 'fa-AF'\n | 'nl'\n | 'en'\n | 'et'\n | 'fi'\n | 'fr'\n | 'fr-CA'\n | 'ka'\n | 'de'\n | 'el'\n | 'ha'\n | 'he'\n | 'hi'\n | 'hu'\n | 'id'\n | 'it'\n | 'ja'\n | 'ko'\n | 'lv'\n | 'ms'\n | 'no'\n | 'fa'\n | 'ps'\n | 'pl'\n | 'pt'\n | 'ro'\n | 'ru'\n | 'sr'\n | 'sk'\n | 'sl'\n | 'so'\n | 'es'\n | 'es-MX'\n | 'sw'\n | 'sv'\n | 'tl'\n | 'ta'\n | 'th'\n | 'tr'\n | 'uk'\n | 'ur'\n | 'vi'\n | 'lt'\n | 'ht';\n}\n\nexport interface TruncateChannelRequest {\n hard_delete?: boolean;\n\n skip_push?: boolean;\n\n truncated_at?: Date;\n\n user_id?: string;\n\n message?: MessageRequest;\n\n user?: UserRequest;\n}\n\nexport interface TruncateChannelResponse {\n duration: string;\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface TypingIndicators {\n enabled: boolean;\n}\n\nexport interface TypingIndicatorsResponse {\n enabled?: boolean;\n}\n\nexport interface UnbanActionRequest {}\n\nexport interface UnbanRequest {\n unbanned_by_id?: string;\n\n unbanned_by?: UserRequest;\n}\n\nexport interface UnbanResponse {\n duration: string;\n}\n\nexport interface UnblockActionRequest {}\n\nexport interface UnblockUserRequest {\n user_id: string;\n}\n\nexport interface UnblockUserResponse {\n duration: string;\n}\n\nexport interface UnblockUsersRequest {\n blocked_user_id: string;\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface UnblockUsersResponse {\n duration: string;\n}\n\nexport interface UnblockedUserEvent {\n call_cid: string;\n\n created_at: Date;\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface UnmuteChannelRequest {\n expiration?: number;\n\n user_id?: string;\n\n channel_cids?: string[];\n\n user?: UserRequest;\n}\n\nexport interface UnmuteRequest {\n target_ids: string[];\n\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface UnmuteResponse {\n duration: string;\n\n non_existing_users?: string[];\n}\n\nexport interface UnpinRequest {\n session_id: string;\n\n user_id: string;\n}\n\nexport interface UnpinResponse {\n duration: string;\n}\n\nexport interface UnreadCountsBatchRequest {\n user_ids: string[];\n}\n\nexport interface UnreadCountsBatchResponse {\n duration: string;\n\n counts_by_user: Record<string, UnreadCountsResponse>;\n}\n\nexport interface UnreadCountsChannel {\n channel_id: string;\n\n last_read: Date;\n\n unread_count: number;\n}\n\nexport interface UnreadCountsChannelType {\n channel_count: number;\n\n channel_type: string;\n\n unread_count: number;\n}\n\nexport interface UnreadCountsResponse {\n total_unread_count: number;\n\n total_unread_threads_count: number;\n\n channel_type: UnreadCountsChannelType[];\n\n channels: UnreadCountsChannel[];\n\n threads: UnreadCountsThread[];\n}\n\nexport interface UnreadCountsThread {\n last_read: Date;\n\n last_read_message_id: string;\n\n parent_message_id: string;\n\n unread_count: number;\n}\n\nexport interface UpdateAppRequest {\n async_url_enrich_enabled?: boolean;\n\n auto_translation_enabled?: boolean;\n\n before_message_send_hook_url?: string;\n\n cdn_expiration_seconds?: number;\n\n channel_hide_members_only?: boolean;\n\n custom_action_handler_url?: string;\n\n disable_auth_checks?: boolean;\n\n disable_permissions_checks?: boolean;\n\n enforce_unique_usernames?: 'no' | 'app' | 'team';\n\n feeds_moderation_enabled?: boolean;\n\n feeds_v2_region?: string;\n\n guest_user_creation_disabled?: boolean;\n\n image_moderation_enabled?: boolean;\n\n migrate_permissions_to_v2?: boolean;\n\n moderation_enabled?: boolean;\n\n moderation_webhook_url?: string;\n\n multi_tenant_enabled?: boolean;\n\n permission_version?: 'v1' | 'v2';\n\n reminders_interval?: number;\n\n reminders_max_members?: number;\n\n revoke_tokens_issued_before?: Date;\n\n sns_key?: string;\n\n sns_secret?: string;\n\n sns_topic_arn?: string;\n\n sqs_key?: string;\n\n sqs_secret?: string;\n\n sqs_url?: string;\n\n webhook_url?: string;\n\n allowed_flag_reasons?: string[];\n\n image_moderation_block_labels?: string[];\n\n image_moderation_labels?: string[];\n\n user_search_disallowed_roles?: string[];\n\n webhook_events?: string[];\n\n apn_config?: APNConfig;\n\n async_moderation_config?: AsyncModerationConfiguration;\n\n datadog_info?: DataDogInfo;\n\n file_upload_config?: FileUploadConfig;\n\n firebase_config?: FirebaseConfig;\n\n grants?: Record<string, string[]>;\n\n huawei_config?: HuaweiConfig;\n\n image_upload_config?: FileUploadConfig;\n\n push_config?: PushConfig;\n\n xiaomi_config?: XiaomiConfig;\n}\n\nexport interface UpdateBlockListRequest {\n team?: string;\n\n words?: string[];\n}\n\nexport interface UpdateBlockListResponse {\n duration: string;\n\n blocklist?: BlockListResponse;\n}\n\nexport interface UpdateCallMembersRequest {\n remove_members?: string[];\n\n update_members?: MemberRequest[];\n}\n\nexport interface UpdateCallMembersResponse {\n duration: string;\n\n members: MemberResponse[];\n}\n\nexport interface UpdateCallRequest {\n starts_at?: Date;\n\n custom?: Record<string, any>;\n\n settings_override?: CallSettingsRequest;\n}\n\nexport interface UpdateCallResponse {\n duration: string;\n\n members: MemberResponse[];\n\n own_capabilities: OwnCapability[];\n\n call: CallResponse;\n}\n\nexport interface UpdateCallTypeRequest {\n external_storage?: string;\n\n grants?: Record<string, string[]>;\n\n notification_settings?: NotificationSettings;\n\n settings?: CallSettingsRequest;\n}\n\nexport interface UpdateCallTypeResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n grants: Record<string, string[]>;\n\n notification_settings: NotificationSettings;\n\n settings: CallSettingsResponse;\n\n external_storage?: string;\n}\n\nexport interface UpdateChannelPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateChannelPartialResponse {\n duration: string;\n\n members: ChannelMemberResponse[];\n\n channel?: ChannelResponse;\n}\n\nexport interface UpdateChannelRequest {\n accept_invite?: boolean;\n\n cooldown?: number;\n\n hide_history?: boolean;\n\n reject_invite?: boolean;\n\n skip_push?: boolean;\n\n user_id?: string;\n\n add_members?: ChannelMember[];\n\n add_moderators?: string[];\n\n assign_roles?: ChannelMember[];\n\n demote_moderators?: string[];\n\n invites?: ChannelMember[];\n\n remove_members?: string[];\n\n data?: ChannelInput;\n\n message?: MessageRequest;\n\n user?: UserRequest;\n}\n\nexport interface UpdateChannelResponse {\n duration: string;\n\n members: ChannelMember[];\n\n channel?: ChannelResponse;\n\n message?: MessageResponse;\n}\n\nexport interface UpdateChannelTypeRequest {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n max_message_length: number;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n connect_events?: boolean;\n\n custom_events?: boolean;\n\n mark_messages_pending?: boolean;\n\n mutes?: boolean;\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n polls?: boolean;\n\n push_notifications?: boolean;\n\n quotes?: boolean;\n\n reactions?: boolean;\n\n read_events?: boolean;\n\n reminders?: boolean;\n\n replies?: boolean;\n\n search?: boolean;\n\n skip_last_msg_update_for_system_msgs?: boolean;\n\n typing_events?: boolean;\n\n uploads?: boolean;\n\n url_enrichment?: boolean;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n commands?: string[];\n\n permissions?: PolicyRequest[];\n\n automod_thresholds?: Thresholds;\n\n grants?: Record<string, string[]>;\n}\n\nexport interface UpdateChannelTypeResponse {\n automod: 'disabled' | 'simple' | 'AI';\n\n automod_behavior: 'flag' | 'block' | 'shadow_block';\n\n connect_events: boolean;\n\n created_at: Date;\n\n custom_events: boolean;\n\n duration: string;\n\n mark_messages_pending: boolean;\n\n max_message_length: number;\n\n mutes: boolean;\n\n name: string;\n\n polls: boolean;\n\n push_notifications: boolean;\n\n quotes: boolean;\n\n reactions: boolean;\n\n read_events: boolean;\n\n reminders: boolean;\n\n replies: boolean;\n\n search: boolean;\n\n skip_last_msg_update_for_system_msgs: boolean;\n\n typing_events: boolean;\n\n updated_at: Date;\n\n uploads: boolean;\n\n url_enrichment: boolean;\n\n commands: string[];\n\n permissions: PolicyRequest[];\n\n grants: Record<string, string[]>;\n\n blocklist?: string;\n\n blocklist_behavior?: 'flag' | 'block' | 'shadow_block';\n\n partition_size?: number;\n\n partition_ttl?: string;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\n}\n\nexport interface UpdateCommandRequest {\n description: string;\n\n args?: string;\n\n set?: string;\n}\n\nexport interface UpdateCommandResponse {\n duration: string;\n\n command?: Command;\n}\n\nexport interface UpdateExternalStorageRequest {\n bucket: string;\n\n storage_type: 's3' | 'gcs' | 'abs';\n\n gcs_credentials?: string;\n\n path?: string;\n\n aws_s3?: S3Request;\n\n azure_blob?: AzureRequest;\n}\n\nexport interface UpdateExternalStorageResponse {\n bucket: string;\n\n duration: string;\n\n name: string;\n\n path: string;\n\n type: 's3' | 'gcs' | 'abs';\n}\n\nexport interface UpdateMemberPartialRequest {\n unset?: string[];\n\n set?: Record<string, any>;\n}\n\nexport interface UpdateMemberPartialResponse {\n duration: string;\n\n channel_member?: ChannelMemberResponse;\n}\n\nexport interface UpdateMessagePartialRequest {\n skip_enrich_url?: boolean;\n\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateMessagePartialResponse {\n duration: string;\n\n message?: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface UpdateMessageRequest {\n message: MessageRequest;\n\n skip_enrich_url?: boolean;\n}\n\nexport interface UpdateMessageResponse {\n duration: string;\n\n message: MessageResponse;\n\n pending_message_metadata?: Record<string, string>;\n}\n\nexport interface UpdatePollOptionRequest {\n id: string;\n\n text: string;\n\n user_id?: string;\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdatePollPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdatePollRequest {\n id: string;\n\n name: string;\n\n allow_answers?: boolean;\n\n allow_user_suggested_options?: boolean;\n\n description?: string;\n\n enforce_unique_vote?: boolean;\n\n is_closed?: boolean;\n\n max_votes_allowed?: number;\n\n user_id?: string;\n\n voting_visibility?: 'anonymous' | 'public';\n\n options?: PollOptionRequest[];\n\n custom?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateThreadPartialRequest {\n user_id?: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n\n user?: UserRequest;\n}\n\nexport interface UpdateThreadPartialResponse {\n duration: string;\n\n thread: ThreadResponse;\n}\n\nexport interface UpdateUserPartialRequest {\n id: string;\n\n unset?: string[];\n\n set?: Record<string, any>;\n}\n\nexport interface UpdateUserPermissionsRequest {\n user_id: string;\n\n grant_permissions?: string[];\n\n revoke_permissions?: string[];\n}\n\nexport interface UpdateUserPermissionsResponse {\n duration: string;\n}\n\nexport interface UpdateUsersPartialRequest {\n users: UpdateUserPartialRequest[];\n}\n\nexport interface UpdateUsersRequest {\n users: Record<string, UserRequest>;\n}\n\nexport interface UpdateUsersResponse {\n duration: string;\n\n membership_deletion_task_id: string;\n\n users: Record<string, FullUserResponse>;\n}\n\nexport interface UpdatedCallPermissionsEvent {\n call_cid: string;\n\n created_at: Date;\n\n own_capabilities: OwnCapability[];\n\n user: UserResponse;\n\n type: string;\n}\n\nexport interface UpsertConfigRequest {\n key: string;\n\n async?: boolean;\n\n team?: string;\n\n user_id?: string;\n\n ai_image_config?: AIImageConfig;\n\n ai_text_config?: AITextConfig;\n\n ai_video_config?: AIVideoConfig;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n aws_rekognition_config?: AIImageConfig;\n\n block_list_config?: BlockListConfig;\n\n bodyguard_config?: AITextConfig;\n\n google_vision_config?: GoogleVisionConfig;\n\n rule_builder_config?: RuleBuilderConfig;\n\n user?: UserRequest;\n\n velocity_filter_config?: VelocityFilterConfig;\n}\n\nexport interface UpsertConfigResponse {\n duration: string;\n\n config?: ConfigResponse;\n}\n\nexport interface UpsertModerationTemplateRequest {\n name: string;\n\n config: FeedsModerationTemplateConfig;\n}\n\nexport interface UpsertModerationTemplateResponse {\n created_at: Date;\n\n duration: string;\n\n name: string;\n\n updated_at: Date;\n\n config?: FeedsModerationTemplateConfig;\n}\n\nexport interface UpsertPushPreferencesRequest {\n preferences: PushPreferenceInput[];\n}\n\nexport interface UpsertPushPreferencesResponse {\n duration: string;\n\n user_channel_preferences: Record<\n string,\n Record<string, ChannelPushPreferences>\n >;\n\n user_preferences: Record<string, PushPreferences>;\n}\n\nexport interface UpsertPushProviderRequest {\n push_provider?: PushProvider;\n}\n\nexport interface UpsertPushProviderResponse {\n duration: string;\n\n push_provider: PushProviderResponse;\n}\n\nexport interface User {\n banned: boolean;\n\n id: string;\n\n online: boolean;\n\n role: string;\n\n custom: Record<string, any>;\n\n teams_role: Record<string, string>;\n\n ban_expires?: Date;\n\n created_at?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n invisible?: boolean;\n\n language?: string;\n\n last_active?: Date;\n\n last_engaged_at?: Date;\n\n revoke_tokens_issued_before?: Date;\n\n updated_at?: Date;\n\n teams?: string[];\n\n privacy_settings?: PrivacySettings;\n}\n\nexport interface UserBannedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n shadow: boolean;\n\n created_by: User;\n\n type: string;\n\n expiration?: Date;\n\n reason?: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface UserCustomEventRequest {\n type: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface UserDeactivatedEvent {\n created_at: Date;\n\n created_by: User;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserDeletedEvent {\n created_at: Date;\n\n delete_conversation_channels: boolean;\n\n hard_delete: boolean;\n\n mark_messages_deleted: boolean;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserFeedbackReport {\n unreported_count: number;\n\n count_by_rating: Record<string, number>;\n}\n\nexport interface UserFeedbackReportResponse {\n daily: DailyAggregateUserFeedbackReportResponse[];\n}\n\nexport interface UserFeedbackResponse {\n cid: string;\n\n rating: number;\n\n reason: string;\n\n sdk: string;\n\n sdk_version: string;\n\n session_id: string;\n\n user_id: string;\n\n platform: PlatformDataResponse;\n\n custom?: Record<string, any>;\n}\n\nexport interface UserFlaggedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserMute {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n target?: User;\n\n user?: User;\n}\n\nexport interface UserMuteResponse {\n created_at: Date;\n\n updated_at: Date;\n\n expires?: Date;\n\n target?: UserResponse;\n\n user?: UserResponse;\n}\n\nexport interface UserMutedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserRatingReportResponse {\n average: number;\n\n count: number;\n}\n\nexport interface UserReactivatedEvent {\n created_at: Date;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserRequest {\n id: string;\n\n image?: string;\n\n invisible?: boolean;\n\n language?: string;\n\n name?: string;\n\n role?: string;\n\n teams?: string[];\n\n custom?: Record<string, any>;\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponse {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n invisible: boolean;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n shadow_banned: boolean;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n ban_expires?: Date;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n devices?: DeviceResponse[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_notifications?: PushNotificationSettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponseCommonFields {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserResponsePrivacyFields {\n banned: boolean;\n\n created_at: Date;\n\n id: string;\n\n language: string;\n\n online: boolean;\n\n role: string;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n teams: string[];\n\n custom: Record<string, any>;\n\n deactivated_at?: Date;\n\n deleted_at?: Date;\n\n image?: string;\n\n invisible?: boolean;\n\n last_active?: Date;\n\n name?: string;\n\n revoke_tokens_issued_before?: Date;\n\n privacy_settings?: PrivacySettingsResponse;\n\n teams_role?: Record<string, string>;\n}\n\nexport interface UserUnbannedEvent {\n channel_id: string;\n\n channel_type: string;\n\n cid: string;\n\n created_at: Date;\n\n shadow: boolean;\n\n type: string;\n\n team?: string;\n\n user?: User;\n}\n\nexport interface UserUnmutedEvent {\n created_at: Date;\n\n type: string;\n\n target_user?: string;\n\n target_users?: string[];\n\n user?: User;\n}\n\nexport interface UserUnreadReminderEvent {\n created_at: Date;\n\n channels: Record<string, ChannelMessages>;\n\n type: string;\n\n user?: User;\n}\n\nexport interface UserUpdatedEvent {\n created_at: Date;\n\n custom: Record<string, any>;\n\n user: UserResponsePrivacyFields;\n\n type: string;\n\n received_at?: Date;\n}\n\nexport interface VelocityFilterConfig {\n advanced_filters: boolean;\n\n cascading_actions: boolean;\n\n cids_per_user: number;\n\n enabled: boolean;\n\n first_message_only: boolean;\n\n rules: VelocityFilterConfigRule[];\n\n async?: boolean;\n}\n\nexport interface VelocityFilterConfigRule {\n action: 'flag' | 'shadow' | 'remove' | 'ban';\n\n ban_duration: number;\n\n cascading_action: 'flag' | 'shadow' | 'remove' | 'ban';\n\n cascading_threshold: number;\n\n check_message_context: boolean;\n\n fast_spam_threshold: number;\n\n fast_spam_ttl: number;\n\n ip_ban: boolean;\n\n probation_period: number;\n\n shadow_ban: boolean;\n\n slow_spam_threshold: number;\n\n slow_spam_ttl: number;\n\n url_only: boolean;\n\n slow_spam_ban_duration?: number;\n}\n\nexport interface VideoSettings {\n access_request_enabled: boolean;\n\n camera_default_on: boolean;\n\n camera_facing: 'front' | 'back' | 'external';\n\n enabled: boolean;\n\n target_resolution: TargetResolution;\n}\n\nexport interface VideoSettingsRequest {\n access_request_enabled?: boolean;\n\n camera_default_on?: boolean;\n\n camera_facing?: 'front' | 'back' | 'external';\n\n enabled?: boolean;\n\n target_resolution?: TargetResolution;\n}\n\nexport interface VideoSettingsResponse {\n access_request_enabled: boolean;\n\n camera_default_on: boolean;\n\n camera_facing: 'front' | 'back' | 'external';\n\n enabled: boolean;\n\n target_resolution: TargetResolution;\n}\n\nexport interface VoteData {\n answer_text?: string;\n\n option_id?: string;\n\n option?: PollOptionResponseData;\n}\n\nexport interface WSEvent {\n created_at: Date;\n\n type: string;\n\n custom: Record<string, any>;\n\n automoderation?: boolean;\n\n channel_id?: string;\n\n channel_last_message_at?: Date;\n\n channel_type?: string;\n\n cid?: string;\n\n connection_id?: string;\n\n parent_id?: string;\n\n reason?: string;\n\n team?: string;\n\n thread_id?: string;\n\n user_id?: string;\n\n watcher_count?: number;\n\n automoderation_scores?: ModerationResponse;\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n me?: OwnUserResponse;\n\n member?: ChannelMember;\n\n message?: MessageResponse;\n\n message_update?: MessageUpdate;\n\n poll?: PollResponseData;\n\n poll_vote?: PollVoteResponseData;\n\n reaction?: ReactionResponse;\n\n thread?: ThreadResponse;\n\n user?: UserResponse;\n}\n\nexport interface WebhookEvent {\n type: string;\n}\n\nexport interface WrappedUnreadCountsResponse {\n duration: string;\n\n total_unread_count: number;\n\n total_unread_threads_count: number;\n\n channel_type: UnreadCountsChannelType[];\n\n channels: UnreadCountsChannel[];\n\n threads: UnreadCountsThread[];\n}\n\nexport interface XiaomiConfig {\n disabled?: boolean;\n\n package_name?: string;\n\n secret?: string;\n}\n\nexport interface XiaomiConfigFields {\n enabled: boolean;\n\n package_name?: string;\n\n secret?: string;\n}\n","import jwt, { Secret, SignOptions } from 'jsonwebtoken';\n\nexport function JWTUserToken(\n apiSecret: Secret,\n payload: {\n user_id: string;\n exp: number;\n iat: number;\n call_cids?: string[];\n } & { [key: string]: any },\n) {\n // make sure we return a clear error when jwt is shimmed (ie. browser build)\n if (jwt == null || jwt.sign == null) {\n throw Error(\n `Unable to find jwt crypto, if you are getting this error is probably because you are trying to generate tokens on browser or React Native (or other environment where crypto functions are not available). Please Note: token should only be generated server-side.`,\n );\n }\n\n const opts: SignOptions = Object.assign({\n algorithm: 'HS256',\n noTimestamp: true,\n });\n\n if (payload.iat) {\n opts.noTimestamp = false;\n }\n return jwt.sign(payload, apiSecret, opts);\n}\n\nexport function JWTServerToken(\n apiSecret: Secret,\n jwtOptions: SignOptions = {},\n) {\n const payload = {\n server: true,\n };\n\n const opts: SignOptions = Object.assign(\n { algorithm: 'HS256', noTimestamp: true },\n jwtOptions,\n );\n return jwt.sign(payload, apiSecret, opts);\n}\n","export type OmitTypeId<T> = Omit<T, 'type' | 'id' | 'connection_id'>;\n\nexport interface ApiConfig {\n apiKey: string;\n token: string;\n baseUrl: string;\n /** The timeout for requests in milliseconds. The default is 3000. */\n timeout: number;\n agent?: RequestInit['dispatcher'];\n}\n\nexport interface RequestMetadata {\n responseHeaders: Headers;\n rateLimit: RateLimit;\n responseCode: number;\n clientRequestId: string;\n}\n\nexport type StreamResponse<T> = T & {\n metadata: RequestMetadata;\n};\n\nexport class StreamError extends Error {\n constructor(\n message: string,\n public metadata: Partial<RequestMetadata>,\n public code?: number,\n errorOptions?: ErrorOptions,\n ) {\n super(message, errorOptions);\n }\n}\n\nexport interface RateLimit {\n rateLimit?: number;\n rateLimitRemaining?: number;\n rateLimitReset?: Date;\n}\n\ninterface BaseTokenPayload {\n user_id: string;\n exp: number;\n iat: number;\n call_cids?: string[];\n}\n\nexport type UserTokenPayload = BaseTokenPayload;\n\nexport type CallTokenPayload = BaseTokenPayload & {\n call_cids: string[];\n role?: string;\n};\n","import { RateLimit } from '../types';\n\nexport const getRateLimitFromResponseHeader = (responseHeaders: Headers) => {\n const rateLimit = responseHeaders.has('x-ratelimit-limit')\n ? +responseHeaders.get('x-ratelimit-limit')!\n : undefined;\n const rateLimitRemaining = responseHeaders.has('x-ratelimit-remaining')\n ? +responseHeaders.get('x-ratelimit-remaining')!\n : undefined;\n const rateLimitReset = responseHeaders.has('x-ratelimit-reset')\n ? new Date(+responseHeaders.get('x-ratelimit-reset')! * 1000)\n : undefined;\n\n const result: RateLimit = {\n rateLimit,\n rateLimitRemaining,\n rateLimitReset,\n };\n\n return result;\n};\n","import { v4 as uuidv4 } from 'uuid';\nimport { ApiConfig, RequestMetadata, StreamError } from './types';\nimport { APIError } from './gen/models';\nimport { getRateLimitFromResponseHeader } from './utils/rate-limit';\n\nexport class BaseApi {\n private readonly dispatcher?: RequestInit['dispatcher'];\n\n constructor(protected readonly apiConfig: ApiConfig) {\n this.dispatcher = this.apiConfig.agent;\n }\n\n protected sendRequest = async <T>(\n method: string,\n url: string,\n pathParams?: Record<string, string>,\n queryParams?: Record<string, any>,\n body?: any,\n ) => {\n queryParams = queryParams ?? {};\n queryParams.api_key = this.apiConfig.apiKey;\n const encodedParams = this.queryParamsStringify(queryParams);\n if (pathParams) {\n Object.keys(pathParams).forEach((paramName) => {\n url = url.replace(`{${paramName}}`, pathParams[paramName]);\n });\n }\n\n url += `?${encodedParams}`;\n const clientRequestId = uuidv4();\n const headers = {\n Authorization: this.apiConfig.token,\n 'stream-auth-type': 'jwt',\n 'Content-Type': 'application/json',\n 'X-Stream-Client': 'stream-node-' + process.env.PKG_VERSION,\n 'Accept-Encoding': 'gzip',\n 'x-client-request-id': clientRequestId,\n };\n\n const signal = AbortSignal.timeout(this.apiConfig.timeout);\n\n try {\n const response = await fetch(`${this.apiConfig.baseUrl}${url}`, {\n signal,\n method,\n body: JSON.stringify(body),\n headers,\n dispatcher: this.dispatcher,\n });\n\n const responseHeaders = response.headers;\n\n const metadata: RequestMetadata = {\n clientRequestId,\n responseHeaders,\n responseCode: response.status,\n rateLimit: getRateLimitFromResponseHeader(responseHeaders),\n };\n\n if (response.status < 200 || response.status >= 300) {\n let error: APIError;\n try {\n error = (await response.json()) as APIError;\n } catch (_) {\n throw new StreamError(\n `Stream error: ${response.status} - ${response.statusText}`,\n metadata,\n response.status,\n );\n }\n throw new StreamError(\n `Stream error code ${error!.code}: ${error!.message}`,\n metadata,\n error!.code,\n undefined,\n );\n }\n\n const responseBody = (await response.json()) as T;\n\n return { body: responseBody, metadata };\n } catch (error: any) {\n if (error instanceof StreamError) {\n throw error;\n }\n const metadata: Partial<RequestMetadata> = {\n clientRequestId,\n responseCode: error.status,\n };\n if (error.name === 'AbortError' || error.name === 'TimeoutError') {\n throw new StreamError(\n `The request was aborted due to to the ${this.apiConfig.timeout}ms timeout, you can set the timeout in the StreamClient constructor`,\n metadata,\n undefined,\n error,\n );\n } else {\n throw new StreamError(\n `The request failed due to an unexpected error`,\n metadata,\n error,\n );\n }\n }\n };\n\n protected queryParamsStringify = (params: Record<string, any>) => {\n const newParams = [];\n for (const k in params) {\n const param = params[k];\n if (Array.isArray(param)) {\n newParams.push(`${k}=${encodeURIComponent(param.join(','))}`);\n } else if (param instanceof Date) {\n newParams.push(param.toISOString());\n } else if (typeof param === 'object') {\n newParams.push(`${k}=${encodeURIComponent(JSON.stringify(param))}`);\n } else {\n if (\n typeof param === 'string' ||\n typeof param === 'number' ||\n typeof param === 'boolean'\n ) {\n newParams.push(`${k}=${encodeURIComponent(param)}`);\n }\n }\n }\n\n return newParams.join('&');\n };\n}\n","type Decoder = (i: any) => any;\n\ntype TypeMapping = Record<string, { type: string; isSingle: boolean }>;\n\nexport const decoders: Record<string, Decoder> = {};\n\nconst decodeDatetimeType = (input: number) =>\n new Date(Math.floor(input / 1000000));\n\ndecoders.DatetimeType = decodeDatetimeType;\n\nconst decode = (typeMappings: TypeMapping, input?: Record<string, any>) => {\n if (!input || Object.keys(typeMappings).length === 0) return input;\n\n Object.keys(typeMappings).forEach((key) => {\n if (input[key] != null) {\n if (typeMappings[key]) {\n const decoder = decoders[typeMappings[key].type];\n if (decoder) {\n if (typeMappings[key].isSingle) {\n input[key] = decoder(input[key]);\n } else {\n Object.keys(input[key]).forEach((k) => {\n input[key][k] = decoder(input[key][k]);\n });\n }\n }\n }\n }\n });\n\n return input;\n};\n\ndecoders.ActionLog = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItem', isSingle: true },\n\n target_user: { type: 'User', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ActionLogResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n review_queue_item: { type: 'ReviewQueueItem', isSingle: true },\n\n target_user: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AppResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call_types: { type: 'CallType', isSingle: false },\n\n channel_configs: { type: 'ChannelConfig', isSingle: false },\n\n push_notifications: { type: 'PushNotificationFields', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.AutomodDetails = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n result: { type: 'MessageModerationResult', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Ban = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'Channel', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n target: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BanResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n banned_by: { type: 'UserResponse', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.BlockedUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n blocked_user: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallParticipantResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n joined_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallRecording = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n end_time: { type: 'DatetimeType', isSingle: true },\n\n start_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallReportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n starts_at: { type: 'DatetimeType', isSingle: true },\n\n session: { type: 'CallSessionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallSessionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n participants: { type: 'CallParticipantResponse', isSingle: false },\n\n accepted_by: { type: 'DatetimeType', isSingle: false },\n\n missed_by: { type: 'DatetimeType', isSingle: false },\n\n rejected_by: { type: 'DatetimeType', isSingle: false },\n\n ended_at: { type: 'DatetimeType', isSingle: true },\n\n live_ended_at: { type: 'DatetimeType', isSingle: true },\n\n live_started_at: { type: 'DatetimeType', isSingle: true },\n\n started_at: { type: 'DatetimeType', isSingle: true },\n\n timer_ends_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStateResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallStatsReportSummaryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n first_stats_time: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTranscription = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n end_time: { type: 'DatetimeType', isSingle: true },\n\n start_time: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallType = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n segments: { type: 'Segment', isSingle: false },\n\n users: { type: 'UserResponse', isSingle: false },\n\n stats: { type: 'CampaignStatsResponse', isSingle: true },\n\n scheduled_for: { type: 'DatetimeType', isSingle: true },\n\n stop_at: { type: 'DatetimeType', isSingle: true },\n\n sender: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CampaignStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n stats_completed_at: { type: 'DatetimeType', isSingle: true },\n\n stats_started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Channel = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n invites: { type: 'ChannelMember', isSingle: false },\n\n members: { type: 'ChannelMember', isSingle: false },\n\n config: { type: 'ChannelConfig', isSingle: true },\n\n created_by: { type: 'User', isSingle: true },\n\n truncated_by: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelConfig = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelConfigWithInfo = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMember = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n archived_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_rejected_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMemberResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n archived_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_accepted_at: { type: 'DatetimeType', isSingle: true },\n\n invite_rejected_at: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelMute = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelPushPreferences = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n mute_expires_at: { type: 'DatetimeType', isSingle: true },\n\n truncated_at: { type: 'DatetimeType', isSingle: true },\n\n members: { type: 'ChannelMember', isSingle: false },\n\n config: { type: 'ChannelConfigWithInfo', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n truncated_by: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMember', isSingle: false },\n\n messages: { type: 'MessageResponse', isSingle: false },\n\n pinned_messages: { type: 'MessageResponse', isSingle: false },\n\n threads: { type: 'ThreadStateResponse', isSingle: false },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n pending_messages: { type: 'PendingMessageResponse', isSingle: false },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n watchers: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n membership: { type: 'ChannelMember', isSingle: true },\n\n push_preferences: { type: 'ChannelPushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelStateResponseFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMember', isSingle: false },\n\n messages: { type: 'MessageResponse', isSingle: false },\n\n pinned_messages: { type: 'MessageResponse', isSingle: false },\n\n threads: { type: 'ThreadStateResponse', isSingle: false },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n pending_messages: { type: 'PendingMessageResponse', isSingle: false },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n watchers: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n membership: { type: 'ChannelMember', isSingle: true },\n\n push_preferences: { type: 'ChannelPushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChannelTypeConfig = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ChatActivityStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageStatsResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CheckResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItem', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Command = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CountByMinuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n start_ts: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n command: { type: 'Command', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateGuestResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateImportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_task: { type: 'ImportTask', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CreateRoleResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n role: { type: 'Role', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.CustomCheckResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeactivateUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeleteReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Device = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DeviceResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DraftPayloadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n mentioned_users: { type: 'UserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.DraftResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n message: { type: 'DraftPayloadResponse', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EgressRTMPResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n started_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EntityCreator = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n last_engaged_at: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EntityCreatorResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n push_notifications: {\n type: 'PushNotificationSettingsResponse',\n isSingle: true,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.EventResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n event: { type: 'WSEvent', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ExportUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n\n reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Flag = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FlagDetails = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n automod: { type: 'AutomodDetails', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FlagFeedback = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.FullUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n mutes: { type: 'UserMuteResponse', isSingle: false },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetApplicationResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n app: { type: 'AppResponseFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetBlockedUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocks: { type: 'BlockedUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCallReportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n chat_activity: { type: 'ChatActivityStatsResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n config: { type: 'ConfigResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetDraftResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n draft: { type: 'DraftResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetImportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_task: { type: 'ImportTask', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetManyMessagesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageWithChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetOrCreateCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'Reaction', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetRepliesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n messages: { type: 'MessageResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetReviewQueueItemResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItemResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetSegmentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n segment: { type: 'SegmentResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetTaskResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GetThreadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n thread: { type: 'ThreadStateResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.GoLiveResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ImportTask = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n history: { type: 'ImportTaskHistory', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ImportTaskHistory = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklists: { type: 'BlockListResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call_types: { type: 'CallTypeResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListChannelTypesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_types: { type: 'ChannelTypeConfig', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListCommandsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n commands: { type: 'Command', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListDevicesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n devices: { type: 'DeviceResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListImportsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n import_tasks: { type: 'ImportTask', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListPushProvidersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n push_providers: { type: 'PushProviderResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListRecordingsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n recordings: { type: 'CallRecording', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListRolesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n roles: { type: 'Role', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ListTranscriptionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n transcriptions: { type: 'CallTranscription', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MarkReadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n event: { type: 'MessageReadEvent', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MemberResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMember', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Message = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'Reaction', isSingle: false },\n\n mentioned_users: { type: 'User', isSingle: false },\n\n own_reactions: { type: 'Reaction', isSingle: false },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'User', isSingle: false },\n\n pinned_by: { type: 'User', isSingle: true },\n\n poll: { type: 'Poll', isSingle: true },\n\n quoted_message: { type: 'Message', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageFlagResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n approved_at: { type: 'DatetimeType', isSingle: true },\n\n rejected_at: { type: 'DatetimeType', isSingle: true },\n\n reviewed_at: { type: 'DatetimeType', isSingle: true },\n\n details: { type: 'FlagDetails', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n moderation_feedback: { type: 'FlagFeedback', isSingle: true },\n\n moderation_result: { type: 'MessageModerationResult', isSingle: true },\n\n reviewed_by: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageHistoryEntryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message_updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageModerationResult = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageReadEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel_last_message_at: { type: 'DatetimeType', isSingle: true },\n\n thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'UserResponseCommonFields', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n count_over_time: { type: 'CountByMinuteResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MessageWithChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MuteChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n channel_mute: { type: 'ChannelMute', isSingle: true },\n\n own_user: { type: 'OwnUser', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.MuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n mutes: { type: 'UserMute', isSingle: false },\n\n own_user: { type: 'OwnUser', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.OwnUser = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'Device', isSingle: false },\n\n mutes: { type: 'UserMute', isSingle: false },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n last_engaged_at: { type: 'DatetimeType', isSingle: true },\n\n push_preferences: { type: 'PushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.OwnUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n channel_mutes: { type: 'ChannelMute', isSingle: false },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n mutes: { type: 'UserMuteResponse', isSingle: false },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n push_preferences: { type: 'PushPreferences', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ParticipantCountByMinuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n start_ts: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ParticipantCountOverTimeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n by_minute: { type: 'ParticipantCountByMinuteResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PendingMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Poll = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_answers: { type: 'PollVote', isSingle: false },\n\n own_votes: { type: 'PollVote', isSingle: false },\n\n created_by: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n poll: { type: 'PollResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_answers: { type: 'PollVoteResponseData', isSingle: false },\n\n own_votes: { type: 'PollVoteResponseData', isSingle: false },\n\n created_by: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVote = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVoteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n vote: { type: 'PollVoteResponseData', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVoteResponseData = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PollVotesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n votes: { type: 'PollVoteResponseData', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushNotificationFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n providers: { type: 'PushProvider', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushNotificationSettingsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushPreferences = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushProvider = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n disabled_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PushProviderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n disabled_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryBannedUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n bans: { type: 'BanResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallParticipantsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n participants: { type: 'CallParticipantResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reports: { type: 'CallStatsReportSummaryResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCallsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n calls: { type: 'CallStateResponseFields', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryCampaignsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n campaigns: { type: 'CampaignResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryChannelsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'ChannelStateResponseFields', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryDraftsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n drafts: { type: 'DraftResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedModerationTemplate = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryFeedModerationTemplatesResponse = (\n input?: Record<string, any>,\n) => {\n const typeMappings: TypeMapping = {\n templates: { type: 'QueryFeedModerationTemplate', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryMessageFlagsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n flags: { type: 'MessageFlagResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryMessageHistoryResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message_history: { type: 'MessageHistoryEntryResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationConfigsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n configs: { type: 'ConfigResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryModerationLogsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n logs: { type: 'ActionLogResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryPollsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n polls: { type: 'PollResponseData', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryReactionsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n reactions: { type: 'ReactionResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryReviewQueueResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n items: { type: 'ReviewQueueItemResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QuerySegmentTargetsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n targets: { type: 'SegmentTargetResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QuerySegmentsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n segments: { type: 'SegmentResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryThreadsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n threads: { type: 'ThreadStateResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.QueryUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n users: { type: 'FullUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Reaction = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionGroupResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n first_reaction_at: { type: 'DatetimeType', isSingle: true },\n\n last_reaction_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReactivateUserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReadStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReviewQueueItem = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n actions: { type: 'ActionLog', isSingle: false },\n\n bans: { type: 'Ban', isSingle: false },\n\n flags: { type: 'Flag', isSingle: false },\n\n assigned_to: { type: 'User', isSingle: true },\n\n entity_creator: { type: 'EntityCreator', isSingle: true },\n\n feeds_v2_reaction: { type: 'Reaction', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ReviewQueueItemResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n actions: { type: 'ActionLogResponse', isSingle: false },\n\n bans: { type: 'Ban', isSingle: false },\n\n completed_at: { type: 'DatetimeType', isSingle: true },\n\n reviewed_at: { type: 'DatetimeType', isSingle: true },\n\n assigned_to: { type: 'UserResponse', isSingle: true },\n\n entity_creator: { type: 'EntityCreatorResponse', isSingle: true },\n\n feeds_v2_reaction: { type: 'Reaction', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Role = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SearchResult = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'SearchResultMessage', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SearchResultMessage = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_reactions: { type: 'ReactionResponse', isSingle: false },\n\n mentioned_users: { type: 'UserResponse', isSingle: false },\n\n own_reactions: { type: 'ReactionResponse', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n message_text_updated_at: { type: 'DatetimeType', isSingle: true },\n\n pin_expires: { type: 'DatetimeType', isSingle: true },\n\n pinned_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'UserResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n quoted_message: { type: 'MessageResponse', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Segment = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SegmentResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SegmentTargetResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SendMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SendReactionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.StopLiveResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.SubmitActionResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n item: { type: 'ReviewQueueItem', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadParticipant = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n last_read_at: { type: 'DatetimeType', isSingle: true },\n\n last_thread_message_at: { type: 'DatetimeType', isSingle: true },\n\n left_thread_at: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n thread_participants: { type: 'ThreadParticipant', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadStateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n latest_replies: { type: 'MessageResponse', isSingle: false },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n read: { type: 'ReadStateResponse', isSingle: false },\n\n thread_participants: { type: 'ThreadParticipant', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n draft: { type: 'DraftResponse', isSingle: true },\n\n parent_message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.TruncateChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsBatchResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n counts_by_user: { type: 'UnreadCountsResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsChannel = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'UnreadCountsChannel', isSingle: false },\n\n threads: { type: 'UnreadCountsThread', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UnreadCountsThread = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateBlockListResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n blocklist: { type: 'BlockListResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallMembersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'MemberResponse', isSingle: false },\n\n call: { type: 'CallResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCallTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMemberResponse', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n members: { type: 'ChannelMember', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateChannelTypeResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateCommandResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n command: { type: 'Command', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMemberPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel_member: { type: 'ChannelMemberResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMessagePartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'MessageResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateThreadPartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n thread: { type: 'ThreadResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateUsersResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n users: { type: 'FullUserResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertConfigResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n config: { type: 'ConfigResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertModerationTemplateResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertPushPreferencesResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user_preferences: { type: 'PushPreferences', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpsertPushProviderResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n push_provider: { type: 'PushProviderResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.User = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n created_at: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n last_engaged_at: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMute = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n target: { type: 'User', isSingle: true },\n\n user: { type: 'User', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserMuteResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n expires: { type: 'DatetimeType', isSingle: true },\n\n target: { type: 'UserResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n ban_expires: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n devices: { type: 'DeviceResponse', isSingle: false },\n\n push_notifications: {\n type: 'PushNotificationSettingsResponse',\n isSingle: true,\n },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UserResponseCommonFields = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n deactivated_at: { type: 'DatetimeType', isSingle: true },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_active: { type: 'DatetimeType', isSingle: true },\n\n revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.WSEvent = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n\n channel_last_message_at: { type: 'DatetimeType', isSingle: true },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserResponse', isSingle: true },\n\n me: { type: 'OwnUserResponse', isSingle: true },\n\n member: { type: 'ChannelMember', isSingle: true },\n\n message: { type: 'MessageResponse', isSingle: true },\n\n poll: { type: 'PollResponseData', isSingle: true },\n\n poll_vote: { type: 'PollVoteResponseData', isSingle: true },\n\n reaction: { type: 'ReactionResponse', isSingle: true },\n\n thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.WrappedUnreadCountsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'UnreadCountsChannel', isSingle: false },\n\n threads: { type: 'UnreadCountsThread', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n","import { BaseApi } from '../../BaseApi';\nimport { StreamResponse } from '../../types';\nimport {\n BlockUsersRequest,\n BlockUsersResponse,\n CheckExternalStorageResponse,\n CheckPushRequest,\n CheckPushResponse,\n CheckSNSRequest,\n CheckSNSResponse,\n CheckSQSRequest,\n CheckSQSResponse,\n CreateBlockListRequest,\n CreateBlockListResponse,\n CreateDeviceRequest,\n CreateExternalStorageRequest,\n CreateExternalStorageResponse,\n CreateGuestRequest,\n CreateGuestResponse,\n CreateImportRequest,\n CreateImportResponse,\n CreateImportURLRequest,\n CreateImportURLResponse,\n CreateRoleRequest,\n CreateRoleResponse,\n DeactivateUserRequest,\n DeactivateUserResponse,\n DeactivateUsersRequest,\n DeactivateUsersResponse,\n DeleteExternalStorageResponse,\n DeleteUsersRequest,\n DeleteUsersResponse,\n ExportUserResponse,\n ExportUsersRequest,\n ExportUsersResponse,\n GetApplicationResponse,\n GetBlockListResponse,\n GetBlockedUsersResponse,\n GetCustomPermissionResponse,\n GetImportResponse,\n GetOGResponse,\n GetRateLimitsResponse,\n GetTaskResponse,\n ListBlockListResponse,\n ListDevicesResponse,\n ListExternalStorageResponse,\n ListImportsResponse,\n ListPermissionsResponse,\n ListPushProvidersResponse,\n ListRolesResponse,\n QueryUsersPayload,\n QueryUsersResponse,\n ReactivateUserRequest,\n ReactivateUserResponse,\n ReactivateUsersRequest,\n ReactivateUsersResponse,\n Response,\n RestoreUsersRequest,\n UnblockUsersRequest,\n UnblockUsersResponse,\n UpdateAppRequest,\n UpdateBlockListRequest,\n UpdateBlockListResponse,\n UpdateExternalStorageRequest,\n UpdateExternalStorageResponse,\n UpdateUsersPartialRequest,\n UpdateUsersRequest,\n UpdateUsersResponse,\n UpsertPushProviderRequest,\n UpsertPushProviderResponse,\n} from '../models';\nimport { decoders } from '../model-decoders';\n\nexport class CommonApi extends BaseApi {\n getApp = async (): Promise<StreamResponse<GetApplicationResponse>> => {\n const response = await this.sendRequest<\n StreamResponse<GetApplicationResponse>\n >('GET', '/api/v2/app', undefined, undefined);\n\n decoders.GetApplicationResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateApp = async (\n request?: UpdateAppRequest,\n ): Promise<StreamResponse<Response>> => {\n const body = {\n async_url_enrich_enabled: request?.async_url_enrich_enabled,\n auto_translation_enabled: request?.auto_translation_enabled,\n before_message_send_hook_url: request?.before_message_send_hook_url,\n cdn_expiration_seconds: request?.cdn_expiration_seconds,\n channel_hide_members_only: request?.channel_hide_members_only,\n custom_action_handler_url: request?.custom_action_handler_url,\n disable_auth_checks: request?.disable_auth_checks,\n disable_permissions_checks: request?.disable_permissions_checks,\n enforce_unique_usernames: request?.enforce_unique_usernames,\n feeds_moderation_enabled: request?.feeds_moderation_enabled,\n feeds_v2_region: request?.feeds_v2_region,\n guest_user_creation_disabled: request?.guest_user_creation_disabled,\n image_moderation_enabled: request?.image_moderation_enabled,\n migrate_permissions_to_v2: request?.migrate_permissions_to_v2,\n moderation_enabled: request?.moderation_enabled,\n moderation_webhook_url: request?.moderation_webhook_url,\n multi_tenant_enabled: request?.multi_tenant_enabled,\n permission_version: request?.permission_version,\n reminders_interval: request?.reminders_interval,\n reminders_max_members: request?.reminders_max_members,\n revoke_tokens_issued_before: request?.revoke_tokens_issued_before,\n sns_key: request?.sns_key,\n sns_secret: request?.sns_secret,\n sns_topic_arn: request?.sns_topic_arn,\n sqs_key: request?.sqs_key,\n sqs_secret: request?.sqs_secret,\n sqs_url: request?.sqs_url,\n webhook_url: request?.webhook_url,\n allowed_flag_reasons: request?.allowed_flag_reasons,\n image_moderation_block_labels: request?.image_moderation_block_labels,\n image_moderation_labels: request?.image_moderation_labels,\n user_search_disallowed_roles: request?.user_search_disallowed_roles,\n webhook_events: request?.webhook_events,\n apn_config: request?.apn_config,\n async_moderation_config: request?.async_moderation_config,\n datadog_info: request?.datadog_info,\n file_upload_config: request?.file_upload_config,\n firebase_config: request?.firebase_config,\n grants: request?.grants,\n huawei_config: request?.huawei_config,\n image_upload_config: request?.image_upload_config,\n push_config: request?.push_config,\n xiaomi_config: request?.xiaomi_config,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'PATCH',\n '/api/v2/app',\n undefined,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listBlockLists = async (request?: {\n team?: string;\n }): Promise<StreamResponse<ListBlockListResponse>> => {\n const queryParams = {\n team: request?.team,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ListBlockListResponse>\n >('GET', '/api/v2/blocklists', undefined, queryParams);\n\n decoders.ListBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createBlockList = async (\n request: CreateBlockListRequest,\n ): Promise<StreamResponse<CreateBlockListResponse>> => {\n const body = {\n name: request?.name,\n words: request?.words,\n team: request?.team,\n type: request?.type,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateBlockListResponse>\n >('POST', '/api/v2/blocklists', undefined, undefined, body);\n\n decoders.CreateBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteBlockList = async (request: {\n name: string;\n team?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/blocklists/{name}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getBlockList = async (request: {\n name: string;\n team?: string;\n }): Promise<StreamResponse<GetBlockListResponse>> => {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetBlockListResponse>\n >('GET', '/api/v2/blocklists/{name}', pathParams, queryParams);\n\n decoders.GetBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateBlockList = async (\n request: UpdateBlockListRequest & { name: string },\n ): Promise<StreamResponse<UpdateBlockListResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n team: request?.team,\n words: request?.words,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateBlockListResponse>\n >('PUT', '/api/v2/blocklists/{name}', pathParams, undefined, body);\n\n decoders.UpdateBlockListResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n checkPush = async (\n request?: CheckPushRequest,\n ): Promise<StreamResponse<CheckPushResponse>> => {\n const body = {\n apn_template: request?.apn_template,\n firebase_data_template: request?.firebase_data_template,\n firebase_template: request?.firebase_template,\n message_id: request?.message_id,\n push_provider_name: request?.push_provider_name,\n push_provider_type: request?.push_provider_type,\n skip_devices: request?.skip_devices,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<CheckPushResponse>>(\n 'POST',\n '/api/v2/check_push',\n undefined,\n undefined,\n body,\n );\n\n decoders.CheckPushResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n checkSNS = async (\n request?: CheckSNSRequest,\n ): Promise<StreamResponse<CheckSNSResponse>> => {\n const body = {\n sns_key: request?.sns_key,\n sns_secret: request?.sns_secret,\n sns_topic_arn: request?.sns_topic_arn,\n };\n\n const response = await this.sendRequest<StreamResponse<CheckSNSResponse>>(\n 'POST',\n '/api/v2/check_sns',\n undefined,\n undefined,\n body,\n );\n\n decoders.CheckSNSResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n checkSQS = async (\n request?: CheckSQSRequest,\n ): Promise<StreamResponse<CheckSQSResponse>> => {\n const body = {\n sqs_key: request?.sqs_key,\n sqs_secret: request?.sqs_secret,\n sqs_url: request?.sqs_url,\n };\n\n const response = await this.sendRequest<StreamResponse<CheckSQSResponse>>(\n 'POST',\n '/api/v2/check_sqs',\n undefined,\n undefined,\n body,\n );\n\n decoders.CheckSQSResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteDevice = async (request: {\n id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n id: request?.id,\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/devices',\n undefined,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listDevices = async (request?: {\n user_id?: string;\n }): Promise<StreamResponse<ListDevicesResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ListDevicesResponse>\n >('GET', '/api/v2/devices', undefined, queryParams);\n\n decoders.ListDevicesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createDevice = async (\n request: CreateDeviceRequest,\n ): Promise<StreamResponse<Response>> => {\n const body = {\n id: request?.id,\n push_provider: request?.push_provider,\n push_provider_name: request?.push_provider_name,\n user_id: request?.user_id,\n voip_token: request?.voip_token,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/devices',\n undefined,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n exportUsers = async (\n request: ExportUsersRequest,\n ): Promise<StreamResponse<ExportUsersResponse>> => {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ExportUsersResponse>\n >('POST', '/api/v2/export/users', undefined, undefined, body);\n\n decoders.ExportUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listExternalStorage = async (): Promise<\n StreamResponse<ListExternalStorageResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<ListExternalStorageResponse>\n >('GET', '/api/v2/external_storage', undefined, undefined);\n\n decoders.ListExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createExternalStorage = async (\n request: CreateExternalStorageRequest,\n ): Promise<StreamResponse<CreateExternalStorageResponse>> => {\n const body = {\n bucket: request?.bucket,\n name: request?.name,\n storage_type: request?.storage_type,\n gcs_credentials: request?.gcs_credentials,\n path: request?.path,\n aws_s3: request?.aws_s3,\n azure_blob: request?.azure_blob,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateExternalStorageResponse>\n >('POST', '/api/v2/external_storage', undefined, undefined, body);\n\n decoders.CreateExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteExternalStorage = async (request: {\n name: string;\n }): Promise<StreamResponse<DeleteExternalStorageResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteExternalStorageResponse>\n >('DELETE', '/api/v2/external_storage/{name}', pathParams, undefined);\n\n decoders.DeleteExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateExternalStorage = async (\n request: UpdateExternalStorageRequest & { name: string },\n ): Promise<StreamResponse<UpdateExternalStorageResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n bucket: request?.bucket,\n storage_type: request?.storage_type,\n gcs_credentials: request?.gcs_credentials,\n path: request?.path,\n aws_s3: request?.aws_s3,\n azure_blob: request?.azure_blob,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateExternalStorageResponse>\n >('PUT', '/api/v2/external_storage/{name}', pathParams, undefined, body);\n\n decoders.UpdateExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n checkExternalStorage = async (request: {\n name: string;\n }): Promise<StreamResponse<CheckExternalStorageResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CheckExternalStorageResponse>\n >('GET', '/api/v2/external_storage/{name}/check', pathParams, undefined);\n\n decoders.CheckExternalStorageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createGuest = async (\n request: CreateGuestRequest,\n ): Promise<StreamResponse<CreateGuestResponse>> => {\n const body = {\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateGuestResponse>\n >('POST', '/api/v2/guest', undefined, undefined, body);\n\n decoders.CreateGuestResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createImportURL = async (\n request?: CreateImportURLRequest,\n ): Promise<StreamResponse<CreateImportURLResponse>> => {\n const body = {\n filename: request?.filename,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateImportURLResponse>\n >('POST', '/api/v2/import_urls', undefined, undefined, body);\n\n decoders.CreateImportURLResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listImports = async (): Promise<StreamResponse<ListImportsResponse>> => {\n const response = await this.sendRequest<\n StreamResponse<ListImportsResponse>\n >('GET', '/api/v2/imports', undefined, undefined);\n\n decoders.ListImportsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createImport = async (\n request: CreateImportRequest,\n ): Promise<StreamResponse<CreateImportResponse>> => {\n const body = {\n mode: request?.mode,\n path: request?.path,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateImportResponse>\n >('POST', '/api/v2/imports', undefined, undefined, body);\n\n decoders.CreateImportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getImport = async (request: {\n id: string;\n }): Promise<StreamResponse<GetImportResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetImportResponse>>(\n 'GET',\n '/api/v2/imports/{id}',\n pathParams,\n undefined,\n );\n\n decoders.GetImportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getOG = async (request: {\n url: string;\n }): Promise<StreamResponse<GetOGResponse>> => {\n const queryParams = {\n url: request?.url,\n };\n\n const response = await this.sendRequest<StreamResponse<GetOGResponse>>(\n 'GET',\n '/api/v2/og',\n undefined,\n queryParams,\n );\n\n decoders.GetOGResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listPermissions = async (): Promise<\n StreamResponse<ListPermissionsResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<ListPermissionsResponse>\n >('GET', '/api/v2/permissions', undefined, undefined);\n\n decoders.ListPermissionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getPermission = async (request: {\n id: string;\n }): Promise<StreamResponse<GetCustomPermissionResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetCustomPermissionResponse>\n >('GET', '/api/v2/permissions/{id}', pathParams, undefined);\n\n decoders.GetCustomPermissionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listPushProviders = async (): Promise<\n StreamResponse<ListPushProvidersResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<ListPushProvidersResponse>\n >('GET', '/api/v2/push_providers', undefined, undefined);\n\n decoders.ListPushProvidersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n upsertPushProvider = async (\n request?: UpsertPushProviderRequest,\n ): Promise<StreamResponse<UpsertPushProviderResponse>> => {\n const body = {\n push_provider: request?.push_provider,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpsertPushProviderResponse>\n >('POST', '/api/v2/push_providers', undefined, undefined, body);\n\n decoders.UpsertPushProviderResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deletePushProvider = async (request: {\n type: string;\n name: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n type: request?.type,\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/push_providers/{type}/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getRateLimits = async (request?: {\n server_side?: boolean;\n android?: boolean;\n ios?: boolean;\n web?: boolean;\n endpoints?: string;\n }): Promise<StreamResponse<GetRateLimitsResponse>> => {\n const queryParams = {\n server_side: request?.server_side,\n android: request?.android,\n ios: request?.ios,\n web: request?.web,\n endpoints: request?.endpoints,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetRateLimitsResponse>\n >('GET', '/api/v2/rate_limits', undefined, queryParams);\n\n decoders.GetRateLimitsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listRoles = async (): Promise<StreamResponse<ListRolesResponse>> => {\n const response = await this.sendRequest<StreamResponse<ListRolesResponse>>(\n 'GET',\n '/api/v2/roles',\n undefined,\n undefined,\n );\n\n decoders.ListRolesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createRole = async (\n request: CreateRoleRequest,\n ): Promise<StreamResponse<CreateRoleResponse>> => {\n const body = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<CreateRoleResponse>>(\n 'POST',\n '/api/v2/roles',\n undefined,\n undefined,\n body,\n );\n\n decoders.CreateRoleResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteRole = async (request: {\n name: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/roles/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getTask = async (request: {\n id: string;\n }): Promise<StreamResponse<GetTaskResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetTaskResponse>>(\n 'GET',\n '/api/v2/tasks/{id}',\n pathParams,\n undefined,\n );\n\n decoders.GetTaskResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryUsers = async (request?: {\n payload?: QueryUsersPayload;\n }): Promise<StreamResponse<QueryUsersResponse>> => {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.sendRequest<StreamResponse<QueryUsersResponse>>(\n 'GET',\n '/api/v2/users',\n undefined,\n queryParams,\n );\n\n decoders.QueryUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateUsersPartial = async (\n request: UpdateUsersPartialRequest,\n ): Promise<StreamResponse<UpdateUsersResponse>> => {\n const body = {\n users: request?.users,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateUsersResponse>\n >('PATCH', '/api/v2/users', undefined, undefined, body);\n\n decoders.UpdateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateUsers = async (\n request: UpdateUsersRequest,\n ): Promise<StreamResponse<UpdateUsersResponse>> => {\n const body = {\n users: request?.users,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateUsersResponse>\n >('POST', '/api/v2/users', undefined, undefined, body);\n\n decoders.UpdateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getBlockedUsers = async (request?: {\n user_id?: string;\n }): Promise<StreamResponse<GetBlockedUsersResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetBlockedUsersResponse>\n >('GET', '/api/v2/users/block', undefined, queryParams);\n\n decoders.GetBlockedUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n blockUsers = async (\n request: BlockUsersRequest,\n ): Promise<StreamResponse<BlockUsersResponse>> => {\n const body = {\n blocked_user_id: request?.blocked_user_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<BlockUsersResponse>>(\n 'POST',\n '/api/v2/users/block',\n undefined,\n undefined,\n body,\n );\n\n decoders.BlockUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deactivateUsers = async (\n request: DeactivateUsersRequest,\n ): Promise<StreamResponse<DeactivateUsersResponse>> => {\n const body = {\n user_ids: request?.user_ids,\n created_by_id: request?.created_by_id,\n mark_channels_deleted: request?.mark_channels_deleted,\n mark_messages_deleted: request?.mark_messages_deleted,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeactivateUsersResponse>\n >('POST', '/api/v2/users/deactivate', undefined, undefined, body);\n\n decoders.DeactivateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteUsers = async (\n request: DeleteUsersRequest,\n ): Promise<StreamResponse<DeleteUsersResponse>> => {\n const body = {\n user_ids: request?.user_ids,\n calls: request?.calls,\n conversations: request?.conversations,\n messages: request?.messages,\n new_call_owner_id: request?.new_call_owner_id,\n new_channel_owner_id: request?.new_channel_owner_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteUsersResponse>\n >('POST', '/api/v2/users/delete', undefined, undefined, body);\n\n decoders.DeleteUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n reactivateUsers = async (\n request: ReactivateUsersRequest,\n ): Promise<StreamResponse<ReactivateUsersResponse>> => {\n const body = {\n user_ids: request?.user_ids,\n created_by_id: request?.created_by_id,\n restore_channels: request?.restore_channels,\n restore_messages: request?.restore_messages,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ReactivateUsersResponse>\n >('POST', '/api/v2/users/reactivate', undefined, undefined, body);\n\n decoders.ReactivateUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n restoreUsers = async (\n request: RestoreUsersRequest,\n ): Promise<StreamResponse<Response>> => {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/users/restore',\n undefined,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unblockUsers = async (\n request: UnblockUsersRequest,\n ): Promise<StreamResponse<UnblockUsersResponse>> => {\n const body = {\n blocked_user_id: request?.blocked_user_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UnblockUsersResponse>\n >('POST', '/api/v2/users/unblock', undefined, undefined, body);\n\n decoders.UnblockUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deactivateUser = async (\n request: DeactivateUserRequest & { user_id: string },\n ): Promise<StreamResponse<DeactivateUserResponse>> => {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n created_by_id: request?.created_by_id,\n mark_messages_deleted: request?.mark_messages_deleted,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeactivateUserResponse>\n >(\n 'POST',\n '/api/v2/users/{user_id}/deactivate',\n pathParams,\n undefined,\n body,\n );\n\n decoders.DeactivateUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n exportUser = async (request: {\n user_id: string;\n }): Promise<StreamResponse<ExportUserResponse>> => {\n const pathParams = {\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<StreamResponse<ExportUserResponse>>(\n 'GET',\n '/api/v2/users/{user_id}/export',\n pathParams,\n undefined,\n );\n\n decoders.ExportUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n reactivateUser = async (\n request: ReactivateUserRequest & { user_id: string },\n ): Promise<StreamResponse<ReactivateUserResponse>> => {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n created_by_id: request?.created_by_id,\n name: request?.name,\n restore_messages: request?.restore_messages,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ReactivateUserResponse>\n >(\n 'POST',\n '/api/v2/users/{user_id}/reactivate',\n pathParams,\n undefined,\n body,\n );\n\n decoders.ReactivateUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n}\n","import { BaseApi } from '../../BaseApi';\nimport { StreamResponse } from '../../types';\nimport {\n BlockUserRequest,\n BlockUserResponse,\n CollectUserFeedbackRequest,\n CollectUserFeedbackResponse,\n CreateCallTypeRequest,\n CreateCallTypeResponse,\n DeleteCallRequest,\n DeleteCallResponse,\n DeleteRecordingResponse,\n DeleteTranscriptionResponse,\n EndCallResponse,\n GetCallReportResponse,\n GetCallResponse,\n GetCallTypeResponse,\n GetEdgesResponse,\n GetOrCreateCallRequest,\n GetOrCreateCallResponse,\n GoLiveRequest,\n GoLiveResponse,\n ListCallTypeResponse,\n ListRecordingsResponse,\n ListTranscriptionsResponse,\n MuteUsersRequest,\n MuteUsersResponse,\n PinRequest,\n PinResponse,\n QueryAggregateCallStatsRequest,\n QueryAggregateCallStatsResponse,\n QueryCallMembersRequest,\n QueryCallMembersResponse,\n QueryCallParticipantsRequest,\n QueryCallParticipantsResponse,\n QueryCallStatsRequest,\n QueryCallStatsResponse,\n QueryCallsRequest,\n QueryCallsResponse,\n QueryUserFeedbackRequest,\n QueryUserFeedbackResponse,\n Response,\n SendCallEventRequest,\n SendCallEventResponse,\n StartClosedCaptionsRequest,\n StartClosedCaptionsResponse,\n StartFrameRecordingRequest,\n StartFrameRecordingResponse,\n StartHLSBroadcastingResponse,\n StartRTMPBroadcastsRequest,\n StartRTMPBroadcastsResponse,\n StartRecordingRequest,\n StartRecordingResponse,\n StartTranscriptionRequest,\n StartTranscriptionResponse,\n StopAllRTMPBroadcastsResponse,\n StopClosedCaptionsRequest,\n StopClosedCaptionsResponse,\n StopFrameRecordingResponse,\n StopHLSBroadcastingResponse,\n StopLiveRequest,\n StopLiveResponse,\n StopRTMPBroadcastsRequest,\n StopRTMPBroadcastsResponse,\n StopRecordingResponse,\n StopTranscriptionRequest,\n StopTranscriptionResponse,\n UnblockUserRequest,\n UnblockUserResponse,\n UnpinRequest,\n UnpinResponse,\n UpdateCallMembersRequest,\n UpdateCallMembersResponse,\n UpdateCallRequest,\n UpdateCallResponse,\n UpdateCallTypeRequest,\n UpdateCallTypeResponse,\n UpdateUserPermissionsRequest,\n UpdateUserPermissionsResponse,\n} from '../models';\nimport { decoders } from '../model-decoders';\n\nexport class VideoApi extends BaseApi {\n queryUserFeedback = async (\n request?: QueryUserFeedbackRequest & { full?: boolean },\n ): Promise<StreamResponse<QueryUserFeedbackResponse>> => {\n const queryParams = {\n full: request?.full,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryUserFeedbackResponse>\n >('POST', '/api/v2/video/call/feedback', undefined, queryParams, body);\n\n decoders.QueryUserFeedbackResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryCallMembers = async (\n request: QueryCallMembersRequest,\n ): Promise<StreamResponse<QueryCallMembersResponse>> => {\n const body = {\n id: request?.id,\n type: request?.type,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryCallMembersResponse>\n >('POST', '/api/v2/video/call/members', undefined, undefined, body);\n\n decoders.QueryCallMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryCallStats = async (\n request?: QueryCallStatsRequest,\n ): Promise<StreamResponse<QueryCallStatsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryCallStatsResponse>\n >('POST', '/api/v2/video/call/stats', undefined, undefined, body);\n\n decoders.QueryCallStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getCall = async (request: {\n type: string;\n id: string;\n members_limit?: number;\n ring?: boolean;\n notify?: boolean;\n video?: boolean;\n }): Promise<StreamResponse<GetCallResponse>> => {\n const queryParams = {\n members_limit: request?.members_limit,\n ring: request?.ring,\n notify: request?.notify,\n video: request?.video,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetCallResponse>>(\n 'GET',\n '/api/v2/video/call/{type}/{id}',\n pathParams,\n queryParams,\n );\n\n decoders.GetCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateCall = async (\n request: UpdateCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateCallResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n starts_at: request?.starts_at,\n custom: request?.custom,\n settings_override: request?.settings_override,\n };\n\n const response = await this.sendRequest<StreamResponse<UpdateCallResponse>>(\n 'PATCH',\n '/api/v2/video/call/{type}/{id}',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getOrCreateCall = async (\n request: GetOrCreateCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<GetOrCreateCallResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n members_limit: request?.members_limit,\n notify: request?.notify,\n ring: request?.ring,\n video: request?.video,\n data: request?.data,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetOrCreateCallResponse>\n >('POST', '/api/v2/video/call/{type}/{id}', pathParams, undefined, body);\n\n decoders.GetOrCreateCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n blockUser = async (\n request: BlockUserRequest & { type: string; id: string },\n ): Promise<StreamResponse<BlockUserResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<StreamResponse<BlockUserResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/block',\n pathParams,\n undefined,\n body,\n );\n\n decoders.BlockUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteCall = async (\n request: DeleteCallRequest & { type: string; id: string },\n ): Promise<StreamResponse<DeleteCallResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hard: request?.hard,\n };\n\n const response = await this.sendRequest<StreamResponse<DeleteCallResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/delete',\n pathParams,\n undefined,\n body,\n );\n\n decoders.DeleteCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n sendCallEvent = async (\n request: SendCallEventRequest & { type: string; id: string },\n ): Promise<StreamResponse<SendCallEventResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<SendCallEventResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/event',\n pathParams,\n undefined,\n body,\n );\n\n decoders.SendCallEventResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n collectUserFeedback = async (\n request: CollectUserFeedbackRequest & { type: string; id: string },\n ): Promise<StreamResponse<CollectUserFeedbackResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n rating: request?.rating,\n sdk: request?.sdk,\n sdk_version: request?.sdk_version,\n reason: request?.reason,\n user_session_id: request?.user_session_id,\n custom: request?.custom,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CollectUserFeedbackResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/feedback',\n pathParams,\n undefined,\n body,\n );\n\n decoders.CollectUserFeedbackResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n goLive = async (\n request: GoLiveRequest & { type: string; id: string },\n ): Promise<StreamResponse<GoLiveResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_storage_name: request?.recording_storage_name,\n start_closed_caption: request?.start_closed_caption,\n start_hls: request?.start_hls,\n start_recording: request?.start_recording,\n start_transcription: request?.start_transcription,\n transcription_storage_name: request?.transcription_storage_name,\n };\n\n const response = await this.sendRequest<StreamResponse<GoLiveResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/go_live',\n pathParams,\n undefined,\n body,\n );\n\n decoders.GoLiveResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n endCall = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<EndCallResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<EndCallResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/mark_ended',\n pathParams,\n undefined,\n );\n\n decoders.EndCallResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateCallMembers = async (\n request: UpdateCallMembersRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateCallMembersResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n remove_members: request?.remove_members,\n update_members: request?.update_members,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateCallMembersResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/members',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateCallMembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n muteUsers = async (\n request: MuteUsersRequest & { type: string; id: string },\n ): Promise<StreamResponse<MuteUsersResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n audio: request?.audio,\n mute_all_users: request?.mute_all_users,\n muted_by_id: request?.muted_by_id,\n screenshare: request?.screenshare,\n screenshare_audio: request?.screenshare_audio,\n video: request?.video,\n user_ids: request?.user_ids,\n muted_by: request?.muted_by,\n };\n\n const response = await this.sendRequest<StreamResponse<MuteUsersResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/mute_users',\n pathParams,\n undefined,\n body,\n );\n\n decoders.MuteUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryCallParticipants = async (\n request: QueryCallParticipantsRequest & {\n id: string;\n type: string;\n limit?: number;\n },\n ): Promise<StreamResponse<QueryCallParticipantsResponse>> => {\n const queryParams = {\n limit: request?.limit,\n };\n const pathParams = {\n id: request?.id,\n type: request?.type,\n };\n const body = {\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryCallParticipantsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/participants',\n pathParams,\n queryParams,\n body,\n );\n\n decoders.QueryCallParticipantsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n videoPin = async (\n request: PinRequest & { type: string; id: string },\n ): Promise<StreamResponse<PinResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n session_id: request?.session_id,\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<StreamResponse<PinResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/pin',\n pathParams,\n undefined,\n body,\n );\n\n decoders.PinResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listRecordings = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<ListRecordingsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ListRecordingsResponse>\n >(\n 'GET',\n '/api/v2/video/call/{type}/{id}/recordings',\n pathParams,\n undefined,\n );\n\n decoders.ListRecordingsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getCallReport = async (request: {\n type: string;\n id: string;\n session_id?: string;\n }): Promise<StreamResponse<GetCallReportResponse>> => {\n const queryParams = {\n session_id: request?.session_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetCallReportResponse>\n >('GET', '/api/v2/video/call/{type}/{id}/report', pathParams, queryParams);\n\n decoders.GetCallReportResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startRTMPBroadcasts = async (\n request: StartRTMPBroadcastsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartRTMPBroadcastsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n broadcasts: request?.broadcasts,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StartRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopAllRTMPBroadcasts = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopAllRTMPBroadcastsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopAllRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts/stop',\n pathParams,\n undefined,\n );\n\n decoders.StopAllRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopRTMPBroadcast = async (\n request: StopRTMPBroadcastsRequest & {\n type: string;\n id: string;\n name: string;\n },\n ): Promise<StreamResponse<StopRTMPBroadcastsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n name: request?.name,\n };\n const body = {};\n\n const response = await this.sendRequest<\n StreamResponse<StopRTMPBroadcastsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/rtmp_broadcasts/{name}/stop',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StopRTMPBroadcastsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startHLSBroadcasting = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StartHLSBroadcastingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartHLSBroadcastingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_broadcasting',\n pathParams,\n undefined,\n );\n\n decoders.StartHLSBroadcastingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startClosedCaptions = async (\n request: StartClosedCaptionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartClosedCaptionsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n enable_transcription: request?.enable_transcription,\n external_storage: request?.external_storage,\n language: request?.language,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartClosedCaptionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_closed_captions',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StartClosedCaptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startFrameRecording = async (\n request: StartFrameRecordingRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartFrameRecordingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_external_storage: request?.recording_external_storage,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartFrameRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_frame_recording',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StartFrameRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startRecording = async (\n request: StartRecordingRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartRecordingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n recording_external_storage: request?.recording_external_storage,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_recording',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StartRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startTranscription = async (\n request: StartTranscriptionRequest & { type: string; id: string },\n ): Promise<StreamResponse<StartTranscriptionResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n enable_closed_captions: request?.enable_closed_captions,\n language: request?.language,\n transcription_external_storage: request?.transcription_external_storage,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartTranscriptionResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/start_transcription',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StartTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopHLSBroadcasting = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopHLSBroadcastingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopHLSBroadcastingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_broadcasting',\n pathParams,\n undefined,\n );\n\n decoders.StopHLSBroadcastingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopClosedCaptions = async (\n request: StopClosedCaptionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopClosedCaptionsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n stop_transcription: request?.stop_transcription,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopClosedCaptionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_closed_captions',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StopClosedCaptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopFrameRecording = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopFrameRecordingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopFrameRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_frame_recording',\n pathParams,\n undefined,\n );\n\n decoders.StopFrameRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopLive = async (\n request: StopLiveRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopLiveResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n continue_closed_caption: request?.continue_closed_caption,\n continue_hls: request?.continue_hls,\n continue_recording: request?.continue_recording,\n continue_rtmp_broadcasts: request?.continue_rtmp_broadcasts,\n continue_transcription: request?.continue_transcription,\n };\n\n const response = await this.sendRequest<StreamResponse<StopLiveResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_live',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StopLiveResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopRecording = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopRecordingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopRecordingResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_recording',\n pathParams,\n undefined,\n );\n\n decoders.StopRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n stopTranscription = async (\n request: StopTranscriptionRequest & { type: string; id: string },\n ): Promise<StreamResponse<StopTranscriptionResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n stop_closed_captions: request?.stop_closed_captions,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StopTranscriptionResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/stop_transcription',\n pathParams,\n undefined,\n body,\n );\n\n decoders.StopTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listTranscriptions = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<ListTranscriptionsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ListTranscriptionsResponse>\n >(\n 'GET',\n '/api/v2/video/call/{type}/{id}/transcriptions',\n pathParams,\n undefined,\n );\n\n decoders.ListTranscriptionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unblockUser = async (\n request: UnblockUserRequest & { type: string; id: string },\n ): Promise<StreamResponse<UnblockUserResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UnblockUserResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/unblock',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UnblockUserResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n videoUnpin = async (\n request: UnpinRequest & { type: string; id: string },\n ): Promise<StreamResponse<UnpinResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n session_id: request?.session_id,\n user_id: request?.user_id,\n };\n\n const response = await this.sendRequest<StreamResponse<UnpinResponse>>(\n 'POST',\n '/api/v2/video/call/{type}/{id}/unpin',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UnpinResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateUserPermissions = async (\n request: UpdateUserPermissionsRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateUserPermissionsResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n grant_permissions: request?.grant_permissions,\n revoke_permissions: request?.revoke_permissions,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateUserPermissionsResponse>\n >(\n 'POST',\n '/api/v2/video/call/{type}/{id}/user_permissions',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateUserPermissionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteRecording = async (request: {\n type: string;\n id: string;\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteRecordingResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n session: request?.session,\n filename: request?.filename,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteRecordingResponse>\n >(\n 'DELETE',\n '/api/v2/video/call/{type}/{id}/{session}/recordings/{filename}',\n pathParams,\n undefined,\n );\n\n decoders.DeleteRecordingResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteTranscription = async (request: {\n type: string;\n id: string;\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteTranscriptionResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n session: request?.session,\n filename: request?.filename,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteTranscriptionResponse>\n >(\n 'DELETE',\n '/api/v2/video/call/{type}/{id}/{session}/transcriptions/{filename}',\n pathParams,\n undefined,\n );\n\n decoders.DeleteTranscriptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryCalls = async (\n request?: QueryCallsRequest,\n ): Promise<StreamResponse<QueryCallsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n };\n\n const response = await this.sendRequest<StreamResponse<QueryCallsResponse>>(\n 'POST',\n '/api/v2/video/calls',\n undefined,\n undefined,\n body,\n );\n\n decoders.QueryCallsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listCallTypes = async (): Promise<StreamResponse<ListCallTypeResponse>> => {\n const response = await this.sendRequest<\n StreamResponse<ListCallTypeResponse>\n >('GET', '/api/v2/video/calltypes', undefined, undefined);\n\n decoders.ListCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createCallType = async (\n request: CreateCallTypeRequest,\n ): Promise<StreamResponse<CreateCallTypeResponse>> => {\n const body = {\n name: request?.name,\n external_storage: request?.external_storage,\n grants: request?.grants,\n notification_settings: request?.notification_settings,\n settings: request?.settings,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateCallTypeResponse>\n >('POST', '/api/v2/video/calltypes', undefined, undefined, body);\n\n decoders.CreateCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteCallType = async (request: {\n name: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/video/calltypes/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getCallType = async (request: {\n name: string;\n }): Promise<StreamResponse<GetCallTypeResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetCallTypeResponse>\n >('GET', '/api/v2/video/calltypes/{name}', pathParams, undefined);\n\n decoders.GetCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateCallType = async (\n request: UpdateCallTypeRequest & { name: string },\n ): Promise<StreamResponse<UpdateCallTypeResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n external_storage: request?.external_storage,\n grants: request?.grants,\n notification_settings: request?.notification_settings,\n settings: request?.settings,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateCallTypeResponse>\n >('PUT', '/api/v2/video/calltypes/{name}', pathParams, undefined, body);\n\n decoders.UpdateCallTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getEdges = async (): Promise<StreamResponse<GetEdgesResponse>> => {\n const response = await this.sendRequest<StreamResponse<GetEdgesResponse>>(\n 'GET',\n '/api/v2/video/edges',\n undefined,\n undefined,\n );\n\n decoders.GetEdgesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryAggregateCallStats = async (\n request?: QueryAggregateCallStatsRequest,\n ): Promise<StreamResponse<QueryAggregateCallStatsResponse>> => {\n const body = {\n from: request?.from,\n to: request?.to,\n report_types: request?.report_types,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryAggregateCallStatsResponse>\n >('POST', '/api/v2/video/stats', undefined, undefined, body);\n\n decoders.QueryAggregateCallStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n}\n","import { VideoApi } from './VideoApi';\nimport { StreamResponse } from '../../types';\nimport {\n BlockUserRequest,\n BlockUserResponse,\n CollectUserFeedbackRequest,\n CollectUserFeedbackResponse,\n DeleteCallRequest,\n DeleteCallResponse,\n DeleteRecordingResponse,\n DeleteTranscriptionResponse,\n EndCallResponse,\n GetCallReportResponse,\n GetCallResponse,\n GetOrCreateCallRequest,\n GetOrCreateCallResponse,\n GoLiveRequest,\n GoLiveResponse,\n ListRecordingsResponse,\n ListTranscriptionsResponse,\n MuteUsersRequest,\n MuteUsersResponse,\n PinRequest,\n PinResponse,\n QueryCallParticipantsRequest,\n QueryCallParticipantsResponse,\n SendCallEventRequest,\n SendCallEventResponse,\n StartClosedCaptionsRequest,\n StartClosedCaptionsResponse,\n StartFrameRecordingRequest,\n StartFrameRecordingResponse,\n StartHLSBroadcastingResponse,\n StartRTMPBroadcastsRequest,\n StartRTMPBroadcastsResponse,\n StartRecordingRequest,\n StartRecordingResponse,\n StartTranscriptionRequest,\n StartTranscriptionResponse,\n StopAllRTMPBroadcastsResponse,\n StopClosedCaptionsRequest,\n StopClosedCaptionsResponse,\n StopFrameRecordingResponse,\n StopHLSBroadcastingResponse,\n StopLiveRequest,\n StopLiveResponse,\n StopRTMPBroadcastsRequest,\n StopRTMPBroadcastsResponse,\n StopRecordingResponse,\n StopTranscriptionRequest,\n StopTranscriptionResponse,\n UnblockUserRequest,\n UnblockUserResponse,\n UnpinRequest,\n UnpinResponse,\n UpdateCallMembersRequest,\n UpdateCallMembersResponse,\n UpdateCallRequest,\n UpdateCallResponse,\n UpdateUserPermissionsRequest,\n UpdateUserPermissionsResponse,\n} from '../models';\n\nexport class CallApi {\n constructor(\n protected videoApi: VideoApi,\n public readonly type: string,\n public readonly id: string,\n ) {}\n\n get = (request?: {\n members_limit?: number;\n ring?: boolean;\n notify?: boolean;\n video?: boolean;\n }): Promise<StreamResponse<GetCallResponse>> => {\n return this.videoApi.getCall({ id: this.id, type: this.type, ...request });\n };\n\n update = (\n request?: UpdateCallRequest,\n ): Promise<StreamResponse<UpdateCallResponse>> => {\n return this.videoApi.updateCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n getOrCreate = (\n request?: GetOrCreateCallRequest,\n ): Promise<StreamResponse<GetOrCreateCallResponse>> => {\n return this.videoApi.getOrCreateCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n blockUser = (\n request: BlockUserRequest,\n ): Promise<StreamResponse<BlockUserResponse>> => {\n return this.videoApi.blockUser({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n delete = (\n request?: DeleteCallRequest,\n ): Promise<StreamResponse<DeleteCallResponse>> => {\n return this.videoApi.deleteCall({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n sendCallEvent = (\n request?: SendCallEventRequest,\n ): Promise<StreamResponse<SendCallEventResponse>> => {\n return this.videoApi.sendCallEvent({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n collectUserFeedback = (\n request: CollectUserFeedbackRequest,\n ): Promise<StreamResponse<CollectUserFeedbackResponse>> => {\n return this.videoApi.collectUserFeedback({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n goLive = (\n request?: GoLiveRequest,\n ): Promise<StreamResponse<GoLiveResponse>> => {\n return this.videoApi.goLive({ id: this.id, type: this.type, ...request });\n };\n\n end = (): Promise<StreamResponse<EndCallResponse>> => {\n return this.videoApi.endCall({ id: this.id, type: this.type });\n };\n\n updateCallMembers = (\n request?: UpdateCallMembersRequest,\n ): Promise<StreamResponse<UpdateCallMembersResponse>> => {\n return this.videoApi.updateCallMembers({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n muteUsers = (\n request?: MuteUsersRequest,\n ): Promise<StreamResponse<MuteUsersResponse>> => {\n return this.videoApi.muteUsers({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n queryCallParticipants = (\n request?: QueryCallParticipantsRequest & { limit?: number },\n ): Promise<StreamResponse<QueryCallParticipantsResponse>> => {\n return this.videoApi.queryCallParticipants({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n videoPin = (request: PinRequest): Promise<StreamResponse<PinResponse>> => {\n return this.videoApi.videoPin({ id: this.id, type: this.type, ...request });\n };\n\n listRecordings = (): Promise<StreamResponse<ListRecordingsResponse>> => {\n return this.videoApi.listRecordings({ id: this.id, type: this.type });\n };\n\n getCallReport = (request?: {\n session_id?: string;\n }): Promise<StreamResponse<GetCallReportResponse>> => {\n return this.videoApi.getCallReport({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n startRTMPBroadcasts = (\n request: StartRTMPBroadcastsRequest,\n ): Promise<StreamResponse<StartRTMPBroadcastsResponse>> => {\n return this.videoApi.startRTMPBroadcasts({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n stopAllRTMPBroadcasts = (): Promise<\n StreamResponse<StopAllRTMPBroadcastsResponse>\n > => {\n return this.videoApi.stopAllRTMPBroadcasts({\n id: this.id,\n type: this.type,\n });\n };\n\n stopRTMPBroadcast = (\n request: StopRTMPBroadcastsRequest & { name: string },\n ): Promise<StreamResponse<StopRTMPBroadcastsResponse>> => {\n return this.videoApi.stopRTMPBroadcast({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n startHLSBroadcasting = (): Promise<\n StreamResponse<StartHLSBroadcastingResponse>\n > => {\n return this.videoApi.startHLSBroadcasting({ id: this.id, type: this.type });\n };\n\n startClosedCaptions = (\n request?: StartClosedCaptionsRequest,\n ): Promise<StreamResponse<StartClosedCaptionsResponse>> => {\n return this.videoApi.startClosedCaptions({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n startFrameRecording = (\n request?: StartFrameRecordingRequest,\n ): Promise<StreamResponse<StartFrameRecordingResponse>> => {\n return this.videoApi.startFrameRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n startRecording = (\n request?: StartRecordingRequest,\n ): Promise<StreamResponse<StartRecordingResponse>> => {\n return this.videoApi.startRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n startTranscription = (\n request?: StartTranscriptionRequest,\n ): Promise<StreamResponse<StartTranscriptionResponse>> => {\n return this.videoApi.startTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n stopHLSBroadcasting = (): Promise<\n StreamResponse<StopHLSBroadcastingResponse>\n > => {\n return this.videoApi.stopHLSBroadcasting({ id: this.id, type: this.type });\n };\n\n stopClosedCaptions = (\n request?: StopClosedCaptionsRequest,\n ): Promise<StreamResponse<StopClosedCaptionsResponse>> => {\n return this.videoApi.stopClosedCaptions({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n stopFrameRecording = (): Promise<\n StreamResponse<StopFrameRecordingResponse>\n > => {\n return this.videoApi.stopFrameRecording({ id: this.id, type: this.type });\n };\n\n stopLive = (\n request?: StopLiveRequest,\n ): Promise<StreamResponse<StopLiveResponse>> => {\n return this.videoApi.stopLive({ id: this.id, type: this.type, ...request });\n };\n\n stopRecording = (): Promise<StreamResponse<StopRecordingResponse>> => {\n return this.videoApi.stopRecording({ id: this.id, type: this.type });\n };\n\n stopTranscription = (\n request?: StopTranscriptionRequest,\n ): Promise<StreamResponse<StopTranscriptionResponse>> => {\n return this.videoApi.stopTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n listTranscriptions = (): Promise<\n StreamResponse<ListTranscriptionsResponse>\n > => {\n return this.videoApi.listTranscriptions({ id: this.id, type: this.type });\n };\n\n unblockUser = (\n request: UnblockUserRequest,\n ): Promise<StreamResponse<UnblockUserResponse>> => {\n return this.videoApi.unblockUser({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n videoUnpin = (\n request: UnpinRequest,\n ): Promise<StreamResponse<UnpinResponse>> => {\n return this.videoApi.videoUnpin({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n updateUserPermissions = (\n request: UpdateUserPermissionsRequest,\n ): Promise<StreamResponse<UpdateUserPermissionsResponse>> => {\n return this.videoApi.updateUserPermissions({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n deleteRecording = (request: {\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteRecordingResponse>> => {\n return this.videoApi.deleteRecording({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n deleteTranscription = (request: {\n session: string;\n filename: string;\n }): Promise<StreamResponse<DeleteTranscriptionResponse>> => {\n return this.videoApi.deleteTranscription({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n}\n","import { QueryCallMembersRequest } from './gen/models';\nimport { CallApi } from './gen/video/CallApi';\nimport { OmitTypeId } from './types';\n\nexport class StreamCall extends CallApi {\n get cid() {\n return `${this.type}:${this.id}`;\n }\n\n create = this.getOrCreate;\n\n queryMembers = (request?: OmitTypeId<QueryCallMembersRequest>) => {\n return this.videoApi.queryCallMembers({\n id: this.id,\n type: this.type,\n ...(request ?? {}),\n });\n };\n}\n","import { VideoApi } from './gen/video/VideoApi';\nimport { StreamCall } from './StreamCall';\nimport type { StreamClient } from './StreamClient';\nimport type { ApiConfig } from './types';\n// eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error\n/** @ts-ignore Optional dependency */\nimport type {\n createRealtimeClient,\n RealtimeAPIModel,\n RealtimeClient,\n} from '@stream-io/openai-realtime-api';\n\nexport class StreamVideoClient extends VideoApi {\n private readonly streamClient: StreamClient;\n\n constructor({\n streamClient,\n ...apiConfig\n }: ApiConfig & { streamClient: StreamClient }) {\n super(apiConfig);\n this.streamClient = streamClient;\n }\n\n call = (type: string, id: string) => {\n return new StreamCall(this, type, id);\n };\n\n connectOpenAi = async (options: {\n call: StreamCall;\n agentUserId: string;\n openAiApiKey: string;\n model?: RealtimeAPIModel;\n validityInSeconds?: number;\n }): Promise<RealtimeClient> => {\n let doCreateRealtimeClient: typeof createRealtimeClient;\n\n try {\n doCreateRealtimeClient = (await import('@stream-io/openai-realtime-api'))\n .createRealtimeClient;\n } catch {\n throw new Error(\n 'Cannot create Realtime API client. Is @stream-io/openai-realtime-api installed?',\n );\n }\n\n if (!options.agentUserId) {\n throw new Error('\"agentUserId\" must by specified in options');\n }\n\n const token = this.streamClient.generateCallToken({\n user_id: options.agentUserId,\n call_cids: [options.call.cid],\n validity_in_seconds: options.validityInSeconds,\n });\n\n const realtimeClient = doCreateRealtimeClient({\n baseUrl: this.apiConfig.baseUrl,\n call: options.call,\n streamApiKey: this.apiConfig.apiKey,\n streamUserToken: token,\n openAiApiKey: options.openAiApiKey,\n model: options.model,\n });\n\n await realtimeClient.connect();\n return realtimeClient;\n };\n}\n","import { BaseApi } from '../../BaseApi';\nimport { StreamResponse } from '../../types';\nimport {\n CampaignResponse,\n CastPollVoteRequest,\n ChannelGetOrCreateRequest,\n ChannelStateResponse,\n CommitMessageRequest,\n CreateChannelTypeRequest,\n CreateChannelTypeResponse,\n CreateCommandRequest,\n CreateCommandResponse,\n CreatePollOptionRequest,\n CreatePollRequest,\n DeleteChannelResponse,\n DeleteChannelsRequest,\n DeleteChannelsResponse,\n DeleteCommandResponse,\n DeleteMessageResponse,\n DeleteReactionResponse,\n DeleteSegmentTargetsRequest,\n EventResponse,\n ExportChannelsRequest,\n ExportChannelsResponse,\n FileUploadRequest,\n FileUploadResponse,\n GetCampaignResponse,\n GetChannelTypeResponse,\n GetCommandResponse,\n GetDraftResponse,\n GetManyMessagesResponse,\n GetMessageResponse,\n GetReactionsResponse,\n GetRepliesResponse,\n GetSegmentResponse,\n GetThreadResponse,\n HideChannelRequest,\n HideChannelResponse,\n ImageUploadRequest,\n ImageUploadResponse,\n ListChannelTypesResponse,\n ListCommandsResponse,\n MarkChannelsReadRequest,\n MarkReadRequest,\n MarkReadResponse,\n MarkUnreadRequest,\n MembersResponse,\n MessageActionRequest,\n MessageResponse,\n MuteChannelRequest,\n MuteChannelResponse,\n PollOptionResponse,\n PollResponse,\n PollVoteResponse,\n PollVotesResponse,\n QueryBannedUsersPayload,\n QueryBannedUsersResponse,\n QueryCampaignsRequest,\n QueryCampaignsResponse,\n QueryChannelsRequest,\n QueryChannelsResponse,\n QueryDraftsRequest,\n QueryDraftsResponse,\n QueryMembersPayload,\n QueryMessageFlagsPayload,\n QueryMessageFlagsResponse,\n QueryMessageHistoryRequest,\n QueryMessageHistoryResponse,\n QueryPollVotesRequest,\n QueryPollsRequest,\n QueryPollsResponse,\n QueryReactionsRequest,\n QueryReactionsResponse,\n QuerySegmentTargetsRequest,\n QuerySegmentTargetsResponse,\n QuerySegmentsRequest,\n QuerySegmentsResponse,\n QueryThreadsRequest,\n QueryThreadsResponse,\n Response,\n SearchPayload,\n SearchResponse,\n SendEventRequest,\n SendMessageRequest,\n SendMessageResponse,\n SendReactionRequest,\n SendReactionResponse,\n SendUserCustomEventRequest,\n ShowChannelRequest,\n ShowChannelResponse,\n SortParamRequest,\n StartCampaignRequest,\n StartCampaignResponse,\n StopCampaignRequest,\n TranslateMessageRequest,\n TruncateChannelRequest,\n TruncateChannelResponse,\n UnmuteChannelRequest,\n UnmuteResponse,\n UnreadCountsBatchRequest,\n UnreadCountsBatchResponse,\n UpdateChannelPartialRequest,\n UpdateChannelPartialResponse,\n UpdateChannelRequest,\n UpdateChannelResponse,\n UpdateChannelTypeRequest,\n UpdateChannelTypeResponse,\n UpdateCommandRequest,\n UpdateCommandResponse,\n UpdateMemberPartialRequest,\n UpdateMemberPartialResponse,\n UpdateMessagePartialRequest,\n UpdateMessagePartialResponse,\n UpdateMessageRequest,\n UpdateMessageResponse,\n UpdatePollOptionRequest,\n UpdatePollPartialRequest,\n UpdatePollRequest,\n UpdateThreadPartialRequest,\n UpdateThreadPartialResponse,\n UpsertPushPreferencesRequest,\n UpsertPushPreferencesResponse,\n WrappedUnreadCountsResponse,\n} from '../models';\nimport { decoders } from '../model-decoders';\n\nexport class ChatApi extends BaseApi {\n queryCampaigns = async (\n request?: QueryCampaignsRequest,\n ): Promise<StreamResponse<QueryCampaignsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_limit: request?.user_limit,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryCampaignsResponse>\n >('POST', '/api/v2/chat/campaigns/query', undefined, undefined, body);\n\n decoders.QueryCampaignsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getCampaign = async (request: {\n id: string;\n prev?: string;\n next?: string;\n limit?: number;\n }): Promise<StreamResponse<GetCampaignResponse>> => {\n const queryParams = {\n prev: request?.prev,\n next: request?.next,\n limit: request?.limit,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetCampaignResponse>\n >('GET', '/api/v2/chat/campaigns/{id}', pathParams, queryParams);\n\n decoders.GetCampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n startCampaign = async (\n request: StartCampaignRequest & { id: string },\n ): Promise<StreamResponse<StartCampaignResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n scheduled_for: request?.scheduled_for,\n stop_at: request?.stop_at,\n };\n\n const response = await this.sendRequest<\n StreamResponse<StartCampaignResponse>\n >('POST', '/api/v2/chat/campaigns/{id}/start', pathParams, undefined, body);\n\n decoders.StartCampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n scheduleCampaign = async (\n request: StopCampaignRequest & { id: string },\n ): Promise<StreamResponse<CampaignResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {};\n\n const response = await this.sendRequest<StreamResponse<CampaignResponse>>(\n 'POST',\n '/api/v2/chat/campaigns/{id}/stop',\n pathParams,\n undefined,\n body,\n );\n\n decoders.CampaignResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryChannels = async (\n request?: QueryChannelsRequest,\n ): Promise<StreamResponse<QueryChannelsResponse>> => {\n const body = {\n limit: request?.limit,\n member_limit: request?.member_limit,\n message_limit: request?.message_limit,\n offset: request?.offset,\n state: request?.state,\n user_id: request?.user_id,\n sort: request?.sort,\n filter_conditions: request?.filter_conditions,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryChannelsResponse>\n >('POST', '/api/v2/chat/channels', undefined, undefined, body);\n\n decoders.QueryChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteChannels = async (\n request: DeleteChannelsRequest,\n ): Promise<StreamResponse<DeleteChannelsResponse>> => {\n const body = {\n cids: request?.cids,\n hard_delete: request?.hard_delete,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteChannelsResponse>\n >('POST', '/api/v2/chat/channels/delete', undefined, undefined, body);\n\n decoders.DeleteChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n markChannelsRead = async (\n request?: MarkChannelsReadRequest,\n ): Promise<StreamResponse<MarkReadResponse>> => {\n const body = {\n user_id: request?.user_id,\n read_by_channel: request?.read_by_channel,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<MarkReadResponse>>(\n 'POST',\n '/api/v2/chat/channels/read',\n undefined,\n undefined,\n body,\n );\n\n decoders.MarkReadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getOrCreateDistinctChannel = async (\n request: ChannelGetOrCreateRequest & { type: string },\n ): Promise<StreamResponse<ChannelStateResponse>> => {\n const pathParams = {\n type: request?.type,\n };\n const body = {\n hide_for_creator: request?.hide_for_creator,\n state: request?.state,\n thread_unread_counts: request?.thread_unread_counts,\n data: request?.data,\n members: request?.members,\n messages: request?.messages,\n watchers: request?.watchers,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ChannelStateResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/query',\n pathParams,\n undefined,\n body,\n );\n\n decoders.ChannelStateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteChannel = async (request: {\n type: string;\n id: string;\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteChannelResponse>> => {\n const queryParams = {\n hard_delete: request?.hard_delete,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteChannelResponse>\n >('DELETE', '/api/v2/chat/channels/{type}/{id}', pathParams, queryParams);\n\n decoders.DeleteChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateChannelPartial = async (\n request: UpdateChannelPartialRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateChannelPartialResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateChannelPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/channels/{type}/{id}',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateChannelPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateChannel = async (\n request: UpdateChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<UpdateChannelResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n accept_invite: request?.accept_invite,\n cooldown: request?.cooldown,\n hide_history: request?.hide_history,\n reject_invite: request?.reject_invite,\n skip_push: request?.skip_push,\n user_id: request?.user_id,\n add_members: request?.add_members,\n add_moderators: request?.add_moderators,\n assign_roles: request?.assign_roles,\n demote_moderators: request?.demote_moderators,\n invites: request?.invites,\n remove_members: request?.remove_members,\n data: request?.data,\n message: request?.message,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateChannelResponse>\n >('POST', '/api/v2/chat/channels/{type}/{id}', pathParams, undefined, body);\n\n decoders.UpdateChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteDraft = async (request: {\n type: string;\n id: string;\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n parent_id: request?.parent_id,\n user_id: request?.user_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/draft',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getDraft = async (request: {\n type: string;\n id: string;\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<GetDraftResponse>> => {\n const queryParams = {\n parent_id: request?.parent_id,\n user_id: request?.user_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetDraftResponse>>(\n 'GET',\n '/api/v2/chat/channels/{type}/{id}/draft',\n pathParams,\n queryParams,\n );\n\n decoders.GetDraftResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n sendEvent = async (\n request: SendEventRequest & { type: string; id: string },\n ): Promise<StreamResponse<EventResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n event: request?.event,\n };\n\n const response = await this.sendRequest<StreamResponse<EventResponse>>(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/event',\n pathParams,\n undefined,\n body,\n );\n\n decoders.EventResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteFile = async (request: {\n type: string;\n id: string;\n url?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n url: request?.url,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/file',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n uploadFile = async (\n request: FileUploadRequest & { type: string; id: string },\n ): Promise<StreamResponse<FileUploadResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n file: request?.file,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<FileUploadResponse>>(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/file',\n pathParams,\n undefined,\n body,\n );\n\n decoders.FileUploadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n hideChannel = async (\n request: HideChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<HideChannelResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n clear_history: request?.clear_history,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<HideChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/hide',\n pathParams,\n undefined,\n body,\n );\n\n decoders.HideChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteImage = async (request: {\n type: string;\n id: string;\n url?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n url: request?.url,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channels/{type}/{id}/image',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n uploadImage = async (\n request: ImageUploadRequest & { type: string; id: string },\n ): Promise<StreamResponse<ImageUploadResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n file: request?.file,\n upload_sizes: request?.upload_sizes,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ImageUploadResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/image',\n pathParams,\n undefined,\n body,\n );\n\n decoders.ImageUploadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateMemberPartial = async (\n request: UpdateMemberPartialRequest & {\n type: string;\n id: string;\n user_id?: string;\n },\n ): Promise<StreamResponse<UpdateMemberPartialResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n unset: request?.unset,\n set: request?.set,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateMemberPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/channels/{type}/{id}/member',\n pathParams,\n queryParams,\n body,\n );\n\n decoders.UpdateMemberPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n sendMessage = async (\n request: SendMessageRequest & { type: string; id: string },\n ): Promise<StreamResponse<SendMessageResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message: request?.message,\n force_moderation: request?.force_moderation,\n keep_channel_hidden: request?.keep_channel_hidden,\n pending: request?.pending,\n skip_enrich_url: request?.skip_enrich_url,\n skip_push: request?.skip_push,\n pending_message_metadata: request?.pending_message_metadata,\n };\n\n const response = await this.sendRequest<\n StreamResponse<SendMessageResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/message',\n pathParams,\n undefined,\n body,\n );\n\n decoders.SendMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getManyMessages = async (request: {\n type: string;\n id: string;\n ids: string[];\n }): Promise<StreamResponse<GetManyMessagesResponse>> => {\n const queryParams = {\n ids: request?.ids,\n };\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetManyMessagesResponse>\n >(\n 'GET',\n '/api/v2/chat/channels/{type}/{id}/messages',\n pathParams,\n queryParams,\n );\n\n decoders.GetManyMessagesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getOrCreateChannel = async (\n request: ChannelGetOrCreateRequest & { type: string; id: string },\n ): Promise<StreamResponse<ChannelStateResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hide_for_creator: request?.hide_for_creator,\n state: request?.state,\n thread_unread_counts: request?.thread_unread_counts,\n data: request?.data,\n members: request?.members,\n messages: request?.messages,\n watchers: request?.watchers,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ChannelStateResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/query',\n pathParams,\n undefined,\n body,\n );\n\n decoders.ChannelStateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n markRead = async (\n request: MarkReadRequest & { type: string; id: string },\n ): Promise<StreamResponse<MarkReadResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message_id: request?.message_id,\n thread_id: request?.thread_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<MarkReadResponse>>(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/read',\n pathParams,\n undefined,\n body,\n );\n\n decoders.MarkReadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n showChannel = async (\n request: ShowChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<ShowChannelResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ShowChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/show',\n pathParams,\n undefined,\n body,\n );\n\n decoders.ShowChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n truncateChannel = async (\n request: TruncateChannelRequest & { type: string; id: string },\n ): Promise<StreamResponse<TruncateChannelResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n hard_delete: request?.hard_delete,\n skip_push: request?.skip_push,\n truncated_at: request?.truncated_at,\n user_id: request?.user_id,\n message: request?.message,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<TruncateChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/truncate',\n pathParams,\n undefined,\n body,\n );\n\n decoders.TruncateChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n markUnread = async (\n request: MarkUnreadRequest & { type: string; id: string },\n ): Promise<StreamResponse<Response>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n };\n const body = {\n message_id: request?.message_id,\n thread_id: request?.thread_id,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/channels/{type}/{id}/unread',\n pathParams,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listChannelTypes = async (): Promise<\n StreamResponse<ListChannelTypesResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<ListChannelTypesResponse>\n >('GET', '/api/v2/chat/channeltypes', undefined, undefined);\n\n decoders.ListChannelTypesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createChannelType = async (\n request: CreateChannelTypeRequest,\n ): Promise<StreamResponse<CreateChannelTypeResponse>> => {\n const body = {\n automod: request?.automod,\n automod_behavior: request?.automod_behavior,\n max_message_length: request?.max_message_length,\n name: request?.name,\n blocklist: request?.blocklist,\n blocklist_behavior: request?.blocklist_behavior,\n connect_events: request?.connect_events,\n custom_events: request?.custom_events,\n mark_messages_pending: request?.mark_messages_pending,\n message_retention: request?.message_retention,\n mutes: request?.mutes,\n partition_size: request?.partition_size,\n partition_ttl: request?.partition_ttl,\n polls: request?.polls,\n push_notifications: request?.push_notifications,\n reactions: request?.reactions,\n read_events: request?.read_events,\n replies: request?.replies,\n search: request?.search,\n skip_last_msg_update_for_system_msgs:\n request?.skip_last_msg_update_for_system_msgs,\n typing_events: request?.typing_events,\n uploads: request?.uploads,\n url_enrichment: request?.url_enrichment,\n blocklists: request?.blocklists,\n commands: request?.commands,\n permissions: request?.permissions,\n grants: request?.grants,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateChannelTypeResponse>\n >('POST', '/api/v2/chat/channeltypes', undefined, undefined, body);\n\n decoders.CreateChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteChannelType = async (request: {\n name: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/channeltypes/{name}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getChannelType = async (request: {\n name: string;\n }): Promise<StreamResponse<GetChannelTypeResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetChannelTypeResponse>\n >('GET', '/api/v2/chat/channeltypes/{name}', pathParams, undefined);\n\n decoders.GetChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateChannelType = async (\n request: UpdateChannelTypeRequest & { name: string },\n ): Promise<StreamResponse<UpdateChannelTypeResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n automod: request?.automod,\n automod_behavior: request?.automod_behavior,\n max_message_length: request?.max_message_length,\n blocklist: request?.blocklist,\n blocklist_behavior: request?.blocklist_behavior,\n connect_events: request?.connect_events,\n custom_events: request?.custom_events,\n mark_messages_pending: request?.mark_messages_pending,\n mutes: request?.mutes,\n partition_size: request?.partition_size,\n partition_ttl: request?.partition_ttl,\n polls: request?.polls,\n push_notifications: request?.push_notifications,\n quotes: request?.quotes,\n reactions: request?.reactions,\n read_events: request?.read_events,\n reminders: request?.reminders,\n replies: request?.replies,\n search: request?.search,\n skip_last_msg_update_for_system_msgs:\n request?.skip_last_msg_update_for_system_msgs,\n typing_events: request?.typing_events,\n uploads: request?.uploads,\n url_enrichment: request?.url_enrichment,\n allowed_flag_reasons: request?.allowed_flag_reasons,\n blocklists: request?.blocklists,\n commands: request?.commands,\n permissions: request?.permissions,\n automod_thresholds: request?.automod_thresholds,\n grants: request?.grants,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateChannelTypeResponse>\n >('PUT', '/api/v2/chat/channeltypes/{name}', pathParams, undefined, body);\n\n decoders.UpdateChannelTypeResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n listCommands = async (): Promise<StreamResponse<ListCommandsResponse>> => {\n const response = await this.sendRequest<\n StreamResponse<ListCommandsResponse>\n >('GET', '/api/v2/chat/commands', undefined, undefined);\n\n decoders.ListCommandsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createCommand = async (\n request: CreateCommandRequest,\n ): Promise<StreamResponse<CreateCommandResponse>> => {\n const body = {\n description: request?.description,\n name: request?.name,\n args: request?.args,\n set: request?.set,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CreateCommandResponse>\n >('POST', '/api/v2/chat/commands', undefined, undefined, body);\n\n decoders.CreateCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteCommand = async (request: {\n name: string;\n }): Promise<StreamResponse<DeleteCommandResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteCommandResponse>\n >('DELETE', '/api/v2/chat/commands/{name}', pathParams, undefined);\n\n decoders.DeleteCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getCommand = async (request: {\n name: string;\n }): Promise<StreamResponse<GetCommandResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n\n const response = await this.sendRequest<StreamResponse<GetCommandResponse>>(\n 'GET',\n '/api/v2/chat/commands/{name}',\n pathParams,\n undefined,\n );\n\n decoders.GetCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateCommand = async (\n request: UpdateCommandRequest & { name: string },\n ): Promise<StreamResponse<UpdateCommandResponse>> => {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n description: request?.description,\n args: request?.args,\n set: request?.set,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateCommandResponse>\n >('PUT', '/api/v2/chat/commands/{name}', pathParams, undefined, body);\n\n decoders.UpdateCommandResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryDrafts = async (\n request?: QueryDraftsRequest,\n ): Promise<StreamResponse<QueryDraftsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryDraftsResponse>\n >('POST', '/api/v2/chat/drafts/query', undefined, undefined, body);\n\n decoders.QueryDraftsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n exportChannels = async (\n request: ExportChannelsRequest,\n ): Promise<StreamResponse<ExportChannelsResponse>> => {\n const body = {\n channels: request?.channels,\n clear_deleted_message_text: request?.clear_deleted_message_text,\n export_users: request?.export_users,\n include_soft_deleted_channels: request?.include_soft_deleted_channels,\n include_truncated_messages: request?.include_truncated_messages,\n version: request?.version,\n };\n\n const response = await this.sendRequest<\n StreamResponse<ExportChannelsResponse>\n >('POST', '/api/v2/chat/export_channels', undefined, undefined, body);\n\n decoders.ExportChannelsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryMembers = async (request?: {\n payload?: QueryMembersPayload;\n }): Promise<StreamResponse<MembersResponse>> => {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.sendRequest<StreamResponse<MembersResponse>>(\n 'GET',\n '/api/v2/chat/members',\n undefined,\n queryParams,\n );\n\n decoders.MembersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryMessageHistory = async (\n request: QueryMessageHistoryRequest,\n ): Promise<StreamResponse<QueryMessageHistoryResponse>> => {\n const body = {\n filter: request?.filter,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryMessageHistoryResponse>\n >('POST', '/api/v2/chat/messages/history', undefined, undefined, body);\n\n decoders.QueryMessageHistoryResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteMessage = async (request: {\n id: string;\n hard?: boolean;\n deleted_by?: string;\n }): Promise<StreamResponse<DeleteMessageResponse>> => {\n const queryParams = {\n hard: request?.hard,\n deleted_by: request?.deleted_by,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteMessageResponse>\n >('DELETE', '/api/v2/chat/messages/{id}', pathParams, queryParams);\n\n decoders.DeleteMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getMessage = async (request: {\n id: string;\n show_deleted_message?: boolean;\n }): Promise<StreamResponse<GetMessageResponse>> => {\n const queryParams = {\n show_deleted_message: request?.show_deleted_message,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetMessageResponse>>(\n 'GET',\n '/api/v2/chat/messages/{id}',\n pathParams,\n queryParams,\n );\n\n decoders.GetMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateMessage = async (\n request: UpdateMessageRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessageResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n message: request?.message,\n skip_enrich_url: request?.skip_enrich_url,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateMessageResponse>\n >('POST', '/api/v2/chat/messages/{id}', pathParams, undefined, body);\n\n decoders.UpdateMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateMessagePartial = async (\n request: UpdateMessagePartialRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessagePartialResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n skip_enrich_url: request?.skip_enrich_url,\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateMessagePartialResponse>\n >('PUT', '/api/v2/chat/messages/{id}', pathParams, undefined, body);\n\n decoders.UpdateMessagePartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n runMessageAction = async (\n request: MessageActionRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n form_data: request?.form_data,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<MessageResponse>>(\n 'POST',\n '/api/v2/chat/messages/{id}/action',\n pathParams,\n undefined,\n body,\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n commitMessage = async (\n request: CommitMessageRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {};\n\n const response = await this.sendRequest<StreamResponse<MessageResponse>>(\n 'POST',\n '/api/v2/chat/messages/{id}/commit',\n pathParams,\n undefined,\n body,\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n sendReaction = async (\n request: SendReactionRequest & { id: string },\n ): Promise<StreamResponse<SendReactionResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n reaction: request?.reaction,\n enforce_unique: request?.enforce_unique,\n skip_push: request?.skip_push,\n };\n\n const response = await this.sendRequest<\n StreamResponse<SendReactionResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/reaction',\n pathParams,\n undefined,\n body,\n );\n\n decoders.SendReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteReaction = async (request: {\n id: string;\n type: string;\n user_id?: string;\n }): Promise<StreamResponse<DeleteReactionResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n id: request?.id,\n type: request?.type,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteReactionResponse>\n >(\n 'DELETE',\n '/api/v2/chat/messages/{id}/reaction/{type}',\n pathParams,\n queryParams,\n );\n\n decoders.DeleteReactionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getReactions = async (request: {\n id: string;\n limit?: number;\n offset?: number;\n }): Promise<StreamResponse<GetReactionsResponse>> => {\n const queryParams = {\n limit: request?.limit,\n offset: request?.offset,\n };\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetReactionsResponse>\n >('GET', '/api/v2/chat/messages/{id}/reactions', pathParams, queryParams);\n\n decoders.GetReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryReactions = async (\n request: QueryReactionsRequest & { id: string },\n ): Promise<StreamResponse<QueryReactionsResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryReactionsResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/reactions',\n pathParams,\n undefined,\n body,\n );\n\n decoders.QueryReactionsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n translateMessage = async (\n request: TranslateMessageRequest & { id: string },\n ): Promise<StreamResponse<MessageResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n language: request?.language,\n };\n\n const response = await this.sendRequest<StreamResponse<MessageResponse>>(\n 'POST',\n '/api/v2/chat/messages/{id}/translate',\n pathParams,\n undefined,\n body,\n );\n\n decoders.MessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n undeleteMessage = async (\n request: UpdateMessageRequest & { id: string },\n ): Promise<StreamResponse<UpdateMessageResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n message: request?.message,\n skip_enrich_url: request?.skip_enrich_url,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateMessageResponse>\n >(\n 'POST',\n '/api/v2/chat/messages/{id}/undelete',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateMessageResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n castPollVote = async (\n request: CastPollVoteRequest & { message_id: string; poll_id: string },\n ): Promise<StreamResponse<PollVoteResponse>> => {\n const pathParams = {\n message_id: request?.message_id,\n poll_id: request?.poll_id,\n };\n const body = {\n user_id: request?.user_id,\n user: request?.user,\n vote: request?.vote,\n };\n\n const response = await this.sendRequest<StreamResponse<PollVoteResponse>>(\n 'POST',\n '/api/v2/chat/messages/{message_id}/polls/{poll_id}/vote',\n pathParams,\n undefined,\n body,\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n removePollVote = async (request: {\n message_id: string;\n poll_id: string;\n vote_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollVoteResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n message_id: request?.message_id,\n poll_id: request?.poll_id,\n vote_id: request?.vote_id,\n };\n\n const response = await this.sendRequest<StreamResponse<PollVoteResponse>>(\n 'DELETE',\n '/api/v2/chat/messages/{message_id}/polls/{poll_id}/vote/{vote_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollVoteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getReplies = async (request: {\n parent_id: string;\n limit?: number;\n offset?: number;\n id_gte?: string;\n id_gt?: string;\n id_lte?: string;\n id_lt?: string;\n created_at_after_or_equal?: Date;\n created_at_after?: Date;\n created_at_before_or_equal?: Date;\n created_at_before?: Date;\n id_around?: string;\n created_at_around?: Date;\n sort?: SortParamRequest[];\n }): Promise<StreamResponse<GetRepliesResponse>> => {\n const queryParams = {\n limit: request?.limit,\n offset: request?.offset,\n id_gte: request?.id_gte,\n id_gt: request?.id_gt,\n id_lte: request?.id_lte,\n id_lt: request?.id_lt,\n created_at_after_or_equal: request?.created_at_after_or_equal,\n created_at_after: request?.created_at_after,\n created_at_before_or_equal: request?.created_at_before_or_equal,\n created_at_before: request?.created_at_before,\n id_around: request?.id_around,\n created_at_around: request?.created_at_around,\n sort: request?.sort,\n };\n const pathParams = {\n parent_id: request?.parent_id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetRepliesResponse>>(\n 'GET',\n '/api/v2/chat/messages/{parent_id}/replies',\n pathParams,\n queryParams,\n );\n\n decoders.GetRepliesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryMessageFlags = async (request?: {\n payload?: QueryMessageFlagsPayload;\n }): Promise<StreamResponse<QueryMessageFlagsResponse>> => {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryMessageFlagsResponse>\n >('GET', '/api/v2/chat/moderation/flags/message', undefined, queryParams);\n\n decoders.QueryMessageFlagsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n muteChannel = async (\n request?: MuteChannelRequest,\n ): Promise<StreamResponse<MuteChannelResponse>> => {\n const body = {\n expiration: request?.expiration,\n user_id: request?.user_id,\n channel_cids: request?.channel_cids,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<MuteChannelResponse>\n >(\n 'POST',\n '/api/v2/chat/moderation/mute/channel',\n undefined,\n undefined,\n body,\n );\n\n decoders.MuteChannelResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unmuteChannel = async (\n request?: UnmuteChannelRequest,\n ): Promise<StreamResponse<UnmuteResponse>> => {\n const body = {\n expiration: request?.expiration,\n user_id: request?.user_id,\n channel_cids: request?.channel_cids,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<UnmuteResponse>>(\n 'POST',\n '/api/v2/chat/moderation/unmute/channel',\n undefined,\n undefined,\n body,\n );\n\n decoders.UnmuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createPoll = async (\n request: CreatePollRequest,\n ): Promise<StreamResponse<PollResponse>> => {\n const body = {\n name: request?.name,\n allow_answers: request?.allow_answers,\n allow_user_suggested_options: request?.allow_user_suggested_options,\n description: request?.description,\n enforce_unique_vote: request?.enforce_unique_vote,\n id: request?.id,\n is_closed: request?.is_closed,\n max_votes_allowed: request?.max_votes_allowed,\n user_id: request?.user_id,\n voting_visibility: request?.voting_visibility,\n options: request?.options,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<PollResponse>>(\n 'POST',\n '/api/v2/chat/polls',\n undefined,\n undefined,\n body,\n );\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updatePoll = async (\n request: UpdatePollRequest,\n ): Promise<StreamResponse<PollResponse>> => {\n const body = {\n id: request?.id,\n name: request?.name,\n allow_answers: request?.allow_answers,\n allow_user_suggested_options: request?.allow_user_suggested_options,\n description: request?.description,\n enforce_unique_vote: request?.enforce_unique_vote,\n is_closed: request?.is_closed,\n max_votes_allowed: request?.max_votes_allowed,\n user_id: request?.user_id,\n voting_visibility: request?.voting_visibility,\n options: request?.options,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<PollResponse>>(\n 'PUT',\n '/api/v2/chat/polls',\n undefined,\n undefined,\n body,\n );\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryPolls = async (\n request?: QueryPollsRequest & { user_id?: string },\n ): Promise<StreamResponse<QueryPollsResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.sendRequest<StreamResponse<QueryPollsResponse>>(\n 'POST',\n '/api/v2/chat/polls/query',\n undefined,\n queryParams,\n body,\n );\n\n decoders.QueryPollsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deletePoll = async (request: {\n poll_id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/polls/{poll_id}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getPoll = async (request: {\n poll_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n\n const response = await this.sendRequest<StreamResponse<PollResponse>>(\n 'GET',\n '/api/v2/chat/polls/{poll_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updatePollPartial = async (\n request: UpdatePollPartialRequest & { poll_id: string },\n ): Promise<StreamResponse<PollResponse>> => {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<PollResponse>>(\n 'PATCH',\n '/api/v2/chat/polls/{poll_id}',\n pathParams,\n undefined,\n body,\n );\n\n decoders.PollResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n createPollOption = async (\n request: CreatePollOptionRequest & { poll_id: string },\n ): Promise<StreamResponse<PollOptionResponse>> => {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n text: request?.text,\n position: request?.position,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<PollOptionResponse>>(\n 'POST',\n '/api/v2/chat/polls/{poll_id}/options',\n pathParams,\n undefined,\n body,\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updatePollOption = async (\n request: UpdatePollOptionRequest & { poll_id: string },\n ): Promise<StreamResponse<PollOptionResponse>> => {\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n id: request?.id,\n text: request?.text,\n user_id: request?.user_id,\n custom: request?.custom,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<PollOptionResponse>>(\n 'PUT',\n '/api/v2/chat/polls/{poll_id}/options',\n pathParams,\n undefined,\n body,\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deletePollOption = async (request: {\n poll_id: string;\n option_id: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n option_id: request?.option_id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/polls/{poll_id}/options/{option_id}',\n pathParams,\n queryParams,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getPollOption = async (request: {\n poll_id: string;\n option_id: string;\n user_id?: string;\n }): Promise<StreamResponse<PollOptionResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n option_id: request?.option_id,\n };\n\n const response = await this.sendRequest<StreamResponse<PollOptionResponse>>(\n 'GET',\n '/api/v2/chat/polls/{poll_id}/options/{option_id}',\n pathParams,\n queryParams,\n );\n\n decoders.PollOptionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryPollVotes = async (\n request: QueryPollVotesRequest & { poll_id: string; user_id?: string },\n ): Promise<StreamResponse<PollVotesResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n };\n const pathParams = {\n poll_id: request?.poll_id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.sendRequest<StreamResponse<PollVotesResponse>>(\n 'POST',\n '/api/v2/chat/polls/{poll_id}/votes',\n pathParams,\n queryParams,\n body,\n );\n\n decoders.PollVotesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updatePushNotificationPreferences = async (\n request: UpsertPushPreferencesRequest,\n ): Promise<StreamResponse<UpsertPushPreferencesResponse>> => {\n const body = {\n preferences: request?.preferences,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpsertPushPreferencesResponse>\n >('POST', '/api/v2/chat/push_preferences', undefined, undefined, body);\n\n decoders.UpsertPushPreferencesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryBannedUsers = async (request?: {\n payload?: QueryBannedUsersPayload;\n }): Promise<StreamResponse<QueryBannedUsersResponse>> => {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryBannedUsersResponse>\n >('GET', '/api/v2/chat/query_banned_users', undefined, queryParams);\n\n decoders.QueryBannedUsersResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n search = async (request?: {\n payload?: SearchPayload;\n }): Promise<StreamResponse<SearchResponse>> => {\n const queryParams = {\n payload: request?.payload,\n };\n\n const response = await this.sendRequest<StreamResponse<SearchResponse>>(\n 'GET',\n '/api/v2/chat/search',\n undefined,\n queryParams,\n );\n\n decoders.SearchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n querySegments = async (\n request: QuerySegmentsRequest,\n ): Promise<StreamResponse<QuerySegmentsResponse>> => {\n const body = {\n filter: request?.filter,\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QuerySegmentsResponse>\n >('POST', '/api/v2/chat/segments/query', undefined, undefined, body);\n\n decoders.QuerySegmentsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteSegment = async (request: {\n id: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'DELETE',\n '/api/v2/chat/segments/{id}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getSegment = async (request: {\n id: string;\n }): Promise<StreamResponse<GetSegmentResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetSegmentResponse>>(\n 'GET',\n '/api/v2/chat/segments/{id}',\n pathParams,\n undefined,\n );\n\n decoders.GetSegmentResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteSegmentTargets = async (\n request: DeleteSegmentTargetsRequest & { id: string },\n ): Promise<StreamResponse<Response>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n target_ids: request?.target_ids,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/segments/{id}/deletetargets',\n pathParams,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n segmentTargetExists = async (request: {\n id: string;\n target_id: string;\n }): Promise<StreamResponse<Response>> => {\n const pathParams = {\n id: request?.id,\n target_id: request?.target_id,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'GET',\n '/api/v2/chat/segments/{id}/target/{target_id}',\n pathParams,\n undefined,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n querySegmentTargets = async (\n request: QuerySegmentTargetsRequest & { id: string },\n ): Promise<StreamResponse<QuerySegmentTargetsResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n sort: request?.sort,\n filter: request?.filter,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QuerySegmentTargetsResponse>\n >(\n 'POST',\n '/api/v2/chat/segments/{id}/targets/query',\n pathParams,\n undefined,\n body,\n );\n\n decoders.QuerySegmentTargetsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryThreads = async (\n request?: QueryThreadsRequest,\n ): Promise<StreamResponse<QueryThreadsResponse>> => {\n const body = {\n limit: request?.limit,\n member_limit: request?.member_limit,\n next: request?.next,\n participant_limit: request?.participant_limit,\n prev: request?.prev,\n reply_limit: request?.reply_limit,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryThreadsResponse>\n >('POST', '/api/v2/chat/threads', undefined, undefined, body);\n\n decoders.QueryThreadsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getThread = async (request: {\n message_id: string;\n reply_limit?: number;\n participant_limit?: number;\n member_limit?: number;\n }): Promise<StreamResponse<GetThreadResponse>> => {\n const queryParams = {\n reply_limit: request?.reply_limit,\n participant_limit: request?.participant_limit,\n member_limit: request?.member_limit,\n };\n const pathParams = {\n message_id: request?.message_id,\n };\n\n const response = await this.sendRequest<StreamResponse<GetThreadResponse>>(\n 'GET',\n '/api/v2/chat/threads/{message_id}',\n pathParams,\n queryParams,\n );\n\n decoders.GetThreadResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n updateThreadPartial = async (\n request: UpdateThreadPartialRequest & { message_id: string },\n ): Promise<StreamResponse<UpdateThreadPartialResponse>> => {\n const pathParams = {\n message_id: request?.message_id,\n };\n const body = {\n user_id: request?.user_id,\n unset: request?.unset,\n set: request?.set,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpdateThreadPartialResponse>\n >(\n 'PATCH',\n '/api/v2/chat/threads/{message_id}',\n pathParams,\n undefined,\n body,\n );\n\n decoders.UpdateThreadPartialResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unreadCounts = async (): Promise<\n StreamResponse<WrappedUnreadCountsResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<WrappedUnreadCountsResponse>\n >('GET', '/api/v2/chat/unread', undefined, undefined);\n\n decoders.WrappedUnreadCountsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unreadCountsBatch = async (\n request: UnreadCountsBatchRequest,\n ): Promise<StreamResponse<UnreadCountsBatchResponse>> => {\n const body = {\n user_ids: request?.user_ids,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UnreadCountsBatchResponse>\n >('POST', '/api/v2/chat/unread_batch', undefined, undefined, body);\n\n decoders.UnreadCountsBatchResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n sendUserCustomEvent = async (\n request: SendUserCustomEventRequest & { user_id: string },\n ): Promise<StreamResponse<Response>> => {\n const pathParams = {\n user_id: request?.user_id,\n };\n const body = {\n event: request?.event,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/chat/users/{user_id}/event',\n pathParams,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n}\n","import { ChatApi } from './ChatApi';\nimport { StreamResponse } from '../../types';\nimport {\n ChannelGetOrCreateRequest,\n ChannelStateResponse,\n DeleteChannelResponse,\n EventResponse,\n FileUploadRequest,\n FileUploadResponse,\n GetDraftResponse,\n GetManyMessagesResponse,\n HideChannelRequest,\n HideChannelResponse,\n ImageUploadRequest,\n ImageUploadResponse,\n MarkReadRequest,\n MarkReadResponse,\n MarkUnreadRequest,\n Response,\n SendEventRequest,\n SendMessageRequest,\n SendMessageResponse,\n ShowChannelRequest,\n ShowChannelResponse,\n TruncateChannelRequest,\n TruncateChannelResponse,\n UpdateChannelPartialRequest,\n UpdateChannelPartialResponse,\n UpdateChannelRequest,\n UpdateChannelResponse,\n UpdateMemberPartialRequest,\n UpdateMemberPartialResponse,\n} from '../models';\n\nexport class ChannelApi {\n constructor(\n protected chatApi: ChatApi,\n public readonly type: string,\n public id?: string,\n ) {}\n\n delete = (request?: {\n hard_delete?: boolean;\n }): Promise<StreamResponse<DeleteChannelResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.deleteChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n updateChannelPartial = (\n request?: UpdateChannelPartialRequest,\n ): Promise<StreamResponse<UpdateChannelPartialResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.updateChannelPartial({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n update = (\n request?: UpdateChannelRequest,\n ): Promise<StreamResponse<UpdateChannelResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.updateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n deleteDraft = (request?: {\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<Response>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.deleteDraft({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n getDraft = (request?: {\n parent_id?: string;\n user_id?: string;\n }): Promise<StreamResponse<GetDraftResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.getDraft({ id: this.id, type: this.type, ...request });\n };\n\n sendEvent = (\n request: SendEventRequest,\n ): Promise<StreamResponse<EventResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.sendEvent({ id: this.id, type: this.type, ...request });\n };\n\n deleteFile = (request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.deleteFile({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n uploadFile = (\n request?: FileUploadRequest,\n ): Promise<StreamResponse<FileUploadResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.uploadFile({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n hide = (\n request?: HideChannelRequest,\n ): Promise<StreamResponse<HideChannelResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.hideChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n deleteImage = (request?: {\n url?: string;\n }): Promise<StreamResponse<Response>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.deleteImage({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n uploadImage = (\n request?: ImageUploadRequest,\n ): Promise<StreamResponse<ImageUploadResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.uploadImage({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n updateMemberPartial = (\n request?: UpdateMemberPartialRequest & { user_id?: string },\n ): Promise<StreamResponse<UpdateMemberPartialResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.updateMemberPartial({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n sendMessage = (\n request: SendMessageRequest,\n ): Promise<StreamResponse<SendMessageResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.sendMessage({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n getManyMessages = (request: {\n ids: string[];\n }): Promise<StreamResponse<GetManyMessagesResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.getManyMessages({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n getOrCreate = (\n request?: ChannelGetOrCreateRequest,\n ): Promise<StreamResponse<ChannelStateResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.getOrCreateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n markRead = (\n request?: MarkReadRequest,\n ): Promise<StreamResponse<MarkReadResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.markRead({ id: this.id, type: this.type, ...request });\n };\n\n show = (\n request?: ShowChannelRequest,\n ): Promise<StreamResponse<ShowChannelResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.showChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n truncate = (\n request?: TruncateChannelRequest,\n ): Promise<StreamResponse<TruncateChannelResponse>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.truncateChannel({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n\n markUnread = (\n request?: MarkUnreadRequest,\n ): Promise<StreamResponse<Response>> => {\n if (!this.id) {\n throw new Error(\n `Channel isn't yet created, call getOrCreateDistinctChannel() before this operation`,\n );\n }\n return this.chatApi.markUnread({\n id: this.id,\n type: this.type,\n ...request,\n });\n };\n}\n","import { ChannelApi } from './gen/chat/ChannelApi';\nimport { ChannelGetOrCreateRequest, QueryMembersPayload } from './gen/models';\nimport { OmitTypeId } from './types';\n\nexport class StreamChannel extends ChannelApi {\n get cid() {\n return `${this.type}:${this.id}`;\n }\n\n getOrCreate = (channel_get_or_create_request?: ChannelGetOrCreateRequest) => {\n if (!this.id) {\n return this.chatApi\n .getOrCreateDistinctChannel({\n type: this.type,\n ...channel_get_or_create_request,\n })\n .then((response) => {\n this.id = response.channel?.id;\n return response;\n });\n } else {\n return this.chatApi.getOrCreateChannel({\n id: this.id,\n type: this.type,\n ...channel_get_or_create_request,\n });\n }\n };\n\n queryMembers(request?: { payload?: OmitTypeId<QueryMembersPayload> }) {\n return this.chatApi.queryMembers({\n payload: {\n id: this.id,\n type: this.type,\n ...(request?.payload ?? { filter_conditions: {} }),\n },\n });\n }\n}\n","import { ChatApi } from './gen/chat/ChatApi';\nimport { StreamChannel } from './StreamChannel';\n\nexport class StreamChatClient extends ChatApi {\n channel = (type: string, id?: string) => {\n return new StreamChannel(this, type, id);\n };\n}\n","import { BaseApi } from '../../BaseApi';\nimport { StreamResponse } from '../../types';\nimport {\n BanRequest,\n BanResponse,\n CheckRequest,\n CheckResponse,\n CustomCheckRequest,\n CustomCheckResponse,\n DeleteModerationConfigResponse,\n DeleteModerationTemplateResponse,\n FlagRequest,\n FlagResponse,\n GetConfigResponse,\n GetReviewQueueItemResponse,\n MuteRequest,\n MuteResponse,\n QueryFeedModerationTemplatesResponse,\n QueryModerationConfigsRequest,\n QueryModerationConfigsResponse,\n QueryModerationLogsRequest,\n QueryModerationLogsResponse,\n QueryReviewQueueRequest,\n QueryReviewQueueResponse,\n SubmitActionRequest,\n SubmitActionResponse,\n UnbanRequest,\n UnbanResponse,\n UnmuteRequest,\n UnmuteResponse,\n UpsertConfigRequest,\n UpsertConfigResponse,\n UpsertModerationTemplateRequest,\n UpsertModerationTemplateResponse,\n} from '../models';\nimport { decoders } from '../model-decoders';\n\nexport class ModerationApi extends BaseApi {\n ban = async (request: BanRequest): Promise<StreamResponse<BanResponse>> => {\n const body = {\n target_user_id: request?.target_user_id,\n banned_by_id: request?.banned_by_id,\n channel_cid: request?.channel_cid,\n ip_ban: request?.ip_ban,\n reason: request?.reason,\n shadow: request?.shadow,\n timeout: request?.timeout,\n banned_by: request?.banned_by,\n };\n\n const response = await this.sendRequest<StreamResponse<BanResponse>>(\n 'POST',\n '/api/v2/moderation/ban',\n undefined,\n undefined,\n body,\n );\n\n decoders.BanResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n check = async (\n request: CheckRequest,\n ): Promise<StreamResponse<CheckResponse>> => {\n const body = {\n config_key: request?.config_key,\n entity_creator_id: request?.entity_creator_id,\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n config_team: request?.config_team,\n test_mode: request?.test_mode,\n user_id: request?.user_id,\n moderation_payload: request?.moderation_payload,\n options: request?.options,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<CheckResponse>>(\n 'POST',\n '/api/v2/moderation/check',\n undefined,\n undefined,\n body,\n );\n\n decoders.CheckResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n upsertConfig = async (\n request: UpsertConfigRequest,\n ): Promise<StreamResponse<UpsertConfigResponse>> => {\n const body = {\n key: request?.key,\n async: request?.async,\n team: request?.team,\n user_id: request?.user_id,\n ai_image_config: request?.ai_image_config,\n ai_text_config: request?.ai_text_config,\n ai_video_config: request?.ai_video_config,\n automod_platform_circumvention_config:\n request?.automod_platform_circumvention_config,\n automod_semantic_filters_config: request?.automod_semantic_filters_config,\n automod_toxicity_config: request?.automod_toxicity_config,\n aws_rekognition_config: request?.aws_rekognition_config,\n block_list_config: request?.block_list_config,\n bodyguard_config: request?.bodyguard_config,\n google_vision_config: request?.google_vision_config,\n rule_builder_config: request?.rule_builder_config,\n user: request?.user,\n velocity_filter_config: request?.velocity_filter_config,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpsertConfigResponse>\n >('POST', '/api/v2/moderation/config', undefined, undefined, body);\n\n decoders.UpsertConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteConfig = async (request: {\n key: string;\n team?: string;\n }): Promise<StreamResponse<DeleteModerationConfigResponse>> => {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n key: request?.key,\n };\n\n const response = await this.sendRequest<\n StreamResponse<DeleteModerationConfigResponse>\n >('DELETE', '/api/v2/moderation/config/{key}', pathParams, queryParams);\n\n decoders.DeleteModerationConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getConfig = async (request: {\n key: string;\n team?: string;\n }): Promise<StreamResponse<GetConfigResponse>> => {\n const queryParams = {\n team: request?.team,\n };\n const pathParams = {\n key: request?.key,\n };\n\n const response = await this.sendRequest<StreamResponse<GetConfigResponse>>(\n 'GET',\n '/api/v2/moderation/config/{key}',\n pathParams,\n queryParams,\n );\n\n decoders.GetConfigResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryModerationConfigs = async (\n request?: QueryModerationConfigsRequest,\n ): Promise<StreamResponse<QueryModerationConfigsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryModerationConfigsResponse>\n >('POST', '/api/v2/moderation/configs', undefined, undefined, body);\n\n decoders.QueryModerationConfigsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n customCheck = async (\n request: CustomCheckRequest,\n ): Promise<StreamResponse<CustomCheckResponse>> => {\n const body = {\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n flags: request?.flags,\n entity_creator_id: request?.entity_creator_id,\n user_id: request?.user_id,\n moderation_payload: request?.moderation_payload,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<CustomCheckResponse>\n >('POST', '/api/v2/moderation/custom_check', undefined, undefined, body);\n\n decoders.CustomCheckResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n v2DeleteTemplate = async (): Promise<\n StreamResponse<DeleteModerationTemplateResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<DeleteModerationTemplateResponse>\n >(\n 'DELETE',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n );\n\n decoders.DeleteModerationTemplateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n v2QueryTemplates = async (): Promise<\n StreamResponse<QueryFeedModerationTemplatesResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<QueryFeedModerationTemplatesResponse>\n >(\n 'GET',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n );\n\n decoders.QueryFeedModerationTemplatesResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n v2UpsertTemplate = async (\n request: UpsertModerationTemplateRequest,\n ): Promise<StreamResponse<UpsertModerationTemplateResponse>> => {\n const body = {\n name: request?.name,\n config: request?.config,\n };\n\n const response = await this.sendRequest<\n StreamResponse<UpsertModerationTemplateResponse>\n >(\n 'POST',\n '/api/v2/moderation/feeds_moderation_template',\n undefined,\n undefined,\n body,\n );\n\n decoders.UpsertModerationTemplateResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n flag = async (\n request: FlagRequest,\n ): Promise<StreamResponse<FlagResponse>> => {\n const body = {\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n entity_creator_id: request?.entity_creator_id,\n reason: request?.reason,\n user_id: request?.user_id,\n custom: request?.custom,\n moderation_payload: request?.moderation_payload,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<FlagResponse>>(\n 'POST',\n '/api/v2/moderation/flag',\n undefined,\n undefined,\n body,\n );\n\n decoders.FlagResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryModerationLogs = async (\n request?: QueryModerationLogsRequest,\n ): Promise<StreamResponse<QueryModerationLogsResponse>> => {\n const body = {\n limit: request?.limit,\n next: request?.next,\n prev: request?.prev,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryModerationLogsResponse>\n >('POST', '/api/v2/moderation/logs', undefined, undefined, body);\n\n decoders.QueryModerationLogsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n mute = async (\n request: MuteRequest,\n ): Promise<StreamResponse<MuteResponse>> => {\n const body = {\n target_ids: request?.target_ids,\n timeout: request?.timeout,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<MuteResponse>>(\n 'POST',\n '/api/v2/moderation/mute',\n undefined,\n undefined,\n body,\n );\n\n decoders.MuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryReviewQueue = async (\n request?: QueryReviewQueueRequest,\n ): Promise<StreamResponse<QueryReviewQueueResponse>> => {\n const body = {\n limit: request?.limit,\n lock_count: request?.lock_count,\n lock_duration: request?.lock_duration,\n lock_items: request?.lock_items,\n next: request?.next,\n prev: request?.prev,\n stats_only: request?.stats_only,\n user_id: request?.user_id,\n sort: request?.sort,\n filter: request?.filter,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<QueryReviewQueueResponse>\n >('POST', '/api/v2/moderation/review_queue', undefined, undefined, body);\n\n decoders.QueryReviewQueueResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getReviewQueueItem = async (request: {\n id: string;\n }): Promise<StreamResponse<GetReviewQueueItemResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetReviewQueueItemResponse>\n >('GET', '/api/v2/moderation/review_queue/{id}', pathParams, undefined);\n\n decoders.GetReviewQueueItemResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n submitAction = async (\n request: SubmitActionRequest,\n ): Promise<StreamResponse<SubmitActionResponse>> => {\n const body = {\n action_type: request?.action_type,\n item_id: request?.item_id,\n user_id: request?.user_id,\n ban: request?.ban,\n custom: request?.custom,\n delete_activity: request?.delete_activity,\n delete_message: request?.delete_message,\n delete_reaction: request?.delete_reaction,\n delete_user: request?.delete_user,\n mark_reviewed: request?.mark_reviewed,\n unban: request?.unban,\n user: request?.user,\n };\n\n const response = await this.sendRequest<\n StreamResponse<SubmitActionResponse>\n >('POST', '/api/v2/moderation/submit_action', undefined, undefined, body);\n\n decoders.SubmitActionResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unban = async (\n request: UnbanRequest & {\n target_user_id: string;\n channel_cid?: string;\n created_by?: string;\n },\n ): Promise<StreamResponse<UnbanResponse>> => {\n const queryParams = {\n target_user_id: request?.target_user_id,\n channel_cid: request?.channel_cid,\n created_by: request?.created_by,\n };\n const body = {\n unbanned_by_id: request?.unbanned_by_id,\n unbanned_by: request?.unbanned_by,\n };\n\n const response = await this.sendRequest<StreamResponse<UnbanResponse>>(\n 'POST',\n '/api/v2/moderation/unban',\n undefined,\n queryParams,\n body,\n );\n\n decoders.UnbanResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n unmute = async (\n request: UnmuteRequest,\n ): Promise<StreamResponse<UnmuteResponse>> => {\n const body = {\n target_ids: request?.target_ids,\n user_id: request?.user_id,\n user: request?.user,\n };\n\n const response = await this.sendRequest<StreamResponse<UnmuteResponse>>(\n 'POST',\n '/api/v2/moderation/unmute',\n undefined,\n undefined,\n body,\n );\n\n decoders.UnmuteResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n}\n","import { ModerationApi } from './gen/moderation/ModerationApi';\n\nexport class StreamModerationClient extends ModerationApi {}\n","import { JWTServerToken, JWTUserToken } from './utils/create-token';\nimport { CommonApi } from './gen/common/CommonApi';\nimport { StreamVideoClient } from './StreamVideoClient';\nimport crypto from 'crypto';\nimport { StreamChatClient } from './StreamChatClient';\nimport { CallTokenPayload, UserTokenPayload } from './types';\nimport { QueryBannedUsersPayload, UserRequest } from './gen/models';\nimport { StreamModerationClient } from './StreamModerationClient';\n\nexport interface StreamClientOptions {\n timeout?: number;\n basePath?: string;\n // We use unknown here because RequestInit['dispatcher'] is different between Node versions\n /** The [HTTP Agent](https://undici.nodejs.org/#/docs/api/Agent.md) to use. */\n agent?: unknown;\n}\n\nexport class StreamClient extends CommonApi {\n public readonly video: StreamVideoClient;\n public readonly chat: StreamChatClient;\n public readonly moderation: StreamModerationClient;\n public readonly options: StreamClientOptions = {};\n\n private static readonly DEFAULT_TIMEOUT = 3000;\n\n /**\n *\n * @param apiKey\n * @param secret\n * @param config config object\n */\n constructor(\n readonly apiKey: string,\n private readonly secret: string,\n readonly config?: StreamClientOptions,\n ) {\n const token = JWTServerToken(secret);\n const timeout = config?.timeout ?? StreamClient.DEFAULT_TIMEOUT;\n const chatBaseUrl = config?.basePath ?? 'https://chat.stream-io-api.com';\n const videoBaseUrl = config?.basePath ?? 'https://video.stream-io-api.com';\n super({\n apiKey,\n token,\n timeout,\n baseUrl: chatBaseUrl,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n\n this.video = new StreamVideoClient({\n streamClient: this,\n apiKey,\n token,\n timeout,\n baseUrl: videoBaseUrl,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n this.chat = new StreamChatClient({\n apiKey,\n token,\n timeout,\n baseUrl: chatBaseUrl,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n this.moderation = new StreamModerationClient({\n apiKey,\n token,\n timeout,\n baseUrl: chatBaseUrl,\n agent: config?.agent as RequestInit['dispatcher'],\n });\n }\n\n upsertUsers = (users: UserRequest[]) => {\n const payload: Record<string, UserRequest> = {};\n\n users.forEach((u) => {\n payload[u.id] = u;\n });\n\n return this.updateUsers({ users: payload });\n };\n\n queryBannedUsers = (request?: { payload?: QueryBannedUsersPayload }) => {\n return this.chat.queryBannedUsers(request);\n };\n\n /**\n *\n * @param payload\n * - user_id - the id of the user the token is for\n * - validity_in_seconds - how many seconds is the token valid for (starting from issued at), by default it's 1 hour, dicarded if exp is provided\n * - exp - when the token expires, unix timestamp in seconds\n * - iat - issued at date of the token, unix timestamp in seconds, by default it's now\n */\n generateUserToken = (\n payload: {\n user_id: string;\n validity_in_seconds?: number;\n exp?: number;\n iat?: number;\n } & Record<string, unknown>,\n ) => {\n const defaultIat = Math.floor((Date.now() - 1000) / 1000);\n payload.iat = payload.iat ?? defaultIat;\n const validityInSeconds = payload.validity_in_seconds ?? 60 * 60;\n payload.exp = payload.exp ?? payload.iat + validityInSeconds;\n\n return JWTUserToken(this.secret, payload as UserTokenPayload);\n };\n\n /**\n *\n * @param payload\n * - user_id - the id of the user the token is for\n * - validity_in_seconds - how many seconds is the token valid for (starting from issued at), by default it's 1 hour, dicarded if exp is provided\n * - exp - when the token expires, unix timestamp in seconds\n * - iat - issued at date of the token, unix timestamp in seconds, by default it's now\n */\n generateCallToken = (\n payload: {\n user_id: string;\n role?: string;\n call_cids: string[];\n validity_in_seconds?: number;\n exp?: number;\n iat?: number;\n } & Record<string, unknown>,\n ) => {\n return this.generateUserToken(payload);\n };\n\n /**\n *\n * @param userID\n * @param exp\n * @param iat deprecated, the default date will be set internally\n * @returns\n *\n * @deprecated use generateUserToken instead\n */\n createToken = (\n userID: string,\n exp = Math.round(Date.now() / 1000) + 60 * 60,\n iat = Math.floor((Date.now() - 1000) / 1000),\n ) => {\n const payload: UserTokenPayload = {\n user_id: userID,\n exp,\n iat,\n };\n\n return JWTUserToken(this.secret, payload);\n };\n\n /**\n *\n * @param userID\n * @param call_cids\n * @param exp\n * @param iat this is deprecated, the current date will be set internally\n * @returns\n *\n * @deprecated use generateCallToken instead\n */\n createCallToken = (\n userIdOrObject: string | { user_id: string; role?: string },\n call_cids: string[],\n exp = Math.round(Date.now() / 1000) + 60 * 60,\n iat = Math.floor((Date.now() - 1000) / 1000),\n ) => {\n const payload: CallTokenPayload = {\n exp,\n iat,\n call_cids,\n user_id:\n typeof userIdOrObject === 'string'\n ? userIdOrObject\n : userIdOrObject.user_id,\n };\n\n if (typeof userIdOrObject === 'object' && userIdOrObject.role) {\n payload.role = userIdOrObject.role;\n }\n\n return JWTUserToken(this.secret, payload);\n };\n\n verifyWebhook = (requestBody: string | Buffer, xSignature: string) => {\n const key = Buffer.from(this.secret, 'utf8');\n const hash = crypto\n .createHmac('sha256', key)\n .update(requestBody)\n .digest('hex');\n\n try {\n return crypto.timingSafeEqual(Buffer.from(hash), Buffer.from(xSignature));\n } catch (err) {\n return false;\n }\n };\n}\n"],"names":["uuidv4"],"mappings":"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"}