@stream-io/node-sdk 0.3.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/index.cjs.js +4136 -9282
  2. package/dist/index.cjs.js.map +1 -1
  3. package/dist/index.d.ts +2 -3
  4. package/dist/index.es.js +4136 -9206
  5. package/dist/index.es.js.map +1 -1
  6. package/dist/src/BaseApi.d.ts +10 -0
  7. package/dist/src/StreamCall.d.ts +5 -37
  8. package/dist/src/StreamChannel.d.ts +7 -34
  9. package/dist/src/StreamChatClient.d.ts +2 -25
  10. package/dist/src/StreamClient.d.ts +51 -59
  11. package/dist/src/StreamModerationClient.d.ts +3 -0
  12. package/dist/src/StreamVideoClient.d.ts +2 -18
  13. package/dist/src/gen/chat/ChannelApi.d.ts +33 -0
  14. package/dist/src/gen/chat/ChatApi.d.ts +241 -0
  15. package/dist/src/gen/common/CommonApi.d.ts +99 -0
  16. package/dist/src/gen/model-decoders/index.d.ts +3 -0
  17. package/dist/src/gen/models/index.d.ts +3881 -0
  18. package/dist/src/gen/moderation/ModerationApi.d.ts +38 -0
  19. package/dist/src/gen/video/CallApi.d.ts +56 -0
  20. package/dist/src/gen/video/VideoApi.d.ts +151 -0
  21. package/dist/src/types.d.ts +25 -0
  22. package/dist/src/utils/create-token.d.ts +2 -0
  23. package/dist/src/utils/rate-limit.d.ts +2 -0
  24. package/index.ts +2 -3
  25. package/package.json +5 -4
  26. package/src/BaseApi.ts +115 -0
  27. package/src/StreamCall.ts +9 -199
  28. package/src/StreamChannel.ts +23 -246
  29. package/src/StreamChatClient.ts +3 -122
  30. package/src/StreamClient.ts +101 -345
  31. package/src/StreamModerationClient.ts +3 -0
  32. package/src/StreamVideoClient.ts +3 -95
  33. package/src/gen/chat/ChannelApi.ts +270 -0
  34. package/src/gen/chat/ChatApi.ts +1857 -0
  35. package/src/gen/common/CommonApi.ts +1004 -0
  36. package/src/gen/model-decoders/index.ts +1897 -0
  37. package/src/gen/models/index.ts +6794 -0
  38. package/src/gen/moderation/ModerationApi.ts +476 -0
  39. package/src/gen/video/CallApi.ts +309 -0
  40. package/src/gen/video/VideoApi.ts +1007 -0
  41. package/src/types.ts +35 -0
  42. package/src/utils/create-token.ts +6 -1
  43. package/src/utils/rate-limit.ts +21 -0
  44. package/dist/src/gen/chat/apis/ProductchatApi.d.ts +0 -1750
  45. package/dist/src/gen/chat/apis/index.d.ts +0 -1
  46. package/dist/src/gen/chat/index.d.ts +0 -3
  47. package/dist/src/gen/chat/models/index.d.ts +0 -14865
  48. package/dist/src/gen/chat/runtime.d.ts +0 -180
  49. package/dist/src/gen/video/apis/ProductvideoApi.d.ts +0 -648
  50. package/dist/src/gen/video/apis/index.d.ts +0 -1
  51. package/dist/src/gen/video/index.d.ts +0 -3
  52. package/dist/src/gen/video/models/index.d.ts +0 -5011
  53. package/dist/src/gen/video/runtime.d.ts +0 -180
  54. package/src/gen/chat/.openapi-generator/FILES +0 -6
  55. package/src/gen/chat/.openapi-generator/VERSION +0 -1
  56. package/src/gen/chat/.openapi-generator-ignore +0 -23
  57. package/src/gen/chat/apis/ProductchatApi.ts +0 -7007
  58. package/src/gen/chat/apis/index.ts +0 -3
  59. package/src/gen/chat/index.ts +0 -5
  60. package/src/gen/chat/models/index.ts +0 -14766
  61. package/src/gen/chat/runtime.ts +0 -415
  62. package/src/gen/video/.openapi-generator/FILES +0 -6
  63. package/src/gen/video/.openapi-generator/VERSION +0 -1
  64. package/src/gen/video/.openapi-generator-ignore +0 -23
  65. package/src/gen/video/apis/ProductvideoApi.ts +0 -2575
  66. package/src/gen/video/apis/index.ts +0 -3
  67. package/src/gen/video/index.ts +0 -5
  68. package/src/gen/video/models/index.ts +0 -5000
  69. package/src/gen/video/runtime.ts +0 -415
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../../src/gen/chat/models/index.ts","../../src/gen/video/models/index.ts","../node_modules/tslib/tslib.es6.js","../../src/gen/chat/runtime.ts","../../src/gen/chat/apis/ProductchatApi.ts","../../src/StreamChannel.ts","../../src/StreamChatClient.ts","../../src/gen/video/runtime.ts","../../src/gen/video/apis/ProductvideoApi.ts","../../src/StreamCall.ts","../../src/StreamVideoClient.ts","../../src/utils/create-token.ts","../../src/StreamClient.ts"],"sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * \n * @export\n * @interface APIError\n */\nexport interface APIError {\n /**\n * Response HTTP status code\n * @type {number}\n * @memberof APIError\n */\n StatusCode: number;\n /**\n * API error code\n * @type {number}\n * @memberof APIError\n */\n code: number;\n /**\n * Additional error-specific information\n * @type {Array<number>}\n * @memberof APIError\n */\n details: Array<number>;\n /**\n * Request duration\n * @type {string}\n * @memberof APIError\n */\n duration: string;\n /**\n * Additional error info\n * @type {{ [key: string]: string; }}\n * @memberof APIError\n */\n exception_fields?: { [key: string]: string; };\n /**\n * Message describing an error\n * @type {string}\n * @memberof APIError\n */\n message: string;\n /**\n * URL with additional information\n * @type {string}\n * @memberof APIError\n */\n more_info: string;\n}\n/**\n * \n * @export\n * @interface APNConfig\n */\nexport interface APNConfig {\n /**\n * \n * @type {boolean}\n * @memberof APNConfig\n */\n Disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof APNConfig\n */\n auth_key?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfig\n */\n auth_type?: APNConfigAuthTypeEnum;\n /**\n * \n * @type {string}\n * @memberof APNConfig\n */\n bundle_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof APNConfig\n */\n development?: boolean;\n /**\n * \n * @type {string}\n * @memberof APNConfig\n */\n host?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfig\n */\n key_id?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfig\n */\n notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfig\n */\n p12_cert?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfig\n */\n team_id?: string;\n}\n\n\n/**\n * @export\n */\nexport const APNConfigAuthTypeEnum = {\n CERTIFICATE: 'certificate',\n TOKEN: 'token'\n} as const;\nexport type APNConfigAuthTypeEnum = typeof APNConfigAuthTypeEnum[keyof typeof APNConfigAuthTypeEnum];\n\n/**\n * \n * @export\n * @interface APNConfigFields\n */\nexport interface APNConfigFields {\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n auth_key?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n auth_type?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n bundle_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof APNConfigFields\n */\n development: boolean;\n /**\n * \n * @type {boolean}\n * @memberof APNConfigFields\n */\n enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n host?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n key_id?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n notification_template: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n p12_cert?: string;\n /**\n * \n * @type {string}\n * @memberof APNConfigFields\n */\n team_id?: string;\n}\n/**\n * \n * @export\n * @interface APNS\n */\nexport interface APNS {\n /**\n * \n * @type {string}\n * @memberof APNS\n */\n body: string;\n /**\n * \n * @type {string}\n * @memberof APNS\n */\n title: string;\n}\n/**\n * \n * @export\n * @interface Action\n */\nexport interface Action {\n /**\n * \n * @type {string}\n * @memberof Action\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof Action\n */\n style?: string;\n /**\n * \n * @type {string}\n * @memberof Action\n */\n text: string;\n /**\n * \n * @type {string}\n * @memberof Action\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof Action\n */\n value?: string;\n}\n/**\n * \n * @export\n * @interface AgoraCall\n */\nexport interface AgoraCall {\n /**\n * \n * @type {string}\n * @memberof AgoraCall\n */\n channel: string;\n}\n/**\n * \n * @export\n * @interface AppResponseFields\n */\nexport interface AppResponseFields {\n /**\n * \n * @type {Config}\n * @memberof AppResponseFields\n */\n agora_options?: Config;\n /**\n * \n * @type {Array<string>}\n * @memberof AppResponseFields\n */\n allowed_flag_reasons?: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof AppResponseFields\n */\n async_url_enrich_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof AppResponseFields\n */\n auto_translation_enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n before_message_send_hook_url?: string;\n /**\n * \n * @type {{ [key: string]: CallType; }}\n * @memberof AppResponseFields\n */\n call_types: { [key: string]: CallType; };\n /**\n * \n * @type {boolean}\n * @memberof AppResponseFields\n */\n campaign_enabled: boolean;\n /**\n * \n * @type {number}\n * @memberof AppResponseFields\n */\n cdn_expiration_seconds: number;\n /**\n * \n * @type {{ [key: string]: ChannelConfig; }}\n * @memberof AppResponseFields\n */\n channel_configs: { [key: string]: ChannelConfig; };\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n custom_action_handler_url: string;\n /**\n * \n * @type {DataDogInfo}\n * @memberof AppResponseFields\n */\n datadog_info?: DataDogInfo;\n /**\n * \n * @type {boolean}\n * @memberof AppResponseFields\n */\n disable_auth_checks: boolean;\n /**\n * \n * @type {boolean}\n * @memberof AppResponseFields\n */\n disable_permissions_checks: boolean;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n enforce_unique_usernames: string;\n /**\n * \n * @type {FileUploadConfig}\n * @memberof AppResponseFields\n */\n file_upload_config: FileUploadConfig;\n /**\n * \n * @type {Array<GeofenceResponse>}\n * @memberof AppResponseFields\n */\n geofences?: Array<GeofenceResponse>;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof AppResponseFields\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {Config}\n * @memberof AppResponseFields\n */\n hms_options?: Config;\n /**\n * \n * @type {boolean}\n * @memberof AppResponseFields\n */\n image_moderation_enabled: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof AppResponseFields\n */\n image_moderation_labels?: Array<string>;\n /**\n * \n * @type {FileUploadConfig}\n * @memberof AppResponseFields\n */\n image_upload_config: FileUploadConfig;\n /**\n * \n * @type {boolean}\n * @memberof AppResponseFields\n */\n multi_tenant_enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n organization: string;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n permission_version: string;\n /**\n * \n * @type {{ [key: string]: Array<Policy>; }}\n * @memberof AppResponseFields\n */\n policies: { [key: string]: Array<Policy>; };\n /**\n * \n * @type {boolean}\n * @memberof AppResponseFields\n */\n polls_enabled: boolean;\n /**\n * \n * @type {PushNotificationFields}\n * @memberof AppResponseFields\n */\n push_notifications: PushNotificationFields;\n /**\n * \n * @type {number}\n * @memberof AppResponseFields\n */\n reminders_interval: number;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n revoke_tokens_issued_before?: string;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n sns_key: string;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n sns_secret: string;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n sns_topic_arn: string;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n sqs_key: string;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n sqs_secret: string;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n sqs_url: string;\n /**\n * \n * @type {boolean}\n * @memberof AppResponseFields\n */\n suspended: boolean;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n suspended_explanation: string;\n /**\n * \n * @type {Array<string>}\n * @memberof AppResponseFields\n */\n user_search_disallowed_roles: Array<string>;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n video_provider: string;\n /**\n * \n * @type {Array<string>}\n * @memberof AppResponseFields\n */\n webhook_events: Array<string>;\n /**\n * \n * @type {string}\n * @memberof AppResponseFields\n */\n webhook_url: string;\n}\n/**\n * \n * @export\n * @interface AsyncModerationCallbackConfig\n */\nexport interface AsyncModerationCallbackConfig {\n /**\n * \n * @type {string}\n * @memberof AsyncModerationCallbackConfig\n */\n mode?: AsyncModerationCallbackConfigModeEnum;\n /**\n * \n * @type {string}\n * @memberof AsyncModerationCallbackConfig\n */\n server_url?: string;\n}\n\n\n/**\n * @export\n */\nexport const AsyncModerationCallbackConfigModeEnum = {\n NONE: 'CALLBACK_MODE_NONE',\n REST: 'CALLBACK_MODE_REST',\n TWIRP: 'CALLBACK_MODE_TWIRP'\n} as const;\nexport type AsyncModerationCallbackConfigModeEnum = typeof AsyncModerationCallbackConfigModeEnum[keyof typeof AsyncModerationCallbackConfigModeEnum];\n\n/**\n * \n * @export\n * @interface AsyncModerationConfiguration\n */\nexport interface AsyncModerationConfiguration {\n /**\n * \n * @type {AsyncModerationCallbackConfig}\n * @memberof AsyncModerationConfiguration\n */\n callback?: AsyncModerationCallbackConfig;\n /**\n * \n * @type {number}\n * @memberof AsyncModerationConfiguration\n */\n timeout_ms?: number;\n}\n/**\n * \n * @export\n * @interface Attachment\n */\nexport interface Attachment {\n /**\n * \n * @type {Array<Action>}\n * @memberof Attachment\n */\n actions?: Array<Action>;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n asset_url?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n author_icon?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n author_link?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n author_name?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n color?: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof Attachment\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n fallback?: string;\n /**\n * \n * @type {Array<Field>}\n * @memberof Attachment\n */\n fields?: Array<Field>;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n footer?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n footer_icon?: string;\n /**\n * \n * @type {Images}\n * @memberof Attachment\n */\n giphy?: Images;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n image_url?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n og_scrape_url?: string;\n /**\n * \n * @type {number}\n * @memberof Attachment\n */\n original_height?: number;\n /**\n * \n * @type {number}\n * @memberof Attachment\n */\n original_width?: number;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n pretext?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n text?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n thumb_url?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n title?: string;\n /**\n * \n * @type {string}\n * @memberof Attachment\n */\n title_link?: string;\n /**\n * Attachment type (e.g. image, video, url, poll)\n * @type {string}\n * @memberof Attachment\n */\n type?: string;\n}\n/**\n * \n * @export\n * @interface AudioSettings\n */\nexport interface AudioSettings {\n /**\n * \n * @type {boolean}\n * @memberof AudioSettings\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof AudioSettings\n */\n default_device: AudioSettingsDefaultDeviceEnum;\n /**\n * \n * @type {boolean}\n * @memberof AudioSettings\n */\n mic_default_on: boolean;\n /**\n * \n * @type {NoiseCancellationSettings}\n * @memberof AudioSettings\n */\n noise_cancellation?: NoiseCancellationSettings;\n /**\n * \n * @type {boolean}\n * @memberof AudioSettings\n */\n opus_dtx_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof AudioSettings\n */\n redundant_coding_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof AudioSettings\n */\n speaker_default_on: boolean;\n}\n\n\n/**\n * @export\n */\nexport const AudioSettingsDefaultDeviceEnum = {\n SPEAKER: 'speaker',\n EARPIECE: 'earpiece'\n} as const;\nexport type AudioSettingsDefaultDeviceEnum = typeof AudioSettingsDefaultDeviceEnum[keyof typeof AudioSettingsDefaultDeviceEnum];\n\n/**\n * \n * @export\n * @interface AutomodDetails\n */\nexport interface AutomodDetails {\n /**\n * \n * @type {string}\n * @memberof AutomodDetails\n */\n action?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof AutomodDetails\n */\n image_labels?: Array<string>;\n /**\n * \n * @type {FlagMessageDetails}\n * @memberof AutomodDetails\n */\n message_details?: FlagMessageDetails;\n /**\n * \n * @type {string}\n * @memberof AutomodDetails\n */\n original_message_type?: string;\n /**\n * \n * @type {MessageModerationResult}\n * @memberof AutomodDetails\n */\n result?: MessageModerationResult;\n}\n/**\n * \n * @export\n * @interface AzureRequest\n */\nexport interface AzureRequest {\n /**\n * \n * @type {string}\n * @memberof AzureRequest\n */\n abs_account_name: string;\n /**\n * \n * @type {string}\n * @memberof AzureRequest\n */\n abs_client_id: string;\n /**\n * \n * @type {string}\n * @memberof AzureRequest\n */\n abs_client_secret: string;\n /**\n * \n * @type {string}\n * @memberof AzureRequest\n */\n abs_tenant_id: string;\n}\n/**\n * \n * @export\n * @interface BackstageSettings\n */\nexport interface BackstageSettings {\n /**\n * \n * @type {boolean}\n * @memberof BackstageSettings\n */\n enabled: boolean;\n /**\n * \n * @type {number}\n * @memberof BackstageSettings\n */\n join_ahead_time_seconds?: number;\n}\n/**\n * \n * @export\n * @interface BanRequest\n */\nexport interface BanRequest {\n /**\n * \n * @type {UserRequest}\n * @memberof BanRequest\n */\n banned_by?: UserRequest;\n /**\n * User ID who issued a ban\n * @type {string}\n * @memberof BanRequest\n */\n banned_by_id?: string;\n /**\n * Channel CID to ban user in eg. messaging:123\n * @type {string}\n * @memberof BanRequest\n */\n channel_cid?: string;\n /**\n * Whether to perform IP ban or not\n * @type {boolean}\n * @memberof BanRequest\n */\n ip_ban?: boolean;\n /**\n * Ban reason\n * @type {string}\n * @memberof BanRequest\n */\n reason?: string;\n /**\n * Whether to perform shadow ban or not\n * @type {boolean}\n * @memberof BanRequest\n */\n shadow?: boolean;\n /**\n * ID of user to ban\n * @type {string}\n * @memberof BanRequest\n */\n target_user_id: string;\n /**\n * Timeout of ban in minutes. User will be unbanned after this period of time\n * @type {number}\n * @memberof BanRequest\n */\n timeout?: number;\n /**\n * \n * @type {UserRequest}\n * @memberof BanRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof BanRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface BanResponse\n */\nexport interface BanResponse {\n /**\n * \n * @type {UserObject}\n * @memberof BanResponse\n */\n banned_by?: UserObject;\n /**\n * \n * @type {ChannelResponse}\n * @memberof BanResponse\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof BanResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof BanResponse\n */\n expires?: string;\n /**\n * \n * @type {string}\n * @memberof BanResponse\n */\n reason?: string;\n /**\n * \n * @type {boolean}\n * @memberof BanResponse\n */\n shadow?: boolean;\n /**\n * \n * @type {UserObject}\n * @memberof BanResponse\n */\n user?: UserObject;\n}\n/**\n * Block list contains restricted words\n * @export\n * @interface BlockList\n */\nexport interface BlockList {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof BlockList\n */\n created_at?: string;\n /**\n * Block list name\n * @type {string}\n * @memberof BlockList\n */\n name: string;\n /**\n * Block list type.\n * @type {string}\n * @memberof BlockList\n */\n type: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof BlockList\n */\n updated_at?: string;\n /**\n * List of words to block\n * @type {Array<string>}\n * @memberof BlockList\n */\n words: Array<string>;\n}\n/**\n * \n * @export\n * @interface BlockListOptions\n */\nexport interface BlockListOptions {\n /**\n * \n * @type {string}\n * @memberof BlockListOptions\n */\n behavior: BlockListOptionsBehaviorEnum;\n /**\n * \n * @type {string}\n * @memberof BlockListOptions\n */\n blocklist: string;\n}\n\n\n/**\n * @export\n */\nexport const BlockListOptionsBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type BlockListOptionsBehaviorEnum = typeof BlockListOptionsBehaviorEnum[keyof typeof BlockListOptionsBehaviorEnum];\n\n/**\n * \n * @export\n * @interface BlockUsersRequest\n */\nexport interface BlockUsersRequest {\n /**\n * User id to block\n * @type {string}\n * @memberof BlockUsersRequest\n */\n blocked_user_id: string;\n /**\n * \n * @type {UserRequest}\n * @memberof BlockUsersRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof BlockUsersRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface BlockUsersResponse\n */\nexport interface BlockUsersResponse {\n /**\n * \n * @type {string}\n * @memberof BlockUsersResponse\n */\n blocked_by_user_id: string;\n /**\n * \n * @type {string}\n * @memberof BlockUsersResponse\n */\n blocked_user_id: string;\n /**\n * \n * @type {string}\n * @memberof BlockUsersResponse\n */\n created_at: string;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof BlockUsersResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface BlockedUserResponse\n */\nexport interface BlockedUserResponse {\n /**\n * \n * @type {UserResponse}\n * @memberof BlockedUserResponse\n */\n blocked_user: UserResponse;\n /**\n * ID of the user who got blocked\n * @type {string}\n * @memberof BlockedUserResponse\n */\n blocked_user_id: string;\n /**\n * \n * @type {string}\n * @memberof BlockedUserResponse\n */\n created_at: string;\n /**\n * \n * @type {UserResponse}\n * @memberof BlockedUserResponse\n */\n user: UserResponse;\n /**\n * ID of the user who blocked another user\n * @type {string}\n * @memberof BlockedUserResponse\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface BroadcastSettings\n */\nexport interface BroadcastSettings {\n /**\n * \n * @type {boolean}\n * @memberof BroadcastSettings\n */\n enabled: boolean;\n /**\n * \n * @type {HLSSettings}\n * @memberof BroadcastSettings\n */\n hls: HLSSettings;\n}\n/**\n * \n * @export\n * @interface Call\n */\nexport interface Call {\n /**\n * \n * @type {AgoraCall}\n * @memberof Call\n */\n agora?: AgoraCall;\n /**\n * \n * @type {HMSCall}\n * @memberof Call\n */\n hms?: HMSCall;\n /**\n * \n * @type {string}\n * @memberof Call\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof Call\n */\n provider: string;\n /**\n * \n * @type {string}\n * @memberof Call\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface CallSettings\n */\nexport interface CallSettings {\n /**\n * \n * @type {AudioSettings}\n * @memberof CallSettings\n */\n audio?: AudioSettings;\n /**\n * \n * @type {BackstageSettings}\n * @memberof CallSettings\n */\n backstage?: BackstageSettings;\n /**\n * \n * @type {BroadcastSettings}\n * @memberof CallSettings\n */\n broadcasting?: BroadcastSettings;\n /**\n * \n * @type {GeofenceSettings}\n * @memberof CallSettings\n */\n geofencing?: GeofenceSettings;\n /**\n * \n * @type {LimitsSettings}\n * @memberof CallSettings\n */\n limits?: LimitsSettings;\n /**\n * \n * @type {RecordSettings}\n * @memberof CallSettings\n */\n recording?: RecordSettings;\n /**\n * \n * @type {RingSettings}\n * @memberof CallSettings\n */\n ring?: RingSettings;\n /**\n * \n * @type {ScreensharingSettings}\n * @memberof CallSettings\n */\n screensharing?: ScreensharingSettings;\n /**\n * \n * @type {ThumbnailsSettings}\n * @memberof CallSettings\n */\n thumbnails?: ThumbnailsSettings;\n /**\n * \n * @type {TranscriptionSettings}\n * @memberof CallSettings\n */\n transcription?: TranscriptionSettings;\n /**\n * \n * @type {VideoSettings}\n * @memberof CallSettings\n */\n video?: VideoSettings;\n}\n/**\n * \n * @export\n * @interface CallType\n */\nexport interface CallType {\n /**\n * \n * @type {number}\n * @memberof CallType\n */\n AppPK: number;\n /**\n * \n * @type {string}\n * @memberof CallType\n */\n CreatedAt: string;\n /**\n * \n * @type {string}\n * @memberof CallType\n */\n ExternalStorage: string;\n /**\n * \n * @type {string}\n * @memberof CallType\n */\n Name: string;\n /**\n * \n * @type {NotificationSettings}\n * @memberof CallType\n */\n NotificationSettings?: NotificationSettings;\n /**\n * \n * @type {number}\n * @memberof CallType\n */\n PK: number;\n /**\n * \n * @type {CallSettings}\n * @memberof CallType\n */\n Settings?: CallSettings;\n /**\n * \n * @type {string}\n * @memberof CallType\n */\n UpdatedAt: string;\n}\n/**\n * \n * @export\n * @interface CastPollVoteRequest\n */\nexport interface CastPollVoteRequest {\n /**\n * \n * @type {UserRequest}\n * @memberof CastPollVoteRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof CastPollVoteRequest\n */\n user_id?: string;\n /**\n * \n * @type {VoteData}\n * @memberof CastPollVoteRequest\n */\n vote?: VoteData;\n}\n/**\n * \n * @export\n * @interface Channel\n */\nexport interface Channel {\n /**\n * \n * @type {boolean}\n * @memberof Channel\n */\n auto_translation_enabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n auto_translation_language: string;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n cid: string;\n /**\n * \n * @type {ChannelConfig}\n * @memberof Channel\n */\n config?: ChannelConfig;\n /**\n * \n * @type {ChannelConfig}\n * @memberof Channel\n */\n config_overrides?: ChannelConfig;\n /**\n * \n * @type {number}\n * @memberof Channel\n */\n cooldown?: number;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof Channel\n */\n created_by?: UserObject;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof Channel\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n deleted_at?: string;\n /**\n * \n * @type {boolean}\n * @memberof Channel\n */\n disabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof Channel\n */\n frozen: boolean;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n id: string;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof Channel\n */\n invites?: Array<ChannelMember>;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n last_message_at?: string;\n /**\n * \n * @type {number}\n * @memberof Channel\n */\n member_count?: number;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof Channel\n */\n members?: Array<ChannelMember>;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n team?: string;\n /**\n * \n * @type {UserObject}\n * @memberof Channel\n */\n truncated_by?: UserObject;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof Channel\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface ChannelConfig\n */\nexport interface ChannelConfig {\n /**\n * \n * @type {Array<string>}\n * @memberof ChannelConfig\n */\n allowed_flag_reasons?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n automod: ChannelConfigAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n automod_behavior: ChannelConfigAutomodBehaviorEnum;\n /**\n * \n * @type {Thresholds}\n * @memberof ChannelConfig\n */\n automod_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n blocklist_behavior?: ChannelConfigBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof ChannelConfig\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * List of commands that channel supports\n * @type {Array<string>}\n * @memberof ChannelConfig\n */\n commands: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n connect_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n custom_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n mark_messages_pending: boolean;\n /**\n * \n * @type {number}\n * @memberof ChannelConfig\n */\n max_message_length: number;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n mutes: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n name: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n polls: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n push_notifications: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n quotes: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n reactions: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n read_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n reminders: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n replies: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n search: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n typing_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfig\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n uploads: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfig\n */\n url_enrichment: boolean;\n}\n\n\n/**\n * @export\n */\nexport const ChannelConfigAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type ChannelConfigAutomodEnum = typeof ChannelConfigAutomodEnum[keyof typeof ChannelConfigAutomodEnum];\n\n/**\n * @export\n */\nexport const ChannelConfigAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type ChannelConfigAutomodBehaviorEnum = typeof ChannelConfigAutomodBehaviorEnum[keyof typeof ChannelConfigAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const ChannelConfigBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type ChannelConfigBlocklistBehaviorEnum = typeof ChannelConfigBlocklistBehaviorEnum[keyof typeof ChannelConfigBlocklistBehaviorEnum];\n\n/**\n * \n * @export\n * @interface ChannelConfigWithInfo\n */\nexport interface ChannelConfigWithInfo {\n /**\n * \n * @type {Array<string>}\n * @memberof ChannelConfigWithInfo\n */\n allowed_flag_reasons?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n automod: ChannelConfigWithInfoAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n automod_behavior: ChannelConfigWithInfoAutomodBehaviorEnum;\n /**\n * \n * @type {Thresholds}\n * @memberof ChannelConfigWithInfo\n */\n automod_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n blocklist_behavior?: ChannelConfigWithInfoBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof ChannelConfigWithInfo\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * \n * @type {Array<Command>}\n * @memberof ChannelConfigWithInfo\n */\n commands: Array<Command>;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n connect_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n custom_events: boolean;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof ChannelConfigWithInfo\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n mark_messages_pending: boolean;\n /**\n * \n * @type {number}\n * @memberof ChannelConfigWithInfo\n */\n max_message_length: number;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n mutes: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n name: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n polls: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n push_notifications: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n quotes: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n reactions: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n read_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n reminders: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n replies: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n search: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n typing_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelConfigWithInfo\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n uploads: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelConfigWithInfo\n */\n url_enrichment: boolean;\n}\n\n\n/**\n * @export\n */\nexport const ChannelConfigWithInfoAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type ChannelConfigWithInfoAutomodEnum = typeof ChannelConfigWithInfoAutomodEnum[keyof typeof ChannelConfigWithInfoAutomodEnum];\n\n/**\n * @export\n */\nexport const ChannelConfigWithInfoAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type ChannelConfigWithInfoAutomodBehaviorEnum = typeof ChannelConfigWithInfoAutomodBehaviorEnum[keyof typeof ChannelConfigWithInfoAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const ChannelConfigWithInfoBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type ChannelConfigWithInfoBlocklistBehaviorEnum = typeof ChannelConfigWithInfoBlocklistBehaviorEnum[keyof typeof ChannelConfigWithInfoBlocklistBehaviorEnum];\n\n/**\n * \n * @export\n * @interface ChannelExport\n */\nexport interface ChannelExport {\n /**\n * \n * @type {string}\n * @memberof ChannelExport\n */\n cid?: string;\n /**\n * Channel ID\n * @type {string}\n * @memberof ChannelExport\n */\n id?: string;\n /**\n * Date to export messages since\n * @type {string}\n * @memberof ChannelExport\n */\n messages_since?: string;\n /**\n * Date to export messages until\n * @type {string}\n * @memberof ChannelExport\n */\n messages_until?: string;\n /**\n * Channel type\n * @type {string}\n * @memberof ChannelExport\n */\n type?: string;\n}\n/**\n * \n * @export\n * @interface ChannelGetOrCreateRequest\n */\nexport interface ChannelGetOrCreateRequest {\n /**\n * \n * @type {ChannelInput}\n * @memberof ChannelGetOrCreateRequest\n */\n data?: ChannelInput;\n /**\n * Whether this channel will be hidden for the user who created the channel or not\n * @type {boolean}\n * @memberof ChannelGetOrCreateRequest\n */\n hide_for_creator?: boolean;\n /**\n * \n * @type {PaginationParams}\n * @memberof ChannelGetOrCreateRequest\n */\n members?: PaginationParams;\n /**\n * \n * @type {object}\n * @memberof ChannelGetOrCreateRequest\n */\n messages?: object;\n /**\n * Refresh channel state\n * @type {boolean}\n * @memberof ChannelGetOrCreateRequest\n */\n state?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelGetOrCreateRequest\n */\n thread_unread_counts?: boolean;\n /**\n * \n * @type {PaginationParams}\n * @memberof ChannelGetOrCreateRequest\n */\n watchers?: PaginationParams;\n}\n/**\n * \n * @export\n * @interface ChannelInput\n */\nexport interface ChannelInput {\n [key: string]: any;\n /**\n * Enable or disable auto translation\n * @type {boolean}\n * @memberof ChannelInput\n */\n auto_translation_enabled?: boolean;\n /**\n * Switch auto translation language\n * @type {string}\n * @memberof ChannelInput\n */\n auto_translation_language?: string;\n /**\n * \n * @type {ChannelConfig}\n * @memberof ChannelInput\n */\n config_overrides?: ChannelConfig;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelInput\n */\n created_by?: UserObject;\n /**\n * \n * @type {string}\n * @memberof ChannelInput\n */\n created_by_id?: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof ChannelInput\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {boolean}\n * @memberof ChannelInput\n */\n disabled?: boolean;\n /**\n * Freeze or unfreeze the channel\n * @type {boolean}\n * @memberof ChannelInput\n */\n frozen?: boolean;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof ChannelInput\n */\n invites?: Array<ChannelMember>;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof ChannelInput\n */\n members?: Array<Partial<ChannelMember>>;\n /**\n * Team the channel belongs to (if multi-tenant mode is enabled)\n * @type {string}\n * @memberof ChannelInput\n */\n team?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelInput\n */\n truncated_by_id?: string;\n}\n/**\n * \n * @export\n * @interface ChannelMember\n */\nexport interface ChannelMember {\n /**\n * Expiration date of the ban\n * @type {string}\n * @memberof ChannelMember\n */\n ban_expires?: string;\n /**\n * Whether member is banned this channel or not\n * @type {boolean}\n * @memberof ChannelMember\n */\n banned: boolean;\n /**\n * Role of the member in the channel\n * @type {string}\n * @memberof ChannelMember\n */\n channel_role: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof ChannelMember\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ChannelMember\n */\n deleted_at?: string;\n /**\n * Date when invite was accepted\n * @type {string}\n * @memberof ChannelMember\n */\n invite_accepted_at?: string;\n /**\n * Date when invite was rejected\n * @type {string}\n * @memberof ChannelMember\n */\n invite_rejected_at?: string;\n /**\n * Whether member was invited or not\n * @type {boolean}\n * @memberof ChannelMember\n */\n invited?: boolean;\n /**\n * Whether member is channel moderator or not\n * @type {boolean}\n * @memberof ChannelMember\n */\n is_moderator?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelMember\n */\n notifications_muted: boolean;\n /**\n * Whether member is shadow banned in this channel or not\n * @type {boolean}\n * @memberof ChannelMember\n */\n shadow_banned: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelMember\n */\n status?: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof ChannelMember\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelMember\n */\n user?: UserObject;\n /**\n * \n * @type {string}\n * @memberof ChannelMember\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface ChannelMute\n */\nexport interface ChannelMute {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelMute\n */\n channel?: ChannelResponse;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof ChannelMute\n */\n created_at: string;\n /**\n * Date/time of mute expiration\n * @type {string}\n * @memberof ChannelMute\n */\n expires?: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof ChannelMute\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelMute\n */\n user?: UserObject;\n}\n/**\n * Represents channel in chat\n * @export\n * @interface ChannelResponse\n */\nexport interface ChannelResponse {\n [key: string]: any;\n /**\n * Whether auto translation is enabled or not\n * @type {boolean}\n * @memberof ChannelResponse\n */\n auto_translation_enabled?: boolean;\n /**\n * Language to translate to when auto translation is active\n * @type {string}\n * @memberof ChannelResponse\n */\n auto_translation_language?: string;\n /**\n * Whether this channel is blocked by current user or not\n * @type {boolean}\n * @memberof ChannelResponse\n */\n blocked?: boolean;\n /**\n * Channel CID (<type>:<id>)\n * @type {string}\n * @memberof ChannelResponse\n */\n cid: string;\n /**\n * \n * @type {ChannelConfigWithInfo}\n * @memberof ChannelResponse\n */\n config?: ChannelConfigWithInfo;\n /**\n * Cooldown period after sending each message\n * @type {number}\n * @memberof ChannelResponse\n */\n cooldown?: number;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof ChannelResponse\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelResponse\n */\n created_by?: UserObject;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof ChannelResponse\n */\n custom: { [key: string]: any; };\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof ChannelResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelResponse\n */\n disabled: boolean;\n /**\n * Whether channel is frozen or not\n * @type {boolean}\n * @memberof ChannelResponse\n */\n frozen: boolean;\n /**\n * Whether this channel is hidden by current user or not\n * @type {boolean}\n * @memberof ChannelResponse\n */\n hidden?: boolean;\n /**\n * Date since when the message history is accessible\n * @type {string}\n * @memberof ChannelResponse\n */\n hide_messages_before?: string;\n /**\n * Channel unique ID\n * @type {string}\n * @memberof ChannelResponse\n */\n id: string;\n /**\n * Date of the last message sent\n * @type {string}\n * @memberof ChannelResponse\n */\n last_message_at?: string;\n /**\n * Number of members in the channel\n * @type {number}\n * @memberof ChannelResponse\n */\n member_count?: number;\n /**\n * List of channel members (max 100)\n * @type {Array<ChannelMember>}\n * @memberof ChannelResponse\n */\n members?: Array<Partial<ChannelMember>>;\n /**\n * Date of mute expiration\n * @type {string}\n * @memberof ChannelResponse\n */\n mute_expires_at?: string;\n /**\n * Whether this channel is muted or not\n * @type {boolean}\n * @memberof ChannelResponse\n */\n muted?: boolean;\n /**\n * List of channel capabilities of authenticated user\n * @type {Array<string>}\n * @memberof ChannelResponse\n */\n own_capabilities?: Array<string>;\n /**\n * Team the channel belongs to (multi-tenant only)\n * @type {string}\n * @memberof ChannelResponse\n */\n team?: string;\n /**\n * Date of the latest truncation of the channel\n * @type {string}\n * @memberof ChannelResponse\n */\n truncated_at?: string;\n /**\n * \n * @type {UserObject}\n * @memberof ChannelResponse\n */\n truncated_by?: UserObject;\n /**\n * Type of the channel\n * @type {string}\n * @memberof ChannelResponse\n */\n type: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof ChannelResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface ChannelStateResponse\n */\nexport interface ChannelStateResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelStateResponse\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof ChannelStateResponse\n */\n duration: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelStateResponse\n */\n hidden?: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelStateResponse\n */\n hide_messages_before?: string;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof ChannelStateResponse\n */\n members: Array<ChannelMember>;\n /**\n * \n * @type {ChannelMember}\n * @memberof ChannelStateResponse\n */\n membership?: ChannelMember | null;\n /**\n * \n * @type {Array<MessageResponse>}\n * @memberof ChannelStateResponse\n */\n messages: Array<MessageResponse>;\n /**\n * \n * @type {Array<PendingMessage>}\n * @memberof ChannelStateResponse\n */\n pending_messages?: Array<PendingMessage>;\n /**\n * \n * @type {Array<MessageResponse>}\n * @memberof ChannelStateResponse\n */\n pinned_messages: Array<MessageResponse>;\n /**\n * \n * @type {Array<ReadStateResponse>}\n * @memberof ChannelStateResponse\n */\n read?: Array<ReadStateResponse>;\n /**\n * \n * @type {Array<ThreadState>}\n * @memberof ChannelStateResponse\n */\n threads: Array<ThreadState>;\n /**\n * \n * @type {number}\n * @memberof ChannelStateResponse\n */\n watcher_count?: number;\n /**\n * \n * @type {Array<UserResponse>}\n * @memberof ChannelStateResponse\n */\n watchers?: Array<UserResponse>;\n}\n/**\n * \n * @export\n * @interface ChannelStateResponseFields\n */\nexport interface ChannelStateResponseFields {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ChannelStateResponseFields\n */\n channel?: ChannelResponse;\n /**\n * Whether this channel is hidden or not\n * @type {boolean}\n * @memberof ChannelStateResponseFields\n */\n hidden?: boolean;\n /**\n * Messages before this date are hidden from the user\n * @type {string}\n * @memberof ChannelStateResponseFields\n */\n hide_messages_before?: string;\n /**\n * List of channel members\n * @type {Array<ChannelMember>}\n * @memberof ChannelStateResponseFields\n */\n members: Array<ChannelMember>;\n /**\n * \n * @type {ChannelMember}\n * @memberof ChannelStateResponseFields\n */\n membership?: ChannelMember | null;\n /**\n * List of channel messages\n * @type {Array<MessageResponse>}\n * @memberof ChannelStateResponseFields\n */\n messages: Array<MessageResponse>;\n /**\n * Pending messages that this user has sent\n * @type {Array<PendingMessage>}\n * @memberof ChannelStateResponseFields\n */\n pending_messages?: Array<PendingMessage>;\n /**\n * List of pinned messages in the channel\n * @type {Array<MessageResponse>}\n * @memberof ChannelStateResponseFields\n */\n pinned_messages: Array<MessageResponse>;\n /**\n * List of read states\n * @type {Array<ReadStateResponse>}\n * @memberof ChannelStateResponseFields\n */\n read?: Array<ReadStateResponse>;\n /**\n * \n * @type {Array<ThreadState>}\n * @memberof ChannelStateResponseFields\n */\n threads: Array<ThreadState>;\n /**\n * Number of channel watchers\n * @type {number}\n * @memberof ChannelStateResponseFields\n */\n watcher_count?: number;\n /**\n * List of user who is watching the channel\n * @type {Array<UserResponse>}\n * @memberof ChannelStateResponseFields\n */\n watchers?: Array<UserResponse>;\n}\n/**\n * \n * @export\n * @interface ChannelTypeConfig\n */\nexport interface ChannelTypeConfig {\n /**\n * \n * @type {Array<string>}\n * @memberof ChannelTypeConfig\n */\n allowed_flag_reasons?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n automod: ChannelTypeConfigAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n automod_behavior: ChannelTypeConfigAutomodBehaviorEnum;\n /**\n * \n * @type {Thresholds}\n * @memberof ChannelTypeConfig\n */\n automod_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n blocklist_behavior?: ChannelTypeConfigBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof ChannelTypeConfig\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * List of commands that channel supports\n * @type {Array<Command>}\n * @memberof ChannelTypeConfig\n */\n commands: Array<Command>;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n connect_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n custom_events: boolean;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof ChannelTypeConfig\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n mark_messages_pending: boolean;\n /**\n * \n * @type {number}\n * @memberof ChannelTypeConfig\n */\n max_message_length: number;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n mutes: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n name: string;\n /**\n * \n * @type {Array<PolicyRequest>}\n * @memberof ChannelTypeConfig\n */\n permissions: Array<PolicyRequest>;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n polls: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n push_notifications: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n quotes: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n reactions: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n read_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n reminders: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n replies: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n search: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n typing_events: boolean;\n /**\n * \n * @type {string}\n * @memberof ChannelTypeConfig\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n uploads: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ChannelTypeConfig\n */\n url_enrichment: boolean;\n}\n\n\n/**\n * @export\n */\nexport const ChannelTypeConfigAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type ChannelTypeConfigAutomodEnum = typeof ChannelTypeConfigAutomodEnum[keyof typeof ChannelTypeConfigAutomodEnum];\n\n/**\n * @export\n */\nexport const ChannelTypeConfigAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type ChannelTypeConfigAutomodBehaviorEnum = typeof ChannelTypeConfigAutomodBehaviorEnum[keyof typeof ChannelTypeConfigAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const ChannelTypeConfigBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type ChannelTypeConfigBlocklistBehaviorEnum = typeof ChannelTypeConfigBlocklistBehaviorEnum[keyof typeof ChannelTypeConfigBlocklistBehaviorEnum];\n\n/**\n * \n * @export\n * @interface CheckExternalStorageResponse\n */\nexport interface CheckExternalStorageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CheckExternalStorageResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof CheckExternalStorageResponse\n */\n file_url: string;\n}\n/**\n * \n * @export\n * @interface CheckPushRequest\n */\nexport interface CheckPushRequest {\n /**\n * Push message template for APN\n * @type {string}\n * @memberof CheckPushRequest\n */\n apn_template?: string;\n /**\n * Push message data template for Firebase\n * @type {string}\n * @memberof CheckPushRequest\n */\n firebase_data_template?: string;\n /**\n * Push message template for Firebase\n * @type {string}\n * @memberof CheckPushRequest\n */\n firebase_template?: string;\n /**\n * Message ID to send push notification for\n * @type {string}\n * @memberof CheckPushRequest\n */\n message_id?: string;\n /**\n * Name of push provider\n * @type {string}\n * @memberof CheckPushRequest\n */\n push_provider_name?: string;\n /**\n * Push provider type\n * @type {string}\n * @memberof CheckPushRequest\n */\n push_provider_type?: CheckPushRequestPushProviderTypeEnum;\n /**\n * Don't require existing devices to render templates\n * @type {boolean}\n * @memberof CheckPushRequest\n */\n skip_devices?: boolean;\n /**\n * \n * @type {UserRequest}\n * @memberof CheckPushRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof CheckPushRequest\n */\n user_id?: string;\n}\n\n\n/**\n * @export\n */\nexport const CheckPushRequestPushProviderTypeEnum = {\n FIREBASE: 'firebase',\n APN: 'apn',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type CheckPushRequestPushProviderTypeEnum = typeof CheckPushRequestPushProviderTypeEnum[keyof typeof CheckPushRequestPushProviderTypeEnum];\n\n/**\n * \n * @export\n * @interface CheckPushResponse\n */\nexport interface CheckPushResponse {\n /**\n * Object with device errors\n * @type {{ [key: string]: DeviceErrorInfo; }}\n * @memberof CheckPushResponse\n */\n device_errors?: { [key: string]: DeviceErrorInfo; };\n /**\n * \n * @type {string}\n * @memberof CheckPushResponse\n */\n duration: string;\n /**\n * List of general errors\n * @type {Array<string>}\n * @memberof CheckPushResponse\n */\n general_errors?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof CheckPushResponse\n */\n rendered_apn_template?: string;\n /**\n * \n * @type {string}\n * @memberof CheckPushResponse\n */\n rendered_firebase_template?: string;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof CheckPushResponse\n */\n rendered_message?: { [key: string]: string; };\n /**\n * Don't require existing devices to render templates\n * @type {boolean}\n * @memberof CheckPushResponse\n */\n skip_devices?: boolean;\n}\n/**\n * \n * @export\n * @interface CheckSNSRequest\n */\nexport interface CheckSNSRequest {\n /**\n * AWS SNS access key\n * @type {string}\n * @memberof CheckSNSRequest\n */\n sns_key?: string;\n /**\n * AWS SNS key secret\n * @type {string}\n * @memberof CheckSNSRequest\n */\n sns_secret?: string;\n /**\n * AWS SNS topic ARN\n * @type {string}\n * @memberof CheckSNSRequest\n */\n sns_topic_arn?: string;\n}\n/**\n * \n * @export\n * @interface CheckSNSResponse\n */\nexport interface CheckSNSResponse {\n /**\n * Error data\n * @type {{ [key: string]: any; }}\n * @memberof CheckSNSResponse\n */\n data?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof CheckSNSResponse\n */\n duration: string;\n /**\n * Error text\n * @type {string}\n * @memberof CheckSNSResponse\n */\n error?: string;\n /**\n * Validation result\n * @type {string}\n * @memberof CheckSNSResponse\n */\n status: CheckSNSResponseStatusEnum;\n}\n\n\n/**\n * @export\n */\nexport const CheckSNSResponseStatusEnum = {\n OK: 'ok',\n ERROR: 'error'\n} as const;\nexport type CheckSNSResponseStatusEnum = typeof CheckSNSResponseStatusEnum[keyof typeof CheckSNSResponseStatusEnum];\n\n/**\n * \n * @export\n * @interface CheckSQSRequest\n */\nexport interface CheckSQSRequest {\n /**\n * AWS SQS access key\n * @type {string}\n * @memberof CheckSQSRequest\n */\n sqs_key?: string;\n /**\n * AWS SQS key secret\n * @type {string}\n * @memberof CheckSQSRequest\n */\n sqs_secret?: string;\n /**\n * AWS SQS endpoint URL\n * @type {string}\n * @memberof CheckSQSRequest\n */\n sqs_url?: string;\n}\n/**\n * \n * @export\n * @interface CheckSQSResponse\n */\nexport interface CheckSQSResponse {\n /**\n * Error data\n * @type {{ [key: string]: any; }}\n * @memberof CheckSQSResponse\n */\n data?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof CheckSQSResponse\n */\n duration: string;\n /**\n * Error text\n * @type {string}\n * @memberof CheckSQSResponse\n */\n error?: string;\n /**\n * Validation result\n * @type {string}\n * @memberof CheckSQSResponse\n */\n status: CheckSQSResponseStatusEnum;\n}\n\n\n/**\n * @export\n */\nexport const CheckSQSResponseStatusEnum = {\n OK: 'ok',\n ERROR: 'error'\n} as const;\nexport type CheckSQSResponseStatusEnum = typeof CheckSQSResponseStatusEnum[keyof typeof CheckSQSResponseStatusEnum];\n\n/**\n * Represents custom chat command\n * @export\n * @interface Command\n */\nexport interface Command {\n /**\n * Arguments help text, shown in commands auto-completion\n * @type {string}\n * @memberof Command\n */\n args: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Command\n */\n readonly created_at?: string;\n /**\n * Description, shown in commands auto-completion\n * @type {string}\n * @memberof Command\n */\n description: string;\n /**\n * Unique command name\n * @type {string}\n * @memberof Command\n */\n name: string;\n /**\n * Set name used for grouping commands\n * @type {string}\n * @memberof Command\n */\n set: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof Command\n */\n readonly updated_at?: string;\n}\n/**\n * \n * @export\n * @interface Config\n */\nexport interface Config {\n /**\n * \n * @type {string}\n * @memberof Config\n */\n app_certificate: string;\n /**\n * \n * @type {string}\n * @memberof Config\n */\n app_id: string;\n /**\n * \n * @type {string}\n * @memberof Config\n */\n default_role?: ConfigDefaultRoleEnum;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof Config\n */\n role_map?: { [key: string]: string; };\n}\n\n\n/**\n * @export\n */\nexport const ConfigDefaultRoleEnum = {\n ATTENDEE: 'attendee',\n PUBLISHER: 'publisher',\n SUBSCRIBER: 'subscriber',\n ADMIN: 'admin'\n} as const;\nexport type ConfigDefaultRoleEnum = typeof ConfigDefaultRoleEnum[keyof typeof ConfigDefaultRoleEnum];\n\n/**\n * Block list contains restricted words\n * @export\n * @interface CreateBlockListRequest\n */\nexport interface CreateBlockListRequest {\n /**\n * Block list name\n * @type {string}\n * @memberof CreateBlockListRequest\n */\n name: string;\n /**\n * Block list type.\n * @type {string}\n * @memberof CreateBlockListRequest\n */\n type?: CreateBlockListRequestTypeEnum;\n /**\n * List of words to block\n * @type {Array<string>}\n * @memberof CreateBlockListRequest\n */\n words: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const CreateBlockListRequestTypeEnum = {\n REGEX: 'regex',\n DOMAIN: 'domain',\n EMAIL: 'email',\n WORD: 'word'\n} as const;\nexport type CreateBlockListRequestTypeEnum = typeof CreateBlockListRequestTypeEnum[keyof typeof CreateBlockListRequestTypeEnum];\n\n/**\n * \n * @export\n * @interface CreateCallRequest\n */\nexport interface CreateCallRequest {\n /**\n * \n * @type {string}\n * @memberof CreateCallRequest\n */\n id: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof CreateCallRequest\n */\n options?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof CreateCallRequest\n */\n type: CreateCallRequestTypeEnum;\n /**\n * \n * @type {UserRequest}\n * @memberof CreateCallRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof CreateCallRequest\n */\n user_id?: string;\n}\n\n\n/**\n * @export\n */\nexport const CreateCallRequestTypeEnum = {\n AUDIO: 'audio',\n VIDEO: 'video'\n} as const;\nexport type CreateCallRequestTypeEnum = typeof CreateCallRequestTypeEnum[keyof typeof CreateCallRequestTypeEnum];\n\n/**\n * \n * @export\n * @interface CreateCallResponse\n */\nexport interface CreateCallResponse {\n /**\n * \n * @type {string}\n * @memberof CreateCallResponse\n */\n agora_app_id?: string;\n /**\n * \n * @type {number}\n * @memberof CreateCallResponse\n */\n agora_uid?: number;\n /**\n * \n * @type {Call}\n * @memberof CreateCallResponse\n */\n call?: Call;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CreateCallResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof CreateCallResponse\n */\n token: string;\n}\n/**\n * \n * @export\n * @interface CreateChannelTypeRequest\n */\nexport interface CreateChannelTypeRequest {\n /**\n * Enables automatic message moderation\n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n automod: CreateChannelTypeRequestAutomodEnum;\n /**\n * Sets behavior of automatic moderation\n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n automod_behavior: CreateChannelTypeRequestAutomodBehaviorEnum;\n /**\n * Name of the blocklist to use\n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n blocklist?: string;\n /**\n * Sets behavior of blocklist\n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n blocklist_behavior?: CreateChannelTypeRequestBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof CreateChannelTypeRequest\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * List of commands that channel supports\n * @type {Array<string>}\n * @memberof CreateChannelTypeRequest\n */\n commands?: Array<string>;\n /**\n * Connect events support\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n connect_events?: boolean;\n /**\n * Enables custom events\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n custom_events?: boolean;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof CreateChannelTypeRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * Marks messages as pending by default\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n mark_messages_pending?: boolean;\n /**\n * Number of maximum message characters\n * @type {number}\n * @memberof CreateChannelTypeRequest\n */\n max_message_length: number;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n message_retention?: string;\n /**\n * Enables mutes\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n mutes?: boolean;\n /**\n * Channel type name\n * @type {string}\n * @memberof CreateChannelTypeRequest\n */\n name: string;\n /**\n * List of permissions for the channel type\n * @type {Array<PolicyRequest>}\n * @memberof CreateChannelTypeRequest\n */\n permissions?: Array<PolicyRequest>;\n /**\n * Enables polls\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n polls?: boolean;\n /**\n * Enables push notifications\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n push_notifications?: boolean;\n /**\n * Enables message reactions\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n reactions?: boolean;\n /**\n * Read events support\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n read_events?: boolean;\n /**\n * Enables message replies (threads)\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n replies?: boolean;\n /**\n * Enables message search\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n search?: boolean;\n /**\n * Typing events support\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n typing_events?: boolean;\n /**\n * Enables file uploads\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n uploads?: boolean;\n /**\n * Enables URL enrichment\n * @type {boolean}\n * @memberof CreateChannelTypeRequest\n */\n url_enrichment?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const CreateChannelTypeRequestAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type CreateChannelTypeRequestAutomodEnum = typeof CreateChannelTypeRequestAutomodEnum[keyof typeof CreateChannelTypeRequestAutomodEnum];\n\n/**\n * @export\n */\nexport const CreateChannelTypeRequestAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block'\n} as const;\nexport type CreateChannelTypeRequestAutomodBehaviorEnum = typeof CreateChannelTypeRequestAutomodBehaviorEnum[keyof typeof CreateChannelTypeRequestAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const CreateChannelTypeRequestBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type CreateChannelTypeRequestBlocklistBehaviorEnum = typeof CreateChannelTypeRequestBlocklistBehaviorEnum[keyof typeof CreateChannelTypeRequestBlocklistBehaviorEnum];\n\n/**\n * \n * @export\n * @interface CreateChannelTypeResponse\n */\nexport interface CreateChannelTypeResponse {\n /**\n * \n * @type {Array<string>}\n * @memberof CreateChannelTypeResponse\n */\n allowed_flag_reasons?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n automod: CreateChannelTypeResponseAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n automod_behavior: CreateChannelTypeResponseAutomodBehaviorEnum;\n /**\n * \n * @type {Thresholds}\n * @memberof CreateChannelTypeResponse\n */\n automod_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n blocklist_behavior?: CreateChannelTypeResponseBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof CreateChannelTypeResponse\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * \n * @type {Array<string>}\n * @memberof CreateChannelTypeResponse\n */\n commands: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n connect_events: boolean;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n custom_events: boolean;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n duration: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof CreateChannelTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n mark_messages_pending: boolean;\n /**\n * \n * @type {number}\n * @memberof CreateChannelTypeResponse\n */\n max_message_length: number;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n mutes: boolean;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n name: string;\n /**\n * \n * @type {Array<PolicyRequest>}\n * @memberof CreateChannelTypeResponse\n */\n permissions: Array<PolicyRequest>;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n polls: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n push_notifications: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n quotes: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n reactions: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n read_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n reminders: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n replies: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n search: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n typing_events: boolean;\n /**\n * \n * @type {string}\n * @memberof CreateChannelTypeResponse\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n uploads: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreateChannelTypeResponse\n */\n url_enrichment: boolean;\n}\n\n\n/**\n * @export\n */\nexport const CreateChannelTypeResponseAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type CreateChannelTypeResponseAutomodEnum = typeof CreateChannelTypeResponseAutomodEnum[keyof typeof CreateChannelTypeResponseAutomodEnum];\n\n/**\n * @export\n */\nexport const CreateChannelTypeResponseAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type CreateChannelTypeResponseAutomodBehaviorEnum = typeof CreateChannelTypeResponseAutomodBehaviorEnum[keyof typeof CreateChannelTypeResponseAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const CreateChannelTypeResponseBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type CreateChannelTypeResponseBlocklistBehaviorEnum = typeof CreateChannelTypeResponseBlocklistBehaviorEnum[keyof typeof CreateChannelTypeResponseBlocklistBehaviorEnum];\n\n/**\n * Represents custom chat command\n * @export\n * @interface CreateCommandRequest\n */\nexport interface CreateCommandRequest {\n /**\n * Arguments help text, shown in commands auto-completion\n * @type {string}\n * @memberof CreateCommandRequest\n */\n args?: string;\n /**\n * Description, shown in commands auto-completion\n * @type {string}\n * @memberof CreateCommandRequest\n */\n description: string;\n /**\n * Unique command name\n * @type {string}\n * @memberof CreateCommandRequest\n */\n name: string;\n /**\n * Set name used for grouping commands\n * @type {string}\n * @memberof CreateCommandRequest\n */\n set?: string;\n}\n/**\n * \n * @export\n * @interface CreateCommandResponse\n */\nexport interface CreateCommandResponse {\n /**\n * \n * @type {Command}\n * @memberof CreateCommandResponse\n */\n command?: Command | null;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CreateCommandResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface CreateDeviceRequest\n */\nexport interface CreateDeviceRequest {\n /**\n * \n * @type {string}\n * @memberof CreateDeviceRequest\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof CreateDeviceRequest\n */\n push_provider: CreateDeviceRequestPushProviderEnum;\n /**\n * \n * @type {string}\n * @memberof CreateDeviceRequest\n */\n push_provider_name?: string;\n /**\n * \n * @type {UserRequest}\n * @memberof CreateDeviceRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof CreateDeviceRequest\n */\n user_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof CreateDeviceRequest\n */\n voip_token?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const CreateDeviceRequestPushProviderEnum = {\n FIREBASE: 'firebase',\n APN: 'apn',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type CreateDeviceRequestPushProviderEnum = typeof CreateDeviceRequestPushProviderEnum[keyof typeof CreateDeviceRequestPushProviderEnum];\n\n/**\n * \n * @export\n * @interface CreateExternalStorageRequest\n */\nexport interface CreateExternalStorageRequest {\n /**\n * \n * @type {S3Request}\n * @memberof CreateExternalStorageRequest\n */\n aws_s3?: S3Request;\n /**\n * \n * @type {AzureRequest}\n * @memberof CreateExternalStorageRequest\n */\n azure_blob?: AzureRequest;\n /**\n * \n * @type {string}\n * @memberof CreateExternalStorageRequest\n */\n bucket: string;\n /**\n * \n * @type {string}\n * @memberof CreateExternalStorageRequest\n */\n gcs_credentials?: string;\n /**\n * \n * @type {string}\n * @memberof CreateExternalStorageRequest\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof CreateExternalStorageRequest\n */\n path?: string;\n /**\n * \n * @type {string}\n * @memberof CreateExternalStorageRequest\n */\n storage_type: CreateExternalStorageRequestStorageTypeEnum;\n}\n\n\n/**\n * @export\n */\nexport const CreateExternalStorageRequestStorageTypeEnum = {\n S3: 's3',\n GCS: 'gcs',\n ABS: 'abs'\n} as const;\nexport type CreateExternalStorageRequestStorageTypeEnum = typeof CreateExternalStorageRequestStorageTypeEnum[keyof typeof CreateExternalStorageRequestStorageTypeEnum];\n\n/**\n * \n * @export\n * @interface CreateExternalStorageResponse\n */\nexport interface CreateExternalStorageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CreateExternalStorageResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface CreateGuestRequest\n */\nexport interface CreateGuestRequest {\n /**\n * \n * @type {UserRequest}\n * @memberof CreateGuestRequest\n */\n user: UserRequest;\n}\n/**\n * \n * @export\n * @interface CreateGuestResponse\n */\nexport interface CreateGuestResponse {\n /**\n * the access token to authenticate the user\n * @type {string}\n * @memberof CreateGuestResponse\n */\n access_token: string;\n /**\n * \n * @type {string}\n * @memberof CreateGuestResponse\n */\n duration: string;\n /**\n * \n * @type {UserResponse}\n * @memberof CreateGuestResponse\n */\n user: UserResponse;\n}\n/**\n * \n * @export\n * @interface CreateImportRequest\n */\nexport interface CreateImportRequest {\n /**\n * \n * @type {string}\n * @memberof CreateImportRequest\n */\n mode: CreateImportRequestModeEnum;\n /**\n * \n * @type {string}\n * @memberof CreateImportRequest\n */\n path: string;\n}\n\n\n/**\n * @export\n */\nexport const CreateImportRequestModeEnum = {\n INSERT: 'insert',\n UPSERT: 'upsert'\n} as const;\nexport type CreateImportRequestModeEnum = typeof CreateImportRequestModeEnum[keyof typeof CreateImportRequestModeEnum];\n\n/**\n * \n * @export\n * @interface CreateImportResponse\n */\nexport interface CreateImportResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CreateImportResponse\n */\n duration: string;\n /**\n * \n * @type {ImportTask}\n * @memberof CreateImportResponse\n */\n import_task?: ImportTask;\n}\n/**\n * \n * @export\n * @interface CreateImportURLRequest\n */\nexport interface CreateImportURLRequest {\n /**\n * \n * @type {string}\n * @memberof CreateImportURLRequest\n */\n filename?: string;\n}\n/**\n * \n * @export\n * @interface CreateImportURLResponse\n */\nexport interface CreateImportURLResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CreateImportURLResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof CreateImportURLResponse\n */\n path: string;\n /**\n * \n * @type {string}\n * @memberof CreateImportURLResponse\n */\n upload_url: string;\n}\n/**\n * \n * @export\n * @interface CreatePollOptionRequest\n */\nexport interface CreatePollOptionRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof CreatePollOptionRequest\n */\n Custom?: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof CreatePollOptionRequest\n */\n position?: number;\n /**\n * \n * @type {string}\n * @memberof CreatePollOptionRequest\n */\n text: string;\n /**\n * \n * @type {UserRequest}\n * @memberof CreatePollOptionRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof CreatePollOptionRequest\n */\n user_id?: string;\n}\n/**\n * Contains all information needed to create a new poll\n * @export\n * @interface CreatePollRequest\n */\nexport interface CreatePollRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof CreatePollRequest\n */\n Custom?: { [key: string]: any; };\n /**\n * Indicates whether users can suggest user defined answers\n * @type {boolean}\n * @memberof CreatePollRequest\n */\n allow_answers?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof CreatePollRequest\n */\n allow_user_suggested_options?: boolean;\n /**\n * A description of the poll\n * @type {string}\n * @memberof CreatePollRequest\n */\n description?: string;\n /**\n * Indicates whether users can cast multiple votes\n * @type {boolean}\n * @memberof CreatePollRequest\n */\n enforce_unique_vote?: boolean;\n /**\n * \n * @type {string}\n * @memberof CreatePollRequest\n */\n id?: string;\n /**\n * Indicates whether the poll is open for voting\n * @type {boolean}\n * @memberof CreatePollRequest\n */\n is_closed?: boolean;\n /**\n * Indicates the maximum amount of votes a user can cast\n * @type {number}\n * @memberof CreatePollRequest\n */\n max_votes_allowed?: number;\n /**\n * The name of the poll\n * @type {string}\n * @memberof CreatePollRequest\n */\n name: string;\n /**\n * \n * @type {Array<PollOptionInput>}\n * @memberof CreatePollRequest\n */\n options?: Array<PollOptionInput>;\n /**\n * \n * @type {UserRequest}\n * @memberof CreatePollRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof CreatePollRequest\n */\n user_id?: string;\n /**\n * \n * @type {string}\n * @memberof CreatePollRequest\n */\n voting_visibility?: CreatePollRequestVotingVisibilityEnum;\n}\n\n\n/**\n * @export\n */\nexport const CreatePollRequestVotingVisibilityEnum = {\n ANONYMOUS: 'anonymous',\n PUBLIC: 'public'\n} as const;\nexport type CreatePollRequestVotingVisibilityEnum = typeof CreatePollRequestVotingVisibilityEnum[keyof typeof CreatePollRequestVotingVisibilityEnum];\n\n/**\n * \n * @export\n * @interface CreateRoleRequest\n */\nexport interface CreateRoleRequest {\n /**\n * Role name\n * @type {string}\n * @memberof CreateRoleRequest\n */\n name: string;\n}\n/**\n * \n * @export\n * @interface CreateRoleResponse\n */\nexport interface CreateRoleResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof CreateRoleResponse\n */\n duration: string;\n /**\n * \n * @type {Role}\n * @memberof CreateRoleResponse\n */\n role: Role;\n}\n/**\n * \n * @export\n * @interface DataDogInfo\n */\nexport interface DataDogInfo {\n /**\n * \n * @type {string}\n * @memberof DataDogInfo\n */\n api_key?: string;\n /**\n * \n * @type {boolean}\n * @memberof DataDogInfo\n */\n enabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof DataDogInfo\n */\n site?: string;\n}\n/**\n * \n * @export\n * @interface DeactivateUserRequest\n */\nexport interface DeactivateUserRequest {\n /**\n * ID of the user who deactivated the user\n * @type {string}\n * @memberof DeactivateUserRequest\n */\n created_by_id?: string;\n /**\n * Makes messages appear to be deleted\n * @type {boolean}\n * @memberof DeactivateUserRequest\n */\n mark_messages_deleted?: boolean;\n}\n/**\n * \n * @export\n * @interface DeactivateUserResponse\n */\nexport interface DeactivateUserResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeactivateUserResponse\n */\n duration: string;\n /**\n * \n * @type {UserObject}\n * @memberof DeactivateUserResponse\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface DeactivateUsersRequest\n */\nexport interface DeactivateUsersRequest {\n /**\n * ID of the user who deactivated the users\n * @type {string}\n * @memberof DeactivateUsersRequest\n */\n created_by_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof DeactivateUsersRequest\n */\n mark_channels_deleted?: boolean;\n /**\n * Makes messages appear to be deleted\n * @type {boolean}\n * @memberof DeactivateUsersRequest\n */\n mark_messages_deleted?: boolean;\n /**\n * User IDs to deactivate\n * @type {Array<string>}\n * @memberof DeactivateUsersRequest\n */\n user_ids: Array<string>;\n}\n/**\n * \n * @export\n * @interface DeactivateUsersResponse\n */\nexport interface DeactivateUsersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeactivateUsersResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof DeactivateUsersResponse\n */\n task_id: string;\n}\n/**\n * \n * @export\n * @interface DeleteChannelResponse\n */\nexport interface DeleteChannelResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof DeleteChannelResponse\n */\n channel?: ChannelResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeleteChannelResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface DeleteChannelsRequest\n */\nexport interface DeleteChannelsRequest {\n /**\n * All channels that should be deleted\n * @type {Array<string>}\n * @memberof DeleteChannelsRequest\n */\n cids: Array<string>;\n /**\n * Specify if channels and all ressources should be hard deleted\n * @type {boolean}\n * @memberof DeleteChannelsRequest\n */\n hard_delete?: boolean;\n}\n/**\n * \n * @export\n * @interface DeleteChannelsResponse\n */\nexport interface DeleteChannelsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeleteChannelsResponse\n */\n duration: string;\n /**\n * \n * @type {{ [key: string]: DeleteChannelsResult; }}\n * @memberof DeleteChannelsResponse\n */\n result?: { [key: string]: DeleteChannelsResult; };\n /**\n * \n * @type {string}\n * @memberof DeleteChannelsResponse\n */\n task_id?: string;\n}\n/**\n * \n * @export\n * @interface DeleteChannelsResult\n */\nexport interface DeleteChannelsResult {\n /**\n * \n * @type {string}\n * @memberof DeleteChannelsResult\n */\n error?: string;\n /**\n * \n * @type {string}\n * @memberof DeleteChannelsResult\n */\n status: string;\n}\n/**\n * \n * @export\n * @interface DeleteCommandResponse\n */\nexport interface DeleteCommandResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeleteCommandResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof DeleteCommandResponse\n */\n name: string;\n}\n/**\n * \n * @export\n * @interface DeleteExternalStorageResponse\n */\nexport interface DeleteExternalStorageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeleteExternalStorageResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface DeleteMessageResponse\n */\nexport interface DeleteMessageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeleteMessageResponse\n */\n duration: string;\n /**\n * \n * @type {MessageResponse}\n * @memberof DeleteMessageResponse\n */\n message: MessageResponse;\n}\n/**\n * \n * @export\n * @interface DeleteUsersRequest\n */\nexport interface DeleteUsersRequest {\n /**\n * Calls delete mode.\n * Affected calls are those that include exactly two members, one of whom is the user being deleted.\n * \n * * null or empty string - doesn't delete any calls\n * * soft - marks user's calls and their related data as deleted (soft-delete)\n * * hard - deletes user's calls and their data completely (hard-delete)\n * @type {string}\n * @memberof DeleteUsersRequest\n */\n calls?: DeleteUsersRequestCallsEnum;\n /**\n * Conversation channels delete mode.\n * Conversation channel is any channel which only has two members one of which is the user being deleted.\n * \n * * null or empty string - doesn't delete any conversation channels\n * * soft - marks all conversation channels as deleted (same effect as Delete Channels with 'hard' option disabled)\n * * hard - deletes channel and all its data completely including messages (same effect as Delete Channels with 'hard' option enabled)\n * @type {string}\n * @memberof DeleteUsersRequest\n */\n conversations?: DeleteUsersRequestConversationsEnum;\n /**\n * Message delete mode.\n * \n * * null or empty string - doesn't delete user messages\n * * soft - marks all user messages as deleted without removing any related message data\n * * pruning - marks all user messages as deleted, nullifies message information and removes some message data such as reactions and flags\n * * hard - deletes messages completely with all related information\n * @type {string}\n * @memberof DeleteUsersRequest\n */\n messages?: DeleteUsersRequestMessagesEnum;\n /**\n * \n * @type {string}\n * @memberof DeleteUsersRequest\n */\n new_call_owner_id?: string;\n /**\n * \n * @type {string}\n * @memberof DeleteUsersRequest\n */\n new_channel_owner_id?: string;\n /**\n * User delete mode.\n * \n * * soft - marks user as deleted and retains all user data\n * * pruning - marks user as deleted and nullifies user information\n * * hard - deletes user completely. Requires 'hard' option for messages and conversations as well\n * @type {string}\n * @memberof DeleteUsersRequest\n */\n user?: DeleteUsersRequestUserEnum;\n /**\n * IDs of users to delete\n * @type {Array<string>}\n * @memberof DeleteUsersRequest\n */\n user_ids: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const DeleteUsersRequestCallsEnum = {\n SOFT: 'soft',\n HARD: 'hard'\n} as const;\nexport type DeleteUsersRequestCallsEnum = typeof DeleteUsersRequestCallsEnum[keyof typeof DeleteUsersRequestCallsEnum];\n\n/**\n * @export\n */\nexport const DeleteUsersRequestConversationsEnum = {\n SOFT: 'soft',\n HARD: 'hard'\n} as const;\nexport type DeleteUsersRequestConversationsEnum = typeof DeleteUsersRequestConversationsEnum[keyof typeof DeleteUsersRequestConversationsEnum];\n\n/**\n * @export\n */\nexport const DeleteUsersRequestMessagesEnum = {\n SOFT: 'soft',\n PRUNING: 'pruning',\n HARD: 'hard'\n} as const;\nexport type DeleteUsersRequestMessagesEnum = typeof DeleteUsersRequestMessagesEnum[keyof typeof DeleteUsersRequestMessagesEnum];\n\n/**\n * @export\n */\nexport const DeleteUsersRequestUserEnum = {\n SOFT: 'soft',\n PRUNING: 'pruning',\n HARD: 'hard'\n} as const;\nexport type DeleteUsersRequestUserEnum = typeof DeleteUsersRequestUserEnum[keyof typeof DeleteUsersRequestUserEnum];\n\n/**\n * \n * @export\n * @interface DeleteUsersResponse\n */\nexport interface DeleteUsersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof DeleteUsersResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof DeleteUsersResponse\n */\n task_id: string;\n}\n/**\n * \n * @export\n * @interface Device\n */\nexport interface Device {\n /**\n * \n * @type {string}\n * @memberof Device\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof Device\n */\n disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof Device\n */\n disabled_reason?: string;\n /**\n * Device ID\n * @type {string}\n * @memberof Device\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof Device\n */\n push_provider: DevicePushProviderEnum;\n /**\n * Name of the push provider configuration\n * @type {string}\n * @memberof Device\n */\n push_provider_name?: string;\n /**\n * \n * @type {string}\n * @memberof Device\n */\n user_id: string;\n /**\n * \n * @type {boolean}\n * @memberof Device\n */\n voip?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const DevicePushProviderEnum = {\n FIREBASE: 'firebase',\n APN: 'apn',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type DevicePushProviderEnum = typeof DevicePushProviderEnum[keyof typeof DevicePushProviderEnum];\n\n/**\n * \n * @export\n * @interface DeviceErrorInfo\n */\nexport interface DeviceErrorInfo {\n /**\n * \n * @type {string}\n * @memberof DeviceErrorInfo\n */\n error_message: string;\n /**\n * \n * @type {string}\n * @memberof DeviceErrorInfo\n */\n provider: string;\n /**\n * \n * @type {string}\n * @memberof DeviceErrorInfo\n */\n provider_name: string;\n}\n/**\n * \n * @export\n * @interface ErrorResult\n */\nexport interface ErrorResult {\n /**\n * \n * @type {string}\n * @memberof ErrorResult\n */\n stacktrace?: string;\n /**\n * \n * @type {string}\n * @memberof ErrorResult\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof ErrorResult\n */\n version?: string;\n}\n/**\n * \n * @export\n * @interface EventNotificationSettings\n */\nexport interface EventNotificationSettings {\n /**\n * \n * @type {APNS}\n * @memberof EventNotificationSettings\n */\n apns: APNS;\n /**\n * \n * @type {boolean}\n * @memberof EventNotificationSettings\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface EventRequest\n */\nexport interface EventRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof EventRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof EventRequest\n */\n parent_id?: string;\n /**\n * \n * @type {string}\n * @memberof EventRequest\n */\n type: string;\n /**\n * \n * @type {UserRequest}\n * @memberof EventRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof EventRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface EventResponse\n */\nexport interface EventResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof EventResponse\n */\n duration: string;\n /**\n * \n * @type {WSEvent}\n * @memberof EventResponse\n */\n event: WSEvent;\n}\n/**\n * \n * @export\n * @interface ExportChannelsRequest\n */\nexport interface ExportChannelsRequest {\n /**\n * Export options for channels\n * @type {Array<ChannelExport>}\n * @memberof ExportChannelsRequest\n */\n channels: Array<ChannelExport>;\n /**\n * Set if deleted message text should be cleared\n * @type {boolean}\n * @memberof ExportChannelsRequest\n */\n clear_deleted_message_text?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ExportChannelsRequest\n */\n export_users?: boolean;\n /**\n * Set if you want to include deleted channels\n * @type {boolean}\n * @memberof ExportChannelsRequest\n */\n include_soft_deleted_channels?: boolean;\n /**\n * Set if you want to include truncated messages\n * @type {boolean}\n * @memberof ExportChannelsRequest\n */\n include_truncated_messages?: boolean;\n /**\n * \n * @type {string}\n * @memberof ExportChannelsRequest\n */\n version?: string;\n}\n/**\n * \n * @export\n * @interface ExportChannelsResponse\n */\nexport interface ExportChannelsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ExportChannelsResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof ExportChannelsResponse\n */\n task_id: string;\n}\n/**\n * \n * @export\n * @interface ExportChannelsResult\n */\nexport interface ExportChannelsResult {\n /**\n * S3 path of result\n * @type {string}\n * @memberof ExportChannelsResult\n */\n path?: string;\n /**\n * S3 bucket name result\n * @type {string}\n * @memberof ExportChannelsResult\n */\n s3_bucket_name?: string;\n /**\n * URL of result\n * @type {string}\n * @memberof ExportChannelsResult\n */\n url: string;\n}\n/**\n * \n * @export\n * @interface ExportUserResponse\n */\nexport interface ExportUserResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ExportUserResponse\n */\n duration: string;\n /**\n * \n * @type {Array<Message>}\n * @memberof ExportUserResponse\n */\n messages?: Array<Message>;\n /**\n * \n * @type {Array<Reaction>}\n * @memberof ExportUserResponse\n */\n reactions?: Array<Reaction>;\n /**\n * \n * @type {UserObject}\n * @memberof ExportUserResponse\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ExportUsersRequest\n */\nexport interface ExportUsersRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof ExportUsersRequest\n */\n user_ids: Array<string>;\n}\n/**\n * \n * @export\n * @interface ExportUsersResponse\n */\nexport interface ExportUsersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ExportUsersResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof ExportUsersResponse\n */\n task_id: string;\n}\n/**\n * \n * @export\n * @interface ExternalStorageResponse\n */\nexport interface ExternalStorageResponse {\n /**\n * \n * @type {string}\n * @memberof ExternalStorageResponse\n */\n bucket: string;\n /**\n * \n * @type {string}\n * @memberof ExternalStorageResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof ExternalStorageResponse\n */\n path: string;\n /**\n * \n * @type {string}\n * @memberof ExternalStorageResponse\n */\n type: ExternalStorageResponseTypeEnum;\n}\n\n\n/**\n * @export\n */\nexport const ExternalStorageResponseTypeEnum = {\n S3: 's3',\n GCS: 'gcs',\n ABS: 'abs'\n} as const;\nexport type ExternalStorageResponseTypeEnum = typeof ExternalStorageResponseTypeEnum[keyof typeof ExternalStorageResponseTypeEnum];\n\n/**\n * \n * @export\n * @interface Field\n */\nexport interface Field {\n /**\n * \n * @type {boolean}\n * @memberof Field\n */\n _short: boolean;\n /**\n * \n * @type {string}\n * @memberof Field\n */\n title: string;\n /**\n * \n * @type {string}\n * @memberof Field\n */\n value: string;\n}\n/**\n * \n * @export\n * @interface FileDeleteResponse\n */\nexport interface FileDeleteResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof FileDeleteResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface FileUploadConfig\n */\nexport interface FileUploadConfig {\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfig\n */\n allowed_file_extensions?: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfig\n */\n allowed_mime_types?: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfig\n */\n blocked_file_extensions?: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof FileUploadConfig\n */\n blocked_mime_types?: Array<string>;\n /**\n * \n * @type {number}\n * @memberof FileUploadConfig\n */\n size_limit: number;\n}\n/**\n * \n * @export\n * @interface FileUploadRequest\n */\nexport interface FileUploadRequest {\n /**\n * file field\n * @type {string}\n * @memberof FileUploadRequest\n */\n file?: string;\n /**\n * \n * @type {OnlyUserID}\n * @memberof FileUploadRequest\n */\n user?: OnlyUserID;\n}\n/**\n * \n * @export\n * @interface FileUploadResponse\n */\nexport interface FileUploadResponse {\n /**\n * \n * @type {string}\n * @memberof FileUploadResponse\n */\n duration: string;\n /**\n * URL to the uploaded asset. Should be used to put to `asset_url` attachment field\n * @type {string}\n * @memberof FileUploadResponse\n */\n file?: string;\n /**\n * URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field\n * @type {string}\n * @memberof FileUploadResponse\n */\n thumb_url?: string;\n}\n/**\n * \n * @export\n * @interface FirebaseConfig\n */\nexport interface FirebaseConfig {\n /**\n * \n * @type {boolean}\n * @memberof FirebaseConfig\n */\n Disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfig\n */\n apn_template?: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfig\n */\n credentials_json?: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfig\n */\n data_template?: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfig\n */\n notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfig\n */\n server_key?: string;\n}\n/**\n * \n * @export\n * @interface FirebaseConfigFields\n */\nexport interface FirebaseConfigFields {\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigFields\n */\n apn_template: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigFields\n */\n credentials_json?: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigFields\n */\n data_template: string;\n /**\n * \n * @type {boolean}\n * @memberof FirebaseConfigFields\n */\n enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigFields\n */\n notification_template: string;\n /**\n * \n * @type {string}\n * @memberof FirebaseConfigFields\n */\n server_key?: string;\n}\n/**\n * Contains information about flagged user or message\n * @export\n * @interface Flag\n */\nexport interface Flag {\n /**\n * Date of the approval\n * @type {string}\n * @memberof Flag\n */\n approved_at?: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Flag\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof Flag\n */\n created_by_automod: boolean;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof Flag\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {FlagDetails}\n * @memberof Flag\n */\n details?: FlagDetails;\n /**\n * \n * @type {string}\n * @memberof Flag\n */\n reason?: string;\n /**\n * Date of the rejection\n * @type {string}\n * @memberof Flag\n */\n rejected_at?: string;\n /**\n * Date of the review\n * @type {string}\n * @memberof Flag\n */\n reviewed_at?: string;\n /**\n * \n * @type {string}\n * @memberof Flag\n */\n reviewed_by?: string;\n /**\n * \n * @type {Message}\n * @memberof Flag\n */\n target_message?: Message;\n /**\n * ID of flagged message\n * @type {string}\n * @memberof Flag\n */\n target_message_id?: string;\n /**\n * \n * @type {UserObject}\n * @memberof Flag\n */\n target_user?: UserObject;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof Flag\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof Flag\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface FlagDetails\n */\nexport interface FlagDetails {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof FlagDetails\n */\n Extra: { [key: string]: any; };\n /**\n * \n * @type {AutomodDetails}\n * @memberof FlagDetails\n */\n automod?: AutomodDetails;\n /**\n * \n * @type {string}\n * @memberof FlagDetails\n */\n original_text: string;\n}\n/**\n * \n * @export\n * @interface FlagFeedback\n */\nexport interface FlagFeedback {\n /**\n * \n * @type {string}\n * @memberof FlagFeedback\n */\n created_at: string;\n /**\n * \n * @type {Array<Label>}\n * @memberof FlagFeedback\n */\n labels: Array<Label>;\n /**\n * \n * @type {string}\n * @memberof FlagFeedback\n */\n message_id: string;\n}\n/**\n * \n * @export\n * @interface FlagMessageDetails\n */\nexport interface FlagMessageDetails {\n /**\n * \n * @type {boolean}\n * @memberof FlagMessageDetails\n */\n pin_changed?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof FlagMessageDetails\n */\n should_enrich?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof FlagMessageDetails\n */\n skip_push?: boolean;\n /**\n * \n * @type {string}\n * @memberof FlagMessageDetails\n */\n updated_by_id?: string;\n}\n/**\n * \n * @export\n * @interface FlagRequest\n */\nexport interface FlagRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof FlagRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof FlagRequest\n */\n reason?: string;\n /**\n * ID of the message when reporting a message\n * @type {string}\n * @memberof FlagRequest\n */\n target_message_id?: string;\n /**\n * ID of the user when reporting a user\n * @type {string}\n * @memberof FlagRequest\n */\n target_user_id?: string;\n /**\n * \n * @type {UserRequest}\n * @memberof FlagRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof FlagRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface FlagResponse\n */\nexport interface FlagResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof FlagResponse\n */\n duration: string;\n /**\n * \n * @type {Flag}\n * @memberof FlagResponse\n */\n flag?: Flag;\n}\n/**\n * \n * @export\n * @interface FullUserResponse\n */\nexport interface FullUserResponse {\n /**\n * \n * @type {boolean}\n * @memberof FullUserResponse\n */\n banned: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof FullUserResponse\n */\n blocked_user_ids: Array<string>;\n /**\n * \n * @type {Array<ChannelMute>}\n * @memberof FullUserResponse\n */\n channel_mutes: Array<ChannelMute>;\n /**\n * \n * @type {string}\n * @memberof FullUserResponse\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof FullUserResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof FullUserResponse\n */\n deactivated_at?: string;\n /**\n * \n * @type {string}\n * @memberof FullUserResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {Array<Device>}\n * @memberof FullUserResponse\n */\n devices: Array<Device>;\n /**\n * \n * @type {string}\n * @memberof FullUserResponse\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof FullUserResponse\n */\n image?: string;\n /**\n * \n * @type {boolean}\n * @memberof FullUserResponse\n */\n invisible: boolean;\n /**\n * \n * @type {string}\n * @memberof FullUserResponse\n */\n language: string;\n /**\n * \n * @type {string}\n * @memberof FullUserResponse\n */\n last_active?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof FullUserResponse\n */\n latest_hidden_channels?: Array<string>;\n /**\n * \n * @type {Array<UserMute>}\n * @memberof FullUserResponse\n */\n mutes: Array<UserMute>;\n /**\n * \n * @type {string}\n * @memberof FullUserResponse\n */\n name?: string;\n /**\n * \n * @type {boolean}\n * @memberof FullUserResponse\n */\n online: boolean;\n /**\n * \n * @type {PrivacySettings}\n * @memberof FullUserResponse\n */\n privacy_settings?: PrivacySettings;\n /**\n * \n * @type {PushNotificationSettings}\n * @memberof FullUserResponse\n */\n push_notifications?: PushNotificationSettings;\n /**\n * \n * @type {string}\n * @memberof FullUserResponse\n */\n revoke_tokens_issued_before?: string;\n /**\n * \n * @type {string}\n * @memberof FullUserResponse\n */\n role: string;\n /**\n * \n * @type {boolean}\n * @memberof FullUserResponse\n */\n shadow_banned: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof FullUserResponse\n */\n teams: Array<string>;\n /**\n * \n * @type {number}\n * @memberof FullUserResponse\n */\n total_unread_count: number;\n /**\n * \n * @type {number}\n * @memberof FullUserResponse\n */\n unread_channels: number;\n /**\n * \n * @type {number}\n * @memberof FullUserResponse\n */\n unread_threads: number;\n /**\n * \n * @type {string}\n * @memberof FullUserResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface GeofenceResponse\n */\nexport interface GeofenceResponse {\n /**\n * \n * @type {Array<string>}\n * @memberof GeofenceResponse\n */\n country_codes?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof GeofenceResponse\n */\n description?: string;\n /**\n * \n * @type {string}\n * @memberof GeofenceResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof GeofenceResponse\n */\n type?: string;\n}\n/**\n * \n * @export\n * @interface GeofenceSettings\n */\nexport interface GeofenceSettings {\n /**\n * \n * @type {Array<string>}\n * @memberof GeofenceSettings\n */\n names: Array<string>;\n}\n/**\n * \n * @export\n * @interface GetApplicationResponse\n */\nexport interface GetApplicationResponse {\n /**\n * \n * @type {AppResponseFields}\n * @memberof GetApplicationResponse\n */\n app: AppResponseFields;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetApplicationResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface GetBlockListResponse\n */\nexport interface GetBlockListResponse {\n /**\n * \n * @type {BlockList}\n * @memberof GetBlockListResponse\n */\n blocklist?: BlockList | null;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetBlockListResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface GetBlockedUsersResponse\n */\nexport interface GetBlockedUsersResponse {\n /**\n * Array of blocked user object\n * @type {Array<BlockedUserResponse>}\n * @memberof GetBlockedUsersResponse\n */\n blocks: Array<BlockedUserResponse>;\n /**\n * \n * @type {string}\n * @memberof GetBlockedUsersResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface GetCallTokenRequest\n */\nexport interface GetCallTokenRequest {\n /**\n * \n * @type {UserRequest}\n * @memberof GetCallTokenRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof GetCallTokenRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface GetCallTokenResponse\n */\nexport interface GetCallTokenResponse {\n /**\n * \n * @type {string}\n * @memberof GetCallTokenResponse\n */\n agora_app_id?: string;\n /**\n * \n * @type {number}\n * @memberof GetCallTokenResponse\n */\n agora_uid?: number;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetCallTokenResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof GetCallTokenResponse\n */\n token: string;\n}\n/**\n * \n * @export\n * @interface GetCommandResponse\n */\nexport interface GetCommandResponse {\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n args: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n readonly created_at?: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n description: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n set: string;\n /**\n * \n * @type {string}\n * @memberof GetCommandResponse\n */\n readonly updated_at?: string;\n}\n/**\n * \n * @export\n * @interface GetCustomPermissionResponse\n */\nexport interface GetCustomPermissionResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetCustomPermissionResponse\n */\n duration: string;\n /**\n * \n * @type {Permission}\n * @memberof GetCustomPermissionResponse\n */\n permission: Permission;\n}\n/**\n * \n * @export\n * @interface GetExportChannelsStatusResponse\n */\nexport interface GetExportChannelsStatusResponse {\n /**\n * \n * @type {string}\n * @memberof GetExportChannelsStatusResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof GetExportChannelsStatusResponse\n */\n duration: string;\n /**\n * \n * @type {ErrorResult}\n * @memberof GetExportChannelsStatusResponse\n */\n error?: ErrorResult;\n /**\n * \n * @type {ExportChannelsResult}\n * @memberof GetExportChannelsStatusResponse\n */\n result?: ExportChannelsResult;\n /**\n * \n * @type {string}\n * @memberof GetExportChannelsStatusResponse\n */\n status: string;\n /**\n * \n * @type {string}\n * @memberof GetExportChannelsStatusResponse\n */\n task_id: string;\n /**\n * \n * @type {string}\n * @memberof GetExportChannelsStatusResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface GetImportResponse\n */\nexport interface GetImportResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetImportResponse\n */\n duration: string;\n /**\n * \n * @type {ImportTask}\n * @memberof GetImportResponse\n */\n import_task?: ImportTask;\n}\n/**\n * \n * @export\n * @interface GetManyMessagesResponse\n */\nexport interface GetManyMessagesResponse {\n /**\n * \n * @type {string}\n * @memberof GetManyMessagesResponse\n */\n duration: string;\n /**\n * List of messages\n * @type {Array<Message>}\n * @memberof GetManyMessagesResponse\n */\n messages: Array<Message>;\n}\n/**\n * \n * @export\n * @interface GetMessageResponse\n */\nexport interface GetMessageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetMessageResponse\n */\n duration: string;\n /**\n * \n * @type {MessageWithChannelResponse}\n * @memberof GetMessageResponse\n */\n message: MessageWithChannelResponse;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof GetMessageResponse\n */\n pending_message_metadata?: { [key: string]: string; };\n}\n/**\n * \n * @export\n * @interface GetOGResponse\n */\nexport interface GetOGResponse {\n /**\n * \n * @type {Array<Action>}\n * @memberof GetOGResponse\n */\n actions?: Array<Action>;\n /**\n * URL of detected video or audio\n * @type {string}\n * @memberof GetOGResponse\n */\n asset_url?: string;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n author_icon?: string;\n /**\n * og:site\n * @type {string}\n * @memberof GetOGResponse\n */\n author_link?: string;\n /**\n * og:site_name\n * @type {string}\n * @memberof GetOGResponse\n */\n author_name?: string;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n color?: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof GetOGResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n fallback?: string;\n /**\n * \n * @type {Array<Field>}\n * @memberof GetOGResponse\n */\n fields?: Array<Field>;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n footer?: string;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n footer_icon?: string;\n /**\n * \n * @type {Images}\n * @memberof GetOGResponse\n */\n giphy?: Images;\n /**\n * URL of detected image\n * @type {string}\n * @memberof GetOGResponse\n */\n image_url?: string;\n /**\n * extracted url from the text\n * @type {string}\n * @memberof GetOGResponse\n */\n og_scrape_url?: string;\n /**\n * \n * @type {number}\n * @memberof GetOGResponse\n */\n original_height?: number;\n /**\n * \n * @type {number}\n * @memberof GetOGResponse\n */\n original_width?: number;\n /**\n * \n * @type {string}\n * @memberof GetOGResponse\n */\n pretext?: string;\n /**\n * og:description\n * @type {string}\n * @memberof GetOGResponse\n */\n text?: string;\n /**\n * URL of detected thumb image\n * @type {string}\n * @memberof GetOGResponse\n */\n thumb_url?: string;\n /**\n * og:title\n * @type {string}\n * @memberof GetOGResponse\n */\n title?: string;\n /**\n * og:url\n * @type {string}\n * @memberof GetOGResponse\n */\n title_link?: string;\n /**\n * Attachment type, could be empty, image, audio or video\n * @type {string}\n * @memberof GetOGResponse\n */\n type?: string;\n}\n/**\n * \n * @export\n * @interface GetRateLimitsResponse\n */\nexport interface GetRateLimitsResponse {\n /**\n * Map of endpoint rate limits for the Android platform\n * @type {{ [key: string]: LimitInfo; }}\n * @memberof GetRateLimitsResponse\n */\n android?: { [key: string]: LimitInfo; };\n /**\n * \n * @type {string}\n * @memberof GetRateLimitsResponse\n */\n duration: string;\n /**\n * Map of endpoint rate limits for the iOS platform\n * @type {{ [key: string]: LimitInfo; }}\n * @memberof GetRateLimitsResponse\n */\n ios?: { [key: string]: LimitInfo; };\n /**\n * Map of endpoint rate limits for the server-side platform\n * @type {{ [key: string]: LimitInfo; }}\n * @memberof GetRateLimitsResponse\n */\n server_side?: { [key: string]: LimitInfo; };\n /**\n * Map of endpoint rate limits for the web platform\n * @type {{ [key: string]: LimitInfo; }}\n * @memberof GetRateLimitsResponse\n */\n web?: { [key: string]: LimitInfo; };\n}\n/**\n * \n * @export\n * @interface GetReactionsResponse\n */\nexport interface GetReactionsResponse {\n /**\n * \n * @type {string}\n * @memberof GetReactionsResponse\n */\n duration: string;\n /**\n * List of reactions\n * @type {Array<Reaction>}\n * @memberof GetReactionsResponse\n */\n reactions: Array<Reaction>;\n}\n/**\n * \n * @export\n * @interface GetRepliesResponse\n */\nexport interface GetRepliesResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof GetRepliesResponse\n */\n duration: string;\n /**\n * \n * @type {Array<MessageResponse>}\n * @memberof GetRepliesResponse\n */\n messages: Array<MessageResponse>;\n}\n/**\n * \n * @export\n * @interface GetTaskResponse\n */\nexport interface GetTaskResponse {\n /**\n * \n * @type {string}\n * @memberof GetTaskResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof GetTaskResponse\n */\n duration: string;\n /**\n * \n * @type {ErrorResult}\n * @memberof GetTaskResponse\n */\n error?: ErrorResult;\n /**\n * Result produced by task after completion\n * @type {{ [key: string]: any; }}\n * @memberof GetTaskResponse\n */\n result?: { [key: string]: any; };\n /**\n * Current status of task\n * @type {string}\n * @memberof GetTaskResponse\n */\n status: string;\n /**\n * ID of task\n * @type {string}\n * @memberof GetTaskResponse\n */\n task_id: string;\n /**\n * \n * @type {string}\n * @memberof GetTaskResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface GetThreadResponse\n */\nexport interface GetThreadResponse {\n /**\n * \n * @type {string}\n * @memberof GetThreadResponse\n */\n duration: string;\n /**\n * \n * @type {ThreadStateResponse}\n * @memberof GetThreadResponse\n */\n thread: ThreadStateResponse;\n}\n/**\n * \n * @export\n * @interface HLSSettings\n */\nexport interface HLSSettings {\n /**\n * \n * @type {boolean}\n * @memberof HLSSettings\n */\n auto_on: boolean;\n /**\n * \n * @type {boolean}\n * @memberof HLSSettings\n */\n enabled: boolean;\n /**\n * \n * @type {LayoutSettings}\n * @memberof HLSSettings\n */\n layout?: LayoutSettings;\n /**\n * \n * @type {Array<string>}\n * @memberof HLSSettings\n */\n quality_tracks: Array<string>;\n}\n/**\n * \n * @export\n * @interface HMSCall\n */\nexport interface HMSCall {\n /**\n * \n * @type {string}\n * @memberof HMSCall\n */\n room_id: string;\n /**\n * \n * @type {string}\n * @memberof HMSCall\n */\n room_name: string;\n}\n/**\n * \n * @export\n * @interface HideChannelRequest\n */\nexport interface HideChannelRequest {\n /**\n * Whether to clear message history of the channel or not\n * @type {boolean}\n * @memberof HideChannelRequest\n */\n clear_history?: boolean;\n /**\n * \n * @type {UserRequest}\n * @memberof HideChannelRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof HideChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface HideChannelResponse\n */\nexport interface HideChannelResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof HideChannelResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface HuaweiConfig\n */\nexport interface HuaweiConfig {\n /**\n * \n * @type {boolean}\n * @memberof HuaweiConfig\n */\n Disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof HuaweiConfig\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof HuaweiConfig\n */\n secret?: string;\n}\n/**\n * \n * @export\n * @interface HuaweiConfigFields\n */\nexport interface HuaweiConfigFields {\n /**\n * \n * @type {boolean}\n * @memberof HuaweiConfigFields\n */\n enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof HuaweiConfigFields\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof HuaweiConfigFields\n */\n secret?: string;\n}\n/**\n * \n * @export\n * @interface ImageData\n */\nexport interface ImageData {\n /**\n * \n * @type {string}\n * @memberof ImageData\n */\n frames: string;\n /**\n * \n * @type {string}\n * @memberof ImageData\n */\n height: string;\n /**\n * \n * @type {string}\n * @memberof ImageData\n */\n size: string;\n /**\n * \n * @type {string}\n * @memberof ImageData\n */\n url: string;\n /**\n * \n * @type {string}\n * @memberof ImageData\n */\n width: string;\n}\n/**\n * \n * @export\n * @interface ImageSize\n */\nexport interface ImageSize {\n /**\n * Crop mode\n * @type {string}\n * @memberof ImageSize\n */\n crop?: ImageSizeCropEnum;\n /**\n * Target image height\n * @type {number}\n * @memberof ImageSize\n */\n height?: number;\n /**\n * Resize method\n * @type {string}\n * @memberof ImageSize\n */\n resize?: ImageSizeResizeEnum;\n /**\n * Target image width\n * @type {number}\n * @memberof ImageSize\n */\n width?: number;\n}\n\n\n/**\n * @export\n */\nexport const ImageSizeCropEnum = {\n TOP: 'top',\n BOTTOM: 'bottom',\n LEFT: 'left',\n RIGHT: 'right',\n CENTER: 'center'\n} as const;\nexport type ImageSizeCropEnum = typeof ImageSizeCropEnum[keyof typeof ImageSizeCropEnum];\n\n/**\n * @export\n */\nexport const ImageSizeResizeEnum = {\n CLIP: 'clip',\n CROP: 'crop',\n SCALE: 'scale',\n FILL: 'fill'\n} as const;\nexport type ImageSizeResizeEnum = typeof ImageSizeResizeEnum[keyof typeof ImageSizeResizeEnum];\n\n/**\n * \n * @export\n * @interface ImageUploadRequest\n */\nexport interface ImageUploadRequest {\n /**\n * \n * @type {string}\n * @memberof ImageUploadRequest\n */\n file?: string;\n /**\n * field with JSON-encoded array of image size configurations\n * @type {Array<ImageSize>}\n * @memberof ImageUploadRequest\n */\n upload_sizes?: Array<ImageSize>;\n /**\n * \n * @type {OnlyUserID}\n * @memberof ImageUploadRequest\n */\n user?: OnlyUserID;\n}\n/**\n * \n * @export\n * @interface ImageUploadResponse\n */\nexport interface ImageUploadResponse {\n /**\n * \n * @type {string}\n * @memberof ImageUploadResponse\n */\n duration: string;\n /**\n * URL to the uploaded asset. Should be used to put to `asset_url` attachment field\n * @type {string}\n * @memberof ImageUploadResponse\n */\n file?: string;\n /**\n * URL of the file thumbnail for supported file formats. Should be put to `thumb_url` attachment field\n * @type {string}\n * @memberof ImageUploadResponse\n */\n thumb_url?: string;\n /**\n * \n * @type {Array<ImageSize>}\n * @memberof ImageUploadResponse\n */\n upload_sizes?: Array<ImageSize>;\n}\n/**\n * \n * @export\n * @interface Images\n */\nexport interface Images {\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_height: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_height_downsampled: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_height_still: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_width: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_width_downsampled: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n fixed_width_still: ImageData;\n /**\n * \n * @type {ImageData}\n * @memberof Images\n */\n original: ImageData;\n}\n/**\n * \n * @export\n * @interface ImportTask\n */\nexport interface ImportTask {\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n created_at: string;\n /**\n * \n * @type {Array<ImportTaskHistory>}\n * @memberof ImportTask\n */\n history: Array<ImportTaskHistory>;\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n mode: string;\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n path: string;\n /**\n * \n * @type {number}\n * @memberof ImportTask\n */\n size?: number;\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n state: string;\n /**\n * \n * @type {string}\n * @memberof ImportTask\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface ImportTaskHistory\n */\nexport interface ImportTaskHistory {\n /**\n * \n * @type {string}\n * @memberof ImportTaskHistory\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof ImportTaskHistory\n */\n next_state: string;\n /**\n * \n * @type {string}\n * @memberof ImportTaskHistory\n */\n prev_state: string;\n}\n/**\n * \n * @export\n * @interface Label\n */\nexport interface Label {\n /**\n * \n * @type {Array<string>}\n * @memberof Label\n */\n harm_labels?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof Label\n */\n name: string;\n /**\n * \n * @type {Array<number>}\n * @memberof Label\n */\n phrase_list_ids?: Array<number>;\n}\n/**\n * \n * @export\n * @interface LabelThresholds\n */\nexport interface LabelThresholds {\n /**\n * Threshold for automatic message block\n * @type {number}\n * @memberof LabelThresholds\n */\n block?: number;\n /**\n * Threshold for automatic message flag\n * @type {number}\n * @memberof LabelThresholds\n */\n flag?: number;\n}\n/**\n * \n * @export\n * @interface LayoutSettings\n */\nexport interface LayoutSettings {\n /**\n * \n * @type {string}\n * @memberof LayoutSettings\n */\n external_app_url: string;\n /**\n * \n * @type {string}\n * @memberof LayoutSettings\n */\n external_css_url: string;\n /**\n * \n * @type {string}\n * @memberof LayoutSettings\n */\n name: LayoutSettingsNameEnum;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof LayoutSettings\n */\n options?: { [key: string]: any; };\n}\n\n\n/**\n * @export\n */\nexport const LayoutSettingsNameEnum = {\n SPOTLIGHT: 'spotlight',\n GRID: 'grid',\n SINGLE_PARTICIPANT: 'single-participant',\n MOBILE: 'mobile',\n CUSTOM: 'custom'\n} as const;\nexport type LayoutSettingsNameEnum = typeof LayoutSettingsNameEnum[keyof typeof LayoutSettingsNameEnum];\n\n/**\n * \n * @export\n * @interface LimitInfo\n */\nexport interface LimitInfo {\n /**\n * The maximum number of calls allowed for the time window\n * @type {number}\n * @memberof LimitInfo\n */\n limit: number;\n /**\n * The number of remaining calls in the current window\n * @type {number}\n * @memberof LimitInfo\n */\n remaining: number;\n /**\n * The Unix timestamp of the next window\n * @type {number}\n * @memberof LimitInfo\n */\n reset: number;\n}\n/**\n * \n * @export\n * @interface LimitsSettings\n */\nexport interface LimitsSettings {\n /**\n * \n * @type {number}\n * @memberof LimitsSettings\n */\n max_duration_seconds?: number;\n /**\n * \n * @type {number}\n * @memberof LimitsSettings\n */\n max_participants?: number;\n}\n/**\n * \n * @export\n * @interface ListBlockListResponse\n */\nexport interface ListBlockListResponse {\n /**\n * \n * @type {Array<BlockList>}\n * @memberof ListBlockListResponse\n */\n blocklists: Array<BlockList>;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListBlockListResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface ListChannelTypesResponse\n */\nexport interface ListChannelTypesResponse {\n /**\n * Object with all channel types\n * @type {{ [key: string]: ChannelTypeConfig; }}\n * @memberof ListChannelTypesResponse\n */\n channel_types: { [key: string]: ChannelTypeConfig; };\n /**\n * \n * @type {string}\n * @memberof ListChannelTypesResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface ListCommandsResponse\n */\nexport interface ListCommandsResponse {\n /**\n * \n * @type {Array<Command>}\n * @memberof ListCommandsResponse\n */\n commands: Array<Command>;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListCommandsResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface ListDevicesResponse\n */\nexport interface ListDevicesResponse {\n /**\n * List of devices\n * @type {Array<Device>}\n * @memberof ListDevicesResponse\n */\n devices: Array<Device>;\n /**\n * \n * @type {string}\n * @memberof ListDevicesResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface ListExternalStorageResponse\n */\nexport interface ListExternalStorageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListExternalStorageResponse\n */\n duration: string;\n /**\n * \n * @type {{ [key: string]: ExternalStorageResponse; }}\n * @memberof ListExternalStorageResponse\n */\n external_storages: { [key: string]: ExternalStorageResponse; };\n}\n/**\n * \n * @export\n * @interface ListImportsResponse\n */\nexport interface ListImportsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListImportsResponse\n */\n duration: string;\n /**\n * \n * @type {Array<ImportTask>}\n * @memberof ListImportsResponse\n */\n import_tasks: Array<ImportTask>;\n}\n/**\n * \n * @export\n * @interface ListPermissionsResponse\n */\nexport interface ListPermissionsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListPermissionsResponse\n */\n duration: string;\n /**\n * \n * @type {Array<Permission>}\n * @memberof ListPermissionsResponse\n */\n permissions: Array<Permission>;\n}\n/**\n * \n * @export\n * @interface ListPushProvidersResponse\n */\nexport interface ListPushProvidersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListPushProvidersResponse\n */\n duration: string;\n /**\n * \n * @type {Array<PushProviderResponse>}\n * @memberof ListPushProvidersResponse\n */\n push_providers: Array<PushProviderResponse>;\n}\n/**\n * \n * @export\n * @interface ListRolesResponse\n */\nexport interface ListRolesResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ListRolesResponse\n */\n duration: string;\n /**\n * \n * @type {Array<Role>}\n * @memberof ListRolesResponse\n */\n roles: Array<Role>;\n}\n/**\n * \n * @export\n * @interface MarkChannelsReadRequest\n */\nexport interface MarkChannelsReadRequest {\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof MarkChannelsReadRequest\n */\n read_by_channel?: { [key: string]: string; };\n /**\n * \n * @type {UserRequest}\n * @memberof MarkChannelsReadRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof MarkChannelsReadRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MarkReadRequest\n */\nexport interface MarkReadRequest {\n /**\n * ID of the message that is considered last read by client\n * @type {string}\n * @memberof MarkReadRequest\n */\n message_id?: string;\n /**\n * Optional Thread ID to specifically mark a given thread as read\n * @type {string}\n * @memberof MarkReadRequest\n */\n thread_id?: string;\n /**\n * \n * @type {UserRequest}\n * @memberof MarkReadRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof MarkReadRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MarkReadResponse\n */\nexport interface MarkReadResponse {\n /**\n * \n * @type {string}\n * @memberof MarkReadResponse\n */\n duration: string;\n /**\n * \n * @type {MessageReadEvent}\n * @memberof MarkReadResponse\n */\n event?: MessageReadEvent;\n}\n/**\n * \n * @export\n * @interface MarkUnreadRequest\n */\nexport interface MarkUnreadRequest {\n /**\n * ID of the message from where the channel is marked unread\n * @type {string}\n * @memberof MarkUnreadRequest\n */\n message_id?: string;\n /**\n * Mark a thread unread, specify both the thread and message id\n * @type {string}\n * @memberof MarkUnreadRequest\n */\n thread_id?: string;\n /**\n * \n * @type {UserRequest}\n * @memberof MarkUnreadRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof MarkUnreadRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MembersResponse\n */\nexport interface MembersResponse {\n /**\n * \n * @type {string}\n * @memberof MembersResponse\n */\n duration: string;\n /**\n * List of found members\n * @type {Array<ChannelMember>}\n * @memberof MembersResponse\n */\n members: Array<ChannelMember>;\n}\n/**\n * Represents any chat message\n * @export\n * @interface Message\n */\nexport interface Message {\n /**\n * Array of message attachments\n * @type {Array<Attachment>}\n * @memberof Message\n */\n attachments: Array<Attachment>;\n /**\n * Whether `before_message_send webhook` failed or not. Field is only accessible in push webhook\n * @type {boolean}\n * @memberof Message\n */\n before_message_send_failed?: boolean;\n /**\n * Channel unique identifier in <type>:<id> format\n * @type {string}\n * @memberof Message\n */\n cid: string;\n /**\n * Contains provided slash command\n * @type {string}\n * @memberof Message\n */\n command?: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Message\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof Message\n */\n custom: { [key: string]: any; };\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof Message\n */\n deleted_at?: string;\n /**\n * \n * @type {number}\n * @memberof Message\n */\n deleted_reply_count: number;\n /**\n * Contains HTML markup of the message. Can only be set when using server-side API\n * @type {string}\n * @memberof Message\n */\n html: string;\n /**\n * Object with translations. Key `language` contains the original language key. Other keys contain translations\n * @type {{ [key: string]: string; }}\n * @memberof Message\n */\n i18n?: { [key: string]: string; };\n /**\n * Message ID is unique string identifier of the message\n * @type {string}\n * @memberof Message\n */\n id: string;\n /**\n * Contains image moderation information\n * @type {{ [key: string]: Array<string>; }}\n * @memberof Message\n */\n image_labels?: { [key: string]: Array<string>; };\n /**\n * List of 10 latest reactions to this message\n * @type {Array<Reaction>}\n * @memberof Message\n */\n latest_reactions: Array<Reaction>;\n /**\n * List of mentioned users\n * @type {Array<UserObject>}\n * @memberof Message\n */\n mentioned_users: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof Message\n */\n message_text_updated_at?: string;\n /**\n * Should be empty if `text` is provided. Can only be set when using server-side API\n * @type {string}\n * @memberof Message\n */\n mml?: string;\n /**\n * List of 10 latest reactions of authenticated user to this message\n * @type {Array<Reaction>}\n * @memberof Message\n */\n own_reactions: Array<Reaction>;\n /**\n * ID of parent message (thread)\n * @type {string}\n * @memberof Message\n */\n parent_id?: string;\n /**\n * Date when pinned message expires\n * @type {string}\n * @memberof Message\n */\n pin_expires?: string;\n /**\n * Whether message is pinned or not\n * @type {boolean}\n * @memberof Message\n */\n pinned: boolean;\n /**\n * Date when message got pinned\n * @type {string}\n * @memberof Message\n */\n pinned_at?: string;\n /**\n * \n * @type {UserObject}\n * @memberof Message\n */\n pinned_by?: UserObject;\n /**\n * \n * @type {Poll}\n * @memberof Message\n */\n poll?: Poll;\n /**\n * Identifier of the poll to include in the message\n * @type {string}\n * @memberof Message\n */\n poll_id?: string;\n /**\n * \n * @type {Message}\n * @memberof Message\n */\n quoted_message?: Message;\n /**\n * \n * @type {string}\n * @memberof Message\n */\n quoted_message_id?: string;\n /**\n * An object containing number of reactions of each type. Key: reaction type (string), value: number of reactions (int)\n * @type {{ [key: string]: number; }}\n * @memberof Message\n */\n reaction_counts: { [key: string]: number; };\n /**\n * \n * @type {{ [key: string]: ReactionGroupResponse; }}\n * @memberof Message\n */\n reaction_groups: { [key: string]: ReactionGroupResponse; };\n /**\n * An object containing scores of reactions of each type. Key: reaction type (string), value: total score of reactions (int)\n * @type {{ [key: string]: number; }}\n * @memberof Message\n */\n reaction_scores: { [key: string]: number; };\n /**\n * Number of replies to this message\n * @type {number}\n * @memberof Message\n */\n reply_count: number;\n /**\n * Whether the message was shadowed or not\n * @type {boolean}\n * @memberof Message\n */\n shadowed: boolean;\n /**\n * Whether thread reply should be shown in the channel as well\n * @type {boolean}\n * @memberof Message\n */\n show_in_channel?: boolean;\n /**\n * Whether message is silent or not\n * @type {boolean}\n * @memberof Message\n */\n silent: boolean;\n /**\n * Text of the message. Should be empty if `mml` is provided\n * @type {string}\n * @memberof Message\n */\n text: string;\n /**\n * List of users who participate in thread\n * @type {Array<UserObject>}\n * @memberof Message\n */\n thread_participants?: Array<UserObject>;\n /**\n * Contains type of the message\n * @type {string}\n * @memberof Message\n */\n type: MessageTypeEnum;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof Message\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof Message\n */\n user?: UserObject;\n}\n\n\n/**\n * @export\n */\nexport const MessageTypeEnum = {\n REGULAR: 'regular',\n EPHEMERAL: 'ephemeral',\n ERROR: 'error',\n REPLY: 'reply',\n SYSTEM: 'system',\n DELETED: 'deleted'\n} as const;\nexport type MessageTypeEnum = typeof MessageTypeEnum[keyof typeof MessageTypeEnum];\n\n/**\n * \n * @export\n * @interface MessageActionRequest\n */\nexport interface MessageActionRequest {\n /**\n * ReadOnlyData to execute command with\n * @type {{ [key: string]: string; }}\n * @memberof MessageActionRequest\n */\n form_data: { [key: string]: string; };\n /**\n * \n * @type {UserRequest}\n * @memberof MessageActionRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof MessageActionRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MessageChangeSet\n */\nexport interface MessageChangeSet {\n /**\n * \n * @type {boolean}\n * @memberof MessageChangeSet\n */\n attachments: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageChangeSet\n */\n custom: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageChangeSet\n */\n html: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageChangeSet\n */\n mentioned_user_ids: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageChangeSet\n */\n mml: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageChangeSet\n */\n pin: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageChangeSet\n */\n quoted_message_id: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageChangeSet\n */\n silent: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageChangeSet\n */\n text: boolean;\n}\n/**\n * \n * @export\n * @interface MessageFlag\n */\nexport interface MessageFlag {\n /**\n * \n * @type {string}\n * @memberof MessageFlag\n */\n approved_at?: string;\n /**\n * \n * @type {string}\n * @memberof MessageFlag\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof MessageFlag\n */\n created_by_automod: boolean;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof MessageFlag\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {FlagDetails}\n * @memberof MessageFlag\n */\n details?: FlagDetails;\n /**\n * \n * @type {Message}\n * @memberof MessageFlag\n */\n message?: Message;\n /**\n * \n * @type {FlagFeedback}\n * @memberof MessageFlag\n */\n moderation_feedback?: FlagFeedback;\n /**\n * \n * @type {MessageModerationResult}\n * @memberof MessageFlag\n */\n moderation_result?: MessageModerationResult;\n /**\n * \n * @type {string}\n * @memberof MessageFlag\n */\n reason?: string;\n /**\n * \n * @type {string}\n * @memberof MessageFlag\n */\n rejected_at?: string;\n /**\n * \n * @type {string}\n * @memberof MessageFlag\n */\n reviewed_at?: string;\n /**\n * \n * @type {UserObject}\n * @memberof MessageFlag\n */\n reviewed_by?: UserObject;\n /**\n * \n * @type {string}\n * @memberof MessageFlag\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof MessageFlag\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface MessageHistoryEntry\n */\nexport interface MessageHistoryEntry {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof MessageHistoryEntry\n */\n Custom: { [key: string]: any; };\n /**\n * \n * @type {Array<Attachment>}\n * @memberof MessageHistoryEntry\n */\n attachments: Array<Attachment>;\n /**\n * \n * @type {string}\n * @memberof MessageHistoryEntry\n */\n message_id: string;\n /**\n * \n * @type {string}\n * @memberof MessageHistoryEntry\n */\n message_updated_at: string;\n /**\n * \n * @type {string}\n * @memberof MessageHistoryEntry\n */\n message_updated_by_id: string;\n /**\n * \n * @type {string}\n * @memberof MessageHistoryEntry\n */\n text: string;\n}\n/**\n * \n * @export\n * @interface MessageModerationResult\n */\nexport interface MessageModerationResult {\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n action: string;\n /**\n * \n * @type {ModerationResponse}\n * @memberof MessageModerationResult\n */\n ai_moderation_response?: ModerationResponse;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n blocked_word?: string;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n blocklist_name?: string;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n message_id: string;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n moderated_by?: string;\n /**\n * \n * @type {Thresholds}\n * @memberof MessageModerationResult\n */\n moderation_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof MessageModerationResult\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof MessageModerationResult\n */\n user_bad_karma: boolean;\n /**\n * \n * @type {number}\n * @memberof MessageModerationResult\n */\n user_karma: number;\n}\n/**\n * \n * @export\n * @interface MessageReadEvent\n */\nexport interface MessageReadEvent {\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n channel_type: string;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n last_read_message_id?: string;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n team?: string;\n /**\n * \n * @type {Thread}\n * @memberof MessageReadEvent\n */\n thread?: Thread;\n /**\n * \n * @type {string}\n * @memberof MessageReadEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof MessageReadEvent\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface MessageRequest\n */\nexport interface MessageRequest {\n /**\n * \n * @type {Array<Attachment>}\n * @memberof MessageRequest\n */\n attachments?: Array<Attachment>;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof MessageRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n html?: string;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n id?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof MessageRequest\n */\n mentioned_users?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n mml?: string;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n parent_id?: string;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n pin_expires?: string;\n /**\n * \n * @type {boolean}\n * @memberof MessageRequest\n */\n pinned?: boolean;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n pinned_at?: string | null;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n poll_id?: string;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n quoted_message_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof MessageRequest\n */\n show_in_channel?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageRequest\n */\n silent?: boolean;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n text?: string;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n type?: MessageRequestTypeEnum;\n /**\n * \n * @type {UserRequest}\n * @memberof MessageRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof MessageRequest\n */\n user_id?: string;\n}\n\n\n/**\n * @export\n */\nexport const MessageRequestTypeEnum = {\n REGULAR: '\\'\\'regular',\n SYSTEM: 'system'\n} as const;\nexport type MessageRequestTypeEnum = typeof MessageRequestTypeEnum[keyof typeof MessageRequestTypeEnum];\n\n/**\n * \n * @export\n * @interface MessageResponse\n */\nexport interface MessageResponse {\n /**\n * \n * @type {Array<Attachment>}\n * @memberof MessageResponse\n */\n attachments: Array<Attachment>;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n command?: string;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof MessageResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {number}\n * @memberof MessageResponse\n */\n deleted_reply_count: number;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n html: string;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof MessageResponse\n */\n i18n?: { [key: string]: string; };\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n id: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof MessageResponse\n */\n image_labels?: { [key: string]: Array<string>; };\n /**\n * \n * @type {Array<ReactionResponse>}\n * @memberof MessageResponse\n */\n latest_reactions: Array<ReactionResponse>;\n /**\n * \n * @type {Array<UserResponse>}\n * @memberof MessageResponse\n */\n mentioned_users: Array<UserResponse>;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n message_text_updated_at?: string;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n mml?: string;\n /**\n * \n * @type {Array<ReactionResponse>}\n * @memberof MessageResponse\n */\n own_reactions: Array<ReactionResponse>;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n parent_id?: string;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n pin_expires?: string;\n /**\n * \n * @type {boolean}\n * @memberof MessageResponse\n */\n pinned: boolean;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n pinned_at?: string;\n /**\n * \n * @type {UserResponse}\n * @memberof MessageResponse\n */\n pinned_by?: UserResponse;\n /**\n * \n * @type {Poll}\n * @memberof MessageResponse\n */\n poll?: Poll;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n poll_id?: string;\n /**\n * \n * @type {Message}\n * @memberof MessageResponse\n */\n quoted_message?: Message;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n quoted_message_id?: string;\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof MessageResponse\n */\n reaction_counts: { [key: string]: number; };\n /**\n * \n * @type {{ [key: string]: ReactionGroupResponse; }}\n * @memberof MessageResponse\n */\n reaction_groups?: { [key: string]: ReactionGroupResponse; };\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof MessageResponse\n */\n reaction_scores: { [key: string]: number; };\n /**\n * \n * @type {number}\n * @memberof MessageResponse\n */\n reply_count: number;\n /**\n * \n * @type {boolean}\n * @memberof MessageResponse\n */\n shadowed: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageResponse\n */\n show_in_channel?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageResponse\n */\n silent: boolean;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n text: string;\n /**\n * \n * @type {Array<UserResponse>}\n * @memberof MessageResponse\n */\n thread_participants?: Array<UserResponse>;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof MessageResponse\n */\n updated_at: string;\n /**\n * \n * @type {UserResponse}\n * @memberof MessageResponse\n */\n user: UserResponse;\n}\n/**\n * \n * @export\n * @interface MessageUpdate\n */\nexport interface MessageUpdate {\n /**\n * \n * @type {MessageChangeSet}\n * @memberof MessageUpdate\n */\n change_set?: MessageChangeSet;\n /**\n * \n * @type {string}\n * @memberof MessageUpdate\n */\n old_text?: string;\n}\n/**\n * \n * @export\n * @interface MessageWithChannelResponse\n */\nexport interface MessageWithChannelResponse {\n /**\n * \n * @type {Array<Attachment>}\n * @memberof MessageWithChannelResponse\n */\n attachments: Array<Attachment>;\n /**\n * \n * @type {ChannelResponse}\n * @memberof MessageWithChannelResponse\n */\n channel: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n command?: string;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof MessageWithChannelResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {number}\n * @memberof MessageWithChannelResponse\n */\n deleted_reply_count: number;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n html: string;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof MessageWithChannelResponse\n */\n i18n?: { [key: string]: string; };\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n id: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof MessageWithChannelResponse\n */\n image_labels?: { [key: string]: Array<string>; };\n /**\n * \n * @type {Array<ReactionResponse>}\n * @memberof MessageWithChannelResponse\n */\n latest_reactions: Array<ReactionResponse>;\n /**\n * \n * @type {Array<UserResponse>}\n * @memberof MessageWithChannelResponse\n */\n mentioned_users: Array<UserResponse>;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n message_text_updated_at?: string;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n mml?: string;\n /**\n * \n * @type {Array<ReactionResponse>}\n * @memberof MessageWithChannelResponse\n */\n own_reactions: Array<ReactionResponse>;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n parent_id?: string;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n pin_expires?: string;\n /**\n * \n * @type {boolean}\n * @memberof MessageWithChannelResponse\n */\n pinned: boolean;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n pinned_at?: string;\n /**\n * \n * @type {UserResponse}\n * @memberof MessageWithChannelResponse\n */\n pinned_by?: UserResponse;\n /**\n * \n * @type {Poll}\n * @memberof MessageWithChannelResponse\n */\n poll?: Poll;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n poll_id?: string;\n /**\n * \n * @type {Message}\n * @memberof MessageWithChannelResponse\n */\n quoted_message?: Message;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n quoted_message_id?: string;\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof MessageWithChannelResponse\n */\n reaction_counts: { [key: string]: number; };\n /**\n * \n * @type {{ [key: string]: ReactionGroupResponse; }}\n * @memberof MessageWithChannelResponse\n */\n reaction_groups?: { [key: string]: ReactionGroupResponse; };\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof MessageWithChannelResponse\n */\n reaction_scores: { [key: string]: number; };\n /**\n * \n * @type {number}\n * @memberof MessageWithChannelResponse\n */\n reply_count: number;\n /**\n * \n * @type {boolean}\n * @memberof MessageWithChannelResponse\n */\n shadowed: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageWithChannelResponse\n */\n show_in_channel?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof MessageWithChannelResponse\n */\n silent: boolean;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n text: string;\n /**\n * \n * @type {Array<UserResponse>}\n * @memberof MessageWithChannelResponse\n */\n thread_participants?: Array<UserResponse>;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof MessageWithChannelResponse\n */\n updated_at: string;\n /**\n * \n * @type {UserResponse}\n * @memberof MessageWithChannelResponse\n */\n user: UserResponse;\n}\n/**\n * \n * @export\n * @interface ModerationResponse\n */\nexport interface ModerationResponse {\n /**\n * \n * @type {string}\n * @memberof ModerationResponse\n */\n action: string;\n /**\n * \n * @type {number}\n * @memberof ModerationResponse\n */\n explicit: number;\n /**\n * \n * @type {number}\n * @memberof ModerationResponse\n */\n spam: number;\n /**\n * \n * @type {number}\n * @memberof ModerationResponse\n */\n toxic: number;\n}\n/**\n * \n * @export\n * @interface MuteChannelRequest\n */\nexport interface MuteChannelRequest {\n /**\n * Channel CIDs to mute (if multiple channels)\n * @type {Array<string>}\n * @memberof MuteChannelRequest\n */\n channel_cids?: Array<string>;\n /**\n * Duration of mute in milliseconds\n * @type {number}\n * @memberof MuteChannelRequest\n */\n expiration?: number;\n /**\n * \n * @type {UserRequest}\n * @memberof MuteChannelRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof MuteChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MuteChannelResponse\n */\nexport interface MuteChannelResponse {\n /**\n * \n * @type {ChannelMute}\n * @memberof MuteChannelResponse\n */\n channel_mute?: ChannelMute | null;\n /**\n * Object with mutes (if multiple channels were muted)\n * @type {Array<ChannelMute>}\n * @memberof MuteChannelResponse\n */\n channel_mutes?: Array<ChannelMute>;\n /**\n * \n * @type {string}\n * @memberof MuteChannelResponse\n */\n duration: string;\n /**\n * \n * @type {OwnUser}\n * @memberof MuteChannelResponse\n */\n own_user?: OwnUser;\n}\n/**\n * \n * @export\n * @interface MuteUserRequest\n */\nexport interface MuteUserRequest {\n /**\n * User IDs to mute (if multiple users)\n * @type {Array<string>}\n * @memberof MuteUserRequest\n */\n target_ids?: Array<string>;\n /**\n * Duration of mute in minutes\n * @type {number}\n * @memberof MuteUserRequest\n */\n timeout: number;\n /**\n * \n * @type {UserRequest}\n * @memberof MuteUserRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof MuteUserRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface MuteUserResponse\n */\nexport interface MuteUserResponse {\n /**\n * \n * @type {string}\n * @memberof MuteUserResponse\n */\n duration: string;\n /**\n * \n * @type {UserMute}\n * @memberof MuteUserResponse\n */\n mute?: UserMute | null;\n /**\n * Object with mutes (if multiple users were muted)\n * @type {Array<UserMute>}\n * @memberof MuteUserResponse\n */\n mutes?: Array<UserMute>;\n /**\n * \n * @type {Array<string>}\n * @memberof MuteUserResponse\n */\n non_existing_users?: Array<string>;\n /**\n * \n * @type {OwnUser}\n * @memberof MuteUserResponse\n */\n own_user?: OwnUser;\n}\n/**\n * \n * @export\n * @interface NoiseCancellationSettings\n */\nexport interface NoiseCancellationSettings {\n /**\n * \n * @type {string}\n * @memberof NoiseCancellationSettings\n */\n mode: NoiseCancellationSettingsModeEnum;\n}\n\n\n/**\n * @export\n */\nexport const NoiseCancellationSettingsModeEnum = {\n AVAILABLE: 'available',\n DISABLED: 'disabled',\n AUTO_ON: 'auto-on'\n} as const;\nexport type NoiseCancellationSettingsModeEnum = typeof NoiseCancellationSettingsModeEnum[keyof typeof NoiseCancellationSettingsModeEnum];\n\n/**\n * \n * @export\n * @interface NotificationSettings\n */\nexport interface NotificationSettings {\n /**\n * \n * @type {EventNotificationSettings}\n * @memberof NotificationSettings\n */\n call_live_started: EventNotificationSettings;\n /**\n * \n * @type {EventNotificationSettings}\n * @memberof NotificationSettings\n */\n call_missed: EventNotificationSettings;\n /**\n * \n * @type {EventNotificationSettings}\n * @memberof NotificationSettings\n */\n call_notification: EventNotificationSettings;\n /**\n * \n * @type {EventNotificationSettings}\n * @memberof NotificationSettings\n */\n call_ring: EventNotificationSettings;\n /**\n * \n * @type {boolean}\n * @memberof NotificationSettings\n */\n enabled: boolean;\n /**\n * \n * @type {EventNotificationSettings}\n * @memberof NotificationSettings\n */\n session_started: EventNotificationSettings;\n}\n/**\n * \n * @export\n * @interface NullBool\n */\nexport interface NullBool {\n /**\n * \n * @type {boolean}\n * @memberof NullBool\n */\n HasValue?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof NullBool\n */\n Value?: boolean;\n}\n/**\n * \n * @export\n * @interface NullTime\n */\nexport interface NullTime {\n /**\n * \n * @type {boolean}\n * @memberof NullTime\n */\n HasValue?: boolean;\n /**\n * \n * @type {string}\n * @memberof NullTime\n */\n Value?: string;\n}\n/**\n * \n * @export\n * @interface OnlyUserID\n */\nexport interface OnlyUserID {\n /**\n * \n * @type {string}\n * @memberof OnlyUserID\n */\n id: string;\n}\n/**\n * \n * @export\n * @interface OwnUser\n */\nexport interface OwnUser {\n /**\n * \n * @type {boolean}\n * @memberof OwnUser\n */\n banned: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof OwnUser\n */\n blocked_user_ids?: Array<string>;\n /**\n * \n * @type {Array<ChannelMute>}\n * @memberof OwnUser\n */\n channel_mutes: Array<ChannelMute>;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof OwnUser\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n deactivated_at?: string;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n deleted_at?: string;\n /**\n * \n * @type {Array<Device>}\n * @memberof OwnUser\n */\n devices: Array<Device>;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n id: string;\n /**\n * \n * @type {boolean}\n * @memberof OwnUser\n */\n invisible?: boolean;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n language: string;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n last_active?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof OwnUser\n */\n latest_hidden_channels?: Array<string>;\n /**\n * \n * @type {Array<UserMute>}\n * @memberof OwnUser\n */\n mutes: Array<UserMute>;\n /**\n * \n * @type {boolean}\n * @memberof OwnUser\n */\n online: boolean;\n /**\n * \n * @type {PrivacySettings}\n * @memberof OwnUser\n */\n privacy_settings?: PrivacySettings;\n /**\n * \n * @type {PushNotificationSettings}\n * @memberof OwnUser\n */\n push_notifications?: PushNotificationSettings;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n role: string;\n /**\n * \n * @type {Array<string>}\n * @memberof OwnUser\n */\n teams?: Array<string>;\n /**\n * \n * @type {number}\n * @memberof OwnUser\n */\n total_unread_count: number;\n /**\n * \n * @type {number}\n * @memberof OwnUser\n */\n unread_channels: number;\n /**\n * \n * @type {number}\n * @memberof OwnUser\n */\n unread_count: number;\n /**\n * \n * @type {number}\n * @memberof OwnUser\n */\n unread_threads: number;\n /**\n * \n * @type {string}\n * @memberof OwnUser\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface PaginationParams\n */\nexport interface PaginationParams {\n /**\n * \n * @type {number}\n * @memberof PaginationParams\n */\n limit?: number;\n /**\n * \n * @type {number}\n * @memberof PaginationParams\n */\n offset?: number;\n}\n/**\n * \n * @export\n * @interface PendingMessage\n */\nexport interface PendingMessage {\n /**\n * \n * @type {Channel}\n * @memberof PendingMessage\n */\n channel?: Channel;\n /**\n * \n * @type {Message}\n * @memberof PendingMessage\n */\n message?: Message;\n /**\n * Additional data attached to the pending message. This data is discarded once the pending message is committed.\n * @type {{ [key: string]: string; }}\n * @memberof PendingMessage\n */\n metadata?: { [key: string]: string; };\n /**\n * \n * @type {UserObject}\n * @memberof PendingMessage\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface Permission\n */\nexport interface Permission {\n /**\n * Action name this permission is for (e.g. SendMessage)\n * @type {string}\n * @memberof Permission\n */\n action: string;\n /**\n * MongoDB style condition which decides whether or not the permission is granted\n * @type {{ [key: string]: any; }}\n * @memberof Permission\n */\n condition?: { [key: string]: any; };\n /**\n * Whether this is a custom permission or built-in\n * @type {boolean}\n * @memberof Permission\n */\n custom: boolean;\n /**\n * Description of the permission\n * @type {string}\n * @memberof Permission\n */\n description: string;\n /**\n * Unique permission ID\n * @type {string}\n * @memberof Permission\n */\n id: string;\n /**\n * Level at which permission could be applied (app or channel)\n * @type {string}\n * @memberof Permission\n */\n level: PermissionLevelEnum;\n /**\n * Name of the permission\n * @type {string}\n * @memberof Permission\n */\n name: string;\n /**\n * Whether this permission applies to resource owner or not\n * @type {boolean}\n * @memberof Permission\n */\n owner: boolean;\n /**\n * Whether this permission applies to teammates (multi-tenancy mode only)\n * @type {boolean}\n * @memberof Permission\n */\n same_team: boolean;\n /**\n * List of tags of the permission\n * @type {Array<string>}\n * @memberof Permission\n */\n tags: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const PermissionLevelEnum = {\n APP: 'app',\n CHANNEL: 'channel'\n} as const;\nexport type PermissionLevelEnum = typeof PermissionLevelEnum[keyof typeof PermissionLevelEnum];\n\n/**\n * \n * @export\n * @interface Policy\n */\nexport interface Policy {\n /**\n * \n * @type {number}\n * @memberof Policy\n */\n action: number;\n /**\n * \n * @type {string}\n * @memberof Policy\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof Policy\n */\n name: string;\n /**\n * \n * @type {boolean}\n * @memberof Policy\n */\n owner: boolean;\n /**\n * \n * @type {number}\n * @memberof Policy\n */\n priority: number;\n /**\n * \n * @type {Array<string>}\n * @memberof Policy\n */\n resources: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof Policy\n */\n roles: Array<string>;\n /**\n * \n * @type {string}\n * @memberof Policy\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface PolicyRequest\n */\nexport interface PolicyRequest {\n /**\n * \n * @type {string}\n * @memberof PolicyRequest\n */\n action: PolicyRequestActionEnum;\n /**\n * User-friendly policy name\n * @type {string}\n * @memberof PolicyRequest\n */\n name: string;\n /**\n * Whether policy applies to resource owner or not\n * @type {boolean}\n * @memberof PolicyRequest\n */\n owner: boolean;\n /**\n * Policy priority\n * @type {number}\n * @memberof PolicyRequest\n */\n priority: number;\n /**\n * List of resources to apply policy to\n * @type {Array<string>}\n * @memberof PolicyRequest\n */\n resources: Array<string>;\n /**\n * List of roles to apply policy to\n * @type {Array<string>}\n * @memberof PolicyRequest\n */\n roles: Array<string>;\n}\n\n\n/**\n * @export\n */\nexport const PolicyRequestActionEnum = {\n DENY: 'Deny',\n ALLOW: 'Allow'\n} as const;\nexport type PolicyRequestActionEnum = typeof PolicyRequestActionEnum[keyof typeof PolicyRequestActionEnum];\n\n/**\n * \n * @export\n * @interface Poll\n */\nexport interface Poll {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof Poll\n */\n Custom: { [key: string]: any; };\n /**\n * \n * @type {boolean}\n * @memberof Poll\n */\n allow_answers: boolean;\n /**\n * \n * @type {boolean}\n * @memberof Poll\n */\n allow_user_suggested_options: boolean;\n /**\n * \n * @type {number}\n * @memberof Poll\n */\n answers_count: number;\n /**\n * \n * @type {string}\n * @memberof Poll\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof Poll\n */\n created_by?: UserObject;\n /**\n * \n * @type {string}\n * @memberof Poll\n */\n created_by_id: string;\n /**\n * \n * @type {string}\n * @memberof Poll\n */\n description: string;\n /**\n * \n * @type {boolean}\n * @memberof Poll\n */\n enforce_unique_vote: boolean;\n /**\n * \n * @type {string}\n * @memberof Poll\n */\n id: string;\n /**\n * \n * @type {boolean}\n * @memberof Poll\n */\n is_closed?: boolean;\n /**\n * \n * @type {Array<PollVote>}\n * @memberof Poll\n */\n latest_answers: Array<PollVote>;\n /**\n * \n * @type {{ [key: string]: Array<PollVote>; }}\n * @memberof Poll\n */\n latest_votes_by_option: { [key: string]: Array<PollVote>; };\n /**\n * \n * @type {number}\n * @memberof Poll\n */\n max_votes_allowed?: number;\n /**\n * \n * @type {string}\n * @memberof Poll\n */\n name: string;\n /**\n * \n * @type {Array<PollOption>}\n * @memberof Poll\n */\n options: Array<PollOption>;\n /**\n * \n * @type {Array<PollVote>}\n * @memberof Poll\n */\n own_votes: Array<PollVote>;\n /**\n * \n * @type {string}\n * @memberof Poll\n */\n updated_at: string;\n /**\n * \n * @type {number}\n * @memberof Poll\n */\n vote_count: number;\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof Poll\n */\n vote_counts_by_option: { [key: string]: number; };\n /**\n * \n * @type {string}\n * @memberof Poll\n */\n voting_visibility?: string;\n}\n/**\n * \n * @export\n * @interface PollOption\n */\nexport interface PollOption {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof PollOption\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof PollOption\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof PollOption\n */\n text: string;\n}\n/**\n * \n * @export\n * @interface PollOptionInput\n */\nexport interface PollOptionInput {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof PollOptionInput\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof PollOptionInput\n */\n text?: string;\n}\n/**\n * \n * @export\n * @interface PollOptionResponse\n */\nexport interface PollOptionResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof PollOptionResponse\n */\n duration: string;\n /**\n * \n * @type {PollOptionResponseData}\n * @memberof PollOptionResponse\n */\n poll_option: PollOptionResponseData | null;\n}\n/**\n * \n * @export\n * @interface PollOptionResponseData\n */\nexport interface PollOptionResponseData {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof PollOptionResponseData\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof PollOptionResponseData\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof PollOptionResponseData\n */\n text: string;\n}\n/**\n * \n * @export\n * @interface PollResponse\n */\nexport interface PollResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof PollResponse\n */\n duration: string;\n /**\n * \n * @type {PollResponseData}\n * @memberof PollResponse\n */\n poll: PollResponseData;\n}\n/**\n * \n * @export\n * @interface PollResponseData\n */\nexport interface PollResponseData {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof PollResponseData\n */\n Custom: { [key: string]: any; };\n /**\n * \n * @type {boolean}\n * @memberof PollResponseData\n */\n allow_answers: boolean;\n /**\n * \n * @type {boolean}\n * @memberof PollResponseData\n */\n allow_user_suggested_options: boolean;\n /**\n * \n * @type {number}\n * @memberof PollResponseData\n */\n answers_count: number;\n /**\n * \n * @type {string}\n * @memberof PollResponseData\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof PollResponseData\n */\n created_by?: UserObject;\n /**\n * \n * @type {string}\n * @memberof PollResponseData\n */\n created_by_id: string;\n /**\n * \n * @type {string}\n * @memberof PollResponseData\n */\n description: string;\n /**\n * \n * @type {boolean}\n * @memberof PollResponseData\n */\n enforce_unique_vote: boolean;\n /**\n * \n * @type {string}\n * @memberof PollResponseData\n */\n id: string;\n /**\n * \n * @type {boolean}\n * @memberof PollResponseData\n */\n is_closed?: boolean;\n /**\n * \n * @type {{ [key: string]: Array<PollVoteResponseData>; }}\n * @memberof PollResponseData\n */\n latest_votes_by_option: { [key: string]: Array<PollVoteResponseData>; };\n /**\n * \n * @type {number}\n * @memberof PollResponseData\n */\n max_votes_allowed?: number;\n /**\n * \n * @type {string}\n * @memberof PollResponseData\n */\n name: string;\n /**\n * \n * @type {Array<PollOptionResponseData>}\n * @memberof PollResponseData\n */\n options: Array<PollOptionResponseData>;\n /**\n * \n * @type {Array<PollVoteResponseData>}\n * @memberof PollResponseData\n */\n own_votes: Array<PollVoteResponseData>;\n /**\n * \n * @type {string}\n * @memberof PollResponseData\n */\n updated_at: string;\n /**\n * \n * @type {number}\n * @memberof PollResponseData\n */\n vote_count: number;\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof PollResponseData\n */\n vote_counts_by_option: { [key: string]: number; };\n /**\n * \n * @type {string}\n * @memberof PollResponseData\n */\n voting_visibility: string;\n}\n/**\n * \n * @export\n * @interface PollVote\n */\nexport interface PollVote {\n /**\n * \n * @type {string}\n * @memberof PollVote\n */\n answer_text?: string;\n /**\n * \n * @type {string}\n * @memberof PollVote\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof PollVote\n */\n id: string;\n /**\n * \n * @type {boolean}\n * @memberof PollVote\n */\n is_answer?: boolean;\n /**\n * \n * @type {string}\n * @memberof PollVote\n */\n option_id: string;\n /**\n * \n * @type {string}\n * @memberof PollVote\n */\n poll_id: string;\n /**\n * \n * @type {string}\n * @memberof PollVote\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof PollVote\n */\n user?: UserObject;\n /**\n * \n * @type {string}\n * @memberof PollVote\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface PollVoteResponse\n */\nexport interface PollVoteResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof PollVoteResponse\n */\n duration: string;\n /**\n * \n * @type {PollVoteResponseData}\n * @memberof PollVoteResponse\n */\n vote?: PollVoteResponseData | null;\n}\n/**\n * \n * @export\n * @interface PollVoteResponseData\n */\nexport interface PollVoteResponseData {\n /**\n * \n * @type {string}\n * @memberof PollVoteResponseData\n */\n answer_text?: string;\n /**\n * \n * @type {string}\n * @memberof PollVoteResponseData\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof PollVoteResponseData\n */\n id: string;\n /**\n * \n * @type {boolean}\n * @memberof PollVoteResponseData\n */\n is_answer?: boolean;\n /**\n * \n * @type {string}\n * @memberof PollVoteResponseData\n */\n option_id: string;\n /**\n * \n * @type {string}\n * @memberof PollVoteResponseData\n */\n poll_id: string;\n /**\n * \n * @type {string}\n * @memberof PollVoteResponseData\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof PollVoteResponseData\n */\n user?: UserObject;\n /**\n * \n * @type {string}\n * @memberof PollVoteResponseData\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface PollVotesResponse\n */\nexport interface PollVotesResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof PollVotesResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof PollVotesResponse\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof PollVotesResponse\n */\n prev?: string;\n /**\n * \n * @type {Array<PollVoteResponseData>}\n * @memberof PollVotesResponse\n */\n votes: Array<PollVoteResponseData>;\n}\n/**\n * \n * @export\n * @interface PrivacySettings\n */\nexport interface PrivacySettings {\n /**\n * \n * @type {ReadReceipts}\n * @memberof PrivacySettings\n */\n read_receipts?: ReadReceipts;\n /**\n * \n * @type {TypingIndicators}\n * @memberof PrivacySettings\n */\n typing_indicators?: TypingIndicators;\n}\n/**\n * \n * @export\n * @interface PushConfig\n */\nexport interface PushConfig {\n /**\n * \n * @type {boolean}\n * @memberof PushConfig\n */\n offline_only?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushConfig\n */\n version: PushConfigVersionEnum;\n}\n\n\n/**\n * @export\n */\nexport const PushConfigVersionEnum = {\n V1: 'v1',\n V2: 'v2'\n} as const;\nexport type PushConfigVersionEnum = typeof PushConfigVersionEnum[keyof typeof PushConfigVersionEnum];\n\n/**\n * \n * @export\n * @interface PushNotificationFields\n */\nexport interface PushNotificationFields {\n /**\n * \n * @type {APNConfigFields}\n * @memberof PushNotificationFields\n */\n apn: APNConfigFields;\n /**\n * \n * @type {FirebaseConfigFields}\n * @memberof PushNotificationFields\n */\n firebase: FirebaseConfigFields;\n /**\n * \n * @type {HuaweiConfigFields}\n * @memberof PushNotificationFields\n */\n huawei: HuaweiConfigFields;\n /**\n * \n * @type {boolean}\n * @memberof PushNotificationFields\n */\n offline_only: boolean;\n /**\n * \n * @type {Array<PushProvider>}\n * @memberof PushNotificationFields\n */\n providers?: Array<PushProvider>;\n /**\n * \n * @type {string}\n * @memberof PushNotificationFields\n */\n version: string;\n /**\n * \n * @type {XiaomiConfigFields}\n * @memberof PushNotificationFields\n */\n xiaomi: XiaomiConfigFields;\n}\n/**\n * \n * @export\n * @interface PushNotificationSettings\n */\nexport interface PushNotificationSettings {\n /**\n * \n * @type {boolean}\n * @memberof PushNotificationSettings\n */\n disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushNotificationSettings\n */\n disabled_until?: string;\n}\n/**\n * \n * @export\n * @interface PushNotificationSettingsInput\n */\nexport interface PushNotificationSettingsInput {\n /**\n * \n * @type {NullBool}\n * @memberof PushNotificationSettingsInput\n */\n disabled?: NullBool;\n /**\n * \n * @type {NullTime}\n * @memberof PushNotificationSettingsInput\n */\n disabled_until?: NullTime;\n}\n/**\n * \n * @export\n * @interface PushProvider\n */\nexport interface PushProvider {\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_auth_key?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_auth_type?: string;\n /**\n * \n * @type {boolean}\n * @memberof PushProvider\n */\n apn_development?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_host?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_key_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_p12_cert?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_team_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n apn_topic?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n description?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n disabled_at?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n disabled_reason?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_apn_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_credentials?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_data_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_host?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n firebase_server_key?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n huawei_app_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n huawei_app_secret?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n updated_at: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n xiaomi_app_secret?: string;\n /**\n * \n * @type {string}\n * @memberof PushProvider\n */\n xiaomi_package_name?: string;\n}\n/**\n * \n * @export\n * @interface PushProviderResponse\n */\nexport interface PushProviderResponse {\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_auth_key?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_auth_type?: string;\n /**\n * \n * @type {boolean}\n * @memberof PushProviderResponse\n */\n apn_development?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_host?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_key_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_p12_cert?: string;\n /**\n * \n * @type {boolean}\n * @memberof PushProviderResponse\n */\n apn_sandbox_certificate?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof PushProviderResponse\n */\n apn_supports_remote_notifications?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof PushProviderResponse\n */\n apn_supports_voip_notifications?: boolean;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_team_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n apn_topic?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n description?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n disabled_at?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n disabled_reason?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_apn_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_credentials?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_data_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_host?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_notification_template?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n firebase_server_key?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n huawei_app_id?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n huawei_app_secret?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n updated_at: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n xiaomi_app_secret?: string;\n /**\n * \n * @type {string}\n * @memberof PushProviderResponse\n */\n xiaomi_package_name?: string;\n}\n/**\n * \n * @export\n * @interface QueryBannedUsersRequest\n */\nexport interface QueryBannedUsersRequest {\n /**\n * \n * @type {boolean}\n * @memberof QueryBannedUsersRequest\n */\n exclude_expired_bans?: boolean;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof QueryBannedUsersRequest\n */\n filter_conditions: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof QueryBannedUsersRequest\n */\n limit?: number;\n /**\n * \n * @type {number}\n * @memberof QueryBannedUsersRequest\n */\n offset?: number;\n /**\n * \n * @type {Array<SortParam>}\n * @memberof QueryBannedUsersRequest\n */\n sort?: Array<SortParam>;\n /**\n * \n * @type {UserRequest}\n * @memberof QueryBannedUsersRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof QueryBannedUsersRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface QueryBannedUsersResponse\n */\nexport interface QueryBannedUsersResponse {\n /**\n * \n * @type {Array<BanResponse>}\n * @memberof QueryBannedUsersResponse\n */\n bans: Array<BanResponse>;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof QueryBannedUsersResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface QueryChannelsRequest\n */\nexport interface QueryChannelsRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof QueryChannelsRequest\n */\n filter_conditions?: { [key: string]: any; };\n /**\n * Number of channels to limit\n * @type {number}\n * @memberof QueryChannelsRequest\n */\n limit?: number;\n /**\n * Number of members to limit\n * @type {number}\n * @memberof QueryChannelsRequest\n */\n member_limit?: number;\n /**\n * Number of messages to limit\n * @type {number}\n * @memberof QueryChannelsRequest\n */\n message_limit?: number;\n /**\n * Channel pagination offset\n * @type {number}\n * @memberof QueryChannelsRequest\n */\n offset?: number;\n /**\n * List of sort parameters\n * @type {Array<SortParam>}\n * @memberof QueryChannelsRequest\n */\n sort?: Array<SortParam>;\n /**\n * Whether to update channel state or not\n * @type {boolean}\n * @memberof QueryChannelsRequest\n */\n state?: boolean;\n /**\n * \n * @type {UserRequest}\n * @memberof QueryChannelsRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof QueryChannelsRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface QueryChannelsResponse\n */\nexport interface QueryChannelsResponse {\n /**\n * List of channels\n * @type {Array<ChannelStateResponseFields>}\n * @memberof QueryChannelsResponse\n */\n channels: Array<ChannelStateResponseFields>;\n /**\n * \n * @type {string}\n * @memberof QueryChannelsResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface QueryMembersRequest\n */\nexport interface QueryMembersRequest {\n /**\n * Filter to apply to members\n * @type {{ [key: string]: any; }}\n * @memberof QueryMembersRequest\n */\n filter_conditions: { [key: string]: any; };\n /**\n * Channel ID to interact with\n * @type {string}\n * @memberof QueryMembersRequest\n */\n id?: string;\n /**\n * Number of records to return\n * @type {number}\n * @memberof QueryMembersRequest\n */\n limit?: number;\n /**\n * List of members to search in distinct channels\n * @type {Array<ChannelMember>}\n * @memberof QueryMembersRequest\n */\n members?: Array<ChannelMember>;\n /**\n * Number of records to offset\n * @type {number}\n * @memberof QueryMembersRequest\n */\n offset?: number;\n /**\n * Array of sort parameters\n * @type {Array<SortParam>}\n * @memberof QueryMembersRequest\n */\n sort?: Array<SortParam>;\n /**\n * Channel type to interact with\n * @type {string}\n * @memberof QueryMembersRequest\n */\n type: string;\n /**\n * \n * @type {UserRequest}\n * @memberof QueryMembersRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof QueryMembersRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface QueryMessageFlagsRequest\n */\nexport interface QueryMessageFlagsRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof QueryMessageFlagsRequest\n */\n filter_conditions?: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof QueryMessageFlagsRequest\n */\n limit?: number;\n /**\n * \n * @type {number}\n * @memberof QueryMessageFlagsRequest\n */\n offset?: number;\n /**\n * \n * @type {boolean}\n * @memberof QueryMessageFlagsRequest\n */\n show_deleted_messages?: boolean;\n /**\n * \n * @type {Array<SortParam>}\n * @memberof QueryMessageFlagsRequest\n */\n sort?: Array<SortParam>;\n /**\n * \n * @type {UserRequest}\n * @memberof QueryMessageFlagsRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof QueryMessageFlagsRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface QueryMessageFlagsResponse\n */\nexport interface QueryMessageFlagsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof QueryMessageFlagsResponse\n */\n duration: string;\n /**\n * \n * @type {Array<MessageFlag>}\n * @memberof QueryMessageFlagsResponse\n */\n flags: Array<MessageFlag>;\n}\n/**\n * \n * @export\n * @interface QueryMessageHistoryRequest\n */\nexport interface QueryMessageHistoryRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof QueryMessageHistoryRequest\n */\n filter: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof QueryMessageHistoryRequest\n */\n limit?: number;\n /**\n * \n * @type {string}\n * @memberof QueryMessageHistoryRequest\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof QueryMessageHistoryRequest\n */\n prev?: string;\n /**\n * \n * @type {Array<SortParam>}\n * @memberof QueryMessageHistoryRequest\n */\n sort?: Array<SortParam>;\n}\n/**\n * \n * @export\n * @interface QueryMessageHistoryResponse\n */\nexport interface QueryMessageHistoryResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof QueryMessageHistoryResponse\n */\n duration: string;\n /**\n * \n * @type {Array<MessageHistoryEntry>}\n * @memberof QueryMessageHistoryResponse\n */\n message_history: Array<MessageHistoryEntry>;\n /**\n * \n * @type {string}\n * @memberof QueryMessageHistoryResponse\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof QueryMessageHistoryResponse\n */\n prev?: string;\n}\n/**\n * \n * @export\n * @interface QueryPollVotesRequest\n */\nexport interface QueryPollVotesRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof QueryPollVotesRequest\n */\n filter?: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof QueryPollVotesRequest\n */\n limit?: number;\n /**\n * \n * @type {string}\n * @memberof QueryPollVotesRequest\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof QueryPollVotesRequest\n */\n prev?: string;\n /**\n * \n * @type {Array<SortParam>}\n * @memberof QueryPollVotesRequest\n */\n sort?: Array<SortParam>;\n}\n/**\n * \n * @export\n * @interface QueryPollsRequest\n */\nexport interface QueryPollsRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof QueryPollsRequest\n */\n filter?: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof QueryPollsRequest\n */\n limit?: number;\n /**\n * \n * @type {string}\n * @memberof QueryPollsRequest\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof QueryPollsRequest\n */\n prev?: string;\n /**\n * \n * @type {Array<SortParam>}\n * @memberof QueryPollsRequest\n */\n sort?: Array<SortParam>;\n}\n/**\n * \n * @export\n * @interface QueryPollsResponse\n */\nexport interface QueryPollsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof QueryPollsResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof QueryPollsResponse\n */\n next?: string;\n /**\n * \n * @type {Array<PollResponseData>}\n * @memberof QueryPollsResponse\n */\n polls: Array<PollResponseData>;\n /**\n * \n * @type {string}\n * @memberof QueryPollsResponse\n */\n prev?: string;\n}\n/**\n * \n * @export\n * @interface QueryReactionsRequest\n */\nexport interface QueryReactionsRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof QueryReactionsRequest\n */\n filter?: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof QueryReactionsRequest\n */\n limit?: number;\n /**\n * \n * @type {string}\n * @memberof QueryReactionsRequest\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof QueryReactionsRequest\n */\n prev?: string;\n /**\n * \n * @type {Array<SortParam>}\n * @memberof QueryReactionsRequest\n */\n sort?: Array<SortParam>;\n /**\n * \n * @type {UserRequest}\n * @memberof QueryReactionsRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof QueryReactionsRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface QueryReactionsResponse\n */\nexport interface QueryReactionsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof QueryReactionsResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof QueryReactionsResponse\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof QueryReactionsResponse\n */\n prev?: string;\n /**\n * \n * @type {Array<ReactionResponse>}\n * @memberof QueryReactionsResponse\n */\n reactions: Array<ReactionResponse>;\n}\n/**\n * \n * @export\n * @interface QueryThreadsRequest\n */\nexport interface QueryThreadsRequest {\n /**\n * \n * @type {number}\n * @memberof QueryThreadsRequest\n */\n limit?: number;\n /**\n * \n * @type {number}\n * @memberof QueryThreadsRequest\n */\n member_limit?: number;\n /**\n * \n * @type {string}\n * @memberof QueryThreadsRequest\n */\n next?: string;\n /**\n * Limit the number of participants returned per each thread\n * @type {number}\n * @memberof QueryThreadsRequest\n */\n participant_limit?: number;\n /**\n * \n * @type {string}\n * @memberof QueryThreadsRequest\n */\n prev?: string;\n /**\n * Limit the number of replies returned per each thread\n * @type {number}\n * @memberof QueryThreadsRequest\n */\n reply_limit?: number;\n /**\n * \n * @type {UserRequest}\n * @memberof QueryThreadsRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof QueryThreadsRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface QueryThreadsResponse\n */\nexport interface QueryThreadsResponse {\n /**\n * \n * @type {string}\n * @memberof QueryThreadsResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof QueryThreadsResponse\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof QueryThreadsResponse\n */\n prev?: string;\n /**\n * List of enriched thread states\n * @type {Array<ThreadStateResponse>}\n * @memberof QueryThreadsResponse\n */\n threads: Array<ThreadStateResponse>;\n}\n/**\n * \n * @export\n * @interface QueryUsersPayload\n */\nexport interface QueryUsersPayload {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof QueryUsersPayload\n */\n filter_conditions: { [key: string]: any; };\n /**\n * \n * @type {boolean}\n * @memberof QueryUsersPayload\n */\n include_deactivated_users?: boolean;\n /**\n * \n * @type {number}\n * @memberof QueryUsersPayload\n */\n limit?: number;\n /**\n * \n * @type {number}\n * @memberof QueryUsersPayload\n */\n offset?: number;\n /**\n * \n * @type {boolean}\n * @memberof QueryUsersPayload\n */\n presence?: boolean;\n /**\n * \n * @type {Array<SortParam>}\n * @memberof QueryUsersPayload\n */\n sort?: Array<SortParam>;\n /**\n * \n * @type {UserRequest}\n * @memberof QueryUsersPayload\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof QueryUsersPayload\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface QueryUsersResponse\n */\nexport interface QueryUsersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof QueryUsersResponse\n */\n duration: string;\n /**\n * \n * @type {Array<FullUserResponse>}\n * @memberof QueryUsersResponse\n */\n users: Array<FullUserResponse>;\n}\n/**\n * Represents user reaction to a message\n * @export\n * @interface Reaction\n */\nexport interface Reaction {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Reaction\n */\n readonly created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof Reaction\n */\n custom: { [key: string]: any; };\n /**\n * ID of a message user reacted to\n * @type {string}\n * @memberof Reaction\n */\n message_id: string;\n /**\n * Reaction score. If not specified reaction has score of 1\n * @type {number}\n * @memberof Reaction\n */\n score: number;\n /**\n * The type of reaction (e.g. 'like', 'laugh', 'wow')\n * @type {string}\n * @memberof Reaction\n */\n type: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof Reaction\n */\n readonly updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof Reaction\n */\n user?: UserObject;\n /**\n * ID of a user who reacted to a message\n * @type {string}\n * @memberof Reaction\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface ReactionGroupResponse\n */\nexport interface ReactionGroupResponse {\n /**\n * \n * @type {number}\n * @memberof ReactionGroupResponse\n */\n count: number;\n /**\n * \n * @type {string}\n * @memberof ReactionGroupResponse\n */\n first_reaction_at: string;\n /**\n * \n * @type {string}\n * @memberof ReactionGroupResponse\n */\n last_reaction_at: string;\n /**\n * \n * @type {number}\n * @memberof ReactionGroupResponse\n */\n sum_scores: number;\n}\n/**\n * \n * @export\n * @interface ReactionRemovalResponse\n */\nexport interface ReactionRemovalResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ReactionRemovalResponse\n */\n duration: string;\n /**\n * \n * @type {Message}\n * @memberof ReactionRemovalResponse\n */\n message?: Message;\n /**\n * \n * @type {Reaction}\n * @memberof ReactionRemovalResponse\n */\n reaction?: Reaction | null;\n}\n/**\n * \n * @export\n * @interface ReactionRequest\n */\nexport interface ReactionRequest {\n /**\n * \n * @type {string}\n * @memberof ReactionRequest\n */\n created_at?: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof ReactionRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof ReactionRequest\n */\n score?: number;\n /**\n * \n * @type {string}\n * @memberof ReactionRequest\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof ReactionRequest\n */\n updated_at?: string;\n /**\n * \n * @type {UserRequest}\n * @memberof ReactionRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof ReactionRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface ReactionResponse\n */\nexport interface ReactionResponse {\n /**\n * \n * @type {string}\n * @memberof ReactionResponse\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof ReactionResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof ReactionResponse\n */\n message_id: string;\n /**\n * \n * @type {number}\n * @memberof ReactionResponse\n */\n score: number;\n /**\n * \n * @type {string}\n * @memberof ReactionResponse\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof ReactionResponse\n */\n updated_at: string;\n /**\n * \n * @type {UserResponse}\n * @memberof ReactionResponse\n */\n user: UserResponse;\n /**\n * \n * @type {string}\n * @memberof ReactionResponse\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface ReactivateUserRequest\n */\nexport interface ReactivateUserRequest {\n /**\n * ID of the user who's reactivating the user\n * @type {string}\n * @memberof ReactivateUserRequest\n */\n created_by_id?: string;\n /**\n * Set this field to put new name for the user\n * @type {string}\n * @memberof ReactivateUserRequest\n */\n name?: string;\n /**\n * Restore previously deleted messages\n * @type {boolean}\n * @memberof ReactivateUserRequest\n */\n restore_messages?: boolean;\n}\n/**\n * \n * @export\n * @interface ReactivateUserResponse\n */\nexport interface ReactivateUserResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ReactivateUserResponse\n */\n duration: string;\n /**\n * \n * @type {UserObject}\n * @memberof ReactivateUserResponse\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ReactivateUsersRequest\n */\nexport interface ReactivateUsersRequest {\n /**\n * ID of the user who's reactivating the users\n * @type {string}\n * @memberof ReactivateUsersRequest\n */\n created_by_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof ReactivateUsersRequest\n */\n restore_channels?: boolean;\n /**\n * Restore previously deleted messages\n * @type {boolean}\n * @memberof ReactivateUsersRequest\n */\n restore_messages?: boolean;\n /**\n * User IDs to reactivate\n * @type {Array<string>}\n * @memberof ReactivateUsersRequest\n */\n user_ids: Array<string>;\n}\n/**\n * \n * @export\n * @interface ReactivateUsersResponse\n */\nexport interface ReactivateUsersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ReactivateUsersResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof ReactivateUsersResponse\n */\n task_id: string;\n}\n/**\n * \n * @export\n * @interface Read\n */\nexport interface Read {\n /**\n * \n * @type {string}\n * @memberof Read\n */\n last_read: string;\n /**\n * \n * @type {string}\n * @memberof Read\n */\n last_read_message_id?: string;\n /**\n * \n * @type {number}\n * @memberof Read\n */\n unread_messages: number;\n /**\n * \n * @type {UserObject}\n * @memberof Read\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface ReadReceipts\n */\nexport interface ReadReceipts {\n /**\n * \n * @type {boolean}\n * @memberof ReadReceipts\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface ReadStateResponse\n */\nexport interface ReadStateResponse {\n /**\n * \n * @type {string}\n * @memberof ReadStateResponse\n */\n last_read: string;\n /**\n * \n * @type {string}\n * @memberof ReadStateResponse\n */\n last_read_message_id?: string;\n /**\n * \n * @type {number}\n * @memberof ReadStateResponse\n */\n unread_messages: number;\n /**\n * \n * @type {UserResponse}\n * @memberof ReadStateResponse\n */\n user: UserResponse;\n}\n/**\n * \n * @export\n * @interface RecordSettings\n */\nexport interface RecordSettings {\n /**\n * \n * @type {boolean}\n * @memberof RecordSettings\n */\n audio_only: boolean;\n /**\n * \n * @type {LayoutSettings}\n * @memberof RecordSettings\n */\n layout?: LayoutSettings;\n /**\n * \n * @type {string}\n * @memberof RecordSettings\n */\n mode: string;\n /**\n * \n * @type {string}\n * @memberof RecordSettings\n */\n quality: string;\n}\n/**\n * \n * @export\n * @interface Response\n */\nexport interface Response {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof Response\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface RestoreUsersRequest\n */\nexport interface RestoreUsersRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof RestoreUsersRequest\n */\n user_ids: Array<string>;\n}\n/**\n * \n * @export\n * @interface RingSettings\n */\nexport interface RingSettings {\n /**\n * \n * @type {number}\n * @memberof RingSettings\n */\n auto_cancel_timeout_ms: number;\n /**\n * \n * @type {number}\n * @memberof RingSettings\n */\n incoming_call_timeout_ms: number;\n /**\n * \n * @type {number}\n * @memberof RingSettings\n */\n missed_call_timeout_ms: number;\n}\n/**\n * \n * @export\n * @interface Role\n */\nexport interface Role {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Role\n */\n created_at: string;\n /**\n * Whether this is a custom role or built-in\n * @type {boolean}\n * @memberof Role\n */\n custom: boolean;\n /**\n * Unique role name\n * @type {string}\n * @memberof Role\n */\n name: string;\n /**\n * List of scopes where this role is currently present. `.app` means that role is present in app-level grants\n * @type {Array<string>}\n * @memberof Role\n */\n scopes: Array<string>;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof Role\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface S3Request\n */\nexport interface S3Request {\n /**\n * \n * @type {string}\n * @memberof S3Request\n */\n s3_api_key?: string;\n /**\n * \n * @type {string}\n * @memberof S3Request\n */\n s3_region: string;\n /**\n * \n * @type {string}\n * @memberof S3Request\n */\n s3_secret?: string;\n}\n/**\n * \n * @export\n * @interface ScreensharingSettings\n */\nexport interface ScreensharingSettings {\n /**\n * \n * @type {boolean}\n * @memberof ScreensharingSettings\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ScreensharingSettings\n */\n enabled: boolean;\n /**\n * \n * @type {TargetResolution}\n * @memberof ScreensharingSettings\n */\n target_resolution?: TargetResolution;\n}\n/**\n * \n * @export\n * @interface SearchRequest\n */\nexport interface SearchRequest {\n /**\n * Channel filter conditions\n * @type {{ [key: string]: any; }}\n * @memberof SearchRequest\n */\n filter_conditions: { [key: string]: any; };\n /**\n * Number of messages to return\n * @type {number}\n * @memberof SearchRequest\n */\n limit?: number;\n /**\n * Message filter conditions\n * @type {{ [key: string]: any; }}\n * @memberof SearchRequest\n */\n message_filter_conditions?: { [key: string]: any; };\n /**\n * Pagination parameter. Cannot be used with non-zero offset.\n * @type {string}\n * @memberof SearchRequest\n */\n next?: string;\n /**\n * Pagination offset. Cannot be used with sort or next.\n * @type {number}\n * @memberof SearchRequest\n */\n offset?: number;\n /**\n * Search phrase\n * @type {string}\n * @memberof SearchRequest\n */\n query?: string;\n /**\n * Sort parameters. Cannot be used with non-zero offset\n * @type {Array<SortParam>}\n * @memberof SearchRequest\n */\n sort?: Array<SortParam>;\n}\n/**\n * \n * @export\n * @interface SearchResponse\n */\nexport interface SearchResponse {\n /**\n * \n * @type {string}\n * @memberof SearchResponse\n */\n duration: string;\n /**\n * Value to pass to the next search query in order to paginate\n * @type {string}\n * @memberof SearchResponse\n */\n next?: string;\n /**\n * Value that points to the previous page. Pass as the next value in a search query to paginate backwards\n * @type {string}\n * @memberof SearchResponse\n */\n previous?: string;\n /**\n * Search results\n * @type {Array<SearchResult>}\n * @memberof SearchResponse\n */\n results: Array<SearchResult>;\n /**\n * \n * @type {SearchWarning}\n * @memberof SearchResponse\n */\n results_warning?: SearchWarning;\n}\n/**\n * \n * @export\n * @interface SearchResult\n */\nexport interface SearchResult {\n /**\n * \n * @type {SearchResultMessage}\n * @memberof SearchResult\n */\n message?: SearchResultMessage;\n}\n/**\n * \n * @export\n * @interface SearchResultMessage\n */\nexport interface SearchResultMessage {\n /**\n * \n * @type {Array<Attachment>}\n * @memberof SearchResultMessage\n */\n attachments: Array<Attachment>;\n /**\n * \n * @type {boolean}\n * @memberof SearchResultMessage\n */\n before_message_send_failed?: boolean;\n /**\n * \n * @type {ChannelResponse}\n * @memberof SearchResultMessage\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n cid: string;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n command?: string;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof SearchResultMessage\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n deleted_at?: string;\n /**\n * \n * @type {number}\n * @memberof SearchResultMessage\n */\n deleted_reply_count: number;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n html: string;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof SearchResultMessage\n */\n i18n?: { [key: string]: string; };\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n id: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof SearchResultMessage\n */\n image_labels?: { [key: string]: Array<string>; };\n /**\n * \n * @type {Array<Reaction>}\n * @memberof SearchResultMessage\n */\n latest_reactions: Array<Reaction>;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof SearchResultMessage\n */\n mentioned_users: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n message_text_updated_at?: string;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n mml?: string;\n /**\n * \n * @type {Array<Reaction>}\n * @memberof SearchResultMessage\n */\n own_reactions: Array<Reaction>;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n parent_id?: string;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n pin_expires?: string;\n /**\n * \n * @type {boolean}\n * @memberof SearchResultMessage\n */\n pinned: boolean;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n pinned_at?: string;\n /**\n * \n * @type {UserObject}\n * @memberof SearchResultMessage\n */\n pinned_by?: UserObject;\n /**\n * \n * @type {Poll}\n * @memberof SearchResultMessage\n */\n poll?: Poll;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n poll_id?: string;\n /**\n * \n * @type {Message}\n * @memberof SearchResultMessage\n */\n quoted_message?: Message;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n quoted_message_id?: string;\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof SearchResultMessage\n */\n reaction_counts: { [key: string]: number; };\n /**\n * \n * @type {{ [key: string]: ReactionGroupResponse; }}\n * @memberof SearchResultMessage\n */\n reaction_groups: { [key: string]: ReactionGroupResponse; };\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof SearchResultMessage\n */\n reaction_scores: { [key: string]: number; };\n /**\n * \n * @type {number}\n * @memberof SearchResultMessage\n */\n reply_count: number;\n /**\n * \n * @type {boolean}\n * @memberof SearchResultMessage\n */\n shadowed: boolean;\n /**\n * \n * @type {boolean}\n * @memberof SearchResultMessage\n */\n show_in_channel?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof SearchResultMessage\n */\n silent: boolean;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n text: string;\n /**\n * \n * @type {Array<UserObject>}\n * @memberof SearchResultMessage\n */\n thread_participants?: Array<UserObject>;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof SearchResultMessage\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof SearchResultMessage\n */\n user?: UserObject;\n}\n/**\n * \n * @export\n * @interface SearchWarning\n */\nexport interface SearchWarning {\n /**\n * Channel CIDs for the searched channels\n * @type {Array<string>}\n * @memberof SearchWarning\n */\n channel_search_cids?: Array<string>;\n /**\n * Number of channels searched\n * @type {number}\n * @memberof SearchWarning\n */\n channel_search_count?: number;\n /**\n * Code corresponding to the warning\n * @type {number}\n * @memberof SearchWarning\n */\n warning_code: number;\n /**\n * Description of the warning\n * @type {string}\n * @memberof SearchWarning\n */\n warning_description: string;\n}\n/**\n * \n * @export\n * @interface SendEventRequest\n */\nexport interface SendEventRequest {\n /**\n * \n * @type {EventRequest}\n * @memberof SendEventRequest\n */\n event: EventRequest;\n}\n/**\n * \n * @export\n * @interface SendMessageRequest\n */\nexport interface SendMessageRequest {\n /**\n * \n * @type {boolean}\n * @memberof SendMessageRequest\n */\n force_moderation?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof SendMessageRequest\n */\n keep_channel_hidden?: boolean;\n /**\n * \n * @type {MessageRequest}\n * @memberof SendMessageRequest\n */\n message: MessageRequest;\n /**\n * \n * @type {boolean}\n * @memberof SendMessageRequest\n */\n pending?: boolean;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof SendMessageRequest\n */\n pending_message_metadata?: { [key: string]: string; };\n /**\n * \n * @type {boolean}\n * @memberof SendMessageRequest\n */\n skip_enrich_url?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof SendMessageRequest\n */\n skip_push?: boolean;\n}\n/**\n * \n * @export\n * @interface SendMessageResponse\n */\nexport interface SendMessageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof SendMessageResponse\n */\n duration: string;\n /**\n * \n * @type {MessageResponse}\n * @memberof SendMessageResponse\n */\n message: MessageResponse;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof SendMessageResponse\n */\n pending_message_metadata?: { [key: string]: string; };\n}\n/**\n * \n * @export\n * @interface SendReactionRequest\n */\nexport interface SendReactionRequest {\n /**\n * Whether to replace all existing user reactions\n * @type {boolean}\n * @memberof SendReactionRequest\n */\n enforce_unique?: boolean;\n /**\n * \n * @type {ReactionRequest}\n * @memberof SendReactionRequest\n */\n reaction: ReactionRequest;\n /**\n * Skips any mobile push notifications\n * @type {boolean}\n * @memberof SendReactionRequest\n */\n skip_push?: boolean;\n}\n/**\n * \n * @export\n * @interface SendReactionResponse\n */\nexport interface SendReactionResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof SendReactionResponse\n */\n duration: string;\n /**\n * \n * @type {MessageResponse}\n * @memberof SendReactionResponse\n */\n message: MessageResponse;\n /**\n * \n * @type {ReactionResponse}\n * @memberof SendReactionResponse\n */\n reaction: ReactionResponse;\n}\n/**\n * \n * @export\n * @interface SendUserCustomEventRequest\n */\nexport interface SendUserCustomEventRequest {\n /**\n * \n * @type {UserCustomEventRequest}\n * @memberof SendUserCustomEventRequest\n */\n event: UserCustomEventRequest;\n}\n/**\n * \n * @export\n * @interface ShowChannelRequest\n */\nexport interface ShowChannelRequest {\n /**\n * \n * @type {UserRequest}\n * @memberof ShowChannelRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof ShowChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface ShowChannelResponse\n */\nexport interface ShowChannelResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof ShowChannelResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface SortParam\n */\nexport interface SortParam {\n /**\n * Direction of sorting, -1 for descending, 1 for ascending\n * @type {number}\n * @memberof SortParam\n */\n direction?: number;\n /**\n * Name of field to sort by\n * @type {string}\n * @memberof SortParam\n */\n field?: string;\n}\n/**\n * \n * @export\n * @interface TargetResolution\n */\nexport interface TargetResolution {\n /**\n * \n * @type {number}\n * @memberof TargetResolution\n */\n bitrate: number;\n /**\n * \n * @type {number}\n * @memberof TargetResolution\n */\n height: number;\n /**\n * \n * @type {number}\n * @memberof TargetResolution\n */\n width: number;\n}\n/**\n * Represents a conversation thread linked to a specific message in a channel.\n * @export\n * @interface Thread\n */\nexport interface Thread {\n /**\n * \n * @type {Channel}\n * @memberof Thread\n */\n channel?: Channel;\n /**\n * Channel CID is unique string identifier of the channel\n * @type {string}\n * @memberof Thread\n */\n channel_cid: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof Thread\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof Thread\n */\n created_by?: UserObject;\n /**\n * Custom is the custom data of the thread\n * @type {{ [key: string]: any; }}\n * @memberof Thread\n */\n custom: { [key: string]: any; };\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof Thread\n */\n deleted_at?: string;\n /**\n * Last Message At is the time of the last message in the thread\n * @type {string}\n * @memberof Thread\n */\n last_message_at?: string;\n /**\n * \n * @type {Message}\n * @memberof Thread\n */\n parent_message?: Message;\n /**\n * Parent Message ID is unique string identifier of the parent message\n * @type {string}\n * @memberof Thread\n */\n parent_message_id: string;\n /**\n * The number of participants in the thread\n * @type {number}\n * @memberof Thread\n */\n participant_count?: number;\n /**\n * The number of replies in the thread\n * @type {number}\n * @memberof Thread\n */\n reply_count?: number;\n /**\n * \n * @type {Array<ThreadParticipant>}\n * @memberof Thread\n */\n thread_participants?: Array<ThreadParticipant>;\n /**\n * Title is the title of the thread\n * @type {string}\n * @memberof Thread\n */\n title: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof Thread\n */\n updated_at: string;\n}\n/**\n * Represents a user that is participating in a thread.\n * @export\n * @interface ThreadParticipant\n */\nexport interface ThreadParticipant {\n /**\n * \n * @type {number}\n * @memberof ThreadParticipant\n */\n readonly app_pk: number;\n /**\n * \n * @type {string}\n * @memberof ThreadParticipant\n */\n channel_cid: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof ThreadParticipant\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof ThreadParticipant\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof ThreadParticipant\n */\n last_read_at: string;\n /**\n * \n * @type {string}\n * @memberof ThreadParticipant\n */\n last_thread_message_at?: string;\n /**\n * Left Thread At is the time when the user left the thread\n * @type {string}\n * @memberof ThreadParticipant\n */\n left_thread_at?: string;\n /**\n * Thead ID is unique string identifier of the thread\n * @type {string}\n * @memberof ThreadParticipant\n */\n thread_id?: string;\n /**\n * \n * @type {UserObject}\n * @memberof ThreadParticipant\n */\n user?: UserObject;\n /**\n * User ID is unique string identifier of the user\n * @type {string}\n * @memberof ThreadParticipant\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface ThreadResponse\n */\nexport interface ThreadResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ThreadResponse\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof ThreadResponse\n */\n channel_cid: string;\n /**\n * \n * @type {string}\n * @memberof ThreadResponse\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof ThreadResponse\n */\n created_by?: UserObject;\n /**\n * \n * @type {string}\n * @memberof ThreadResponse\n */\n created_by_user_id: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof ThreadResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof ThreadResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {string}\n * @memberof ThreadResponse\n */\n last_message_at?: string;\n /**\n * \n * @type {Message}\n * @memberof ThreadResponse\n */\n parent_message?: Message;\n /**\n * \n * @type {string}\n * @memberof ThreadResponse\n */\n parent_message_id: string;\n /**\n * \n * @type {number}\n * @memberof ThreadResponse\n */\n participant_count?: number;\n /**\n * \n * @type {number}\n * @memberof ThreadResponse\n */\n reply_count?: number;\n /**\n * \n * @type {Array<ThreadParticipant>}\n * @memberof ThreadResponse\n */\n thread_participants?: Array<ThreadParticipant>;\n /**\n * \n * @type {string}\n * @memberof ThreadResponse\n */\n title: string;\n /**\n * \n * @type {string}\n * @memberof ThreadResponse\n */\n updated_at: string;\n}\n/**\n * Represents a conversation thread linked to a specific message in a channel.\n * @export\n * @interface ThreadState\n */\nexport interface ThreadState {\n /**\n * \n * @type {Channel}\n * @memberof ThreadState\n */\n channel?: Channel;\n /**\n * Channel CID is unique string identifier of the channel\n * @type {string}\n * @memberof ThreadState\n */\n channel_cid: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof ThreadState\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof ThreadState\n */\n created_by?: UserObject;\n /**\n * Custom is the custom data of the thread\n * @type {{ [key: string]: any; }}\n * @memberof ThreadState\n */\n custom: { [key: string]: any; };\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof ThreadState\n */\n deleted_at?: string;\n /**\n * Last Message At is the time of the last message in the thread\n * @type {string}\n * @memberof ThreadState\n */\n last_message_at?: string;\n /**\n * \n * @type {Array<Message>}\n * @memberof ThreadState\n */\n latest_replies: Array<Message>;\n /**\n * \n * @type {Message}\n * @memberof ThreadState\n */\n parent_message?: Message;\n /**\n * Parent Message ID is unique string identifier of the parent message\n * @type {string}\n * @memberof ThreadState\n */\n parent_message_id: string;\n /**\n * The number of participants in the thread\n * @type {number}\n * @memberof ThreadState\n */\n participant_count?: number;\n /**\n * \n * @type {Array<Read>}\n * @memberof ThreadState\n */\n read?: Array<Read>;\n /**\n * The number of replies in the thread\n * @type {number}\n * @memberof ThreadState\n */\n reply_count?: number;\n /**\n * \n * @type {Array<ThreadParticipant>}\n * @memberof ThreadState\n */\n thread_participants?: Array<ThreadParticipant>;\n /**\n * Title is the title of the thread\n * @type {string}\n * @memberof ThreadState\n */\n title: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof ThreadState\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface ThreadStateResponse\n */\nexport interface ThreadStateResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof ThreadStateResponse\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof ThreadStateResponse\n */\n channel_cid: string;\n /**\n * \n * @type {string}\n * @memberof ThreadStateResponse\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof ThreadStateResponse\n */\n created_by?: UserObject;\n /**\n * \n * @type {string}\n * @memberof ThreadStateResponse\n */\n created_by_user_id: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof ThreadStateResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof ThreadStateResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {string}\n * @memberof ThreadStateResponse\n */\n last_message_at?: string;\n /**\n * \n * @type {Array<Message>}\n * @memberof ThreadStateResponse\n */\n latest_replies: Array<Message>;\n /**\n * \n * @type {Message}\n * @memberof ThreadStateResponse\n */\n parent_message?: Message;\n /**\n * \n * @type {string}\n * @memberof ThreadStateResponse\n */\n parent_message_id: string;\n /**\n * \n * @type {number}\n * @memberof ThreadStateResponse\n */\n participant_count?: number;\n /**\n * \n * @type {Array<Read>}\n * @memberof ThreadStateResponse\n */\n read?: Array<Read>;\n /**\n * \n * @type {number}\n * @memberof ThreadStateResponse\n */\n reply_count?: number;\n /**\n * \n * @type {Array<ThreadParticipant>}\n * @memberof ThreadStateResponse\n */\n thread_participants?: Array<ThreadParticipant>;\n /**\n * \n * @type {string}\n * @memberof ThreadStateResponse\n */\n title: string;\n /**\n * \n * @type {string}\n * @memberof ThreadStateResponse\n */\n updated_at: string;\n}\n/**\n * Sets thresholds for AI moderation\n * @export\n * @interface Thresholds\n */\nexport interface Thresholds {\n /**\n * \n * @type {LabelThresholds}\n * @memberof Thresholds\n */\n explicit?: LabelThresholds;\n /**\n * \n * @type {LabelThresholds}\n * @memberof Thresholds\n */\n spam?: LabelThresholds;\n /**\n * \n * @type {LabelThresholds}\n * @memberof Thresholds\n */\n toxic?: LabelThresholds;\n}\n/**\n * \n * @export\n * @interface ThumbnailsSettings\n */\nexport interface ThumbnailsSettings {\n /**\n * \n * @type {boolean}\n * @memberof ThumbnailsSettings\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface TranscriptionSettings\n */\nexport interface TranscriptionSettings {\n /**\n * \n * @type {string}\n * @memberof TranscriptionSettings\n */\n closed_caption_mode: string;\n /**\n * the languages to transcribe to\n * @type {Array<string>}\n * @memberof TranscriptionSettings\n */\n languages: Array<string>;\n /**\n * oneof=available disabled auto-on\n * @type {string}\n * @memberof TranscriptionSettings\n */\n mode: TranscriptionSettingsModeEnum;\n}\n\n\n/**\n * @export\n */\nexport const TranscriptionSettingsModeEnum = {\n AVAILABLE: 'available',\n DISABLED: 'disabled',\n AUTO_ON: 'auto-on'\n} as const;\nexport type TranscriptionSettingsModeEnum = typeof TranscriptionSettingsModeEnum[keyof typeof TranscriptionSettingsModeEnum];\n\n/**\n * \n * @export\n * @interface TranslateMessageRequest\n */\nexport interface TranslateMessageRequest {\n /**\n * Language to translate message to\n * @type {string}\n * @memberof TranslateMessageRequest\n */\n language: TranslateMessageRequestLanguageEnum;\n}\n\n\n/**\n * @export\n */\nexport const TranslateMessageRequestLanguageEnum = {\n AF: 'af',\n SQ: 'sq',\n AM: 'am',\n AR: 'ar',\n AZ: 'az',\n BN: 'bn',\n BS: 'bs',\n BG: 'bg',\n ZH: 'zh',\n ZH_TW: 'zh-TW',\n HR: 'hr',\n CS: 'cs',\n DA: 'da',\n FA_AF: 'fa-AF',\n NL: 'nl',\n EN: 'en',\n ET: 'et',\n FI: 'fi',\n FR: 'fr',\n FR_CA: 'fr-CA',\n KA: 'ka',\n DE: 'de',\n EL: 'el',\n HA: 'ha',\n HE: 'he',\n HI: 'hi',\n HU: 'hu',\n ID: 'id',\n IT: 'it',\n JA: 'ja',\n KO: 'ko',\n LV: 'lv',\n MS: 'ms',\n NO: 'no',\n FA: 'fa',\n PS: 'ps',\n PL: 'pl',\n PT: 'pt',\n RO: 'ro',\n RU: 'ru',\n SR: 'sr',\n SK: 'sk',\n SL: 'sl',\n SO: 'so',\n ES: 'es',\n ES_MX: 'es-MX',\n SW: 'sw',\n SV: 'sv',\n TL: 'tl',\n TA: 'ta',\n TH: 'th',\n TR: 'tr',\n UK: 'uk',\n UR: 'ur',\n VI: 'vi'\n} as const;\nexport type TranslateMessageRequestLanguageEnum = typeof TranslateMessageRequestLanguageEnum[keyof typeof TranslateMessageRequestLanguageEnum];\n\n/**\n * \n * @export\n * @interface TruncateChannelRequest\n */\nexport interface TruncateChannelRequest {\n /**\n * Permanently delete channel data (messages, reactions, etc.)\n * @type {boolean}\n * @memberof TruncateChannelRequest\n */\n hard_delete?: boolean;\n /**\n * \n * @type {MessageRequest}\n * @memberof TruncateChannelRequest\n */\n message?: MessageRequest;\n /**\n * When `message` is set disables all push notifications for it\n * @type {boolean}\n * @memberof TruncateChannelRequest\n */\n skip_push?: boolean;\n /**\n * Truncate channel data up to `truncated_at`. The system message (if provided) creation time is always greater than `truncated_at`\n * @type {string}\n * @memberof TruncateChannelRequest\n */\n truncated_at?: string;\n /**\n * \n * @type {UserRequest}\n * @memberof TruncateChannelRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof TruncateChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface TruncateChannelResponse\n */\nexport interface TruncateChannelResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof TruncateChannelResponse\n */\n channel?: ChannelResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof TruncateChannelResponse\n */\n duration: string;\n /**\n * \n * @type {Message}\n * @memberof TruncateChannelResponse\n */\n message?: Message;\n}\n/**\n * \n * @export\n * @interface TypingIndicators\n */\nexport interface TypingIndicators {\n /**\n * \n * @type {boolean}\n * @memberof TypingIndicators\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface UnblockUsersRequest\n */\nexport interface UnblockUsersRequest {\n /**\n * \n * @type {string}\n * @memberof UnblockUsersRequest\n */\n blocked_user_id: string;\n /**\n * \n * @type {UserRequest}\n * @memberof UnblockUsersRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof UnblockUsersRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UnblockUsersResponse\n */\nexport interface UnblockUsersResponse {\n /**\n * \n * @type {string}\n * @memberof UnblockUsersResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface UnmuteChannelRequest\n */\nexport interface UnmuteChannelRequest {\n /**\n * Channel CIDs to mute (if multiple channels)\n * @type {Array<string>}\n * @memberof UnmuteChannelRequest\n */\n channel_cids?: Array<string>;\n /**\n * Duration of mute in milliseconds\n * @type {number}\n * @memberof UnmuteChannelRequest\n */\n expiration?: number;\n /**\n * \n * @type {UserRequest}\n * @memberof UnmuteChannelRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof UnmuteChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UnmuteResponse\n */\nexport interface UnmuteResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UnmuteResponse\n */\n duration: string;\n /**\n * \n * @type {Array<string>}\n * @memberof UnmuteResponse\n */\n non_existing_users?: Array<string>;\n}\n/**\n * \n * @export\n * @interface UnmuteUserRequest\n */\nexport interface UnmuteUserRequest {\n /**\n * User IDs to mute (if multiple users)\n * @type {Array<string>}\n * @memberof UnmuteUserRequest\n */\n target_ids?: Array<string>;\n /**\n * Duration of mute in minutes\n * @type {number}\n * @memberof UnmuteUserRequest\n */\n timeout: number;\n /**\n * \n * @type {UserRequest}\n * @memberof UnmuteUserRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof UnmuteUserRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UnreadCountsBatchRequest\n */\nexport interface UnreadCountsBatchRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof UnreadCountsBatchRequest\n */\n user_ids: Array<string>;\n}\n/**\n * \n * @export\n * @interface UnreadCountsBatchResponse\n */\nexport interface UnreadCountsBatchResponse {\n /**\n * \n * @type {{ [key: string]: UnreadCountsResponse; }}\n * @memberof UnreadCountsBatchResponse\n */\n counts_by_user: { [key: string]: UnreadCountsResponse; };\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UnreadCountsBatchResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface UnreadCountsChannel\n */\nexport interface UnreadCountsChannel {\n /**\n * \n * @type {string}\n * @memberof UnreadCountsChannel\n */\n channel_id: string;\n /**\n * \n * @type {string}\n * @memberof UnreadCountsChannel\n */\n last_read: string;\n /**\n * \n * @type {number}\n * @memberof UnreadCountsChannel\n */\n unread_count: number;\n}\n/**\n * \n * @export\n * @interface UnreadCountsChannelType\n */\nexport interface UnreadCountsChannelType {\n /**\n * \n * @type {number}\n * @memberof UnreadCountsChannelType\n */\n channel_count: number;\n /**\n * \n * @type {string}\n * @memberof UnreadCountsChannelType\n */\n channel_type: string;\n /**\n * \n * @type {number}\n * @memberof UnreadCountsChannelType\n */\n unread_count: number;\n}\n/**\n * \n * @export\n * @interface UnreadCountsResponse\n */\nexport interface UnreadCountsResponse {\n /**\n * \n * @type {Array<UnreadCountsChannelType>}\n * @memberof UnreadCountsResponse\n */\n channel_type: Array<UnreadCountsChannelType>;\n /**\n * \n * @type {Array<UnreadCountsChannel>}\n * @memberof UnreadCountsResponse\n */\n channels: Array<UnreadCountsChannel>;\n /**\n * \n * @type {Array<UnreadCountsThread>}\n * @memberof UnreadCountsResponse\n */\n threads: Array<UnreadCountsThread>;\n /**\n * \n * @type {number}\n * @memberof UnreadCountsResponse\n */\n total_unread_count: number;\n /**\n * \n * @type {number}\n * @memberof UnreadCountsResponse\n */\n total_unread_threads_count: number;\n}\n/**\n * \n * @export\n * @interface UnreadCountsThread\n */\nexport interface UnreadCountsThread {\n /**\n * \n * @type {string}\n * @memberof UnreadCountsThread\n */\n last_read: string;\n /**\n * \n * @type {string}\n * @memberof UnreadCountsThread\n */\n last_read_message_id: string;\n /**\n * \n * @type {string}\n * @memberof UnreadCountsThread\n */\n parent_message_id: string;\n /**\n * \n * @type {number}\n * @memberof UnreadCountsThread\n */\n unread_count: number;\n}\n/**\n * \n * @export\n * @interface UpdateAppRequest\n */\nexport interface UpdateAppRequest {\n /**\n * \n * @type {Config}\n * @memberof UpdateAppRequest\n */\n agora_options?: Config;\n /**\n * \n * @type {APNConfig}\n * @memberof UpdateAppRequest\n */\n apn_config?: APNConfig;\n /**\n * \n * @type {AsyncModerationConfiguration}\n * @memberof UpdateAppRequest\n */\n async_moderation_config?: AsyncModerationConfiguration;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n async_url_enrich_enabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n auto_translation_enabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n before_message_send_hook_url?: string;\n /**\n * \n * @type {number}\n * @memberof UpdateAppRequest\n */\n cdn_expiration_seconds?: number;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n channel_hide_members_only?: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n custom_action_handler_url?: string;\n /**\n * \n * @type {DataDogInfo}\n * @memberof UpdateAppRequest\n */\n datadog_info?: DataDogInfo;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n disable_auth_checks?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n disable_permissions_checks?: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n enforce_unique_usernames?: UpdateAppRequestEnforceUniqueUsernamesEnum;\n /**\n * \n * @type {FileUploadConfig}\n * @memberof UpdateAppRequest\n */\n file_upload_config?: FileUploadConfig;\n /**\n * \n * @type {FirebaseConfig}\n * @memberof UpdateAppRequest\n */\n firebase_config?: FirebaseConfig;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof UpdateAppRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * \n * @type {Config}\n * @memberof UpdateAppRequest\n */\n hms_options?: Config;\n /**\n * \n * @type {HuaweiConfig}\n * @memberof UpdateAppRequest\n */\n huawei_config?: HuaweiConfig;\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateAppRequest\n */\n image_moderation_block_labels?: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n image_moderation_enabled?: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateAppRequest\n */\n image_moderation_labels?: Array<string>;\n /**\n * \n * @type {FileUploadConfig}\n * @memberof UpdateAppRequest\n */\n image_upload_config?: FileUploadConfig;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n migrate_permissions_to_v2?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateAppRequest\n */\n multi_tenant_enabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n permission_version?: UpdateAppRequestPermissionVersionEnum;\n /**\n * \n * @type {PushConfig}\n * @memberof UpdateAppRequest\n */\n push_config?: PushConfig;\n /**\n * \n * @type {number}\n * @memberof UpdateAppRequest\n */\n reminders_interval?: number;\n /**\n * \n * @type {number}\n * @memberof UpdateAppRequest\n */\n reminders_max_members?: number;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n revoke_tokens_issued_before?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sns_key?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sns_secret?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sns_topic_arn?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sqs_key?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sqs_secret?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n sqs_url?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateAppRequest\n */\n user_search_disallowed_roles?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n video_provider?: UpdateAppRequestVideoProviderEnum;\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateAppRequest\n */\n webhook_events?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof UpdateAppRequest\n */\n webhook_url?: string;\n /**\n * \n * @type {XiaomiConfig}\n * @memberof UpdateAppRequest\n */\n xiaomi_config?: XiaomiConfig;\n}\n\n\n/**\n * @export\n */\nexport const UpdateAppRequestEnforceUniqueUsernamesEnum = {\n NO: 'no',\n APP: 'app',\n TEAM: 'team'\n} as const;\nexport type UpdateAppRequestEnforceUniqueUsernamesEnum = typeof UpdateAppRequestEnforceUniqueUsernamesEnum[keyof typeof UpdateAppRequestEnforceUniqueUsernamesEnum];\n\n/**\n * @export\n */\nexport const UpdateAppRequestPermissionVersionEnum = {\n V1: 'v1',\n V2: 'v2'\n} as const;\nexport type UpdateAppRequestPermissionVersionEnum = typeof UpdateAppRequestPermissionVersionEnum[keyof typeof UpdateAppRequestPermissionVersionEnum];\n\n/**\n * @export\n */\nexport const UpdateAppRequestVideoProviderEnum = {\n AGORA: 'agora',\n HMS: 'hms'\n} as const;\nexport type UpdateAppRequestVideoProviderEnum = typeof UpdateAppRequestVideoProviderEnum[keyof typeof UpdateAppRequestVideoProviderEnum];\n\n/**\n * \n * @export\n * @interface UpdateBlockListRequest\n */\nexport interface UpdateBlockListRequest {\n /**\n * List of words to block\n * @type {Array<string>}\n * @memberof UpdateBlockListRequest\n */\n words?: Array<string>;\n}\n/**\n * \n * @export\n * @interface UpdateChannelPartialRequest\n */\nexport interface UpdateChannelPartialRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UpdateChannelPartialRequest\n */\n set?: { [key: string]: any; };\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateChannelPartialRequest\n */\n unset?: Array<string>;\n /**\n * \n * @type {UserRequest}\n * @memberof UpdateChannelPartialRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelPartialRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UpdateChannelPartialResponse\n */\nexport interface UpdateChannelPartialResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof UpdateChannelPartialResponse\n */\n channel?: ChannelResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UpdateChannelPartialResponse\n */\n duration: string;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof UpdateChannelPartialResponse\n */\n members: Array<ChannelMember>;\n}\n/**\n * \n * @export\n * @interface UpdateChannelRequest\n */\nexport interface UpdateChannelRequest {\n /**\n * Set to `true` to accept the invite\n * @type {boolean}\n * @memberof UpdateChannelRequest\n */\n accept_invite?: boolean;\n /**\n * List of user IDs to add to the channel\n * @type {Array<ChannelMember>}\n * @memberof UpdateChannelRequest\n */\n add_members?: Array<Partial<ChannelMember>>;\n /**\n * List of user IDs to make channel moderators\n * @type {Array<string>}\n * @memberof UpdateChannelRequest\n */\n add_moderators?: Array<string>;\n /**\n * List of channel member role assignments. If any specified user is not part of the channel, the request will fail\n * @type {Array<ChannelMember>}\n * @memberof UpdateChannelRequest\n */\n assign_roles?: Array<Partial<ChannelMember>>;\n /**\n * Sets cool down period for the channel in seconds\n * @type {number}\n * @memberof UpdateChannelRequest\n */\n cooldown?: number;\n /**\n * \n * @type {ChannelInput}\n * @memberof UpdateChannelRequest\n */\n data?: ChannelInput;\n /**\n * List of user IDs to take away moderators status from\n * @type {Array<string>}\n * @memberof UpdateChannelRequest\n */\n demote_moderators?: Array<string>;\n /**\n * Set to `true` to hide channel's history when adding new members\n * @type {boolean}\n * @memberof UpdateChannelRequest\n */\n hide_history?: boolean;\n /**\n * List of user IDs to invite to the channel\n * @type {Array<ChannelMember>}\n * @memberof UpdateChannelRequest\n */\n invites?: Array<Partial<ChannelMember>>;\n /**\n * \n * @type {MessageRequest}\n * @memberof UpdateChannelRequest\n */\n message?: MessageRequest;\n /**\n * Set to `true` to reject the invite\n * @type {boolean}\n * @memberof UpdateChannelRequest\n */\n reject_invite?: boolean;\n /**\n * List of user IDs to remove from the channel\n * @type {Array<string>}\n * @memberof UpdateChannelRequest\n */\n remove_members?: Array<string>;\n /**\n * When `message` is set disables all push notifications for it\n * @type {boolean}\n * @memberof UpdateChannelRequest\n */\n skip_push?: boolean;\n /**\n * \n * @type {UserRequest}\n * @memberof UpdateChannelRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UpdateChannelResponse\n */\nexport interface UpdateChannelResponse {\n /**\n * \n * @type {ChannelResponse}\n * @memberof UpdateChannelResponse\n */\n channel?: ChannelResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UpdateChannelResponse\n */\n duration: string;\n /**\n * \n * @type {Array<ChannelMember>}\n * @memberof UpdateChannelResponse\n */\n members: Array<ChannelMember>;\n /**\n * \n * @type {Message}\n * @memberof UpdateChannelResponse\n */\n message?: Message;\n}\n/**\n * \n * @export\n * @interface UpdateChannelTypeRequest\n */\nexport interface UpdateChannelTypeRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateChannelTypeRequest\n */\n allowed_flag_reasons?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeRequest\n */\n automod: UpdateChannelTypeRequestAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeRequest\n */\n automod_behavior: UpdateChannelTypeRequestAutomodBehaviorEnum;\n /**\n * \n * @type {Thresholds}\n * @memberof UpdateChannelTypeRequest\n */\n automod_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeRequest\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeRequest\n */\n blocklist_behavior?: UpdateChannelTypeRequestBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof UpdateChannelTypeRequest\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * List of commands that channel supports\n * @type {Array<string>}\n * @memberof UpdateChannelTypeRequest\n */\n commands?: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n connect_events?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n custom_events?: boolean;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof UpdateChannelTypeRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n mark_messages_pending?: boolean;\n /**\n * \n * @type {number}\n * @memberof UpdateChannelTypeRequest\n */\n max_message_length: number;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n mutes?: boolean;\n /**\n * \n * @type {Array<PolicyRequest>}\n * @memberof UpdateChannelTypeRequest\n */\n permissions?: Array<PolicyRequest>;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n polls?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n push_notifications?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n quotes?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n reactions?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n read_events?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n reminders?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n replies?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n search?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n typing_events?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n uploads?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeRequest\n */\n url_enrichment?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const UpdateChannelTypeRequestAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type UpdateChannelTypeRequestAutomodEnum = typeof UpdateChannelTypeRequestAutomodEnum[keyof typeof UpdateChannelTypeRequestAutomodEnum];\n\n/**\n * @export\n */\nexport const UpdateChannelTypeRequestAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type UpdateChannelTypeRequestAutomodBehaviorEnum = typeof UpdateChannelTypeRequestAutomodBehaviorEnum[keyof typeof UpdateChannelTypeRequestAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const UpdateChannelTypeRequestBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type UpdateChannelTypeRequestBlocklistBehaviorEnum = typeof UpdateChannelTypeRequestBlocklistBehaviorEnum[keyof typeof UpdateChannelTypeRequestBlocklistBehaviorEnum];\n\n/**\n * \n * @export\n * @interface UpdateChannelTypeResponse\n */\nexport interface UpdateChannelTypeResponse {\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateChannelTypeResponse\n */\n allowed_flag_reasons?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n automod: UpdateChannelTypeResponseAutomodEnum;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n automod_behavior: UpdateChannelTypeResponseAutomodBehaviorEnum;\n /**\n * \n * @type {Thresholds}\n * @memberof UpdateChannelTypeResponse\n */\n automod_thresholds?: Thresholds;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n blocklist?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n blocklist_behavior?: UpdateChannelTypeResponseBlocklistBehaviorEnum;\n /**\n * \n * @type {Array<BlockListOptions>}\n * @memberof UpdateChannelTypeResponse\n */\n blocklists?: Array<BlockListOptions>;\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateChannelTypeResponse\n */\n commands: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n connect_events: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n custom_events: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n duration: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof UpdateChannelTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n mark_messages_pending: boolean;\n /**\n * \n * @type {number}\n * @memberof UpdateChannelTypeResponse\n */\n max_message_length: number;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n mutes: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n name: string;\n /**\n * \n * @type {Array<PolicyRequest>}\n * @memberof UpdateChannelTypeResponse\n */\n permissions: Array<PolicyRequest>;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n polls: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n push_notifications: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n quotes: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n reactions: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n read_events: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n reminders: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n replies: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n search: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n typing_events: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdateChannelTypeResponse\n */\n updated_at: string;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n uploads: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdateChannelTypeResponse\n */\n url_enrichment: boolean;\n}\n\n\n/**\n * @export\n */\nexport const UpdateChannelTypeResponseAutomodEnum = {\n DISABLED: 'disabled',\n SIMPLE: 'simple',\n AI: 'AI'\n} as const;\nexport type UpdateChannelTypeResponseAutomodEnum = typeof UpdateChannelTypeResponseAutomodEnum[keyof typeof UpdateChannelTypeResponseAutomodEnum];\n\n/**\n * @export\n */\nexport const UpdateChannelTypeResponseAutomodBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type UpdateChannelTypeResponseAutomodBehaviorEnum = typeof UpdateChannelTypeResponseAutomodBehaviorEnum[keyof typeof UpdateChannelTypeResponseAutomodBehaviorEnum];\n\n/**\n * @export\n */\nexport const UpdateChannelTypeResponseBlocklistBehaviorEnum = {\n FLAG: 'flag',\n BLOCK: 'block',\n SHADOW_BLOCK: 'shadow_block'\n} as const;\nexport type UpdateChannelTypeResponseBlocklistBehaviorEnum = typeof UpdateChannelTypeResponseBlocklistBehaviorEnum[keyof typeof UpdateChannelTypeResponseBlocklistBehaviorEnum];\n\n/**\n * Represents custom chat command\n * @export\n * @interface UpdateCommandRequest\n */\nexport interface UpdateCommandRequest {\n /**\n * Arguments help text, shown in commands auto-completion\n * @type {string}\n * @memberof UpdateCommandRequest\n */\n args?: string;\n /**\n * Description, shown in commands auto-completion\n * @type {string}\n * @memberof UpdateCommandRequest\n */\n description: string;\n /**\n * Set name used for grouping commands\n * @type {string}\n * @memberof UpdateCommandRequest\n */\n set?: string;\n}\n/**\n * \n * @export\n * @interface UpdateCommandResponse\n */\nexport interface UpdateCommandResponse {\n /**\n * \n * @type {Command}\n * @memberof UpdateCommandResponse\n */\n command?: Command | null;\n /**\n * \n * @type {string}\n * @memberof UpdateCommandResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface UpdateExternalStorageRequest\n */\nexport interface UpdateExternalStorageRequest {\n /**\n * \n * @type {S3Request}\n * @memberof UpdateExternalStorageRequest\n */\n aws_s3?: S3Request;\n /**\n * \n * @type {AzureRequest}\n * @memberof UpdateExternalStorageRequest\n */\n azure_blob?: AzureRequest;\n /**\n * \n * @type {string}\n * @memberof UpdateExternalStorageRequest\n */\n bucket: string;\n /**\n * \n * @type {string}\n * @memberof UpdateExternalStorageRequest\n */\n gcs_credentials?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateExternalStorageRequest\n */\n path?: string;\n /**\n * \n * @type {string}\n * @memberof UpdateExternalStorageRequest\n */\n storage_type: UpdateExternalStorageRequestStorageTypeEnum;\n}\n\n\n/**\n * @export\n */\nexport const UpdateExternalStorageRequestStorageTypeEnum = {\n S3: 's3',\n GCS: 'gcs',\n ABS: 'abs'\n} as const;\nexport type UpdateExternalStorageRequestStorageTypeEnum = typeof UpdateExternalStorageRequestStorageTypeEnum[keyof typeof UpdateExternalStorageRequestStorageTypeEnum];\n\n/**\n * \n * @export\n * @interface UpdateExternalStorageResponse\n */\nexport interface UpdateExternalStorageResponse {\n /**\n * \n * @type {string}\n * @memberof UpdateExternalStorageResponse\n */\n bucket: string;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UpdateExternalStorageResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof UpdateExternalStorageResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof UpdateExternalStorageResponse\n */\n path: string;\n /**\n * \n * @type {string}\n * @memberof UpdateExternalStorageResponse\n */\n type: UpdateExternalStorageResponseTypeEnum;\n}\n\n\n/**\n * @export\n */\nexport const UpdateExternalStorageResponseTypeEnum = {\n S3: 's3',\n GCS: 'gcs',\n ABS: 'abs'\n} as const;\nexport type UpdateExternalStorageResponseTypeEnum = typeof UpdateExternalStorageResponseTypeEnum[keyof typeof UpdateExternalStorageResponseTypeEnum];\n\n/**\n * \n * @export\n * @interface UpdateMessagePartialRequest\n */\nexport interface UpdateMessagePartialRequest {\n /**\n * Sets new field values\n * @type {{ [key: string]: any; }}\n * @memberof UpdateMessagePartialRequest\n */\n set?: { [key: string]: any; };\n /**\n * \n * @type {boolean}\n * @memberof UpdateMessagePartialRequest\n */\n skip_enrich_url?: boolean;\n /**\n * Array of field names to unset\n * @type {Array<string>}\n * @memberof UpdateMessagePartialRequest\n */\n unset?: Array<string>;\n /**\n * \n * @type {UserRequest}\n * @memberof UpdateMessagePartialRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof UpdateMessagePartialRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UpdateMessagePartialResponse\n */\nexport interface UpdateMessagePartialResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UpdateMessagePartialResponse\n */\n duration: string;\n /**\n * \n * @type {Message}\n * @memberof UpdateMessagePartialResponse\n */\n message?: Message;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof UpdateMessagePartialResponse\n */\n pending_message_metadata?: { [key: string]: string; };\n}\n/**\n * \n * @export\n * @interface UpdateMessageRequest\n */\nexport interface UpdateMessageRequest {\n /**\n * \n * @type {MessageRequest}\n * @memberof UpdateMessageRequest\n */\n message: MessageRequest;\n /**\n * \n * @type {boolean}\n * @memberof UpdateMessageRequest\n */\n skip_enrich_url?: boolean;\n}\n/**\n * \n * @export\n * @interface UpdateMessageResponse\n */\nexport interface UpdateMessageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UpdateMessageResponse\n */\n duration: string;\n /**\n * \n * @type {Message}\n * @memberof UpdateMessageResponse\n */\n message: Message;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof UpdateMessageResponse\n */\n pending_message_metadata?: { [key: string]: string; };\n}\n/**\n * \n * @export\n * @interface UpdatePollOptionRequest\n */\nexport interface UpdatePollOptionRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UpdatePollOptionRequest\n */\n Custom?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof UpdatePollOptionRequest\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof UpdatePollOptionRequest\n */\n text: string;\n /**\n * \n * @type {UserRequest}\n * @memberof UpdatePollOptionRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof UpdatePollOptionRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UpdatePollPartialRequest\n */\nexport interface UpdatePollPartialRequest {\n /**\n * Sets new field values\n * @type {{ [key: string]: any; }}\n * @memberof UpdatePollPartialRequest\n */\n set?: { [key: string]: any; };\n /**\n * Array of field names to unset\n * @type {Array<string>}\n * @memberof UpdatePollPartialRequest\n */\n unset?: Array<string>;\n /**\n * \n * @type {UserRequest}\n * @memberof UpdatePollPartialRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof UpdatePollPartialRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UpdatePollRequest\n */\nexport interface UpdatePollRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UpdatePollRequest\n */\n Custom?: { [key: string]: any; };\n /**\n * \n * @type {boolean}\n * @memberof UpdatePollRequest\n */\n allow_answers?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UpdatePollRequest\n */\n allow_user_suggested_options?: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdatePollRequest\n */\n description?: string;\n /**\n * \n * @type {boolean}\n * @memberof UpdatePollRequest\n */\n enforce_unique_vote?: boolean;\n /**\n * \n * @type {string}\n * @memberof UpdatePollRequest\n */\n id: string;\n /**\n * \n * @type {boolean}\n * @memberof UpdatePollRequest\n */\n is_closed?: boolean;\n /**\n * \n * @type {number}\n * @memberof UpdatePollRequest\n */\n max_votes_allowed?: number;\n /**\n * \n * @type {string}\n * @memberof UpdatePollRequest\n */\n name: string;\n /**\n * \n * @type {Array<PollOption>}\n * @memberof UpdatePollRequest\n */\n options?: Array<PollOption>;\n /**\n * \n * @type {UserRequest}\n * @memberof UpdatePollRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof UpdatePollRequest\n */\n user_id?: string;\n /**\n * \n * @type {string}\n * @memberof UpdatePollRequest\n */\n voting_visibility?: UpdatePollRequestVotingVisibilityEnum;\n}\n\n\n/**\n * @export\n */\nexport const UpdatePollRequestVotingVisibilityEnum = {\n ANONYMOUS: 'anonymous',\n PUBLIC: 'public'\n} as const;\nexport type UpdatePollRequestVotingVisibilityEnum = typeof UpdatePollRequestVotingVisibilityEnum[keyof typeof UpdatePollRequestVotingVisibilityEnum];\n\n/**\n * \n * @export\n * @interface UpdateThreadPartialRequest\n */\nexport interface UpdateThreadPartialRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UpdateThreadPartialRequest\n */\n set?: { [key: string]: any; };\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateThreadPartialRequest\n */\n unset?: Array<string>;\n /**\n * \n * @type {UserRequest}\n * @memberof UpdateThreadPartialRequest\n */\n user?: UserRequest;\n /**\n * \n * @type {string}\n * @memberof UpdateThreadPartialRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface UpdateThreadPartialResponse\n */\nexport interface UpdateThreadPartialResponse {\n /**\n * \n * @type {string}\n * @memberof UpdateThreadPartialResponse\n */\n duration: string;\n /**\n * \n * @type {ThreadResponse}\n * @memberof UpdateThreadPartialResponse\n */\n thread: ThreadResponse;\n}\n/**\n * \n * @export\n * @interface UpdateUserPartialRequest\n */\nexport interface UpdateUserPartialRequest {\n /**\n * User ID to update\n * @type {string}\n * @memberof UpdateUserPartialRequest\n */\n id: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UpdateUserPartialRequest\n */\n set?: { [key: string]: any; };\n /**\n * \n * @type {Array<string>}\n * @memberof UpdateUserPartialRequest\n */\n unset?: Array<string>;\n}\n/**\n * \n * @export\n * @interface UpdateUsersPartialRequest\n */\nexport interface UpdateUsersPartialRequest {\n /**\n * \n * @type {Array<UpdateUserPartialRequest>}\n * @memberof UpdateUsersPartialRequest\n */\n users: Array<UpdateUserPartialRequest>;\n}\n/**\n * \n * @export\n * @interface UpdateUsersRequest\n */\nexport interface UpdateUsersRequest {\n /**\n * Object containing users\n * @type {{ [key: string]: UserRequest; }}\n * @memberof UpdateUsersRequest\n */\n users: { [key: string]: UserRequest; };\n}\n/**\n * \n * @export\n * @interface UpdateUsersResponse\n */\nexport interface UpdateUsersResponse {\n /**\n * \n * @type {string}\n * @memberof UpdateUsersResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof UpdateUsersResponse\n */\n membership_deletion_task_id: string;\n /**\n * Object containing users\n * @type {{ [key: string]: FullUserResponse; }}\n * @memberof UpdateUsersResponse\n */\n users: { [key: string]: FullUserResponse; };\n}\n/**\n * \n * @export\n * @interface UpsertPushProviderRequest\n */\nexport interface UpsertPushProviderRequest {\n /**\n * \n * @type {PushProvider}\n * @memberof UpsertPushProviderRequest\n */\n push_provider?: PushProvider | null;\n}\n/**\n * \n * @export\n * @interface UpsertPushProviderResponse\n */\nexport interface UpsertPushProviderResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof UpsertPushProviderResponse\n */\n duration: string;\n /**\n * \n * @type {PushProviderResponse}\n * @memberof UpsertPushProviderResponse\n */\n push_provider: PushProviderResponse;\n}\n/**\n * \n * @export\n * @interface UserCustomEventRequest\n */\nexport interface UserCustomEventRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UserCustomEventRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof UserCustomEventRequest\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface UserMute\n */\nexport interface UserMute {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof UserMute\n */\n created_at: string;\n /**\n * Date/time of mute expiration\n * @type {string}\n * @memberof UserMute\n */\n expires?: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserMute\n */\n target?: UserObject;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof UserMute\n */\n updated_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof UserMute\n */\n user?: UserObject;\n}\n/**\n * Represents chat user\n * @export\n * @interface UserObject\n */\nexport interface UserObject {\n /**\n * Expiration date of the ban\n * @type {string}\n * @memberof UserObject\n */\n ban_expires?: string;\n /**\n * Whether a user is banned or not\n * @type {boolean}\n * @memberof UserObject\n */\n banned?: boolean;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof UserObject\n */\n readonly created_at?: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UserObject\n */\n custom?: { [key: string]: any; };\n /**\n * Date of deactivation\n * @type {string}\n * @memberof UserObject\n */\n readonly deactivated_at?: string;\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof UserObject\n */\n readonly deleted_at?: string;\n /**\n * Unique user identifier\n * @type {string}\n * @memberof UserObject\n */\n id: string;\n /**\n * \n * @type {boolean}\n * @memberof UserObject\n */\n invisible?: boolean;\n /**\n * Preferred language of a user\n * @type {string}\n * @memberof UserObject\n */\n language?: string;\n /**\n * Date of last activity\n * @type {string}\n * @memberof UserObject\n */\n readonly last_active?: string;\n /**\n * Whether a user online or not\n * @type {boolean}\n * @memberof UserObject\n */\n readonly online?: boolean;\n /**\n * \n * @type {PrivacySettings}\n * @memberof UserObject\n */\n privacy_settings?: PrivacySettings;\n /**\n * \n * @type {PushNotificationSettings}\n * @memberof UserObject\n */\n push_notifications?: PushNotificationSettings;\n /**\n * Revocation date for tokens\n * @type {string}\n * @memberof UserObject\n */\n revoke_tokens_issued_before?: string;\n /**\n * Determines the set of user permissions\n * @type {string}\n * @memberof UserObject\n */\n role?: string;\n /**\n * List of teams user is a part of\n * @type {Array<string>}\n * @memberof UserObject\n */\n teams?: Array<string>;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof UserObject\n */\n readonly updated_at?: string;\n}\n/**\n * \n * @export\n * @interface UserRequest\n */\nexport interface UserRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UserRequest\n */\n custom?: { [key: string]: any; };\n /**\n * User ID\n * @type {string}\n * @memberof UserRequest\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof UserRequest\n */\n image?: string;\n /**\n * \n * @type {boolean}\n * @memberof UserRequest\n */\n invisible?: boolean;\n /**\n * \n * @type {string}\n * @memberof UserRequest\n */\n language?: string;\n /**\n * Optional name of user\n * @type {string}\n * @memberof UserRequest\n */\n name?: string;\n /**\n * \n * @type {PrivacySettings}\n * @memberof UserRequest\n */\n privacy_settings?: PrivacySettings;\n /**\n * \n * @type {PushNotificationSettingsInput}\n * @memberof UserRequest\n */\n push_notifications?: PushNotificationSettingsInput;\n /**\n * \n * @type {string}\n * @memberof UserRequest\n */\n role?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof UserRequest\n */\n teams?: Array<string>;\n}\n/**\n * \n * @export\n * @interface UserResponse\n */\nexport interface UserResponse {\n /**\n * \n * @type {boolean}\n * @memberof UserResponse\n */\n banned: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof UserResponse\n */\n blocked_user_ids: Array<string>;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof UserResponse\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof UserResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n deactivated_at?: string;\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof UserResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {Array<Device>}\n * @memberof UserResponse\n */\n devices: Array<Device>;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n image?: string;\n /**\n * \n * @type {boolean}\n * @memberof UserResponse\n */\n invisible: boolean;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n language: string;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n last_active?: string;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n name?: string;\n /**\n * \n * @type {boolean}\n * @memberof UserResponse\n */\n online: boolean;\n /**\n * \n * @type {PushNotificationSettings}\n * @memberof UserResponse\n */\n push_notifications?: PushNotificationSettings;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n revoke_tokens_issued_before?: string;\n /**\n * \n * @type {string}\n * @memberof UserResponse\n */\n role: string;\n /**\n * \n * @type {boolean}\n * @memberof UserResponse\n */\n shadow_banned: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof UserResponse\n */\n teams: Array<string>;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof UserResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface VideoSettings\n */\nexport interface VideoSettings {\n /**\n * \n * @type {boolean}\n * @memberof VideoSettings\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoSettings\n */\n camera_default_on: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoSettings\n */\n camera_facing: VideoSettingsCameraFacingEnum;\n /**\n * \n * @type {boolean}\n * @memberof VideoSettings\n */\n enabled: boolean;\n /**\n * \n * @type {TargetResolution}\n * @memberof VideoSettings\n */\n target_resolution: TargetResolution;\n}\n\n\n/**\n * @export\n */\nexport const VideoSettingsCameraFacingEnum = {\n FRONT: 'front',\n BACK: 'back',\n EXTERNAL: 'external'\n} as const;\nexport type VideoSettingsCameraFacingEnum = typeof VideoSettingsCameraFacingEnum[keyof typeof VideoSettingsCameraFacingEnum];\n\n/**\n * \n * @export\n * @interface VoteData\n */\nexport interface VoteData {\n /**\n * \n * @type {PollOption}\n * @memberof VoteData\n */\n Option?: PollOption | null;\n /**\n * \n * @type {string}\n * @memberof VoteData\n */\n answer_text?: string;\n /**\n * \n * @type {string}\n * @memberof VoteData\n */\n option_id?: string;\n}\n/**\n * Represents an BaseEvent that happened in Stream Chat\n * @export\n * @interface WSEvent\n */\nexport interface WSEvent {\n /**\n * \n * @type {boolean}\n * @memberof WSEvent\n */\n automoderation?: boolean;\n /**\n * \n * @type {ModerationResponse}\n * @memberof WSEvent\n */\n automoderation_scores?: ModerationResponse;\n /**\n * \n * @type {ChannelResponse}\n * @memberof WSEvent\n */\n channel?: ChannelResponse;\n /**\n * \n * @type {string}\n * @memberof WSEvent\n */\n channel_id?: string;\n /**\n * \n * @type {string}\n * @memberof WSEvent\n */\n channel_type?: string;\n /**\n * \n * @type {string}\n * @memberof WSEvent\n */\n cid?: string;\n /**\n * \n * @type {string}\n * @memberof WSEvent\n */\n connection_id?: string;\n /**\n * \n * @type {string}\n * @memberof WSEvent\n */\n created_at: string;\n /**\n * \n * @type {UserObject}\n * @memberof WSEvent\n */\n created_by?: UserObject;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof WSEvent\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {OwnUser}\n * @memberof WSEvent\n */\n me?: OwnUser;\n /**\n * \n * @type {ChannelMember}\n * @memberof WSEvent\n */\n member?: ChannelMember | null;\n /**\n * \n * @type {Message}\n * @memberof WSEvent\n */\n message?: Message;\n /**\n * \n * @type {MessageUpdate}\n * @memberof WSEvent\n */\n message_update?: MessageUpdate;\n /**\n * \n * @type {string}\n * @memberof WSEvent\n */\n parent_id?: string;\n /**\n * \n * @type {Poll}\n * @memberof WSEvent\n */\n poll?: Poll;\n /**\n * \n * @type {PollVote}\n * @memberof WSEvent\n */\n poll_vote?: PollVote | null;\n /**\n * \n * @type {Reaction}\n * @memberof WSEvent\n */\n reaction?: Reaction | null;\n /**\n * \n * @type {string}\n * @memberof WSEvent\n */\n reason?: string;\n /**\n * \n * @type {string}\n * @memberof WSEvent\n */\n team?: string;\n /**\n * \n * @type {Thread}\n * @memberof WSEvent\n */\n thread?: Thread;\n /**\n * \n * @type {string}\n * @memberof WSEvent\n */\n type: string;\n /**\n * \n * @type {UserObject}\n * @memberof WSEvent\n */\n user?: UserObject;\n /**\n * \n * @type {string}\n * @memberof WSEvent\n */\n user_id?: string;\n /**\n * \n * @type {number}\n * @memberof WSEvent\n */\n watcher_count?: number;\n}\n/**\n * \n * @export\n * @interface WrappedUnreadCountsResponse\n */\nexport interface WrappedUnreadCountsResponse {\n /**\n * \n * @type {Array<UnreadCountsChannelType>}\n * @memberof WrappedUnreadCountsResponse\n */\n channel_type: Array<UnreadCountsChannelType>;\n /**\n * \n * @type {Array<UnreadCountsChannel>}\n * @memberof WrappedUnreadCountsResponse\n */\n channels: Array<UnreadCountsChannel>;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof WrappedUnreadCountsResponse\n */\n duration: string;\n /**\n * \n * @type {Array<UnreadCountsThread>}\n * @memberof WrappedUnreadCountsResponse\n */\n threads: Array<UnreadCountsThread>;\n /**\n * \n * @type {number}\n * @memberof WrappedUnreadCountsResponse\n */\n total_unread_count: number;\n /**\n * \n * @type {number}\n * @memberof WrappedUnreadCountsResponse\n */\n total_unread_threads_count: number;\n}\n/**\n * \n * @export\n * @interface XiaomiConfig\n */\nexport interface XiaomiConfig {\n /**\n * \n * @type {boolean}\n * @memberof XiaomiConfig\n */\n Disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof XiaomiConfig\n */\n package_name?: string;\n /**\n * \n * @type {string}\n * @memberof XiaomiConfig\n */\n secret?: string;\n}\n/**\n * \n * @export\n * @interface XiaomiConfigFields\n */\nexport interface XiaomiConfigFields {\n /**\n * \n * @type {boolean}\n * @memberof XiaomiConfigFields\n */\n enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof XiaomiConfigFields\n */\n package_name?: string;\n /**\n * \n * @type {string}\n * @memberof XiaomiConfigFields\n */\n secret?: string;\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * \n * @export\n * @interface VideoAPIError\n */\nexport interface VideoAPIError {\n /**\n * Response HTTP status code\n * @type {number}\n * @memberof VideoAPIError\n */\n StatusCode: number;\n /**\n * API error code\n * @type {number}\n * @memberof VideoAPIError\n */\n code: number;\n /**\n * Additional error-specific information\n * @type {Array<number>}\n * @memberof VideoAPIError\n */\n details: Array<number>;\n /**\n * Request duration\n * @type {string}\n * @memberof VideoAPIError\n */\n duration: string;\n /**\n * Additional error info\n * @type {{ [key: string]: string; }}\n * @memberof VideoAPIError\n */\n exception_fields?: { [key: string]: string; };\n /**\n * Message describing an error\n * @type {string}\n * @memberof VideoAPIError\n */\n message: string;\n /**\n * URL with additional information\n * @type {string}\n * @memberof VideoAPIError\n */\n more_info: string;\n}\n/**\n * \n * @export\n * @interface VideoAPNS\n */\nexport interface VideoAPNS {\n /**\n * \n * @type {string}\n * @memberof VideoAPNS\n */\n body?: string;\n /**\n * \n * @type {string}\n * @memberof VideoAPNS\n */\n title?: string;\n}\n/**\n * \n * @export\n * @interface VideoAggregatedStats\n */\nexport interface VideoAggregatedStats {\n /**\n * \n * @type {{ [key: string]: VideoCountrywiseAggregateStats; }}\n * @memberof VideoAggregatedStats\n */\n countrywise_aggregate_stats?: { [key: string]: VideoCountrywiseAggregateStats; };\n /**\n * \n * @type {VideoPublisherAggregateStats}\n * @memberof VideoAggregatedStats\n */\n publisher_aggregate_stats?: VideoPublisherAggregateStats;\n /**\n * \n * @type {VideoTURNAggregatedStats}\n * @memberof VideoAggregatedStats\n */\n turn?: VideoTURNAggregatedStats;\n}\n/**\n * \n * @export\n * @interface VideoAudioSettingsRequest\n */\nexport interface VideoAudioSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsRequest\n */\n access_request_enabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoAudioSettingsRequest\n */\n default_device: VideoAudioSettingsRequestDefaultDeviceEnum;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsRequest\n */\n mic_default_on?: boolean;\n /**\n * \n * @type {VideoNoiseCancellationSettings}\n * @memberof VideoAudioSettingsRequest\n */\n noise_cancellation?: VideoNoiseCancellationSettings;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsRequest\n */\n opus_dtx_enabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsRequest\n */\n redundant_coding_enabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsRequest\n */\n speaker_default_on?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const VideoAudioSettingsRequestDefaultDeviceEnum = {\n SPEAKER: 'speaker',\n EARPIECE: 'earpiece'\n} as const;\nexport type VideoAudioSettingsRequestDefaultDeviceEnum = typeof VideoAudioSettingsRequestDefaultDeviceEnum[keyof typeof VideoAudioSettingsRequestDefaultDeviceEnum];\n\n/**\n * \n * @export\n * @interface VideoAudioSettingsResponse\n */\nexport interface VideoAudioSettingsResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsResponse\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoAudioSettingsResponse\n */\n default_device: VideoAudioSettingsResponseDefaultDeviceEnum;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsResponse\n */\n mic_default_on: boolean;\n /**\n * \n * @type {VideoNoiseCancellationSettings}\n * @memberof VideoAudioSettingsResponse\n */\n noise_cancellation?: VideoNoiseCancellationSettings;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsResponse\n */\n opus_dtx_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsResponse\n */\n redundant_coding_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoAudioSettingsResponse\n */\n speaker_default_on: boolean;\n}\n\n\n/**\n * @export\n */\nexport const VideoAudioSettingsResponseDefaultDeviceEnum = {\n SPEAKER: 'speaker',\n EARPIECE: 'earpiece'\n} as const;\nexport type VideoAudioSettingsResponseDefaultDeviceEnum = typeof VideoAudioSettingsResponseDefaultDeviceEnum[keyof typeof VideoAudioSettingsResponseDefaultDeviceEnum];\n\n/**\n * \n * @export\n * @interface VideoAzureRequest\n */\nexport interface VideoAzureRequest {\n /**\n * \n * @type {string}\n * @memberof VideoAzureRequest\n */\n abs_account_name: string;\n /**\n * \n * @type {string}\n * @memberof VideoAzureRequest\n */\n abs_client_id: string;\n /**\n * \n * @type {string}\n * @memberof VideoAzureRequest\n */\n abs_client_secret: string;\n /**\n * \n * @type {string}\n * @memberof VideoAzureRequest\n */\n abs_tenant_id: string;\n}\n/**\n * \n * @export\n * @interface VideoBackstageSettingsRequest\n */\nexport interface VideoBackstageSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoBackstageSettingsRequest\n */\n enabled?: boolean;\n /**\n * \n * @type {number}\n * @memberof VideoBackstageSettingsRequest\n */\n join_ahead_time_seconds?: number;\n}\n/**\n * \n * @export\n * @interface VideoBackstageSettingsResponse\n */\nexport interface VideoBackstageSettingsResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoBackstageSettingsResponse\n */\n enabled: boolean;\n /**\n * \n * @type {number}\n * @memberof VideoBackstageSettingsResponse\n */\n join_ahead_time_seconds?: number;\n}\n/**\n * \n * @export\n * @interface VideoBlockUserRequest\n */\nexport interface VideoBlockUserRequest {\n /**\n * the user to block\n * @type {string}\n * @memberof VideoBlockUserRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoBlockUserResponse\n */\nexport interface VideoBlockUserResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoBlockUserResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoBroadcastSettingsRequest\n */\nexport interface VideoBroadcastSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoBroadcastSettingsRequest\n */\n enabled?: boolean;\n /**\n * \n * @type {VideoHLSSettingsRequest}\n * @memberof VideoBroadcastSettingsRequest\n */\n hls?: VideoHLSSettingsRequest;\n}\n/**\n * \n * @export\n * @interface VideoBroadcastSettingsResponse\n */\nexport interface VideoBroadcastSettingsResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoBroadcastSettingsResponse\n */\n enabled: boolean;\n /**\n * \n * @type {VideoHLSSettingsResponse}\n * @memberof VideoBroadcastSettingsResponse\n */\n hls: VideoHLSSettingsResponse;\n}\n/**\n * \n * @export\n * @interface VideoCallEvent\n */\nexport interface VideoCallEvent {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoCallEvent\n */\n additional?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof VideoCallEvent\n */\n component?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallEvent\n */\n description: string;\n /**\n * \n * @type {number}\n * @memberof VideoCallEvent\n */\n end_timestamp: number;\n /**\n * \n * @type {number}\n * @memberof VideoCallEvent\n */\n severity: number;\n /**\n * \n * @type {number}\n * @memberof VideoCallEvent\n */\n timestamp: number;\n /**\n * \n * @type {string}\n * @memberof VideoCallEvent\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface VideoCallIngressResponse\n */\nexport interface VideoCallIngressResponse {\n /**\n * \n * @type {VideoRTMPIngress}\n * @memberof VideoCallIngressResponse\n */\n rtmp: VideoRTMPIngress;\n}\n/**\n * \n * @export\n * @interface VideoCallParticipantResponse\n */\nexport interface VideoCallParticipantResponse {\n /**\n * \n * @type {string}\n * @memberof VideoCallParticipantResponse\n */\n joined_at: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallParticipantResponse\n */\n role: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCallParticipantResponse\n */\n user: VideoUserResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallParticipantResponse\n */\n user_session_id: string;\n}\n/**\n * CallRecording represents a recording of a call.\n * @export\n * @interface VideoCallRecording\n */\nexport interface VideoCallRecording {\n /**\n * \n * @type {string}\n * @memberof VideoCallRecording\n */\n end_time: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRecording\n */\n filename: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRecording\n */\n start_time: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRecording\n */\n url: string;\n}\n/**\n * \n * @export\n * @interface VideoCallRequest\n */\nexport interface VideoCallRequest {\n /**\n * \n * @type {VideoUserRequest}\n * @memberof VideoCallRequest\n */\n created_by?: VideoUserRequest;\n /**\n * \n * @type {string}\n * @memberof VideoCallRequest\n */\n created_by_id?: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoCallRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {Array<VideoMemberRequest>}\n * @memberof VideoCallRequest\n */\n members?: Array<VideoMemberRequest>;\n /**\n * \n * @type {VideoCallSettingsRequest}\n * @memberof VideoCallRequest\n */\n settings_override?: VideoCallSettingsRequest;\n /**\n * \n * @type {string}\n * @memberof VideoCallRequest\n */\n starts_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallRequest\n */\n team?: string;\n}\n/**\n * Represents a call\n * @export\n * @interface VideoCallResponse\n */\nexport interface VideoCallResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoCallResponse\n */\n backstage: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoCallResponse\n */\n blocked_user_ids: Array<string>;\n /**\n * The unique identifier for a call (<type>:<id>)\n * @type {string}\n * @memberof VideoCallResponse\n */\n cid: string;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof VideoCallResponse\n */\n created_at: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCallResponse\n */\n created_by: VideoUserResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallResponse\n */\n current_session_id: string;\n /**\n * Custom data for this object\n * @type {{ [key: string]: any; }}\n * @memberof VideoCallResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {VideoEgressResponse}\n * @memberof VideoCallResponse\n */\n egress: VideoEgressResponse;\n /**\n * Date/time when the call ended\n * @type {string}\n * @memberof VideoCallResponse\n */\n ended_at?: string;\n /**\n * Call ID\n * @type {string}\n * @memberof VideoCallResponse\n */\n id: string;\n /**\n * \n * @type {VideoCallIngressResponse}\n * @memberof VideoCallResponse\n */\n ingress: VideoCallIngressResponse;\n /**\n * \n * @type {number}\n * @memberof VideoCallResponse\n */\n join_ahead_time_seconds?: number;\n /**\n * \n * @type {boolean}\n * @memberof VideoCallResponse\n */\n recording: boolean;\n /**\n * \n * @type {VideoCallSessionResponse}\n * @memberof VideoCallResponse\n */\n session?: VideoCallSessionResponse;\n /**\n * \n * @type {VideoCallSettingsResponse}\n * @memberof VideoCallResponse\n */\n settings: VideoCallSettingsResponse;\n /**\n * Date/time when the call will start\n * @type {string}\n * @memberof VideoCallResponse\n */\n starts_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallResponse\n */\n team?: string;\n /**\n * \n * @type {VideoThumbnailResponse}\n * @memberof VideoCallResponse\n */\n thumbnails?: VideoThumbnailResponse;\n /**\n * \n * @type {boolean}\n * @memberof VideoCallResponse\n */\n transcribing: boolean;\n /**\n * The type of call\n * @type {string}\n * @memberof VideoCallResponse\n */\n type: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof VideoCallResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface VideoCallSessionResponse\n */\nexport interface VideoCallSessionResponse {\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof VideoCallSessionResponse\n */\n accepted_by: { [key: string]: string; };\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionResponse\n */\n ended_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionResponse\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionResponse\n */\n live_ended_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionResponse\n */\n live_started_at?: string;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof VideoCallSessionResponse\n */\n missed_by: { [key: string]: string; };\n /**\n * \n * @type {Array<VideoCallParticipantResponse>}\n * @memberof VideoCallSessionResponse\n */\n participants: Array<VideoCallParticipantResponse>;\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof VideoCallSessionResponse\n */\n participants_count_by_role: { [key: string]: number; };\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof VideoCallSessionResponse\n */\n rejected_by: { [key: string]: string; };\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionResponse\n */\n started_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallSessionResponse\n */\n timer_ends_at?: string;\n}\n/**\n * \n * @export\n * @interface VideoCallSettingsRequest\n */\nexport interface VideoCallSettingsRequest {\n /**\n * \n * @type {VideoAudioSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n audio?: VideoAudioSettingsRequest;\n /**\n * \n * @type {VideoBackstageSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n backstage?: VideoBackstageSettingsRequest;\n /**\n * \n * @type {VideoBroadcastSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n broadcasting?: VideoBroadcastSettingsRequest;\n /**\n * \n * @type {VideoGeofenceSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n geofencing?: VideoGeofenceSettingsRequest;\n /**\n * \n * @type {VideoLimitsSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n limits?: VideoLimitsSettingsRequest;\n /**\n * \n * @type {VideoRecordSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n recording?: VideoRecordSettingsRequest;\n /**\n * \n * @type {VideoRingSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n ring?: VideoRingSettingsRequest;\n /**\n * \n * @type {VideoScreensharingSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n screensharing?: VideoScreensharingSettingsRequest;\n /**\n * \n * @type {VideoThumbnailsSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n thumbnails?: VideoThumbnailsSettingsRequest;\n /**\n * \n * @type {VideoTranscriptionSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n transcription?: VideoTranscriptionSettingsRequest;\n /**\n * \n * @type {VideoVideoSettingsRequest}\n * @memberof VideoCallSettingsRequest\n */\n video?: VideoVideoSettingsRequest;\n}\n/**\n * \n * @export\n * @interface VideoCallSettingsResponse\n */\nexport interface VideoCallSettingsResponse {\n /**\n * \n * @type {VideoAudioSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n audio: VideoAudioSettingsResponse;\n /**\n * \n * @type {VideoBackstageSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n backstage: VideoBackstageSettingsResponse;\n /**\n * \n * @type {VideoBroadcastSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n broadcasting: VideoBroadcastSettingsResponse;\n /**\n * \n * @type {VideoGeofenceSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n geofencing: VideoGeofenceSettingsResponse;\n /**\n * \n * @type {VideoLimitsSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n limits: VideoLimitsSettingsResponse;\n /**\n * \n * @type {VideoRecordSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n recording: VideoRecordSettingsResponse;\n /**\n * \n * @type {VideoRingSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n ring: VideoRingSettingsResponse;\n /**\n * \n * @type {VideoScreensharingSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n screensharing: VideoScreensharingSettingsResponse;\n /**\n * \n * @type {VideoThumbnailsSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n thumbnails: VideoThumbnailsSettingsResponse;\n /**\n * \n * @type {VideoTranscriptionSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n transcription: VideoTranscriptionSettingsResponse;\n /**\n * \n * @type {VideoVideoSettingsResponse}\n * @memberof VideoCallSettingsResponse\n */\n video: VideoVideoSettingsResponse;\n}\n/**\n * \n * @export\n * @interface VideoCallStateResponseFields\n */\nexport interface VideoCallStateResponseFields {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoCallStateResponseFields\n */\n call: VideoCallResponse;\n /**\n * List of call members\n * @type {Array<VideoMemberResponse>}\n * @memberof VideoCallStateResponseFields\n */\n members: Array<VideoMemberResponse>;\n /**\n * \n * @type {Array<VideoOwnCapability>}\n * @memberof VideoCallStateResponseFields\n */\n own_capabilities: Array<VideoOwnCapability>;\n}\n/**\n * \n * @export\n * @interface VideoCallStatsReportSummaryResponse\n */\nexport interface VideoCallStatsReportSummaryResponse {\n /**\n * \n * @type {string}\n * @memberof VideoCallStatsReportSummaryResponse\n */\n call_cid: string;\n /**\n * \n * @type {number}\n * @memberof VideoCallStatsReportSummaryResponse\n */\n call_duration_seconds: number;\n /**\n * \n * @type {string}\n * @memberof VideoCallStatsReportSummaryResponse\n */\n call_session_id: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallStatsReportSummaryResponse\n */\n call_status: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallStatsReportSummaryResponse\n */\n created_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallStatsReportSummaryResponse\n */\n first_stats_time: string;\n /**\n * \n * @type {number}\n * @memberof VideoCallStatsReportSummaryResponse\n */\n quality_score?: number;\n}\n/**\n * \n * @export\n * @interface VideoCallTimeline\n */\nexport interface VideoCallTimeline {\n /**\n * \n * @type {Array<VideoCallEvent>}\n * @memberof VideoCallTimeline\n */\n events: Array<VideoCallEvent>;\n}\n/**\n * CallTranscription represents a transcription of a call.\n * @export\n * @interface VideoCallTranscription\n */\nexport interface VideoCallTranscription {\n /**\n * \n * @type {string}\n * @memberof VideoCallTranscription\n */\n end_time: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallTranscription\n */\n filename: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallTranscription\n */\n start_time: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallTranscription\n */\n url: string;\n}\n/**\n * \n * @export\n * @interface VideoCallTypeResponse\n */\nexport interface VideoCallTypeResponse {\n /**\n * \n * @type {string}\n * @memberof VideoCallTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof VideoCallTypeResponse\n */\n external_storage?: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoCallTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoCallTypeResponse\n */\n name: string;\n /**\n * \n * @type {VideoNotificationSettings}\n * @memberof VideoCallTypeResponse\n */\n notification_settings: VideoNotificationSettings;\n /**\n * \n * @type {VideoCallSettingsResponse}\n * @memberof VideoCallTypeResponse\n */\n settings: VideoCallSettingsResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCallTypeResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface VideoCheckExternalStorageResponse\n */\nexport interface VideoCheckExternalStorageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoCheckExternalStorageResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof VideoCheckExternalStorageResponse\n */\n file_url: string;\n}\n/**\n * \n * @export\n * @interface VideoCollectUserFeedbackRequest\n */\nexport interface VideoCollectUserFeedbackRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoCollectUserFeedbackRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof VideoCollectUserFeedbackRequest\n */\n rating: number;\n /**\n * \n * @type {string}\n * @memberof VideoCollectUserFeedbackRequest\n */\n reason?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCollectUserFeedbackRequest\n */\n sdk: string;\n /**\n * \n * @type {string}\n * @memberof VideoCollectUserFeedbackRequest\n */\n sdk_version: string;\n /**\n * \n * @type {string}\n * @memberof VideoCollectUserFeedbackRequest\n */\n user_session_id: string;\n}\n/**\n * \n * @export\n * @interface VideoCollectUserFeedbackResponse\n */\nexport interface VideoCollectUserFeedbackResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoCollectUserFeedbackResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoCoordinates\n */\nexport interface VideoCoordinates {\n /**\n * \n * @type {number}\n * @memberof VideoCoordinates\n */\n latitude: number;\n /**\n * \n * @type {number}\n * @memberof VideoCoordinates\n */\n longitude: number;\n}\n/**\n * \n * @export\n * @interface VideoCount\n */\nexport interface VideoCount {\n /**\n * \n * @type {boolean}\n * @memberof VideoCount\n */\n approximate: boolean;\n /**\n * \n * @type {number}\n * @memberof VideoCount\n */\n value: number;\n}\n/**\n * \n * @export\n * @interface VideoCountrywiseAggregateStats\n */\nexport interface VideoCountrywiseAggregateStats {\n /**\n * \n * @type {VideoCount}\n * @memberof VideoCountrywiseAggregateStats\n */\n participant_count?: VideoCount;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoCountrywiseAggregateStats\n */\n publisher_jitter?: VideoTimeStats;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoCountrywiseAggregateStats\n */\n publisher_latency?: VideoTimeStats;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoCountrywiseAggregateStats\n */\n subscriber_jitter?: VideoTimeStats;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoCountrywiseAggregateStats\n */\n subscriber_latency?: VideoTimeStats;\n}\n/**\n * \n * @export\n * @interface VideoCreateCallTypeRequest\n */\nexport interface VideoCreateCallTypeRequest {\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeRequest\n */\n external_storage?: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoCreateCallTypeRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeRequest\n */\n name: string;\n /**\n * \n * @type {VideoNotificationSettings}\n * @memberof VideoCreateCallTypeRequest\n */\n notification_settings?: VideoNotificationSettings;\n /**\n * \n * @type {VideoCallSettingsRequest}\n * @memberof VideoCreateCallTypeRequest\n */\n settings?: VideoCallSettingsRequest;\n}\n/**\n * \n * @export\n * @interface VideoCreateCallTypeResponse\n */\nexport interface VideoCreateCallTypeResponse {\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeResponse\n */\n external_storage?: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoCreateCallTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeResponse\n */\n name: string;\n /**\n * \n * @type {VideoNotificationSettings}\n * @memberof VideoCreateCallTypeResponse\n */\n notification_settings: VideoNotificationSettings;\n /**\n * \n * @type {VideoCallSettingsResponse}\n * @memberof VideoCreateCallTypeResponse\n */\n settings: VideoCallSettingsResponse;\n /**\n * \n * @type {string}\n * @memberof VideoCreateCallTypeResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface VideoCreateDeviceRequest\n */\nexport interface VideoCreateDeviceRequest {\n /**\n * \n * @type {string}\n * @memberof VideoCreateDeviceRequest\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoCreateDeviceRequest\n */\n push_provider: VideoCreateDeviceRequestPushProviderEnum;\n /**\n * \n * @type {string}\n * @memberof VideoCreateDeviceRequest\n */\n push_provider_name?: string;\n /**\n * \n * @type {VideoUserRequest}\n * @memberof VideoCreateDeviceRequest\n */\n user?: VideoUserRequest;\n /**\n * \n * @type {string}\n * @memberof VideoCreateDeviceRequest\n */\n user_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof VideoCreateDeviceRequest\n */\n voip_token?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const VideoCreateDeviceRequestPushProviderEnum = {\n FIREBASE: 'firebase',\n APN: 'apn',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type VideoCreateDeviceRequestPushProviderEnum = typeof VideoCreateDeviceRequestPushProviderEnum[keyof typeof VideoCreateDeviceRequestPushProviderEnum];\n\n/**\n * \n * @export\n * @interface VideoCreateExternalStorageRequest\n */\nexport interface VideoCreateExternalStorageRequest {\n /**\n * \n * @type {VideoS3Request}\n * @memberof VideoCreateExternalStorageRequest\n */\n aws_s3?: VideoS3Request;\n /**\n * \n * @type {VideoAzureRequest}\n * @memberof VideoCreateExternalStorageRequest\n */\n azure_blob?: VideoAzureRequest;\n /**\n * \n * @type {string}\n * @memberof VideoCreateExternalStorageRequest\n */\n bucket: string;\n /**\n * \n * @type {string}\n * @memberof VideoCreateExternalStorageRequest\n */\n gcs_credentials?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCreateExternalStorageRequest\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof VideoCreateExternalStorageRequest\n */\n path?: string;\n /**\n * \n * @type {string}\n * @memberof VideoCreateExternalStorageRequest\n */\n storage_type: VideoCreateExternalStorageRequestStorageTypeEnum;\n}\n\n\n/**\n * @export\n */\nexport const VideoCreateExternalStorageRequestStorageTypeEnum = {\n S3: 's3',\n GCS: 'gcs',\n ABS: 'abs'\n} as const;\nexport type VideoCreateExternalStorageRequestStorageTypeEnum = typeof VideoCreateExternalStorageRequestStorageTypeEnum[keyof typeof VideoCreateExternalStorageRequestStorageTypeEnum];\n\n/**\n * \n * @export\n * @interface VideoCreateExternalStorageResponse\n */\nexport interface VideoCreateExternalStorageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoCreateExternalStorageResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoCreateGuestRequest\n */\nexport interface VideoCreateGuestRequest {\n /**\n * \n * @type {VideoUserRequest}\n * @memberof VideoCreateGuestRequest\n */\n user: VideoUserRequest;\n}\n/**\n * \n * @export\n * @interface VideoCreateGuestResponse\n */\nexport interface VideoCreateGuestResponse {\n /**\n * the access token to authenticate the user\n * @type {string}\n * @memberof VideoCreateGuestResponse\n */\n access_token: string;\n /**\n * \n * @type {string}\n * @memberof VideoCreateGuestResponse\n */\n duration: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoCreateGuestResponse\n */\n user: VideoUserResponse;\n}\n/**\n * \n * @export\n * @interface VideoDeleteCallRequest\n */\nexport interface VideoDeleteCallRequest {\n /**\n * if true the call will be hard deleted along with all related data\n * @type {boolean}\n * @memberof VideoDeleteCallRequest\n */\n hard?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoDeleteCallResponse\n */\nexport interface VideoDeleteCallResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoDeleteCallResponse\n */\n call: VideoCallResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoDeleteCallResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof VideoDeleteCallResponse\n */\n task_id?: string;\n}\n/**\n * \n * @export\n * @interface VideoDeleteExternalStorageResponse\n */\nexport interface VideoDeleteExternalStorageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoDeleteExternalStorageResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoDeleteRecordingResponse\n */\nexport interface VideoDeleteRecordingResponse {\n /**\n * \n * @type {string}\n * @memberof VideoDeleteRecordingResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoDeleteTranscriptionResponse\n */\nexport interface VideoDeleteTranscriptionResponse {\n /**\n * \n * @type {string}\n * @memberof VideoDeleteTranscriptionResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoDevice\n */\nexport interface VideoDevice {\n /**\n * \n * @type {string}\n * @memberof VideoDevice\n */\n created_at: string;\n /**\n * \n * @type {boolean}\n * @memberof VideoDevice\n */\n disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoDevice\n */\n disabled_reason?: string;\n /**\n * Device ID\n * @type {string}\n * @memberof VideoDevice\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoDevice\n */\n push_provider: VideoDevicePushProviderEnum;\n /**\n * Name of the push provider configuration\n * @type {string}\n * @memberof VideoDevice\n */\n push_provider_name?: string;\n /**\n * \n * @type {string}\n * @memberof VideoDevice\n */\n user_id: string;\n /**\n * \n * @type {boolean}\n * @memberof VideoDevice\n */\n voip?: boolean;\n}\n\n\n/**\n * @export\n */\nexport const VideoDevicePushProviderEnum = {\n FIREBASE: 'firebase',\n APN: 'apn',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type VideoDevicePushProviderEnum = typeof VideoDevicePushProviderEnum[keyof typeof VideoDevicePushProviderEnum];\n\n/**\n * \n * @export\n * @interface VideoEdgeResponse\n */\nexport interface VideoEdgeResponse {\n /**\n * \n * @type {string}\n * @memberof VideoEdgeResponse\n */\n continent_code: string;\n /**\n * \n * @type {string}\n * @memberof VideoEdgeResponse\n */\n country_iso_code: string;\n /**\n * \n * @type {number}\n * @memberof VideoEdgeResponse\n */\n green: number;\n /**\n * \n * @type {string}\n * @memberof VideoEdgeResponse\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoEdgeResponse\n */\n latency_test_url: string;\n /**\n * \n * @type {number}\n * @memberof VideoEdgeResponse\n */\n latitude: number;\n /**\n * \n * @type {number}\n * @memberof VideoEdgeResponse\n */\n longitude: number;\n /**\n * \n * @type {number}\n * @memberof VideoEdgeResponse\n */\n red: number;\n /**\n * \n * @type {string}\n * @memberof VideoEdgeResponse\n */\n subdivision_iso_code: string;\n /**\n * \n * @type {number}\n * @memberof VideoEdgeResponse\n */\n yellow: number;\n}\n/**\n * \n * @export\n * @interface VideoEgressHLSResponse\n */\nexport interface VideoEgressHLSResponse {\n /**\n * \n * @type {string}\n * @memberof VideoEgressHLSResponse\n */\n playlist_url: string;\n}\n/**\n * \n * @export\n * @interface VideoEgressRTMPResponse\n */\nexport interface VideoEgressRTMPResponse {\n /**\n * \n * @type {string}\n * @memberof VideoEgressRTMPResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof VideoEgressRTMPResponse\n */\n stream_key: string;\n /**\n * \n * @type {string}\n * @memberof VideoEgressRTMPResponse\n */\n url: string;\n}\n/**\n * \n * @export\n * @interface VideoEgressResponse\n */\nexport interface VideoEgressResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoEgressResponse\n */\n broadcasting: boolean;\n /**\n * \n * @type {VideoEgressHLSResponse}\n * @memberof VideoEgressResponse\n */\n hls?: VideoEgressHLSResponse;\n /**\n * \n * @type {Array<VideoEgressRTMPResponse>}\n * @memberof VideoEgressResponse\n */\n rtmps: Array<VideoEgressRTMPResponse>;\n}\n/**\n * \n * @export\n * @interface VideoEndCallResponse\n */\nexport interface VideoEndCallResponse {\n /**\n * \n * @type {string}\n * @memberof VideoEndCallResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoEventNotificationSettings\n */\nexport interface VideoEventNotificationSettings {\n /**\n * \n * @type {VideoAPNS}\n * @memberof VideoEventNotificationSettings\n */\n apns?: VideoAPNS;\n /**\n * \n * @type {boolean}\n * @memberof VideoEventNotificationSettings\n */\n enabled?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoExternalStorageResponse\n */\nexport interface VideoExternalStorageResponse {\n /**\n * \n * @type {string}\n * @memberof VideoExternalStorageResponse\n */\n bucket: string;\n /**\n * \n * @type {string}\n * @memberof VideoExternalStorageResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof VideoExternalStorageResponse\n */\n path: string;\n /**\n * \n * @type {string}\n * @memberof VideoExternalStorageResponse\n */\n type: VideoExternalStorageResponseTypeEnum;\n}\n\n\n/**\n * @export\n */\nexport const VideoExternalStorageResponseTypeEnum = {\n S3: 's3',\n GCS: 'gcs',\n ABS: 'abs'\n} as const;\nexport type VideoExternalStorageResponseTypeEnum = typeof VideoExternalStorageResponseTypeEnum[keyof typeof VideoExternalStorageResponseTypeEnum];\n\n/**\n * \n * @export\n * @interface VideoGeofenceSettingsRequest\n */\nexport interface VideoGeofenceSettingsRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof VideoGeofenceSettingsRequest\n */\n names?: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoGeofenceSettingsResponse\n */\nexport interface VideoGeofenceSettingsResponse {\n /**\n * \n * @type {Array<string>}\n * @memberof VideoGeofenceSettingsResponse\n */\n names: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoGeolocationResult\n */\nexport interface VideoGeolocationResult {\n /**\n * \n * @type {number}\n * @memberof VideoGeolocationResult\n */\n accuracy_radius: number;\n /**\n * \n * @type {string}\n * @memberof VideoGeolocationResult\n */\n city: string;\n /**\n * \n * @type {string}\n * @memberof VideoGeolocationResult\n */\n continent: string;\n /**\n * \n * @type {string}\n * @memberof VideoGeolocationResult\n */\n continent_code: string;\n /**\n * \n * @type {string}\n * @memberof VideoGeolocationResult\n */\n country: string;\n /**\n * \n * @type {string}\n * @memberof VideoGeolocationResult\n */\n country_iso_code: string;\n /**\n * \n * @type {number}\n * @memberof VideoGeolocationResult\n */\n latitude: number;\n /**\n * \n * @type {number}\n * @memberof VideoGeolocationResult\n */\n longitude: number;\n /**\n * \n * @type {string}\n * @memberof VideoGeolocationResult\n */\n subdivision: string;\n /**\n * \n * @type {string}\n * @memberof VideoGeolocationResult\n */\n subdivision_iso_code: string;\n}\n/**\n * \n * @export\n * @interface VideoGetCallResponse\n */\nexport interface VideoGetCallResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoGetCallResponse\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoGetCallResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoMemberResponse>}\n * @memberof VideoGetCallResponse\n */\n members: Array<VideoMemberResponse>;\n /**\n * \n * @type {Array<VideoOwnCapability>}\n * @memberof VideoGetCallResponse\n */\n own_capabilities: Array<VideoOwnCapability>;\n}\n/**\n * \n * @export\n * @interface VideoGetCallStatsResponse\n */\nexport interface VideoGetCallStatsResponse {\n /**\n * \n * @type {VideoAggregatedStats}\n * @memberof VideoGetCallStatsResponse\n */\n aggregated?: VideoAggregatedStats;\n /**\n * \n * @type {number}\n * @memberof VideoGetCallStatsResponse\n */\n call_duration_seconds: number;\n /**\n * \n * @type {string}\n * @memberof VideoGetCallStatsResponse\n */\n call_status: string;\n /**\n * \n * @type {VideoCallTimeline}\n * @memberof VideoGetCallStatsResponse\n */\n call_timeline?: VideoCallTimeline;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoGetCallStatsResponse\n */\n duration: string;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoGetCallStatsResponse\n */\n jitter?: VideoTimeStats;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoGetCallStatsResponse\n */\n latency?: VideoTimeStats;\n /**\n * \n * @type {number}\n * @memberof VideoGetCallStatsResponse\n */\n max_freezes_duration_seconds: number;\n /**\n * \n * @type {number}\n * @memberof VideoGetCallStatsResponse\n */\n max_participants: number;\n /**\n * \n * @type {number}\n * @memberof VideoGetCallStatsResponse\n */\n max_total_quality_limitation_duration_seconds: number;\n /**\n * \n * @type {Array<VideoUserStats>}\n * @memberof VideoGetCallStatsResponse\n */\n participant_report: Array<VideoUserStats>;\n /**\n * \n * @type {number}\n * @memberof VideoGetCallStatsResponse\n */\n publishing_participants: number;\n /**\n * \n * @type {number}\n * @memberof VideoGetCallStatsResponse\n */\n quality_score: number;\n /**\n * \n * @type {number}\n * @memberof VideoGetCallStatsResponse\n */\n sfu_count: number;\n /**\n * \n * @type {Array<VideoSFULocationResponse>}\n * @memberof VideoGetCallStatsResponse\n */\n sfus: Array<VideoSFULocationResponse>;\n}\n/**\n * \n * @export\n * @interface VideoGetCallTypeResponse\n */\nexport interface VideoGetCallTypeResponse {\n /**\n * \n * @type {string}\n * @memberof VideoGetCallTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof VideoGetCallTypeResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof VideoGetCallTypeResponse\n */\n external_storage?: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoGetCallTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoGetCallTypeResponse\n */\n name: string;\n /**\n * \n * @type {VideoNotificationSettings}\n * @memberof VideoGetCallTypeResponse\n */\n notification_settings: VideoNotificationSettings;\n /**\n * \n * @type {VideoCallSettingsResponse}\n * @memberof VideoGetCallTypeResponse\n */\n settings: VideoCallSettingsResponse;\n /**\n * \n * @type {string}\n * @memberof VideoGetCallTypeResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface VideoGetEdgesResponse\n */\nexport interface VideoGetEdgesResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoGetEdgesResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoEdgeResponse>}\n * @memberof VideoGetEdgesResponse\n */\n edges: Array<VideoEdgeResponse>;\n}\n/**\n * \n * @export\n * @interface VideoGetOrCreateCallRequest\n */\nexport interface VideoGetOrCreateCallRequest {\n /**\n * \n * @type {VideoCallRequest}\n * @memberof VideoGetOrCreateCallRequest\n */\n data?: VideoCallRequest;\n /**\n * \n * @type {number}\n * @memberof VideoGetOrCreateCallRequest\n */\n members_limit?: number;\n /**\n * if provided it sends a notification event to the members for this call\n * @type {boolean}\n * @memberof VideoGetOrCreateCallRequest\n */\n notify?: boolean;\n /**\n * if provided it sends a ring event to the members for this call\n * @type {boolean}\n * @memberof VideoGetOrCreateCallRequest\n */\n ring?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoGetOrCreateCallResponse\n */\nexport interface VideoGetOrCreateCallResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoGetOrCreateCallResponse\n */\n call: VideoCallResponse;\n /**\n * \n * @type {boolean}\n * @memberof VideoGetOrCreateCallResponse\n */\n created: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoGetOrCreateCallResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoMemberResponse>}\n * @memberof VideoGetOrCreateCallResponse\n */\n members: Array<VideoMemberResponse>;\n /**\n * \n * @type {Array<VideoOwnCapability>}\n * @memberof VideoGetOrCreateCallResponse\n */\n own_capabilities: Array<VideoOwnCapability>;\n}\n/**\n * \n * @export\n * @interface VideoGoLiveRequest\n */\nexport interface VideoGoLiveRequest {\n /**\n * \n * @type {string}\n * @memberof VideoGoLiveRequest\n */\n recording_storage_name?: string;\n /**\n * \n * @type {boolean}\n * @memberof VideoGoLiveRequest\n */\n start_hls?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoGoLiveRequest\n */\n start_recording?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoGoLiveRequest\n */\n start_transcription?: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoGoLiveRequest\n */\n transcription_storage_name?: string;\n}\n/**\n * \n * @export\n * @interface VideoGoLiveResponse\n */\nexport interface VideoGoLiveResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoGoLiveResponse\n */\n call: VideoCallResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoGoLiveResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoHLSSettingsRequest\n */\nexport interface VideoHLSSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoHLSSettingsRequest\n */\n auto_on?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoHLSSettingsRequest\n */\n enabled?: boolean;\n /**\n * \n * @type {VideoLayoutSettingsRequest}\n * @memberof VideoHLSSettingsRequest\n */\n layout?: VideoLayoutSettingsRequest;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoHLSSettingsRequest\n */\n quality_tracks: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoHLSSettingsResponse\n */\nexport interface VideoHLSSettingsResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoHLSSettingsResponse\n */\n auto_on: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoHLSSettingsResponse\n */\n enabled: boolean;\n /**\n * \n * @type {VideoLayoutSettingsResponse}\n * @memberof VideoHLSSettingsResponse\n */\n layout: VideoLayoutSettingsResponse;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoHLSSettingsResponse\n */\n quality_tracks: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoLayoutSettingsRequest\n */\nexport interface VideoLayoutSettingsRequest {\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettingsRequest\n */\n external_app_url?: string;\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettingsRequest\n */\n external_css_url?: string;\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettingsRequest\n */\n name: VideoLayoutSettingsRequestNameEnum;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoLayoutSettingsRequest\n */\n options?: { [key: string]: any; };\n}\n\n\n/**\n * @export\n */\nexport const VideoLayoutSettingsRequestNameEnum = {\n SPOTLIGHT: 'spotlight',\n GRID: 'grid',\n SINGLE_PARTICIPANT: 'single-participant',\n MOBILE: 'mobile',\n CUSTOM: 'custom'\n} as const;\nexport type VideoLayoutSettingsRequestNameEnum = typeof VideoLayoutSettingsRequestNameEnum[keyof typeof VideoLayoutSettingsRequestNameEnum];\n\n/**\n * \n * @export\n * @interface VideoLayoutSettingsResponse\n */\nexport interface VideoLayoutSettingsResponse {\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettingsResponse\n */\n external_app_url: string;\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettingsResponse\n */\n external_css_url: string;\n /**\n * \n * @type {string}\n * @memberof VideoLayoutSettingsResponse\n */\n name: VideoLayoutSettingsResponseNameEnum;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoLayoutSettingsResponse\n */\n options?: { [key: string]: any; };\n}\n\n\n/**\n * @export\n */\nexport const VideoLayoutSettingsResponseNameEnum = {\n SPOTLIGHT: 'spotlight',\n GRID: 'grid',\n SINGLE_PARTICIPANT: 'single-participant',\n MOBILE: 'mobile',\n CUSTOM: 'custom'\n} as const;\nexport type VideoLayoutSettingsResponseNameEnum = typeof VideoLayoutSettingsResponseNameEnum[keyof typeof VideoLayoutSettingsResponseNameEnum];\n\n/**\n * \n * @export\n * @interface VideoLimitsSettingsRequest\n */\nexport interface VideoLimitsSettingsRequest {\n /**\n * \n * @type {number}\n * @memberof VideoLimitsSettingsRequest\n */\n max_duration_seconds?: number;\n /**\n * \n * @type {number}\n * @memberof VideoLimitsSettingsRequest\n */\n max_participants?: number;\n}\n/**\n * \n * @export\n * @interface VideoLimitsSettingsResponse\n */\nexport interface VideoLimitsSettingsResponse {\n /**\n * \n * @type {number}\n * @memberof VideoLimitsSettingsResponse\n */\n max_duration_seconds?: number;\n /**\n * \n * @type {number}\n * @memberof VideoLimitsSettingsResponse\n */\n max_participants?: number;\n}\n/**\n * \n * @export\n * @interface VideoListCallTypeResponse\n */\nexport interface VideoListCallTypeResponse {\n /**\n * \n * @type {{ [key: string]: VideoCallTypeResponse; }}\n * @memberof VideoListCallTypeResponse\n */\n call_types: { [key: string]: VideoCallTypeResponse; };\n /**\n * \n * @type {string}\n * @memberof VideoListCallTypeResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoListDevicesResponse\n */\nexport interface VideoListDevicesResponse {\n /**\n * List of devices\n * @type {Array<VideoDevice>}\n * @memberof VideoListDevicesResponse\n */\n devices: Array<VideoDevice>;\n /**\n * \n * @type {string}\n * @memberof VideoListDevicesResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoListExternalStorageResponse\n */\nexport interface VideoListExternalStorageResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoListExternalStorageResponse\n */\n duration: string;\n /**\n * \n * @type {{ [key: string]: VideoExternalStorageResponse; }}\n * @memberof VideoListExternalStorageResponse\n */\n external_storages: { [key: string]: VideoExternalStorageResponse; };\n}\n/**\n * \n * @export\n * @interface VideoListRecordingsResponse\n */\nexport interface VideoListRecordingsResponse {\n /**\n * \n * @type {string}\n * @memberof VideoListRecordingsResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoCallRecording>}\n * @memberof VideoListRecordingsResponse\n */\n recordings: Array<VideoCallRecording>;\n}\n/**\n * \n * @export\n * @interface VideoListTranscriptionsResponse\n */\nexport interface VideoListTranscriptionsResponse {\n /**\n * \n * @type {string}\n * @memberof VideoListTranscriptionsResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoCallTranscription>}\n * @memberof VideoListTranscriptionsResponse\n */\n transcriptions: Array<VideoCallTranscription>;\n}\n/**\n * \n * @export\n * @interface VideoLocation\n */\nexport interface VideoLocation {\n /**\n * \n * @type {string}\n * @memberof VideoLocation\n */\n continent_code: string;\n /**\n * \n * @type {string}\n * @memberof VideoLocation\n */\n country_iso_code: string;\n /**\n * \n * @type {string}\n * @memberof VideoLocation\n */\n subdivision_iso_code: string;\n}\n/**\n * \n * @export\n * @interface VideoMOSStats\n */\nexport interface VideoMOSStats {\n /**\n * \n * @type {number}\n * @memberof VideoMOSStats\n */\n average_score: number;\n /**\n * \n * @type {Array<number>}\n * @memberof VideoMOSStats\n */\n histogram_duration_seconds: Array<number>;\n /**\n * \n * @type {number}\n * @memberof VideoMOSStats\n */\n max_score: number;\n /**\n * \n * @type {number}\n * @memberof VideoMOSStats\n */\n min_score: number;\n}\n/**\n * \n * @export\n * @interface VideoMediaPubSubHint\n */\nexport interface VideoMediaPubSubHint {\n /**\n * \n * @type {boolean}\n * @memberof VideoMediaPubSubHint\n */\n audio_published: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoMediaPubSubHint\n */\n audio_subscribed: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoMediaPubSubHint\n */\n video_published: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoMediaPubSubHint\n */\n video_subscribed: boolean;\n}\n/**\n * \n * @export\n * @interface VideoMemberRequest\n */\nexport interface VideoMemberRequest {\n /**\n * Custom data for this object\n * @type {{ [key: string]: any; }}\n * @memberof VideoMemberRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof VideoMemberRequest\n */\n role?: string;\n /**\n * \n * @type {string}\n * @memberof VideoMemberRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoMemberResponse\n */\nexport interface VideoMemberResponse {\n /**\n * Date/time of creation\n * @type {string}\n * @memberof VideoMemberResponse\n */\n created_at: string;\n /**\n * Custom member response data\n * @type {{ [key: string]: any; }}\n * @memberof VideoMemberResponse\n */\n custom: { [key: string]: any; };\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof VideoMemberResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {string}\n * @memberof VideoMemberResponse\n */\n role?: string;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof VideoMemberResponse\n */\n updated_at: string;\n /**\n * \n * @type {VideoUserResponse}\n * @memberof VideoMemberResponse\n */\n user: VideoUserResponse;\n /**\n * \n * @type {string}\n * @memberof VideoMemberResponse\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoMuteUsersRequest\n */\nexport interface VideoMuteUsersRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoMuteUsersRequest\n */\n audio?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoMuteUsersRequest\n */\n mute_all_users?: boolean;\n /**\n * \n * @type {VideoUserRequest}\n * @memberof VideoMuteUsersRequest\n */\n muted_by?: VideoUserRequest;\n /**\n * \n * @type {string}\n * @memberof VideoMuteUsersRequest\n */\n muted_by_id?: string;\n /**\n * \n * @type {boolean}\n * @memberof VideoMuteUsersRequest\n */\n screenshare?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoMuteUsersRequest\n */\n screenshare_audio?: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoMuteUsersRequest\n */\n user_ids?: Array<string>;\n /**\n * \n * @type {boolean}\n * @memberof VideoMuteUsersRequest\n */\n video?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoMuteUsersResponse\n */\nexport interface VideoMuteUsersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoMuteUsersResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoNoiseCancellationSettings\n */\nexport interface VideoNoiseCancellationSettings {\n /**\n * \n * @type {string}\n * @memberof VideoNoiseCancellationSettings\n */\n mode: VideoNoiseCancellationSettingsModeEnum;\n}\n\n\n/**\n * @export\n */\nexport const VideoNoiseCancellationSettingsModeEnum = {\n AVAILABLE: 'available',\n DISABLED: 'disabled',\n AUTO_ON: 'auto-on'\n} as const;\nexport type VideoNoiseCancellationSettingsModeEnum = typeof VideoNoiseCancellationSettingsModeEnum[keyof typeof VideoNoiseCancellationSettingsModeEnum];\n\n/**\n * \n * @export\n * @interface VideoNotificationSettings\n */\nexport interface VideoNotificationSettings {\n /**\n * \n * @type {VideoEventNotificationSettings}\n * @memberof VideoNotificationSettings\n */\n call_live_started?: VideoEventNotificationSettings;\n /**\n * \n * @type {VideoEventNotificationSettings}\n * @memberof VideoNotificationSettings\n */\n call_missed?: VideoEventNotificationSettings;\n /**\n * \n * @type {VideoEventNotificationSettings}\n * @memberof VideoNotificationSettings\n */\n call_notification?: VideoEventNotificationSettings;\n /**\n * \n * @type {VideoEventNotificationSettings}\n * @memberof VideoNotificationSettings\n */\n call_ring?: VideoEventNotificationSettings;\n /**\n * \n * @type {boolean}\n * @memberof VideoNotificationSettings\n */\n enabled?: boolean;\n /**\n * \n * @type {VideoEventNotificationSettings}\n * @memberof VideoNotificationSettings\n */\n session_started?: VideoEventNotificationSettings;\n}\n/**\n * \n * @export\n * @interface VideoNullBool\n */\nexport interface VideoNullBool {\n /**\n * \n * @type {boolean}\n * @memberof VideoNullBool\n */\n HasValue?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoNullBool\n */\n Value?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoNullTime\n */\nexport interface VideoNullTime {\n /**\n * \n * @type {boolean}\n * @memberof VideoNullTime\n */\n HasValue?: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoNullTime\n */\n Value?: string;\n}\n\n/**\n * All possibility of string to use\n * @export\n */\nexport const VideoOwnCapability = {\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_RECORD_CALL: 'start-record-call',\n START_TRANSCRIPTION_CALL: 'start-transcription-call',\n STOP_BROADCAST_CALL: 'stop-broadcast-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;\nexport type VideoOwnCapability = typeof VideoOwnCapability[keyof typeof VideoOwnCapability];\n\n/**\n * \n * @export\n * @interface VideoPinRequest\n */\nexport interface VideoPinRequest {\n /**\n * \n * @type {string}\n * @memberof VideoPinRequest\n */\n session_id: string;\n /**\n * \n * @type {string}\n * @memberof VideoPinRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoPinResponse\n */\nexport interface VideoPinResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoPinResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoPrivacySettings\n */\nexport interface VideoPrivacySettings {\n /**\n * \n * @type {VideoReadReceipts}\n * @memberof VideoPrivacySettings\n */\n read_receipts?: VideoReadReceipts;\n /**\n * \n * @type {VideoTypingIndicators}\n * @memberof VideoPrivacySettings\n */\n typing_indicators?: VideoTypingIndicators;\n}\n/**\n * \n * @export\n * @interface VideoPublishedTrackInfo\n */\nexport interface VideoPublishedTrackInfo {\n /**\n * \n * @type {string}\n * @memberof VideoPublishedTrackInfo\n */\n codec_mime_type?: string;\n /**\n * \n * @type {number}\n * @memberof VideoPublishedTrackInfo\n */\n duration_seconds?: number;\n /**\n * \n * @type {string}\n * @memberof VideoPublishedTrackInfo\n */\n track_type?: string;\n}\n/**\n * \n * @export\n * @interface VideoPublisherAggregateStats\n */\nexport interface VideoPublisherAggregateStats {\n /**\n * \n * @type {{ [key: string]: VideoCount; }}\n * @memberof VideoPublisherAggregateStats\n */\n by_track_type?: { [key: string]: VideoCount; };\n /**\n * \n * @type {VideoCount}\n * @memberof VideoPublisherAggregateStats\n */\n total?: VideoCount;\n}\n/**\n * \n * @export\n * @interface VideoPushNotificationSettings\n */\nexport interface VideoPushNotificationSettings {\n /**\n * \n * @type {boolean}\n * @memberof VideoPushNotificationSettings\n */\n disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoPushNotificationSettings\n */\n disabled_until?: string;\n}\n/**\n * \n * @export\n * @interface VideoPushNotificationSettingsInput\n */\nexport interface VideoPushNotificationSettingsInput {\n /**\n * \n * @type {VideoNullBool}\n * @memberof VideoPushNotificationSettingsInput\n */\n disabled?: VideoNullBool;\n /**\n * \n * @type {VideoNullTime}\n * @memberof VideoPushNotificationSettingsInput\n */\n disabled_until?: VideoNullTime;\n}\n/**\n * \n * @export\n * @interface VideoQueryCallMembersRequest\n */\nexport interface VideoQueryCallMembersRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoQueryCallMembersRequest\n */\n filter_conditions?: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallMembersRequest\n */\n id: string;\n /**\n * \n * @type {number}\n * @memberof VideoQueryCallMembersRequest\n */\n limit?: number;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallMembersRequest\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallMembersRequest\n */\n prev?: string;\n /**\n * \n * @type {Array<VideoSortParam>}\n * @memberof VideoQueryCallMembersRequest\n */\n sort?: Array<VideoSortParam>;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallMembersRequest\n */\n type: string;\n}\n/**\n * \n * @export\n * @interface VideoQueryCallMembersResponse\n */\nexport interface VideoQueryCallMembersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoQueryCallMembersResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoMemberResponse>}\n * @memberof VideoQueryCallMembersResponse\n */\n members: Array<VideoMemberResponse>;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallMembersResponse\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallMembersResponse\n */\n prev?: string;\n}\n/**\n * \n * @export\n * @interface VideoQueryCallStatsRequest\n */\nexport interface VideoQueryCallStatsRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoQueryCallStatsRequest\n */\n filter_conditions?: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof VideoQueryCallStatsRequest\n */\n limit?: number;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallStatsRequest\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallStatsRequest\n */\n prev?: string;\n /**\n * \n * @type {Array<VideoSortParam>}\n * @memberof VideoQueryCallStatsRequest\n */\n sort?: Array<VideoSortParam>;\n}\n/**\n * \n * @export\n * @interface VideoQueryCallStatsResponse\n */\nexport interface VideoQueryCallStatsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoQueryCallStatsResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallStatsResponse\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallStatsResponse\n */\n prev?: string;\n /**\n * \n * @type {Array<VideoCallStatsReportSummaryResponse>}\n * @memberof VideoQueryCallStatsResponse\n */\n reports: Array<VideoCallStatsReportSummaryResponse>;\n}\n/**\n * \n * @export\n * @interface VideoQueryCallsRequest\n */\nexport interface VideoQueryCallsRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoQueryCallsRequest\n */\n filter_conditions?: { [key: string]: any; };\n /**\n * \n * @type {number}\n * @memberof VideoQueryCallsRequest\n */\n limit?: number;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallsRequest\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallsRequest\n */\n prev?: string;\n /**\n * \n * @type {Array<VideoSortParam>}\n * @memberof VideoQueryCallsRequest\n */\n sort?: Array<VideoSortParam>;\n}\n/**\n * \n * @export\n * @interface VideoQueryCallsResponse\n */\nexport interface VideoQueryCallsResponse {\n /**\n * \n * @type {Array<VideoCallStateResponseFields>}\n * @memberof VideoQueryCallsResponse\n */\n calls: Array<VideoCallStateResponseFields>;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallsResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallsResponse\n */\n next?: string;\n /**\n * \n * @type {string}\n * @memberof VideoQueryCallsResponse\n */\n prev?: string;\n}\n/**\n * RTMP input settings\n * @export\n * @interface VideoRTMPIngress\n */\nexport interface VideoRTMPIngress {\n /**\n * \n * @type {string}\n * @memberof VideoRTMPIngress\n */\n address: string;\n}\n/**\n * \n * @export\n * @interface VideoReadReceipts\n */\nexport interface VideoReadReceipts {\n /**\n * \n * @type {boolean}\n * @memberof VideoReadReceipts\n */\n enabled?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoRecordSettingsRequest\n */\nexport interface VideoRecordSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoRecordSettingsRequest\n */\n audio_only?: boolean;\n /**\n * \n * @type {VideoLayoutSettingsRequest}\n * @memberof VideoRecordSettingsRequest\n */\n layout?: VideoLayoutSettingsRequest;\n /**\n * \n * @type {string}\n * @memberof VideoRecordSettingsRequest\n */\n mode: VideoRecordSettingsRequestModeEnum;\n /**\n * \n * @type {string}\n * @memberof VideoRecordSettingsRequest\n */\n quality?: VideoRecordSettingsRequestQualityEnum;\n}\n\n\n/**\n * @export\n */\nexport const VideoRecordSettingsRequestModeEnum = {\n AVAILABLE: 'available',\n DISABLED: 'disabled',\n AUTO_ON: 'auto-on'\n} as const;\nexport type VideoRecordSettingsRequestModeEnum = typeof VideoRecordSettingsRequestModeEnum[keyof typeof VideoRecordSettingsRequestModeEnum];\n\n/**\n * @export\n */\nexport const VideoRecordSettingsRequestQualityEnum = {\n _360P: '360p',\n _480P: '480p',\n _720P: '720p',\n _1080P: '1080p',\n _1440P: '1440p',\n PORTRAIT_360X640: 'portrait-360x640',\n PORTRAIT_480X854: 'portrait-480x854',\n PORTRAIT_720X1280: 'portrait-720x1280',\n PORTRAIT_1080X1920: 'portrait-1080x1920',\n PORTRAIT_1440X2560: 'portrait-1440x2560'\n} as const;\nexport type VideoRecordSettingsRequestQualityEnum = typeof VideoRecordSettingsRequestQualityEnum[keyof typeof VideoRecordSettingsRequestQualityEnum];\n\n/**\n * \n * @export\n * @interface VideoRecordSettingsResponse\n */\nexport interface VideoRecordSettingsResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoRecordSettingsResponse\n */\n audio_only: boolean;\n /**\n * \n * @type {VideoLayoutSettingsResponse}\n * @memberof VideoRecordSettingsResponse\n */\n layout: VideoLayoutSettingsResponse;\n /**\n * \n * @type {string}\n * @memberof VideoRecordSettingsResponse\n */\n mode: string;\n /**\n * \n * @type {string}\n * @memberof VideoRecordSettingsResponse\n */\n quality: string;\n}\n/**\n * \n * @export\n * @interface VideoResponse\n */\nexport interface VideoResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoRingSettingsRequest\n */\nexport interface VideoRingSettingsRequest {\n /**\n * \n * @type {number}\n * @memberof VideoRingSettingsRequest\n */\n auto_cancel_timeout_ms: number;\n /**\n * \n * @type {number}\n * @memberof VideoRingSettingsRequest\n */\n incoming_call_timeout_ms: number;\n /**\n * \n * @type {number}\n * @memberof VideoRingSettingsRequest\n */\n missed_call_timeout_ms?: number;\n}\n/**\n * \n * @export\n * @interface VideoRingSettingsResponse\n */\nexport interface VideoRingSettingsResponse {\n /**\n * \n * @type {number}\n * @memberof VideoRingSettingsResponse\n */\n auto_cancel_timeout_ms: number;\n /**\n * \n * @type {number}\n * @memberof VideoRingSettingsResponse\n */\n incoming_call_timeout_ms: number;\n /**\n * \n * @type {number}\n * @memberof VideoRingSettingsResponse\n */\n missed_call_timeout_ms: number;\n}\n/**\n * \n * @export\n * @interface VideoS3Request\n */\nexport interface VideoS3Request {\n /**\n * \n * @type {string}\n * @memberof VideoS3Request\n */\n s3_api_key?: string;\n /**\n * \n * @type {string}\n * @memberof VideoS3Request\n */\n s3_region: string;\n /**\n * \n * @type {string}\n * @memberof VideoS3Request\n */\n s3_secret?: string;\n}\n/**\n * \n * @export\n * @interface VideoSFULocationResponse\n */\nexport interface VideoSFULocationResponse {\n /**\n * \n * @type {VideoCoordinates}\n * @memberof VideoSFULocationResponse\n */\n coordinates: VideoCoordinates;\n /**\n * \n * @type {string}\n * @memberof VideoSFULocationResponse\n */\n datacenter: string;\n /**\n * \n * @type {string}\n * @memberof VideoSFULocationResponse\n */\n id: string;\n /**\n * \n * @type {VideoLocation}\n * @memberof VideoSFULocationResponse\n */\n location: VideoLocation;\n}\n/**\n * \n * @export\n * @interface VideoScreensharingSettingsRequest\n */\nexport interface VideoScreensharingSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoScreensharingSettingsRequest\n */\n access_request_enabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoScreensharingSettingsRequest\n */\n enabled?: boolean;\n /**\n * \n * @type {VideoTargetResolution}\n * @memberof VideoScreensharingSettingsRequest\n */\n target_resolution?: VideoTargetResolution;\n}\n/**\n * \n * @export\n * @interface VideoScreensharingSettingsResponse\n */\nexport interface VideoScreensharingSettingsResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoScreensharingSettingsResponse\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoScreensharingSettingsResponse\n */\n enabled: boolean;\n /**\n * \n * @type {VideoTargetResolution}\n * @memberof VideoScreensharingSettingsResponse\n */\n target_resolution?: VideoTargetResolution;\n}\n/**\n * \n * @export\n * @interface VideoSendCallEventRequest\n */\nexport interface VideoSendCallEventRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoSendCallEventRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {VideoUserRequest}\n * @memberof VideoSendCallEventRequest\n */\n user?: VideoUserRequest;\n /**\n * \n * @type {string}\n * @memberof VideoSendCallEventRequest\n */\n user_id?: string;\n}\n/**\n * \n * @export\n * @interface VideoSendCallEventResponse\n */\nexport interface VideoSendCallEventResponse {\n /**\n * \n * @type {string}\n * @memberof VideoSendCallEventResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoSortParam\n */\nexport interface VideoSortParam {\n /**\n * Direction of sorting, -1 for descending, 1 for ascending\n * @type {number}\n * @memberof VideoSortParam\n */\n direction?: number;\n /**\n * Name of field to sort by\n * @type {string}\n * @memberof VideoSortParam\n */\n field?: string;\n}\n/**\n * \n * @export\n * @interface VideoStartHLSBroadcastingResponse\n */\nexport interface VideoStartHLSBroadcastingResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoStartHLSBroadcastingResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof VideoStartHLSBroadcastingResponse\n */\n playlist_url: string;\n}\n/**\n * \n * @export\n * @interface VideoStartRecordingRequest\n */\nexport interface VideoStartRecordingRequest {\n /**\n * \n * @type {string}\n * @memberof VideoStartRecordingRequest\n */\n recording_external_storage?: string;\n}\n/**\n * \n * @export\n * @interface VideoStartRecordingResponse\n */\nexport interface VideoStartRecordingResponse {\n /**\n * \n * @type {string}\n * @memberof VideoStartRecordingResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoStartTranscriptionRequest\n */\nexport interface VideoStartTranscriptionRequest {\n /**\n * \n * @type {string}\n * @memberof VideoStartTranscriptionRequest\n */\n transcription_external_storage?: string;\n}\n/**\n * \n * @export\n * @interface VideoStartTranscriptionResponse\n */\nexport interface VideoStartTranscriptionResponse {\n /**\n * \n * @type {string}\n * @memberof VideoStartTranscriptionResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoStopHLSBroadcastingResponse\n */\nexport interface VideoStopHLSBroadcastingResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoStopHLSBroadcastingResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoStopLiveResponse\n */\nexport interface VideoStopLiveResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoStopLiveResponse\n */\n call: VideoCallResponse;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoStopLiveResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoStopRecordingResponse\n */\nexport interface VideoStopRecordingResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoStopRecordingResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoStopTranscriptionResponse\n */\nexport interface VideoStopTranscriptionResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoStopTranscriptionResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoSubsession\n */\nexport interface VideoSubsession {\n /**\n * \n * @type {number}\n * @memberof VideoSubsession\n */\n ended_at: number;\n /**\n * \n * @type {number}\n * @memberof VideoSubsession\n */\n joined_at: number;\n /**\n * \n * @type {VideoMediaPubSubHint}\n * @memberof VideoSubsession\n */\n pub_sub_hint?: VideoMediaPubSubHint;\n /**\n * \n * @type {string}\n * @memberof VideoSubsession\n */\n sfu_id: string;\n}\n/**\n * \n * @export\n * @interface VideoTURNAggregatedStats\n */\nexport interface VideoTURNAggregatedStats {\n /**\n * \n * @type {VideoCount}\n * @memberof VideoTURNAggregatedStats\n */\n tcp?: VideoCount;\n /**\n * \n * @type {VideoCount}\n * @memberof VideoTURNAggregatedStats\n */\n total?: VideoCount;\n}\n/**\n * \n * @export\n * @interface VideoTargetResolution\n */\nexport interface VideoTargetResolution {\n /**\n * \n * @type {number}\n * @memberof VideoTargetResolution\n */\n bitrate?: number;\n /**\n * \n * @type {number}\n * @memberof VideoTargetResolution\n */\n height: number;\n /**\n * \n * @type {number}\n * @memberof VideoTargetResolution\n */\n width: number;\n}\n/**\n * \n * @export\n * @interface VideoThumbnailResponse\n */\nexport interface VideoThumbnailResponse {\n /**\n * \n * @type {string}\n * @memberof VideoThumbnailResponse\n */\n image_url: string;\n}\n/**\n * \n * @export\n * @interface VideoThumbnailsSettingsRequest\n */\nexport interface VideoThumbnailsSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoThumbnailsSettingsRequest\n */\n enabled?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoThumbnailsSettingsResponse\n */\nexport interface VideoThumbnailsSettingsResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoThumbnailsSettingsResponse\n */\n enabled: boolean;\n}\n/**\n * \n * @export\n * @interface VideoTimeStats\n */\nexport interface VideoTimeStats {\n /**\n * \n * @type {number}\n * @memberof VideoTimeStats\n */\n average_seconds: number;\n /**\n * \n * @type {number}\n * @memberof VideoTimeStats\n */\n max_seconds: number;\n}\n/**\n * \n * @export\n * @interface VideoTranscriptionSettingsRequest\n */\nexport interface VideoTranscriptionSettingsRequest {\n /**\n * \n * @type {string}\n * @memberof VideoTranscriptionSettingsRequest\n */\n closed_caption_mode?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoTranscriptionSettingsRequest\n */\n languages?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof VideoTranscriptionSettingsRequest\n */\n mode: VideoTranscriptionSettingsRequestModeEnum;\n}\n\n\n/**\n * @export\n */\nexport const VideoTranscriptionSettingsRequestModeEnum = {\n AVAILABLE: 'available',\n DISABLED: 'disabled',\n AUTO_ON: 'auto-on'\n} as const;\nexport type VideoTranscriptionSettingsRequestModeEnum = typeof VideoTranscriptionSettingsRequestModeEnum[keyof typeof VideoTranscriptionSettingsRequestModeEnum];\n\n/**\n * \n * @export\n * @interface VideoTranscriptionSettingsResponse\n */\nexport interface VideoTranscriptionSettingsResponse {\n /**\n * \n * @type {string}\n * @memberof VideoTranscriptionSettingsResponse\n */\n closed_caption_mode: string;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoTranscriptionSettingsResponse\n */\n languages: Array<string>;\n /**\n * \n * @type {string}\n * @memberof VideoTranscriptionSettingsResponse\n */\n mode: VideoTranscriptionSettingsResponseModeEnum;\n}\n\n\n/**\n * @export\n */\nexport const VideoTranscriptionSettingsResponseModeEnum = {\n AVAILABLE: 'available',\n DISABLED: 'disabled',\n AUTO_ON: 'auto-on'\n} as const;\nexport type VideoTranscriptionSettingsResponseModeEnum = typeof VideoTranscriptionSettingsResponseModeEnum[keyof typeof VideoTranscriptionSettingsResponseModeEnum];\n\n/**\n * \n * @export\n * @interface VideoTypingIndicators\n */\nexport interface VideoTypingIndicators {\n /**\n * \n * @type {boolean}\n * @memberof VideoTypingIndicators\n */\n enabled?: boolean;\n}\n/**\n * \n * @export\n * @interface VideoUnblockUserRequest\n */\nexport interface VideoUnblockUserRequest {\n /**\n * the user to unblock\n * @type {string}\n * @memberof VideoUnblockUserRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoUnblockUserResponse\n */\nexport interface VideoUnblockUserResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoUnblockUserResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoUnpinRequest\n */\nexport interface VideoUnpinRequest {\n /**\n * \n * @type {string}\n * @memberof VideoUnpinRequest\n */\n session_id: string;\n /**\n * \n * @type {string}\n * @memberof VideoUnpinRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoUnpinResponse\n */\nexport interface VideoUnpinResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoUnpinResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoUpdateCallMembersRequest\n */\nexport interface VideoUpdateCallMembersRequest {\n /**\n * List of userID to remove\n * @type {Array<string>}\n * @memberof VideoUpdateCallMembersRequest\n */\n remove_members?: Array<string>;\n /**\n * List of members to update or insert\n * @type {Array<VideoMemberRequest>}\n * @memberof VideoUpdateCallMembersRequest\n */\n update_members?: Array<VideoMemberRequest>;\n}\n/**\n * \n * @export\n * @interface VideoUpdateCallMembersResponse\n */\nexport interface VideoUpdateCallMembersResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoUpdateCallMembersResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoMemberResponse>}\n * @memberof VideoUpdateCallMembersResponse\n */\n members: Array<VideoMemberResponse>;\n}\n/**\n * \n * @export\n * @interface VideoUpdateCallRequest\n */\nexport interface VideoUpdateCallRequest {\n /**\n * Custom data for this object\n * @type {{ [key: string]: any; }}\n * @memberof VideoUpdateCallRequest\n */\n custom?: { [key: string]: any; };\n /**\n * \n * @type {VideoCallSettingsRequest}\n * @memberof VideoUpdateCallRequest\n */\n settings_override?: VideoCallSettingsRequest;\n /**\n * the time the call is scheduled to start\n * @type {string}\n * @memberof VideoUpdateCallRequest\n */\n starts_at?: string;\n}\n/**\n * Represents a call\n * @export\n * @interface VideoUpdateCallResponse\n */\nexport interface VideoUpdateCallResponse {\n /**\n * \n * @type {VideoCallResponse}\n * @memberof VideoUpdateCallResponse\n */\n call: VideoCallResponse;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallResponse\n */\n duration: string;\n /**\n * \n * @type {Array<VideoMemberResponse>}\n * @memberof VideoUpdateCallResponse\n */\n members: Array<VideoMemberResponse>;\n /**\n * \n * @type {Array<VideoOwnCapability>}\n * @memberof VideoUpdateCallResponse\n */\n own_capabilities: Array<VideoOwnCapability>;\n}\n/**\n * \n * @export\n * @interface VideoUpdateCallTypeRequest\n */\nexport interface VideoUpdateCallTypeRequest {\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallTypeRequest\n */\n external_storage?: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoUpdateCallTypeRequest\n */\n grants?: { [key: string]: Array<string>; };\n /**\n * \n * @type {VideoNotificationSettings}\n * @memberof VideoUpdateCallTypeRequest\n */\n notification_settings?: VideoNotificationSettings;\n /**\n * \n * @type {VideoCallSettingsRequest}\n * @memberof VideoUpdateCallTypeRequest\n */\n settings?: VideoCallSettingsRequest;\n}\n/**\n * \n * @export\n * @interface VideoUpdateCallTypeResponse\n */\nexport interface VideoUpdateCallTypeResponse {\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallTypeResponse\n */\n created_at: string;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallTypeResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallTypeResponse\n */\n external_storage?: string;\n /**\n * \n * @type {{ [key: string]: Array<string>; }}\n * @memberof VideoUpdateCallTypeResponse\n */\n grants: { [key: string]: Array<string>; };\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallTypeResponse\n */\n name: string;\n /**\n * \n * @type {VideoNotificationSettings}\n * @memberof VideoUpdateCallTypeResponse\n */\n notification_settings: VideoNotificationSettings;\n /**\n * \n * @type {VideoCallSettingsResponse}\n * @memberof VideoUpdateCallTypeResponse\n */\n settings: VideoCallSettingsResponse;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateCallTypeResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface VideoUpdateExternalStorageRequest\n */\nexport interface VideoUpdateExternalStorageRequest {\n /**\n * \n * @type {VideoS3Request}\n * @memberof VideoUpdateExternalStorageRequest\n */\n aws_s3?: VideoS3Request;\n /**\n * \n * @type {VideoAzureRequest}\n * @memberof VideoUpdateExternalStorageRequest\n */\n azure_blob?: VideoAzureRequest;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateExternalStorageRequest\n */\n bucket: string;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateExternalStorageRequest\n */\n gcs_credentials?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateExternalStorageRequest\n */\n path?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateExternalStorageRequest\n */\n storage_type: VideoUpdateExternalStorageRequestStorageTypeEnum;\n}\n\n\n/**\n * @export\n */\nexport const VideoUpdateExternalStorageRequestStorageTypeEnum = {\n S3: 's3',\n GCS: 'gcs',\n ABS: 'abs'\n} as const;\nexport type VideoUpdateExternalStorageRequestStorageTypeEnum = typeof VideoUpdateExternalStorageRequestStorageTypeEnum[keyof typeof VideoUpdateExternalStorageRequestStorageTypeEnum];\n\n/**\n * \n * @export\n * @interface VideoUpdateExternalStorageResponse\n */\nexport interface VideoUpdateExternalStorageResponse {\n /**\n * \n * @type {string}\n * @memberof VideoUpdateExternalStorageResponse\n */\n bucket: string;\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoUpdateExternalStorageResponse\n */\n duration: string;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateExternalStorageResponse\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateExternalStorageResponse\n */\n path: string;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateExternalStorageResponse\n */\n type: VideoUpdateExternalStorageResponseTypeEnum;\n}\n\n\n/**\n * @export\n */\nexport const VideoUpdateExternalStorageResponseTypeEnum = {\n S3: 's3',\n GCS: 'gcs',\n ABS: 'abs'\n} as const;\nexport type VideoUpdateExternalStorageResponseTypeEnum = typeof VideoUpdateExternalStorageResponseTypeEnum[keyof typeof VideoUpdateExternalStorageResponseTypeEnum];\n\n/**\n * \n * @export\n * @interface VideoUpdateUserPermissionsRequest\n */\nexport interface VideoUpdateUserPermissionsRequest {\n /**\n * \n * @type {Array<string>}\n * @memberof VideoUpdateUserPermissionsRequest\n */\n grant_permissions?: Array<string>;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoUpdateUserPermissionsRequest\n */\n revoke_permissions?: Array<string>;\n /**\n * \n * @type {string}\n * @memberof VideoUpdateUserPermissionsRequest\n */\n user_id: string;\n}\n/**\n * \n * @export\n * @interface VideoUpdateUserPermissionsResponse\n */\nexport interface VideoUpdateUserPermissionsResponse {\n /**\n * Duration of the request in human-readable format\n * @type {string}\n * @memberof VideoUpdateUserPermissionsResponse\n */\n duration: string;\n}\n/**\n * \n * @export\n * @interface VideoUserInfoResponse\n */\nexport interface VideoUserInfoResponse {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoUserInfoResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof VideoUserInfoResponse\n */\n image: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserInfoResponse\n */\n name: string;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoUserInfoResponse\n */\n roles: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoUserRequest\n */\nexport interface VideoUserRequest {\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoUserRequest\n */\n custom?: { [key: string]: any; };\n /**\n * User ID\n * @type {string}\n * @memberof VideoUserRequest\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserRequest\n */\n image?: string;\n /**\n * \n * @type {boolean}\n * @memberof VideoUserRequest\n */\n invisible?: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoUserRequest\n */\n language?: string;\n /**\n * Optional name of user\n * @type {string}\n * @memberof VideoUserRequest\n */\n name?: string;\n /**\n * \n * @type {VideoPrivacySettings}\n * @memberof VideoUserRequest\n */\n privacy_settings?: VideoPrivacySettings;\n /**\n * \n * @type {VideoPushNotificationSettingsInput}\n * @memberof VideoUserRequest\n */\n push_notifications?: VideoPushNotificationSettingsInput;\n /**\n * \n * @type {string}\n * @memberof VideoUserRequest\n */\n role?: string;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoUserRequest\n */\n teams?: Array<string>;\n}\n/**\n * \n * @export\n * @interface VideoUserResponse\n */\nexport interface VideoUserResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoUserResponse\n */\n banned: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoUserResponse\n */\n blocked_user_ids: Array<string>;\n /**\n * Date/time of creation\n * @type {string}\n * @memberof VideoUserResponse\n */\n created_at: string;\n /**\n * \n * @type {{ [key: string]: any; }}\n * @memberof VideoUserResponse\n */\n custom: { [key: string]: any; };\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n deactivated_at?: string;\n /**\n * Date/time of deletion\n * @type {string}\n * @memberof VideoUserResponse\n */\n deleted_at?: string;\n /**\n * \n * @type {Array<VideoDevice>}\n * @memberof VideoUserResponse\n */\n devices: Array<VideoDevice>;\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n id: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n image?: string;\n /**\n * \n * @type {boolean}\n * @memberof VideoUserResponse\n */\n invisible: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n language: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n last_active?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n name?: string;\n /**\n * \n * @type {boolean}\n * @memberof VideoUserResponse\n */\n online: boolean;\n /**\n * \n * @type {VideoPushNotificationSettings}\n * @memberof VideoUserResponse\n */\n push_notifications?: VideoPushNotificationSettings;\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n revoke_tokens_issued_before?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserResponse\n */\n role: string;\n /**\n * \n * @type {boolean}\n * @memberof VideoUserResponse\n */\n shadow_banned: boolean;\n /**\n * \n * @type {Array<string>}\n * @memberof VideoUserResponse\n */\n teams: Array<string>;\n /**\n * Date/time of the last update\n * @type {string}\n * @memberof VideoUserResponse\n */\n updated_at: string;\n}\n/**\n * \n * @export\n * @interface VideoUserSessionStats\n */\nexport interface VideoUserSessionStats {\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n browser?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n browser_version?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n current_ip?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n current_sfu?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n device_model?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n device_version?: string;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n distance_to_sfu_kilometers?: number;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n freeze_duration_seconds: number;\n /**\n * \n * @type {VideoGeolocationResult}\n * @memberof VideoUserSessionStats\n */\n geolocation?: VideoGeolocationResult;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoUserSessionStats\n */\n jitter?: VideoTimeStats;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoUserSessionStats\n */\n latency?: VideoTimeStats;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n max_fir_per_second?: number;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n max_freeze_fraction: number;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n max_freezes_duration_seconds: number;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n max_freezes_per_second?: number;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n max_nack_per_second?: number;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n max_pli_per_second?: number;\n /**\n * \n * @type {VideoVideoQuality}\n * @memberof VideoUserSessionStats\n */\n max_publishing_video_quality?: VideoVideoQuality;\n /**\n * \n * @type {VideoVideoQuality}\n * @memberof VideoUserSessionStats\n */\n max_receiving_video_quality?: VideoVideoQuality;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n os?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n os_version?: string;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n packet_loss_fraction: number;\n /**\n * \n * @type {VideoMediaPubSubHint}\n * @memberof VideoUserSessionStats\n */\n pub_sub_hints?: VideoMediaPubSubHint;\n /**\n * \n * @type {Array<VideoPublishedTrackInfo>}\n * @memberof VideoUserSessionStats\n */\n published_tracks?: Array<VideoPublishedTrackInfo>;\n /**\n * \n * @type {VideoMOSStats}\n * @memberof VideoUserSessionStats\n */\n publisher_audio_mos?: VideoMOSStats;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoUserSessionStats\n */\n publisher_jitter?: VideoTimeStats;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoUserSessionStats\n */\n publisher_latency?: VideoTimeStats;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n publisher_noise_cancellation_seconds?: number;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n publisher_packet_loss_fraction: number;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n publisher_quality_limitation_fraction?: number;\n /**\n * \n * @type {{ [key: string]: number; }}\n * @memberof VideoUserSessionStats\n */\n publisher_video_quality_limitation_duration_seconds?: { [key: string]: number; };\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n publishing_audio_codec?: string;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n publishing_duration_seconds: number;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n publishing_video_codec?: string;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n quality_score: number;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n receiving_audio_codec?: string;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n receiving_duration_seconds: number;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n receiving_video_codec?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n sdk?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n sdk_version?: string;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n session_id: string;\n /**\n * \n * @type {VideoMOSStats}\n * @memberof VideoUserSessionStats\n */\n subscriber_audio_mos?: VideoMOSStats;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoUserSessionStats\n */\n subscriber_jitter?: VideoTimeStats;\n /**\n * \n * @type {VideoTimeStats}\n * @memberof VideoUserSessionStats\n */\n subscriber_latency?: VideoTimeStats;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n subscriber_video_quality_throttled_duration_seconds?: number;\n /**\n * \n * @type {Array<VideoSubsession>}\n * @memberof VideoUserSessionStats\n */\n subsessions?: Array<VideoSubsession>;\n /**\n * \n * @type {VideoCallTimeline}\n * @memberof VideoUserSessionStats\n */\n timeline?: VideoCallTimeline;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n total_pixels_in: number;\n /**\n * \n * @type {number}\n * @memberof VideoUserSessionStats\n */\n total_pixels_out: number;\n /**\n * \n * @type {boolean}\n * @memberof VideoUserSessionStats\n */\n truncated?: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoUserSessionStats\n */\n webrtc_version?: string;\n}\n/**\n * \n * @export\n * @interface VideoUserStats\n */\nexport interface VideoUserStats {\n /**\n * \n * @type {VideoUserInfoResponse}\n * @memberof VideoUserStats\n */\n info: VideoUserInfoResponse;\n /**\n * \n * @type {number}\n * @memberof VideoUserStats\n */\n min_event_ts: number;\n /**\n * \n * @type {number}\n * @memberof VideoUserStats\n */\n rating?: number;\n /**\n * \n * @type {Array<VideoUserSessionStats>}\n * @memberof VideoUserStats\n */\n session_stats: Array<VideoUserSessionStats>;\n}\n/**\n * \n * @export\n * @interface VideoVideoQuality\n */\nexport interface VideoVideoQuality {\n /**\n * \n * @type {VideoVideoResolution}\n * @memberof VideoVideoQuality\n */\n resolution?: VideoVideoResolution;\n /**\n * \n * @type {string}\n * @memberof VideoVideoQuality\n */\n usage_type?: string;\n}\n/**\n * \n * @export\n * @interface VideoVideoResolution\n */\nexport interface VideoVideoResolution {\n /**\n * \n * @type {number}\n * @memberof VideoVideoResolution\n */\n height: number;\n /**\n * \n * @type {number}\n * @memberof VideoVideoResolution\n */\n width: number;\n}\n/**\n * \n * @export\n * @interface VideoVideoSettingsRequest\n */\nexport interface VideoVideoSettingsRequest {\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettingsRequest\n */\n access_request_enabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettingsRequest\n */\n camera_default_on?: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoVideoSettingsRequest\n */\n camera_facing?: VideoVideoSettingsRequestCameraFacingEnum;\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettingsRequest\n */\n enabled?: boolean;\n /**\n * \n * @type {VideoTargetResolution}\n * @memberof VideoVideoSettingsRequest\n */\n target_resolution?: VideoTargetResolution;\n}\n\n\n/**\n * @export\n */\nexport const VideoVideoSettingsRequestCameraFacingEnum = {\n FRONT: 'front',\n BACK: 'back',\n EXTERNAL: 'external'\n} as const;\nexport type VideoVideoSettingsRequestCameraFacingEnum = typeof VideoVideoSettingsRequestCameraFacingEnum[keyof typeof VideoVideoSettingsRequestCameraFacingEnum];\n\n/**\n * \n * @export\n * @interface VideoVideoSettingsResponse\n */\nexport interface VideoVideoSettingsResponse {\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettingsResponse\n */\n access_request_enabled: boolean;\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettingsResponse\n */\n camera_default_on: boolean;\n /**\n * \n * @type {string}\n * @memberof VideoVideoSettingsResponse\n */\n camera_facing: VideoVideoSettingsResponseCameraFacingEnum;\n /**\n * \n * @type {boolean}\n * @memberof VideoVideoSettingsResponse\n */\n enabled: boolean;\n /**\n * \n * @type {VideoTargetResolution}\n * @memberof VideoVideoSettingsResponse\n */\n target_resolution: VideoTargetResolution;\n}\n\n\n/**\n * @export\n */\nexport const VideoVideoSettingsResponseCameraFacingEnum = {\n FRONT: 'front',\n BACK: 'back',\n EXTERNAL: 'external'\n} as const;\nexport type VideoVideoSettingsResponseCameraFacingEnum = typeof VideoVideoSettingsResponseCameraFacingEnum[keyof typeof VideoVideoSettingsResponseCameraFacingEnum];\n\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v122.3.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const BASE_PATH = \"https://stream-io-api.com\".replace(/\\/+$/, \"\");\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?: string | ((name: string) => string); // parameter for apiKey security\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n set config(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n get basePath(): string {\n return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken(): ((name?: string, scopes?: string[]) => string | Promise<string>) | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function' ? accessToken : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n\n\t private static readonly jsonRegex = new RegExp('^(:?application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$', 'i');\n private middleware: Middleware[];\n\n constructor(protected configuration = DefaultConfig) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n const next = this.clone<T>();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {\n const middlewares = preMiddlewares.map((pre) => ({ pre }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {\n const middlewares = postMiddlewares.map((post) => ({ post }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n protected isJsonMime(mime: string | null | undefined): boolean {\n if (!mime) {\n return false;\n }\n return BaseAPI.jsonRegex.test(mime);\n }\n\n protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise<Response> {\n const { url, init } = await this.createFetchParams(context, initOverrides);\n const response = await this.fetchApi(url, init);\n if (response && (response.status >= 200 && response.status < 300)) {\n return response;\n }\n throw new ResponseError(response, 'Response returned an error code');\n }\n\n private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) {\n let url = this.configuration.basePath + context.path;\n if (context.query !== undefined && Object.keys(context.query).length !== 0) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n\n const headers = Object.assign({}, this.configuration.headers, context.headers);\n Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});\n\n const initOverrideFn =\n typeof initOverrides === \"function\"\n ? initOverrides\n : async () => initOverrides;\n\n const initParams = {\n method: context.method,\n headers,\n body: context.body,\n credentials: this.configuration.credentials,\n };\n\n const overriddenInit: RequestInit = {\n ...initParams,\n ...(await initOverrideFn({\n init: initParams,\n context,\n }))\n };\n\n const init: RequestInit = {\n ...overriddenInit,\n body:\n isFormData(overriddenInit.body) ||\n overriddenInit.body instanceof URLSearchParams ||\n isBlob(overriddenInit.body)\n ? overriddenInit.body\n : JSON.stringify(overriddenInit.body),\n };\n\n return { url, init };\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = { url, init };\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams = await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n }) || fetchParams;\n }\n }\n let response: Response | undefined = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n } catch (e) {\n for (const middleware of this.middleware) {\n if (middleware.onError) {\n response = await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined,\n }) || response;\n }\n }\n if (response === undefined) {\n if (e instanceof Error) {\n throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');\n } else {\n throw e;\n }\n }\n }\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response = await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n }) || response;\n }\n }\n return response;\n }\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone<T extends BaseAPI>(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n};\n\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n override name: \"ResponseError\" = \"ResponseError\";\n constructor(public response: Response, msg?: string) {\n super(msg);\n }\n}\n\nexport class FetchError extends Error {\n override name: \"FetchError\" = \"FetchError\";\n constructor(public cause: Error, msg?: string) {\n super(msg);\n }\n}\n\nexport class RequiredError extends Error {\n override name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';\nexport type HTTPHeaders = { [key: string]: string };\nexport type HTTPQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery };\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody };\nexport type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';\n\nexport type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map(key => querystringSingleKey(key, params[key], prefix))\n .filter(part => part.length > 0)\n .join('&');\n}\n\nfunction querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery, keyPrefix: string = ''): string {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n}\n\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string;\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface ErrorContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n error: unknown;\n response?: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise<FetchParams | void>;\n post?(context: ResponseContext): Promise<Response | void>;\n onError?(context: ErrorContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n raw: Response;\n value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n constructor(public raw: Response, private transformer: ResponseTransformer<T> = (jsonValue: any) => jsonValue) {}\n\n async value(): Promise<T> {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<void> {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<Blob> {\n return await this.raw.blob();\n };\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<string> {\n return await this.raw.text();\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v122.3.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n APIError,\n BanRequest,\n BlockUsersRequest,\n BlockUsersResponse,\n CastPollVoteRequest,\n ChannelGetOrCreateRequest,\n ChannelStateResponse,\n CheckExternalStorageResponse,\n CheckPushRequest,\n CheckPushResponse,\n CheckSNSRequest,\n CheckSNSResponse,\n CheckSQSRequest,\n CheckSQSResponse,\n CreateBlockListRequest,\n CreateCallRequest,\n CreateCallResponse,\n CreateChannelTypeRequest,\n CreateChannelTypeResponse,\n CreateCommandRequest,\n CreateCommandResponse,\n CreateDeviceRequest,\n CreateExternalStorageRequest,\n CreateExternalStorageResponse,\n CreateGuestRequest,\n CreateGuestResponse,\n CreateImportRequest,\n CreateImportResponse,\n CreateImportURLRequest,\n CreateImportURLResponse,\n CreatePollOptionRequest,\n CreatePollRequest,\n CreateRoleRequest,\n CreateRoleResponse,\n DeactivateUserRequest,\n DeactivateUserResponse,\n DeactivateUsersRequest,\n DeactivateUsersResponse,\n DeleteChannelResponse,\n DeleteChannelsRequest,\n DeleteChannelsResponse,\n DeleteCommandResponse,\n DeleteExternalStorageResponse,\n DeleteMessageResponse,\n DeleteUsersRequest,\n DeleteUsersResponse,\n EventResponse,\n ExportChannelsRequest,\n ExportChannelsResponse,\n ExportUserResponse,\n ExportUsersRequest,\n ExportUsersResponse,\n FileDeleteResponse,\n FileUploadResponse,\n FlagRequest,\n FlagResponse,\n GetApplicationResponse,\n GetBlockListResponse,\n GetBlockedUsersResponse,\n GetCallTokenRequest,\n GetCallTokenResponse,\n GetCommandResponse,\n GetCustomPermissionResponse,\n GetExportChannelsStatusResponse,\n GetImportResponse,\n GetManyMessagesResponse,\n GetMessageResponse,\n GetOGResponse,\n GetRateLimitsResponse,\n GetReactionsResponse,\n GetRepliesResponse,\n GetTaskResponse,\n GetThreadResponse,\n HideChannelRequest,\n HideChannelResponse,\n ImageSize,\n ImageUploadResponse,\n ListBlockListResponse,\n ListChannelTypesResponse,\n ListCommandsResponse,\n ListDevicesResponse,\n ListExternalStorageResponse,\n ListImportsResponse,\n ListPermissionsResponse,\n ListPushProvidersResponse,\n ListRolesResponse,\n MarkChannelsReadRequest,\n MarkReadRequest,\n MarkReadResponse,\n MarkUnreadRequest,\n MembersResponse,\n MessageActionRequest,\n MessageResponse,\n MuteChannelRequest,\n MuteChannelResponse,\n MuteUserRequest,\n MuteUserResponse,\n OnlyUserID,\n PollOptionResponse,\n PollResponse,\n PollVoteResponse,\n PollVotesResponse,\n QueryBannedUsersRequest,\n QueryBannedUsersResponse,\n QueryChannelsRequest,\n QueryChannelsResponse,\n QueryMembersRequest,\n QueryMessageFlagsRequest,\n QueryMessageFlagsResponse,\n QueryMessageHistoryRequest,\n QueryMessageHistoryResponse,\n QueryPollVotesRequest,\n QueryPollsRequest,\n QueryPollsResponse,\n QueryReactionsRequest,\n QueryReactionsResponse,\n QueryThreadsRequest,\n QueryThreadsResponse,\n QueryUsersPayload,\n QueryUsersResponse,\n ReactionRemovalResponse,\n ReactivateUserRequest,\n ReactivateUserResponse,\n ReactivateUsersRequest,\n ReactivateUsersResponse,\n Response,\n RestoreUsersRequest,\n SearchRequest,\n SearchResponse,\n SendEventRequest,\n SendMessageRequest,\n SendMessageResponse,\n SendReactionRequest,\n SendReactionResponse,\n SendUserCustomEventRequest,\n ShowChannelRequest,\n ShowChannelResponse,\n SortParam,\n TranslateMessageRequest,\n TruncateChannelRequest,\n TruncateChannelResponse,\n UnblockUsersRequest,\n UnblockUsersResponse,\n UnmuteChannelRequest,\n UnmuteResponse,\n UnmuteUserRequest,\n UnreadCountsBatchRequest,\n UnreadCountsBatchResponse,\n UpdateAppRequest,\n UpdateBlockListRequest,\n UpdateChannelPartialRequest,\n UpdateChannelPartialResponse,\n UpdateChannelRequest,\n UpdateChannelResponse,\n UpdateChannelTypeRequest,\n UpdateChannelTypeResponse,\n UpdateCommandRequest,\n UpdateCommandResponse,\n UpdateExternalStorageRequest,\n UpdateExternalStorageResponse,\n UpdateMessagePartialRequest,\n UpdateMessagePartialResponse,\n UpdateMessageRequest,\n UpdateMessageResponse,\n UpdatePollOptionRequest,\n UpdatePollPartialRequest,\n UpdatePollRequest,\n UpdateThreadPartialRequest,\n UpdateThreadPartialResponse,\n UpdateUsersPartialRequest,\n UpdateUsersRequest,\n UpdateUsersResponse,\n UpsertPushProviderRequest,\n UpsertPushProviderResponse,\n WrappedUnreadCountsResponse,\n} from '../models';\n\nexport interface BanOperationRequest {\n banRequest: BanRequest | null;\n}\n\nexport interface BlockUsersOperationRequest {\n blockUsersRequest: BlockUsersRequest | null;\n}\n\nexport interface CastPollVoteOperationRequest {\n messageId: string;\n pollId: string;\n castPollVoteRequest: CastPollVoteRequest | null;\n}\n\nexport interface CheckExternalStorageRequest {\n name: string;\n}\n\nexport interface CheckPushOperationRequest {\n checkPushRequest: CheckPushRequest | null;\n}\n\nexport interface CheckSNSOperationRequest {\n checkSNSRequest: CheckSNSRequest | null;\n}\n\nexport interface CheckSQSOperationRequest {\n checkSQSRequest: CheckSQSRequest | null;\n}\n\nexport interface CommitMessageRequest {\n id: string;\n}\n\nexport interface CreateBlockListOperationRequest {\n createBlockListRequest: CreateBlockListRequest | null;\n}\n\nexport interface CreateCallOperationRequest {\n type: string;\n id: string;\n createCallRequest: CreateCallRequest | null;\n}\n\nexport interface CreateChannelTypeOperationRequest {\n createChannelTypeRequest: CreateChannelTypeRequest | null;\n}\n\nexport interface CreateCommandOperationRequest {\n createCommandRequest: CreateCommandRequest | null;\n}\n\nexport interface CreateDeviceOperationRequest {\n createDeviceRequest: CreateDeviceRequest | null;\n}\n\nexport interface CreateExternalStorageOperationRequest {\n createExternalStorageRequest: CreateExternalStorageRequest | null;\n}\n\nexport interface CreateGuestOperationRequest {\n createGuestRequest: CreateGuestRequest | null;\n}\n\nexport interface CreateImportOperationRequest {\n createImportRequest: CreateImportRequest | null;\n}\n\nexport interface CreateImportURLOperationRequest {\n createImportURLRequest: CreateImportURLRequest | null;\n}\n\nexport interface CreatePollOperationRequest {\n createPollRequest: CreatePollRequest | null;\n}\n\nexport interface CreatePollOptionOperationRequest {\n pollId: string;\n createPollOptionRequest: CreatePollOptionRequest | null;\n}\n\nexport interface CreateRoleOperationRequest {\n createRoleRequest: CreateRoleRequest | null;\n}\n\nexport interface DeactivateUserOperationRequest {\n userId: string;\n deactivateUserRequest: DeactivateUserRequest | null;\n}\n\nexport interface DeactivateUsersOperationRequest {\n deactivateUsersRequest: DeactivateUsersRequest | null;\n}\n\nexport interface DeleteBlockListRequest {\n name: string;\n}\n\nexport interface DeleteChannelRequest {\n type: string;\n id: string;\n hardDelete?: boolean;\n}\n\nexport interface DeleteChannelTypeRequest {\n name: string;\n}\n\nexport interface DeleteChannelsOperationRequest {\n deleteChannelsRequest: DeleteChannelsRequest | null;\n}\n\nexport interface DeleteCommandRequest {\n name: string;\n}\n\nexport interface DeleteDeviceRequest {\n id: string;\n userId?: string;\n}\n\nexport interface DeleteExternalStorageRequest {\n name: string;\n}\n\nexport interface DeleteFileRequest {\n type: string;\n id: string;\n url?: string;\n}\n\nexport interface DeleteImageRequest {\n type: string;\n id: string;\n url?: string;\n}\n\nexport interface DeleteMessageRequest {\n id: string;\n hard?: boolean;\n deletedBy?: string;\n}\n\nexport interface DeletePollRequest {\n pollId: string;\n userId?: string;\n}\n\nexport interface DeletePollOptionRequest {\n pollId: string;\n optionId: string;\n userId?: string;\n}\n\nexport interface DeletePushProviderRequest {\n type: DeletePushProviderTypeEnum;\n name: string;\n}\n\nexport interface DeleteReactionRequest {\n id: string;\n type: string;\n userId?: string;\n}\n\nexport interface DeleteRoleRequest {\n name: string;\n}\n\nexport interface DeleteUsersOperationRequest {\n deleteUsersRequest: DeleteUsersRequest | null;\n}\n\nexport interface ExportChannelsOperationRequest {\n exportChannelsRequest: ExportChannelsRequest | null;\n}\n\nexport interface ExportUserRequest {\n userId: string;\n}\n\nexport interface ExportUsersOperationRequest {\n exportUsersRequest: ExportUsersRequest | null;\n}\n\nexport interface FlagOperationRequest {\n flagRequest: FlagRequest | null;\n}\n\nexport interface GetBlockListRequest {\n name: string;\n}\n\nexport interface GetBlockedUsersRequest {\n userId?: string;\n}\n\nexport interface GetCallTokenOperationRequest {\n getCallTokenRequest: GetCallTokenRequest | null;\n}\n\nexport interface GetCallToken0Request {\n callId: string;\n getCallTokenRequest: GetCallTokenRequest | null;\n}\n\nexport interface GetChannelTypeRequest {\n name: string;\n}\n\nexport interface GetCommandRequest {\n name: string;\n}\n\nexport interface GetExportChannelsStatusRequest {\n id: string;\n}\n\nexport interface GetImportRequest {\n id: string;\n}\n\nexport interface GetManyMessagesRequest {\n type: string;\n id: string;\n ids: Array<string>;\n}\n\nexport interface GetMessageRequest {\n id: string;\n showDeletedMessage?: boolean;\n}\n\nexport interface GetOGRequest {\n url: string;\n}\n\nexport interface GetOrCreateChannelRequest {\n type: string;\n id: string;\n channelGetOrCreateRequest: ChannelGetOrCreateRequest | null;\n}\n\nexport interface GetOrCreateDistinctChannelRequest {\n type: string;\n channelGetOrCreateRequest: ChannelGetOrCreateRequest | null;\n}\n\nexport interface GetPermissionRequest {\n id: string;\n}\n\nexport interface GetPollRequest {\n pollId: string;\n userId?: string;\n}\n\nexport interface GetPollOptionRequest {\n pollId: string;\n optionId: string;\n userId?: string;\n}\n\nexport interface GetRateLimitsRequest {\n serverSide?: boolean;\n android?: boolean;\n ios?: boolean;\n web?: boolean;\n endpoints?: string;\n}\n\nexport interface GetReactionsRequest {\n id: string;\n limit?: number;\n offset?: number;\n}\n\nexport interface GetRepliesRequest {\n parentId: string;\n sort?: Array<SortParam>;\n limit?: number;\n offset?: number;\n idGte?: string;\n idGt?: string;\n idLte?: string;\n idLt?: string;\n createdAtAfterOrEqual?: string;\n createdAtAfter?: string;\n createdAtBeforeOrEqual?: string;\n createdAtBefore?: string;\n idAround?: string;\n createdAtAround?: string;\n}\n\nexport interface GetTaskRequest {\n id: string;\n}\n\nexport interface GetThreadRequest {\n messageId: string;\n connectionId?: string;\n replyLimit?: number;\n participantLimit?: number;\n memberLimit?: number;\n}\n\nexport interface HideChannelOperationRequest {\n type: string;\n id: string;\n hideChannelRequest: HideChannelRequest | null;\n}\n\nexport interface ListDevicesRequest {\n userId?: string;\n}\n\nexport interface MarkChannelsReadOperationRequest {\n markChannelsReadRequest: MarkChannelsReadRequest | null;\n}\n\nexport interface MarkReadOperationRequest {\n type: string;\n id: string;\n markReadRequest: MarkReadRequest | null;\n}\n\nexport interface MarkUnreadOperationRequest {\n type: string;\n id: string;\n markUnreadRequest: MarkUnreadRequest | null;\n}\n\nexport interface MuteChannelOperationRequest {\n muteChannelRequest: MuteChannelRequest | null;\n}\n\nexport interface MuteUserOperationRequest {\n muteUserRequest: MuteUserRequest | null;\n}\n\nexport interface QueryBannedUsersOperationRequest {\n payload?: QueryBannedUsersRequest;\n}\n\nexport interface QueryChannelsOperationRequest {\n queryChannelsRequest: QueryChannelsRequest | null;\n}\n\nexport interface QueryMembersOperationRequest {\n payload?: QueryMembersRequest;\n}\n\nexport interface QueryMessageFlagsOperationRequest {\n payload?: QueryMessageFlagsRequest;\n}\n\nexport interface QueryMessageHistoryOperationRequest {\n queryMessageHistoryRequest: QueryMessageHistoryRequest | null;\n}\n\nexport interface QueryPollVotesOperationRequest {\n pollId: string;\n queryPollVotesRequest: QueryPollVotesRequest | null;\n userId?: string;\n}\n\nexport interface QueryPollsOperationRequest {\n queryPollsRequest: QueryPollsRequest | null;\n userId?: string;\n}\n\nexport interface QueryReactionsOperationRequest {\n id: string;\n queryReactionsRequest: QueryReactionsRequest;\n}\n\nexport interface QueryThreadsOperationRequest {\n queryThreadsRequest: QueryThreadsRequest | null;\n}\n\nexport interface QueryUsersRequest {\n payload?: QueryUsersPayload;\n}\n\nexport interface ReactivateUserOperationRequest {\n userId: string;\n reactivateUserRequest: ReactivateUserRequest | null;\n}\n\nexport interface ReactivateUsersOperationRequest {\n reactivateUsersRequest: ReactivateUsersRequest | null;\n}\n\nexport interface RemovePollVoteRequest {\n messageId: string;\n pollId: string;\n voteId: string;\n userId?: string;\n}\n\nexport interface RestoreUsersOperationRequest {\n restoreUsersRequest: RestoreUsersRequest | null;\n}\n\nexport interface RunMessageActionRequest {\n id: string;\n messageActionRequest: MessageActionRequest | null;\n}\n\nexport interface SearchOperationRequest {\n payload?: SearchRequest;\n}\n\nexport interface SendEventOperationRequest {\n type: string;\n id: string;\n sendEventRequest: SendEventRequest | null;\n}\n\nexport interface SendMessageOperationRequest {\n type: string;\n id: string;\n sendMessageRequest: SendMessageRequest | null;\n}\n\nexport interface SendReactionOperationRequest {\n id: string;\n sendReactionRequest: SendReactionRequest | null;\n}\n\nexport interface SendUserCustomEventOperationRequest {\n userId: string;\n sendUserCustomEventRequest: SendUserCustomEventRequest | null;\n}\n\nexport interface ShowChannelOperationRequest {\n type: string;\n id: string;\n showChannelRequest: ShowChannelRequest | null;\n}\n\nexport interface TranslateMessageOperationRequest {\n id: string;\n translateMessageRequest: TranslateMessageRequest | null;\n}\n\nexport interface TruncateChannelOperationRequest {\n type: string;\n id: string;\n truncateChannelRequest: TruncateChannelRequest | null;\n}\n\nexport interface UnbanRequest {\n targetUserId: string;\n channelCid?: string;\n createdBy?: string;\n}\n\nexport interface UnblockUsersOperationRequest {\n unblockUsersRequest: UnblockUsersRequest | null;\n}\n\nexport interface UndeleteMessageRequest {\n id: string;\n updateMessageRequest: UpdateMessageRequest | null;\n}\n\nexport interface UnmuteChannelOperationRequest {\n unmuteChannelRequest: UnmuteChannelRequest | null;\n}\n\nexport interface UnmuteUserOperationRequest {\n unmuteUserRequest: UnmuteUserRequest | null;\n}\n\nexport interface UnreadCountsBatchOperationRequest {\n unreadCountsBatchRequest: UnreadCountsBatchRequest | null;\n}\n\nexport interface UpdateAppOperationRequest {\n updateAppRequest: UpdateAppRequest | null;\n}\n\nexport interface UpdateBlockListOperationRequest {\n name: string;\n updateBlockListRequest: UpdateBlockListRequest | null;\n}\n\nexport interface UpdateChannelOperationRequest {\n type: string;\n id: string;\n updateChannelRequest: UpdateChannelRequest | null;\n}\n\nexport interface UpdateChannelPartialOperationRequest {\n type: string;\n id: string;\n updateChannelPartialRequest: UpdateChannelPartialRequest | null;\n}\n\nexport interface UpdateChannelTypeOperationRequest {\n name: string;\n updateChannelTypeRequest: UpdateChannelTypeRequest | null;\n}\n\nexport interface UpdateCommandOperationRequest {\n name: string;\n updateCommandRequest: UpdateCommandRequest | null;\n}\n\nexport interface UpdateExternalStorageOperationRequest {\n name: string;\n updateExternalStorageRequest: UpdateExternalStorageRequest | null;\n}\n\nexport interface UpdateMessageOperationRequest {\n id: string;\n updateMessageRequest: UpdateMessageRequest | null;\n}\n\nexport interface UpdateMessagePartialOperationRequest {\n id: string;\n updateMessagePartialRequest: UpdateMessagePartialRequest | null;\n}\n\nexport interface UpdatePollOperationRequest {\n updatePollRequest: UpdatePollRequest | null;\n}\n\nexport interface UpdatePollOptionOperationRequest {\n pollId: string;\n updatePollOptionRequest: UpdatePollOptionRequest | null;\n}\n\nexport interface UpdatePollPartialOperationRequest {\n pollId: string;\n updatePollPartialRequest: UpdatePollPartialRequest | null;\n}\n\nexport interface UpdateThreadPartialOperationRequest {\n messageId: string;\n updateThreadPartialRequest: UpdateThreadPartialRequest | null;\n}\n\nexport interface UpdateUsersOperationRequest {\n updateUsersRequest: UpdateUsersRequest | null;\n}\n\nexport interface UpdateUsersPartialOperationRequest {\n updateUsersPartialRequest: UpdateUsersPartialRequest | null;\n}\n\nexport interface UploadFileRequest {\n type: string;\n id: string;\n file?: string;\n user?: OnlyUserID;\n}\n\nexport interface UploadImageRequest {\n type: string;\n id: string;\n file?: string;\n uploadSizes?: Array<ImageSize>;\n user?: OnlyUserID;\n}\n\nexport interface UpsertPushProviderOperationRequest {\n upsertPushProviderRequest: UpsertPushProviderRequest | null;\n}\n\n/**\n * \n */\nexport class ProductchatApi extends runtime.BaseAPI {\n\n /**\n * Restricts user activity either in specific channel or globally Sends events: - user.banned Required permissions: - BanChannelMember - BanUser \n * Ban user\n */\n async banRaw(requestParameters: BanOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.banRequest === null || requestParameters.banRequest === undefined) {\n throw new runtime.RequiredError('banRequest','Required parameter requestParameters.banRequest was null or undefined when calling ban.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/ban`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.banRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Restricts user activity either in specific channel or globally Sends events: - user.banned Required permissions: - BanChannelMember - BanUser \n * Ban user\n */\n async ban(requestParameters: BanOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.banRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Block users \n * Block user\n */\n async blockUsersRaw(requestParameters: BlockUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BlockUsersResponse>> {\n if (requestParameters.blockUsersRequest === null || requestParameters.blockUsersRequest === undefined) {\n throw new runtime.RequiredError('blockUsersRequest','Required parameter requestParameters.blockUsersRequest was null or undefined when calling blockUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/block`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.blockUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Block users \n * Block user\n */\n async blockUsers(requestParameters: BlockUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<BlockUsersResponse> {\n const response = await this.blockUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Cast a vote on a poll Sends events: - poll.vote_casted Required permissions: - CastVote \n * Cast vote\n */\n async castPollVoteRaw(requestParameters: CastPollVoteOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PollVoteResponse>> {\n if (requestParameters.messageId === null || requestParameters.messageId === undefined) {\n throw new runtime.RequiredError('messageId','Required parameter requestParameters.messageId was null or undefined when calling castPollVote.');\n }\n\n if (requestParameters.pollId === null || requestParameters.pollId === undefined) {\n throw new runtime.RequiredError('pollId','Required parameter requestParameters.pollId was null or undefined when calling castPollVote.');\n }\n\n if (requestParameters.castPollVoteRequest === null || requestParameters.castPollVoteRequest === undefined) {\n throw new runtime.RequiredError('castPollVoteRequest','Required parameter requestParameters.castPollVoteRequest was null or undefined when calling castPollVote.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{message_id}/polls/{poll_id}/vote`.replace(`{${\"message_id\"}}`, encodeURIComponent(String(requestParameters.messageId))).replace(`{${\"poll_id\"}}`, encodeURIComponent(String(requestParameters.pollId))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.castPollVoteRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Cast a vote on a poll Sends events: - poll.vote_casted Required permissions: - CastVote \n * Cast vote\n */\n async castPollVote(requestParameters: CastPollVoteOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PollVoteResponse> {\n const response = await this.castPollVoteRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Check External Storage\n */\n async checkExternalStorageRaw(requestParameters: CheckExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CheckExternalStorageResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling checkExternalStorage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/external_storage/{name}/check`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Check External Storage\n */\n async checkExternalStorage(requestParameters: CheckExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CheckExternalStorageResponse> {\n const response = await this.checkExternalStorageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends a test message via push, this is a test endpoint to verify your push settings \n * Check push\n */\n async checkPushRaw(requestParameters: CheckPushOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CheckPushResponse>> {\n if (requestParameters.checkPushRequest === null || requestParameters.checkPushRequest === undefined) {\n throw new runtime.RequiredError('checkPushRequest','Required parameter requestParameters.checkPushRequest was null or undefined when calling checkPush.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/check_push`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.checkPushRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends a test message via push, this is a test endpoint to verify your push settings \n * Check push\n */\n async checkPush(requestParameters: CheckPushOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CheckPushResponse> {\n const response = await this.checkPushRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Validates Amazon SNS configuration \n * Check SNS\n */\n async checkSNSRaw(requestParameters: CheckSNSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CheckSNSResponse>> {\n if (requestParameters.checkSNSRequest === null || requestParameters.checkSNSRequest === undefined) {\n throw new runtime.RequiredError('checkSNSRequest','Required parameter requestParameters.checkSNSRequest was null or undefined when calling checkSNS.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/check_sns`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.checkSNSRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Validates Amazon SNS configuration \n * Check SNS\n */\n async checkSNS(requestParameters: CheckSNSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CheckSNSResponse> {\n const response = await this.checkSNSRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Validates Amazon SQS credentials \n * Check SQS\n */\n async checkSQSRaw(requestParameters: CheckSQSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CheckSQSResponse>> {\n if (requestParameters.checkSQSRequest === null || requestParameters.checkSQSRequest === undefined) {\n throw new runtime.RequiredError('checkSQSRequest','Required parameter requestParameters.checkSQSRequest was null or undefined when calling checkSQS.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/check_sqs`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.checkSQSRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Validates Amazon SQS credentials \n * Check SQS\n */\n async checkSQS(requestParameters: CheckSQSOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CheckSQSResponse> {\n const response = await this.checkSQSRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Commits a pending message, which will make it visible in the channel Sends events: - message.new - message.updated \n * Commit message\n */\n async commitMessageRaw(requestParameters: CommitMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling commitMessage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/commit`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Commits a pending message, which will make it visible in the channel Sends events: - message.new - message.updated \n * Commit message\n */\n async commitMessage(requestParameters: CommitMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.commitMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates a new application blocklist, once created the blocklist can be used by any channel type \n * Create block list\n */\n async createBlockListRaw(requestParameters: CreateBlockListOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.createBlockListRequest === null || requestParameters.createBlockListRequest === undefined) {\n throw new runtime.RequiredError('createBlockListRequest','Required parameter requestParameters.createBlockListRequest was null or undefined when calling createBlockList.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/blocklists`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createBlockListRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates a new application blocklist, once created the blocklist can be used by any channel type \n * Create block list\n */\n async createBlockList(requestParameters: CreateBlockListOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.createBlockListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates a call Required permissions: - CreateCall - ReadChannel \n * Create a call\n */\n async createCallRaw(requestParameters: CreateCallOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling createCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling createCall.');\n }\n\n if (requestParameters.createCallRequest === null || requestParameters.createCallRequest === undefined) {\n throw new runtime.RequiredError('createCallRequest','Required parameter requestParameters.createCallRequest was null or undefined when calling createCall.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/call`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createCallRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates a call Required permissions: - CreateCall - ReadChannel \n * Create a call\n */\n async createCall(requestParameters: CreateCallOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateCallResponse> {\n const response = await this.createCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates new channel type \n * Create channel type\n */\n async createChannelTypeRaw(requestParameters: CreateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateChannelTypeResponse>> {\n if (requestParameters.createChannelTypeRequest === null || requestParameters.createChannelTypeRequest === undefined) {\n throw new runtime.RequiredError('createChannelTypeRequest','Required parameter requestParameters.createChannelTypeRequest was null or undefined when calling createChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createChannelTypeRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates new channel type \n * Create channel type\n */\n async createChannelType(requestParameters: CreateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateChannelTypeResponse> {\n const response = await this.createChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates custom chat command \n * Create command\n */\n async createCommandRaw(requestParameters: CreateCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateCommandResponse>> {\n if (requestParameters.createCommandRequest === null || requestParameters.createCommandRequest === undefined) {\n throw new runtime.RequiredError('createCommandRequest','Required parameter requestParameters.createCommandRequest was null or undefined when calling createCommand.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/commands`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createCommandRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates custom chat command \n * Create command\n */\n async createCommand(requestParameters: CreateCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateCommandResponse> {\n const response = await this.createCommandRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Adds a new device to a user, if the same device already exists the call will have no effect \n * Create device\n */\n async createDeviceRaw(requestParameters: CreateDeviceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.createDeviceRequest === null || requestParameters.createDeviceRequest === undefined) {\n throw new runtime.RequiredError('createDeviceRequest','Required parameter requestParameters.createDeviceRequest was null or undefined when calling createDevice.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/devices`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createDeviceRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Adds a new device to a user, if the same device already exists the call will have no effect \n * Create device\n */\n async createDevice(requestParameters: CreateDeviceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.createDeviceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates new external storage \n * Create external storage\n */\n async createExternalStorageRaw(requestParameters: CreateExternalStorageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateExternalStorageResponse>> {\n if (requestParameters.createExternalStorageRequest === null || requestParameters.createExternalStorageRequest === undefined) {\n throw new runtime.RequiredError('createExternalStorageRequest','Required parameter requestParameters.createExternalStorageRequest was null or undefined when calling createExternalStorage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/external_storage`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createExternalStorageRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates new external storage \n * Create external storage\n */\n async createExternalStorage(requestParameters: CreateExternalStorageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateExternalStorageResponse> {\n const response = await this.createExternalStorageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Create Guest\n */\n async createGuestRaw(requestParameters: CreateGuestOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateGuestResponse>> {\n if (requestParameters.createGuestRequest === null || requestParameters.createGuestRequest === undefined) {\n throw new runtime.RequiredError('createGuestRequest','Required parameter requestParameters.createGuestRequest was null or undefined when calling createGuest.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/guest`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createGuestRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Create Guest\n */\n async createGuest(requestParameters: CreateGuestOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateGuestResponse> {\n const response = await this.createGuestRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates a new import \n * Create import\n */\n async createImportRaw(requestParameters: CreateImportOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateImportResponse>> {\n if (requestParameters.createImportRequest === null || requestParameters.createImportRequest === undefined) {\n throw new runtime.RequiredError('createImportRequest','Required parameter requestParameters.createImportRequest was null or undefined when calling createImport.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/imports`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createImportRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates a new import \n * Create import\n */\n async createImport(requestParameters: CreateImportOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateImportResponse> {\n const response = await this.createImportRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates a new import URL \n * Create import URL\n */\n async createImportURLRaw(requestParameters: CreateImportURLOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateImportURLResponse>> {\n if (requestParameters.createImportURLRequest === null || requestParameters.createImportURLRequest === undefined) {\n throw new runtime.RequiredError('createImportURLRequest','Required parameter requestParameters.createImportURLRequest was null or undefined when calling createImportURL.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/import_urls`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createImportURLRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates a new import URL \n * Create import URL\n */\n async createImportURL(requestParameters: CreateImportURLOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateImportURLResponse> {\n const response = await this.createImportURLRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates a new poll Required permissions: - CreatePoll \n * Create poll\n */\n async createPollRaw(requestParameters: CreatePollOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PollResponse>> {\n if (requestParameters.createPollRequest === null || requestParameters.createPollRequest === undefined) {\n throw new runtime.RequiredError('createPollRequest','Required parameter requestParameters.createPollRequest was null or undefined when calling createPoll.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/polls`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createPollRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates a new poll Required permissions: - CreatePoll \n * Create poll\n */\n async createPoll(requestParameters: CreatePollOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PollResponse> {\n const response = await this.createPollRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates a poll option Sends events: - poll.updated Required permissions: - CastVote - UpdatePoll \n * Create poll option\n */\n async createPollOptionRaw(requestParameters: CreatePollOptionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PollOptionResponse>> {\n if (requestParameters.pollId === null || requestParameters.pollId === undefined) {\n throw new runtime.RequiredError('pollId','Required parameter requestParameters.pollId was null or undefined when calling createPollOption.');\n }\n\n if (requestParameters.createPollOptionRequest === null || requestParameters.createPollOptionRequest === undefined) {\n throw new runtime.RequiredError('createPollOptionRequest','Required parameter requestParameters.createPollOptionRequest was null or undefined when calling createPollOption.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/polls/{poll_id}/options`.replace(`{${\"poll_id\"}}`, encodeURIComponent(String(requestParameters.pollId))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createPollOptionRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates a poll option Sends events: - poll.updated Required permissions: - CastVote - UpdatePoll \n * Create poll option\n */\n async createPollOption(requestParameters: CreatePollOptionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PollOptionResponse> {\n const response = await this.createPollOptionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates custom role \n * Create role\n */\n async createRoleRaw(requestParameters: CreateRoleOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateRoleResponse>> {\n if (requestParameters.createRoleRequest === null || requestParameters.createRoleRequest === undefined) {\n throw new runtime.RequiredError('createRoleRequest','Required parameter requestParameters.createRoleRequest was null or undefined when calling createRole.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/roles`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.createRoleRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates custom role \n * Create role\n */\n async createRole(requestParameters: CreateRoleOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateRoleResponse> {\n const response = await this.createRoleRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deactivates user with possibility to activate it back Sends events: - user.deactivated \n * Deactivate user\n */\n async deactivateUserRaw(requestParameters: DeactivateUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeactivateUserResponse>> {\n if (requestParameters.userId === null || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling deactivateUser.');\n }\n\n if (requestParameters.deactivateUserRequest === null || requestParameters.deactivateUserRequest === undefined) {\n throw new runtime.RequiredError('deactivateUserRequest','Required parameter requestParameters.deactivateUserRequest was null or undefined when calling deactivateUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/{user_id}/deactivate`.replace(`{${\"user_id\"}}`, encodeURIComponent(String(requestParameters.userId))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.deactivateUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deactivates user with possibility to activate it back Sends events: - user.deactivated \n * Deactivate user\n */\n async deactivateUser(requestParameters: DeactivateUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeactivateUserResponse> {\n const response = await this.deactivateUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deactivate users in batches Sends events: - user.deactivated \n * Deactivate users\n */\n async deactivateUsersRaw(requestParameters: DeactivateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeactivateUsersResponse>> {\n if (requestParameters.deactivateUsersRequest === null || requestParameters.deactivateUsersRequest === undefined) {\n throw new runtime.RequiredError('deactivateUsersRequest','Required parameter requestParameters.deactivateUsersRequest was null or undefined when calling deactivateUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/deactivate`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.deactivateUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deactivate users in batches Sends events: - user.deactivated \n * Deactivate users\n */\n async deactivateUsers(requestParameters: DeactivateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeactivateUsersResponse> {\n const response = await this.deactivateUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes previously created application blocklist \n * Delete block list\n */\n async deleteBlockListRaw(requestParameters: DeleteBlockListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteBlockList.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/blocklists/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes previously created application blocklist \n * Delete block list\n */\n async deleteBlockList(requestParameters: DeleteBlockListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deleteBlockListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes channel Sends events: - channel.deleted Required permissions: - DeleteChannel \n * Delete channel\n */\n async deleteChannelRaw(requestParameters: DeleteChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteChannelResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteChannel.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.hardDelete !== undefined) {\n queryParameters['hard_delete'] = requestParameters.hardDelete;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes channel Sends events: - channel.deleted Required permissions: - DeleteChannel \n * Delete channel\n */\n async deleteChannel(requestParameters: DeleteChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteChannelResponse> {\n const response = await this.deleteChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes channel type \n * Delete channel type\n */\n async deleteChannelTypeRaw(requestParameters: DeleteChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes channel type \n * Delete channel type\n */\n async deleteChannelType(requestParameters: DeleteChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deleteChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Allows to delete several channels at once asynchronously Sends events: - channel.deleted Required permissions: - DeleteChannel \n * Deletes channels asynchronously\n */\n async deleteChannelsRaw(requestParameters: DeleteChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteChannelsResponse>> {\n if (requestParameters.deleteChannelsRequest === null || requestParameters.deleteChannelsRequest === undefined) {\n throw new runtime.RequiredError('deleteChannelsRequest','Required parameter requestParameters.deleteChannelsRequest was null or undefined when calling deleteChannels.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/delete`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.deleteChannelsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Allows to delete several channels at once asynchronously Sends events: - channel.deleted Required permissions: - DeleteChannel \n * Deletes channels asynchronously\n */\n async deleteChannels(requestParameters: DeleteChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteChannelsResponse> {\n const response = await this.deleteChannelsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes custom chat command \n * Delete command\n */\n async deleteCommandRaw(requestParameters: DeleteCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteCommandResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteCommand.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/commands/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes custom chat command \n * Delete command\n */\n async deleteCommand(requestParameters: DeleteCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteCommandResponse> {\n const response = await this.deleteCommandRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes one device \n * Delete device\n */\n async deleteDeviceRaw(requestParameters: DeleteDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteDevice.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.id !== undefined) {\n queryParameters['id'] = requestParameters.id;\n }\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/devices`,\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes one device \n * Delete device\n */\n async deleteDevice(requestParameters: DeleteDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deleteDeviceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes external storage \n * Delete external storage\n */\n async deleteExternalStorageRaw(requestParameters: DeleteExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteExternalStorageResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteExternalStorage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/external_storage/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes external storage \n * Delete external storage\n */\n async deleteExternalStorage(requestParameters: DeleteExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteExternalStorageResponse> {\n const response = await this.deleteExternalStorageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes previously uploaded file Required permissions: - DeleteAttachment \n * Delete file\n */\n async deleteFileRaw(requestParameters: DeleteFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileDeleteResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteFile.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteFile.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.url !== undefined) {\n queryParameters['url'] = requestParameters.url;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/file`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes previously uploaded file Required permissions: - DeleteAttachment \n * Delete file\n */\n async deleteFile(requestParameters: DeleteFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileDeleteResponse> {\n const response = await this.deleteFileRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes previously uploaded image Required permissions: - DeleteAttachment \n * Delete image\n */\n async deleteImageRaw(requestParameters: DeleteImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileDeleteResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteImage.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteImage.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.url !== undefined) {\n queryParameters['url'] = requestParameters.url;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/image`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes previously uploaded image Required permissions: - DeleteAttachment \n * Delete image\n */\n async deleteImage(requestParameters: DeleteImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileDeleteResponse> {\n const response = await this.deleteImageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes message Sends events: - message.deleted Required permissions: - DeleteMessage \n * Delete message\n */\n async deleteMessageRaw(requestParameters: DeleteMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteMessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteMessage.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.hard !== undefined) {\n queryParameters['hard'] = requestParameters.hard;\n }\n\n if (requestParameters.deletedBy !== undefined) {\n queryParameters['deleted_by'] = requestParameters.deletedBy;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes message Sends events: - message.deleted Required permissions: - DeleteMessage \n * Delete message\n */\n async deleteMessage(requestParameters: DeleteMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteMessageResponse> {\n const response = await this.deleteMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes a poll Sends events: - poll.deleted Required permissions: - DeletePoll \n * Delete poll\n */\n async deletePollRaw(requestParameters: DeletePollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.pollId === null || requestParameters.pollId === undefined) {\n throw new runtime.RequiredError('pollId','Required parameter requestParameters.pollId was null or undefined when calling deletePoll.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/polls/{poll_id}`.replace(`{${\"poll_id\"}}`, encodeURIComponent(String(requestParameters.pollId))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes a poll Sends events: - poll.deleted Required permissions: - DeletePoll \n * Delete poll\n */\n async deletePoll(requestParameters: DeletePollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deletePollRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes a poll option Sends events: - poll.updated Required permissions: - UpdatePoll \n * Delete poll option\n */\n async deletePollOptionRaw(requestParameters: DeletePollOptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.pollId === null || requestParameters.pollId === undefined) {\n throw new runtime.RequiredError('pollId','Required parameter requestParameters.pollId was null or undefined when calling deletePollOption.');\n }\n\n if (requestParameters.optionId === null || requestParameters.optionId === undefined) {\n throw new runtime.RequiredError('optionId','Required parameter requestParameters.optionId was null or undefined when calling deletePollOption.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/polls/{poll_id}/options/{option_id}`.replace(`{${\"poll_id\"}}`, encodeURIComponent(String(requestParameters.pollId))).replace(`{${\"option_id\"}}`, encodeURIComponent(String(requestParameters.optionId))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes a poll option Sends events: - poll.updated Required permissions: - UpdatePoll \n * Delete poll option\n */\n async deletePollOption(requestParameters: DeletePollOptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deletePollOptionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Delete a push provider from v2 with multi bundle/package support. v1 isn\\'t supported in this endpoint \n * Delete a push provider\n */\n async deletePushProviderRaw(requestParameters: DeletePushProviderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deletePushProvider.');\n }\n\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deletePushProvider.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/push_providers/{type}/{name}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Delete a push provider from v2 with multi bundle/package support. v1 isn\\'t supported in this endpoint \n * Delete a push provider\n */\n async deletePushProvider(requestParameters: DeletePushProviderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deletePushProviderRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Removes user reaction from the message Sends events: - reaction.deleted Required permissions: - DeleteReaction \n * Delete reaction\n */\n async deleteReactionRaw(requestParameters: DeleteReactionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ReactionRemovalResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteReaction.');\n }\n\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteReaction.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/reaction/{type}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Removes user reaction from the message Sends events: - reaction.deleted Required permissions: - DeleteReaction \n * Delete reaction\n */\n async deleteReaction(requestParameters: DeleteReactionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ReactionRemovalResponse> {\n const response = await this.deleteReactionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes custom role \n * Delete role\n */\n async deleteRoleRaw(requestParameters: DeleteRoleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteRole.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/roles/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes custom role \n * Delete role\n */\n async deleteRole(requestParameters: DeleteRoleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.deleteRoleRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes users and optionally all their belongings asynchronously. Sends events: - channel.deleted - user.deleted \n * Delete Users\n */\n async deleteUsersRaw(requestParameters: DeleteUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeleteUsersResponse>> {\n if (requestParameters.deleteUsersRequest === null || requestParameters.deleteUsersRequest === undefined) {\n throw new runtime.RequiredError('deleteUsersRequest','Required parameter requestParameters.deleteUsersRequest was null or undefined when calling deleteUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/delete`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.deleteUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes users and optionally all their belongings asynchronously. Sends events: - channel.deleted - user.deleted \n * Delete Users\n */\n async deleteUsers(requestParameters: DeleteUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeleteUsersResponse> {\n const response = await this.deleteUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Exports channel data to JSON file \n * Export channels\n */\n async exportChannelsRaw(requestParameters: ExportChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExportChannelsResponse>> {\n if (requestParameters.exportChannelsRequest === null || requestParameters.exportChannelsRequest === undefined) {\n throw new runtime.RequiredError('exportChannelsRequest','Required parameter requestParameters.exportChannelsRequest was null or undefined when calling exportChannels.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/export_channels`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.exportChannelsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Exports channel data to JSON file \n * Export channels\n */\n async exportChannels(requestParameters: ExportChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExportChannelsResponse> {\n const response = await this.exportChannelsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Exports the user\\'s profile, reactions and messages. Raises an error if a user has more than 10k messages or reactions \n * Export user\n */\n async exportUserRaw(requestParameters: ExportUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExportUserResponse>> {\n if (requestParameters.userId === null || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling exportUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/{user_id}/export`.replace(`{${\"user_id\"}}`, encodeURIComponent(String(requestParameters.userId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Exports the user\\'s profile, reactions and messages. Raises an error if a user has more than 10k messages or reactions \n * Export user\n */\n async exportUser(requestParameters: ExportUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExportUserResponse> {\n const response = await this.exportUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Exports user profile, reactions and messages for list of given users \n * Export users\n */\n async exportUsersRaw(requestParameters: ExportUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ExportUsersResponse>> {\n if (requestParameters.exportUsersRequest === null || requestParameters.exportUsersRequest === undefined) {\n throw new runtime.RequiredError('exportUsersRequest','Required parameter requestParameters.exportUsersRequest was null or undefined when calling exportUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/export/users`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.exportUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Exports user profile, reactions and messages for list of given users \n * Export users\n */\n async exportUsers(requestParameters: ExportUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ExportUsersResponse> {\n const response = await this.exportUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Reports message or user for review by moderators Sends events: - message.flagged - user.flagged Required permissions: - FlagMessage - FlagUser \n * Flag\n */\n async flagRaw(requestParameters: FlagOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FlagResponse>> {\n if (requestParameters.flagRequest === null || requestParameters.flagRequest === undefined) {\n throw new runtime.RequiredError('flagRequest','Required parameter requestParameters.flagRequest was null or undefined when calling flag.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/flag`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.flagRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Reports message or user for review by moderators Sends events: - message.flagged - user.flagged Required permissions: - FlagMessage - FlagUser \n * Flag\n */\n async flag(requestParameters: FlagOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FlagResponse> {\n const response = await this.flagRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * This Method returns the application settings \n * Get App Settings\n */\n async getAppRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetApplicationResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/app`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * This Method returns the application settings \n * Get App Settings\n */\n async getApp(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetApplicationResponse> {\n const response = await this.getAppRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Returns block list by given name \n * Get block list\n */\n async getBlockListRaw(requestParameters: GetBlockListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetBlockListResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getBlockList.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/blocklists/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns block list by given name \n * Get block list\n */\n async getBlockList(requestParameters: GetBlockListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetBlockListResponse> {\n const response = await this.getBlockListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Get list of blocked Users \n * Get list of blocked Users\n */\n async getBlockedUsersRaw(requestParameters: GetBlockedUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetBlockedUsersResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/block`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Get list of blocked Users \n * Get list of blocked Users\n */\n async getBlockedUsers(requestParameters: GetBlockedUsersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetBlockedUsersResponse> {\n const response = await this.getBlockedUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the token to join a call Required permissions: - JoinCall - ReadChannel \n * Get Call Token\n */\n async getCallTokenRaw(requestParameters: GetCallTokenOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetCallTokenResponse>> {\n if (requestParameters.getCallTokenRequest === null || requestParameters.getCallTokenRequest === undefined) {\n throw new runtime.RequiredError('getCallTokenRequest','Required parameter requestParameters.getCallTokenRequest was null or undefined when calling getCallToken.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/calls`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.getCallTokenRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Retrieves the token to join a call Required permissions: - JoinCall - ReadChannel \n * Get Call Token\n */\n async getCallToken(requestParameters: GetCallTokenOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetCallTokenResponse> {\n const response = await this.getCallTokenRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves the token to join a call Required permissions: - JoinCall - ReadChannel \n * Get Call Token\n */\n async getCallToken_1Raw(requestParameters: GetCallToken0Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetCallTokenResponse>> {\n if (requestParameters.callId === null || requestParameters.callId === undefined) {\n throw new runtime.RequiredError('callId','Required parameter requestParameters.callId was null or undefined when calling getCallToken_1.');\n }\n\n if (requestParameters.getCallTokenRequest === null || requestParameters.getCallTokenRequest === undefined) {\n throw new runtime.RequiredError('getCallTokenRequest','Required parameter requestParameters.getCallTokenRequest was null or undefined when calling getCallToken_1.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/calls/{call_id}`.replace(`{${\"call_id\"}}`, encodeURIComponent(String(requestParameters.callId))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.getCallTokenRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Retrieves the token to join a call Required permissions: - JoinCall - ReadChannel \n * Get Call Token\n */\n async getCallToken_1(requestParameters: GetCallToken0Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetCallTokenResponse> {\n const response = await this.getCallToken_1Raw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Gets channel type \n * Get channel type\n */\n async getChannelTypeRaw(requestParameters: GetChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Gets channel type \n * Get channel type\n */\n async getChannelType(requestParameters: GetChannelTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.getChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns custom command by its name \n * Get command\n */\n async getCommandRaw(requestParameters: GetCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetCommandResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getCommand.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/commands/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns custom command by its name \n * Get command\n */\n async getCommand(requestParameters: GetCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetCommandResponse> {\n const response = await this.getCommandRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Export channels status\n */\n async getExportChannelsStatusRaw(requestParameters: GetExportChannelsStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetExportChannelsStatusResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getExportChannelsStatus.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/export_channels/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Export channels status\n */\n async getExportChannelsStatus(requestParameters: GetExportChannelsStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetExportChannelsStatusResponse> {\n const response = await this.getExportChannelsStatusRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Gets an import \n * Get import\n */\n async getImportRaw(requestParameters: GetImportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetImportResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getImport.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/imports/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Gets an import \n * Get import\n */\n async getImport(requestParameters: GetImportRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetImportResponse> {\n const response = await this.getImportRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns list messages found by IDs Required permissions: - ReadChannel \n * Get many messages\n */\n async getManyMessagesRaw(requestParameters: GetManyMessagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetManyMessagesResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling getManyMessages.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getManyMessages.');\n }\n\n if (requestParameters.ids === null || requestParameters.ids === undefined) {\n throw new runtime.RequiredError('ids','Required parameter requestParameters.ids was null or undefined when calling getManyMessages.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.ids) {\n queryParameters['ids'] = requestParameters.ids;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/messages`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns list messages found by IDs Required permissions: - ReadChannel \n * Get many messages\n */\n async getManyMessages(requestParameters: GetManyMessagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetManyMessagesResponse> {\n const response = await this.getManyMessagesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns message by ID Required permissions: - ReadChannel \n * Get message\n */\n async getMessageRaw(requestParameters: GetMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetMessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getMessage.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.showDeletedMessage !== undefined) {\n queryParameters['show_deleted_message'] = requestParameters.showDeletedMessage;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns message by ID Required permissions: - ReadChannel \n * Get message\n */\n async getMessage(requestParameters: GetMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetMessageResponse> {\n const response = await this.getMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Get an OpenGraph attachment for a link \n * Get OG\n */\n async getOGRaw(requestParameters: GetOGRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetOGResponse>> {\n if (requestParameters.url === null || requestParameters.url === undefined) {\n throw new runtime.RequiredError('url','Required parameter requestParameters.url was null or undefined when calling getOG.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.url !== undefined) {\n queryParameters['url'] = requestParameters.url;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/og`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Get an OpenGraph attachment for a link \n * Get OG\n */\n async getOG(requestParameters: GetOGRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetOGResponse> {\n const response = await this.getOGRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start \n * Get or create channel\n */\n async getOrCreateChannelRaw(requestParameters: GetOrCreateChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ChannelStateResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling getOrCreateChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getOrCreateChannel.');\n }\n\n if (requestParameters.channelGetOrCreateRequest === null || requestParameters.channelGetOrCreateRequest === undefined) {\n throw new runtime.RequiredError('channelGetOrCreateRequest','Required parameter requestParameters.channelGetOrCreateRequest was null or undefined when calling getOrCreateChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/query`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.channelGetOrCreateRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start \n * Get or create channel\n */\n async getOrCreateChannel(requestParameters: GetOrCreateChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ChannelStateResponse> {\n const response = await this.getOrCreateChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start \n * Get or create channel\n */\n async getOrCreateDistinctChannelRaw(requestParameters: GetOrCreateDistinctChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ChannelStateResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling getOrCreateDistinctChannel.');\n }\n\n if (requestParameters.channelGetOrCreateRequest === null || requestParameters.channelGetOrCreateRequest === undefined) {\n throw new runtime.RequiredError('channelGetOrCreateRequest','Required parameter requestParameters.channelGetOrCreateRequest was null or undefined when calling getOrCreateDistinctChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/query`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.channelGetOrCreateRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * This Method creates a channel or returns an existing one with matching attributes Sends events: - channel.created - member.added - member.removed - member.updated - user.watching.start \n * Get or create channel\n */\n async getOrCreateDistinctChannel(requestParameters: GetOrCreateDistinctChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ChannelStateResponse> {\n const response = await this.getOrCreateDistinctChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Gets custom permission \n * Get permission\n */\n async getPermissionRaw(requestParameters: GetPermissionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetCustomPermissionResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getPermission.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/permissions/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Gets custom permission \n * Get permission\n */\n async getPermission(requestParameters: GetPermissionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetCustomPermissionResponse> {\n const response = await this.getPermissionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a poll \n * Get poll\n */\n async getPollRaw(requestParameters: GetPollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PollResponse>> {\n if (requestParameters.pollId === null || requestParameters.pollId === undefined) {\n throw new runtime.RequiredError('pollId','Required parameter requestParameters.pollId was null or undefined when calling getPoll.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/polls/{poll_id}`.replace(`{${\"poll_id\"}}`, encodeURIComponent(String(requestParameters.pollId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Retrieves a poll \n * Get poll\n */\n async getPoll(requestParameters: GetPollRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PollResponse> {\n const response = await this.getPollRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Retrieves a poll option \n * Get poll option\n */\n async getPollOptionRaw(requestParameters: GetPollOptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PollOptionResponse>> {\n if (requestParameters.pollId === null || requestParameters.pollId === undefined) {\n throw new runtime.RequiredError('pollId','Required parameter requestParameters.pollId was null or undefined when calling getPollOption.');\n }\n\n if (requestParameters.optionId === null || requestParameters.optionId === undefined) {\n throw new runtime.RequiredError('optionId','Required parameter requestParameters.optionId was null or undefined when calling getPollOption.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/polls/{poll_id}/options/{option_id}`.replace(`{${\"poll_id\"}}`, encodeURIComponent(String(requestParameters.pollId))).replace(`{${\"option_id\"}}`, encodeURIComponent(String(requestParameters.optionId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Retrieves a poll option \n * Get poll option\n */\n async getPollOption(requestParameters: GetPollOptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PollOptionResponse> {\n const response = await this.getPollOptionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Get rate limits usage and quotas \n * Get rate limits\n */\n async getRateLimitsRaw(requestParameters: GetRateLimitsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetRateLimitsResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.serverSide !== undefined) {\n queryParameters['server_side'] = requestParameters.serverSide;\n }\n\n if (requestParameters.android !== undefined) {\n queryParameters['android'] = requestParameters.android;\n }\n\n if (requestParameters.ios !== undefined) {\n queryParameters['ios'] = requestParameters.ios;\n }\n\n if (requestParameters.web !== undefined) {\n queryParameters['web'] = requestParameters.web;\n }\n\n if (requestParameters.endpoints !== undefined) {\n queryParameters['endpoints'] = requestParameters.endpoints;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/rate_limits`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Get rate limits usage and quotas \n * Get rate limits\n */\n async getRateLimits(requestParameters: GetRateLimitsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetRateLimitsResponse> {\n const response = await this.getRateLimitsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns list of reactions of specific message Required permissions: - ReadChannel \n * Get reactions\n */\n async getReactionsRaw(requestParameters: GetReactionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetReactionsResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getReactions.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/reactions`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns list of reactions of specific message Required permissions: - ReadChannel \n * Get reactions\n */\n async getReactions(requestParameters: GetReactionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetReactionsResponse> {\n const response = await this.getReactionsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns replies (thread) of the message Required permissions: - ReadChannel \n * Get replies\n */\n async getRepliesRaw(requestParameters: GetRepliesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetRepliesResponse>> {\n if (requestParameters.parentId === null || requestParameters.parentId === undefined) {\n throw new runtime.RequiredError('parentId','Required parameter requestParameters.parentId was null or undefined when calling getReplies.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.sort) {\n queryParameters['sort'] = requestParameters.sort;\n }\n\n if (requestParameters.limit !== undefined) {\n queryParameters['limit'] = requestParameters.limit;\n }\n\n if (requestParameters.offset !== undefined) {\n queryParameters['offset'] = requestParameters.offset;\n }\n\n if (requestParameters.idGte !== undefined) {\n queryParameters['id_gte'] = requestParameters.idGte;\n }\n\n if (requestParameters.idGt !== undefined) {\n queryParameters['id_gt'] = requestParameters.idGt;\n }\n\n if (requestParameters.idLte !== undefined) {\n queryParameters['id_lte'] = requestParameters.idLte;\n }\n\n if (requestParameters.idLt !== undefined) {\n queryParameters['id_lt'] = requestParameters.idLt;\n }\n\n if (requestParameters.createdAtAfterOrEqual !== undefined) {\n queryParameters['created_at_after_or_equal'] = requestParameters.createdAtAfterOrEqual;\n }\n\n if (requestParameters.createdAtAfter !== undefined) {\n queryParameters['created_at_after'] = requestParameters.createdAtAfter;\n }\n\n if (requestParameters.createdAtBeforeOrEqual !== undefined) {\n queryParameters['created_at_before_or_equal'] = requestParameters.createdAtBeforeOrEqual;\n }\n\n if (requestParameters.createdAtBefore !== undefined) {\n queryParameters['created_at_before'] = requestParameters.createdAtBefore;\n }\n\n if (requestParameters.idAround !== undefined) {\n queryParameters['id_around'] = requestParameters.idAround;\n }\n\n if (requestParameters.createdAtAround !== undefined) {\n queryParameters['created_at_around'] = requestParameters.createdAtAround;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{parent_id}/replies`.replace(`{${\"parent_id\"}}`, encodeURIComponent(String(requestParameters.parentId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns replies (thread) of the message Required permissions: - ReadChannel \n * Get replies\n */\n async getReplies(requestParameters: GetRepliesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetRepliesResponse> {\n const response = await this.getRepliesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Gets status of a task \n * Get status of a task\n */\n async getTaskRaw(requestParameters: GetTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetTaskResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getTask.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/tasks/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Gets status of a task \n * Get status of a task\n */\n async getTask(requestParameters: GetTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetTaskResponse> {\n const response = await this.getTaskRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Return a specific thread Required permissions: - ReadChannel \n * Get Thread\n */\n async getThreadRaw(requestParameters: GetThreadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetThreadResponse>> {\n if (requestParameters.messageId === null || requestParameters.messageId === undefined) {\n throw new runtime.RequiredError('messageId','Required parameter requestParameters.messageId was null or undefined when calling getThread.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.connectionId !== undefined) {\n queryParameters['connection_id'] = requestParameters.connectionId;\n }\n\n if (requestParameters.replyLimit !== undefined) {\n queryParameters['reply_limit'] = requestParameters.replyLimit;\n }\n\n if (requestParameters.participantLimit !== undefined) {\n queryParameters['participant_limit'] = requestParameters.participantLimit;\n }\n\n if (requestParameters.memberLimit !== undefined) {\n queryParameters['member_limit'] = requestParameters.memberLimit;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/threads/{message_id}`.replace(`{${\"message_id\"}}`, encodeURIComponent(String(requestParameters.messageId))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Return a specific thread Required permissions: - ReadChannel \n * Get Thread\n */\n async getThread(requestParameters: GetThreadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetThreadResponse> {\n const response = await this.getThreadRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Marks channel as hidden for current user Sends events: - channel.hidden Required permissions: - ReadChannel \n * Hide channel\n */\n async hideChannelRaw(requestParameters: HideChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<HideChannelResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling hideChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling hideChannel.');\n }\n\n if (requestParameters.hideChannelRequest === null || requestParameters.hideChannelRequest === undefined) {\n throw new runtime.RequiredError('hideChannelRequest','Required parameter requestParameters.hideChannelRequest was null or undefined when calling hideChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/hide`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.hideChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Marks channel as hidden for current user Sends events: - channel.hidden Required permissions: - ReadChannel \n * Hide channel\n */\n async hideChannel(requestParameters: HideChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<HideChannelResponse> {\n const response = await this.hideChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns all available block lists \n * List block lists\n */\n async listBlockListsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListBlockListResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/blocklists`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns all available block lists \n * List block lists\n */\n async listBlockLists(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListBlockListResponse> {\n const response = await this.listBlockListsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Lists all available channel types \n * List channel types\n */\n async listChannelTypesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListChannelTypesResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists all available channel types \n * List channel types\n */\n async listChannelTypes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListChannelTypesResponse> {\n const response = await this.listChannelTypesRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Returns all custom commands \n * List commands\n */\n async listCommandsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListCommandsResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/commands`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns all custom commands \n * List commands\n */\n async listCommands(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListCommandsResponse> {\n const response = await this.listCommandsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Returns all available devices \n * List devices\n */\n async listDevicesRaw(requestParameters: ListDevicesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListDevicesResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/devices`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns all available devices \n * List devices\n */\n async listDevices(requestParameters: ListDevicesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListDevicesResponse> {\n const response = await this.listDevicesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Lists external storage \n * List external storage\n */\n async listExternalStorageRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListExternalStorageResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/external_storage`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists external storage \n * List external storage\n */\n async listExternalStorage(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListExternalStorageResponse> {\n const response = await this.listExternalStorageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Gets an import \n * Get import\n */\n async listImportsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListImportsResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/imports`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Gets an import \n * Get import\n */\n async listImports(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListImportsResponse> {\n const response = await this.listImportsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Lists all available permissions \n * List permissions\n */\n async listPermissionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListPermissionsResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/permissions`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists all available permissions \n * List permissions\n */\n async listPermissions(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListPermissionsResponse> {\n const response = await this.listPermissionsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * List details of all push providers. \n * List push providers\n */\n async listPushProvidersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListPushProvidersResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/push_providers`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * List details of all push providers. \n * List push providers\n */\n async listPushProviders(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListPushProvidersResponse> {\n const response = await this.listPushProvidersRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Lists all available roles \n * List roles\n */\n async listRolesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListRolesResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/roles`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists all available roles \n * List roles\n */\n async listRoles(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListRolesResponse> {\n const response = await this.listRolesRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Marks channels as read up to the specific message. If no channels is given, mark all channel as read Sends events: - message.read Required permissions: - ReadChannel \n * Mark channels as read\n */\n async markChannelsReadRaw(requestParameters: MarkChannelsReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MarkReadResponse>> {\n if (requestParameters.markChannelsReadRequest === null || requestParameters.markChannelsReadRequest === undefined) {\n throw new runtime.RequiredError('markChannelsReadRequest','Required parameter requestParameters.markChannelsReadRequest was null or undefined when calling markChannelsRead.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/read`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.markChannelsReadRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Marks channels as read up to the specific message. If no channels is given, mark all channel as read Sends events: - message.read Required permissions: - ReadChannel \n * Mark channels as read\n */\n async markChannelsRead(requestParameters: MarkChannelsReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MarkReadResponse> {\n const response = await this.markChannelsReadRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Marks channel as read up to the specific message Sends events: - message.read Required permissions: - ReadChannel \n * Mark read\n */\n async markReadRaw(requestParameters: MarkReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MarkReadResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling markRead.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling markRead.');\n }\n\n if (requestParameters.markReadRequest === null || requestParameters.markReadRequest === undefined) {\n throw new runtime.RequiredError('markReadRequest','Required parameter requestParameters.markReadRequest was null or undefined when calling markRead.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/read`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.markReadRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Marks channel as read up to the specific message Sends events: - message.read Required permissions: - ReadChannel \n * Mark read\n */\n async markRead(requestParameters: MarkReadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MarkReadResponse> {\n const response = await this.markReadRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Marks channel as unread from a specific message Required permissions: - ReadChannel \n * Mark unread\n */\n async markUnreadRaw(requestParameters: MarkUnreadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling markUnread.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling markUnread.');\n }\n\n if (requestParameters.markUnreadRequest === null || requestParameters.markUnreadRequest === undefined) {\n throw new runtime.RequiredError('markUnreadRequest','Required parameter requestParameters.markUnreadRequest was null or undefined when calling markUnread.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/unread`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.markUnreadRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Marks channel as unread from a specific message Required permissions: - ReadChannel \n * Mark unread\n */\n async markUnread(requestParameters: MarkUnreadOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.markUnreadRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Mutes channel for user Sends events: - channel.muted Required permissions: - MuteChannel \n * Mute channel\n */\n async muteChannelRaw(requestParameters: MuteChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MuteChannelResponse>> {\n if (requestParameters.muteChannelRequest === null || requestParameters.muteChannelRequest === undefined) {\n throw new runtime.RequiredError('muteChannelRequest','Required parameter requestParameters.muteChannelRequest was null or undefined when calling muteChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/mute/channel`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.muteChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Mutes channel for user Sends events: - channel.muted Required permissions: - MuteChannel \n * Mute channel\n */\n async muteChannel(requestParameters: MuteChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MuteChannelResponse> {\n const response = await this.muteChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Mutes one or several users Sends events: - user.muted Required permissions: - MuteUser \n * Mute user\n */\n async muteUserRaw(requestParameters: MuteUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MuteUserResponse>> {\n if (requestParameters.muteUserRequest === null || requestParameters.muteUserRequest === undefined) {\n throw new runtime.RequiredError('muteUserRequest','Required parameter requestParameters.muteUserRequest was null or undefined when calling muteUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/mute`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.muteUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Mutes one or several users Sends events: - user.muted Required permissions: - MuteUser \n * Mute user\n */\n async muteUser(requestParameters: MuteUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MuteUserResponse> {\n const response = await this.muteUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Find and filter channel scoped or global user bans Required permissions: - ReadChannel \n * Query Banned Users\n */\n async queryBannedUsersRaw(requestParameters: QueryBannedUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryBannedUsersResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.payload !== undefined) {\n queryParameters['payload'] = requestParameters.payload;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/query_banned_users`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Find and filter channel scoped or global user bans Required permissions: - ReadChannel \n * Query Banned Users\n */\n async queryBannedUsers(requestParameters: QueryBannedUsersOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QueryBannedUsersResponse> {\n const response = await this.queryBannedUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Query channels with filter query Required permissions: - ReadChannel \n * Query channels\n */\n async queryChannelsRaw(requestParameters: QueryChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryChannelsResponse>> {\n if (requestParameters.queryChannelsRequest === null || requestParameters.queryChannelsRequest === undefined) {\n throw new runtime.RequiredError('queryChannelsRequest','Required parameter requestParameters.queryChannelsRequest was null or undefined when calling queryChannels.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.queryChannelsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Query channels with filter query Required permissions: - ReadChannel \n * Query channels\n */\n async queryChannels(requestParameters: QueryChannelsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QueryChannelsResponse> {\n const response = await this.queryChannelsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Find and filter channel members Required permissions: - ReadChannel \n * Query members\n */\n async queryMembersRaw(requestParameters: QueryMembersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MembersResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.payload !== undefined) {\n queryParameters['payload'] = requestParameters.payload;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/members`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Find and filter channel members Required permissions: - ReadChannel \n * Query members\n */\n async queryMembers(requestParameters: QueryMembersOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MembersResponse> {\n const response = await this.queryMembersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Find and filter message flags Required permissions: - ReadMessageFlags \n * Query Message Flags\n */\n async queryMessageFlagsRaw(requestParameters: QueryMessageFlagsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryMessageFlagsResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.payload !== undefined) {\n queryParameters['payload'] = requestParameters.payload;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/flags/message`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Find and filter message flags Required permissions: - ReadMessageFlags \n * Query Message Flags\n */\n async queryMessageFlags(requestParameters: QueryMessageFlagsOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QueryMessageFlagsResponse> {\n const response = await this.queryMessageFlagsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Queries history for one message \n * Query message history\n */\n async queryMessageHistoryRaw(requestParameters: QueryMessageHistoryOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryMessageHistoryResponse>> {\n if (requestParameters.queryMessageHistoryRequest === null || requestParameters.queryMessageHistoryRequest === undefined) {\n throw new runtime.RequiredError('queryMessageHistoryRequest','Required parameter requestParameters.queryMessageHistoryRequest was null or undefined when calling queryMessageHistory.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/history`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.queryMessageHistoryRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Queries history for one message \n * Query message history\n */\n async queryMessageHistory(requestParameters: QueryMessageHistoryOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QueryMessageHistoryResponse> {\n const response = await this.queryMessageHistoryRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Queries votes \n * Query votes\n */\n async queryPollVotesRaw(requestParameters: QueryPollVotesOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PollVotesResponse>> {\n if (requestParameters.pollId === null || requestParameters.pollId === undefined) {\n throw new runtime.RequiredError('pollId','Required parameter requestParameters.pollId was null or undefined when calling queryPollVotes.');\n }\n\n if (requestParameters.queryPollVotesRequest === null || requestParameters.queryPollVotesRequest === undefined) {\n throw new runtime.RequiredError('queryPollVotesRequest','Required parameter requestParameters.queryPollVotesRequest was null or undefined when calling queryPollVotes.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/polls/{poll_id}/votes`.replace(`{${\"poll_id\"}}`, encodeURIComponent(String(requestParameters.pollId))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.queryPollVotesRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Queries votes \n * Query votes\n */\n async queryPollVotes(requestParameters: QueryPollVotesOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PollVotesResponse> {\n const response = await this.queryPollVotesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Queries polls \n * Query polls\n */\n async queryPollsRaw(requestParameters: QueryPollsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryPollsResponse>> {\n if (requestParameters.queryPollsRequest === null || requestParameters.queryPollsRequest === undefined) {\n throw new runtime.RequiredError('queryPollsRequest','Required parameter requestParameters.queryPollsRequest was null or undefined when calling queryPolls.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/polls/query`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.queryPollsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Queries polls \n * Query polls\n */\n async queryPolls(requestParameters: QueryPollsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QueryPollsResponse> {\n const response = await this.queryPollsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Get reactions on a message Required permissions: - ReadChannel \n */\n async queryReactionsRaw(requestParameters: QueryReactionsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryReactionsResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling queryReactions.');\n }\n\n if (requestParameters.queryReactionsRequest === null || requestParameters.queryReactionsRequest === undefined) {\n throw new runtime.RequiredError('queryReactionsRequest','Required parameter requestParameters.queryReactionsRequest was null or undefined when calling queryReactions.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/reactions`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.queryReactionsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Get reactions on a message Required permissions: - ReadChannel \n */\n async queryReactions(requestParameters: QueryReactionsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QueryReactionsResponse> {\n const response = await this.queryReactionsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns the list of threads for specific user Required permissions: - ReadChannel \n * Query Threads\n */\n async queryThreadsRaw(requestParameters: QueryThreadsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryThreadsResponse>> {\n if (requestParameters.queryThreadsRequest === null || requestParameters.queryThreadsRequest === undefined) {\n throw new runtime.RequiredError('queryThreadsRequest','Required parameter requestParameters.queryThreadsRequest was null or undefined when calling queryThreads.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/threads`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.queryThreadsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns the list of threads for specific user Required permissions: - ReadChannel \n * Query Threads\n */\n async queryThreads(requestParameters: QueryThreadsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QueryThreadsResponse> {\n const response = await this.queryThreadsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Find and filter users Required permissions: - SearchUser \n * Query users\n */\n async queryUsersRaw(requestParameters: QueryUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryUsersResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.payload !== undefined) {\n queryParameters['payload'] = requestParameters.payload;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Find and filter users Required permissions: - SearchUser \n * Query users\n */\n async queryUsers(requestParameters: QueryUsersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<QueryUsersResponse> {\n const response = await this.queryUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Activates user who\\'s been deactivated previously Sends events: - user.reactivated \n * Reactivate user\n */\n async reactivateUserRaw(requestParameters: ReactivateUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ReactivateUserResponse>> {\n if (requestParameters.userId === null || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling reactivateUser.');\n }\n\n if (requestParameters.reactivateUserRequest === null || requestParameters.reactivateUserRequest === undefined) {\n throw new runtime.RequiredError('reactivateUserRequest','Required parameter requestParameters.reactivateUserRequest was null or undefined when calling reactivateUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/{user_id}/reactivate`.replace(`{${\"user_id\"}}`, encodeURIComponent(String(requestParameters.userId))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.reactivateUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Activates user who\\'s been deactivated previously Sends events: - user.reactivated \n * Reactivate user\n */\n async reactivateUser(requestParameters: ReactivateUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ReactivateUserResponse> {\n const response = await this.reactivateUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Reactivate users in batches Sends events: - user.reactivated \n * Reactivate users\n */\n async reactivateUsersRaw(requestParameters: ReactivateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ReactivateUsersResponse>> {\n if (requestParameters.reactivateUsersRequest === null || requestParameters.reactivateUsersRequest === undefined) {\n throw new runtime.RequiredError('reactivateUsersRequest','Required parameter requestParameters.reactivateUsersRequest was null or undefined when calling reactivateUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/reactivate`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.reactivateUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Reactivate users in batches Sends events: - user.reactivated \n * Reactivate users\n */\n async reactivateUsers(requestParameters: ReactivateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ReactivateUsersResponse> {\n const response = await this.reactivateUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Delete a vote from a poll Sends events: - poll.vote_removed Required permissions: - CastVote \n * Delete vote\n */\n async removePollVoteRaw(requestParameters: RemovePollVoteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PollVoteResponse>> {\n if (requestParameters.messageId === null || requestParameters.messageId === undefined) {\n throw new runtime.RequiredError('messageId','Required parameter requestParameters.messageId was null or undefined when calling removePollVote.');\n }\n\n if (requestParameters.pollId === null || requestParameters.pollId === undefined) {\n throw new runtime.RequiredError('pollId','Required parameter requestParameters.pollId was null or undefined when calling removePollVote.');\n }\n\n if (requestParameters.voteId === null || requestParameters.voteId === undefined) {\n throw new runtime.RequiredError('voteId','Required parameter requestParameters.voteId was null or undefined when calling removePollVote.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{message_id}/polls/{poll_id}/vote/{vote_id}`.replace(`{${\"message_id\"}}`, encodeURIComponent(String(requestParameters.messageId))).replace(`{${\"poll_id\"}}`, encodeURIComponent(String(requestParameters.pollId))).replace(`{${\"vote_id\"}}`, encodeURIComponent(String(requestParameters.voteId))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Delete a vote from a poll Sends events: - poll.vote_removed Required permissions: - CastVote \n * Delete vote\n */\n async removePollVote(requestParameters: RemovePollVoteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PollVoteResponse> {\n const response = await this.removePollVoteRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Restore soft deleted users \n * Restore users\n */\n async restoreUsersRaw(requestParameters: RestoreUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.restoreUsersRequest === null || requestParameters.restoreUsersRequest === undefined) {\n throw new runtime.RequiredError('restoreUsersRequest','Required parameter requestParameters.restoreUsersRequest was null or undefined when calling restoreUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/restore`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.restoreUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Restore soft deleted users \n * Restore users\n */\n async restoreUsers(requestParameters: RestoreUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.restoreUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Executes message command action with given parameters Sends events: - message.new Required permissions: - RunMessageAction \n * Run message command action\n */\n async runMessageActionRaw(requestParameters: RunMessageActionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling runMessageAction.');\n }\n\n if (requestParameters.messageActionRequest === null || requestParameters.messageActionRequest === undefined) {\n throw new runtime.RequiredError('messageActionRequest','Required parameter requestParameters.messageActionRequest was null or undefined when calling runMessageAction.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/action`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.messageActionRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Executes message command action with given parameters Sends events: - message.new Required permissions: - RunMessageAction \n * Run message command action\n */\n async runMessageAction(requestParameters: RunMessageActionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.runMessageActionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Search messages across channels Required permissions: - ReadChannel \n * Search messages\n */\n async searchRaw(requestParameters: SearchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.payload !== undefined) {\n queryParameters['payload'] = requestParameters.payload;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/search`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Search messages across channels Required permissions: - ReadChannel \n * Search messages\n */\n async search(requestParameters: SearchOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchResponse> {\n const response = await this.searchRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends event to the channel Required permissions: - SendCustomEvent \n * Send event\n */\n async sendEventRaw(requestParameters: SendEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EventResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling sendEvent.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling sendEvent.');\n }\n\n if (requestParameters.sendEventRequest === null || requestParameters.sendEventRequest === undefined) {\n throw new runtime.RequiredError('sendEventRequest','Required parameter requestParameters.sendEventRequest was null or undefined when calling sendEvent.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/event`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.sendEventRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends event to the channel Required permissions: - SendCustomEvent \n * Send event\n */\n async sendEvent(requestParameters: SendEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EventResponse> {\n const response = await this.sendEventRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends new message to the specified channel Sends events: - message.new - message.updated Required permissions: - AddLinks - CreateMessage - PinMessage - SkipChannelCooldown - SkipMessageModeration - UseFrozenChannel \n * Send new message\n */\n async sendMessageRaw(requestParameters: SendMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SendMessageResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling sendMessage.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling sendMessage.');\n }\n\n if (requestParameters.sendMessageRequest === null || requestParameters.sendMessageRequest === undefined) {\n throw new runtime.RequiredError('sendMessageRequest','Required parameter requestParameters.sendMessageRequest was null or undefined when calling sendMessage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/message`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.sendMessageRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends new message to the specified channel Sends events: - message.new - message.updated Required permissions: - AddLinks - CreateMessage - PinMessage - SkipChannelCooldown - SkipMessageModeration - UseFrozenChannel \n * Send new message\n */\n async sendMessage(requestParameters: SendMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SendMessageResponse> {\n const response = await this.sendMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends reaction to specified message Sends events: - reaction.new - reaction.updated Required permissions: - CreateReaction - UseFrozenChannel \n * Send reaction\n */\n async sendReactionRaw(requestParameters: SendReactionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SendReactionResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling sendReaction.');\n }\n\n if (requestParameters.sendReactionRequest === null || requestParameters.sendReactionRequest === undefined) {\n throw new runtime.RequiredError('sendReactionRequest','Required parameter requestParameters.sendReactionRequest was null or undefined when calling sendReaction.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/reaction`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.sendReactionRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends reaction to specified message Sends events: - reaction.new - reaction.updated Required permissions: - CreateReaction - UseFrozenChannel \n * Send reaction\n */\n async sendReaction(requestParameters: SendReactionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SendReactionResponse> {\n const response = await this.sendReactionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends a custom event to a user Sends events: - * \n * Send user event\n */\n async sendUserCustomEventRaw(requestParameters: SendUserCustomEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.userId === null || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling sendUserCustomEvent.');\n }\n\n if (requestParameters.sendUserCustomEventRequest === null || requestParameters.sendUserCustomEventRequest === undefined) {\n throw new runtime.RequiredError('sendUserCustomEventRequest','Required parameter requestParameters.sendUserCustomEventRequest was null or undefined when calling sendUserCustomEvent.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/{user_id}/event`.replace(`{${\"user_id\"}}`, encodeURIComponent(String(requestParameters.userId))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.sendUserCustomEventRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends a custom event to a user Sends events: - * \n * Send user event\n */\n async sendUserCustomEvent(requestParameters: SendUserCustomEventOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.sendUserCustomEventRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Shows previously hidden channel Sends events: - channel.visible \n * Show channel\n */\n async showChannelRaw(requestParameters: ShowChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ShowChannelResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling showChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling showChannel.');\n }\n\n if (requestParameters.showChannelRequest === null || requestParameters.showChannelRequest === undefined) {\n throw new runtime.RequiredError('showChannelRequest','Required parameter requestParameters.showChannelRequest was null or undefined when calling showChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/show`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.showChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Shows previously hidden channel Sends events: - channel.visible \n * Show channel\n */\n async showChannel(requestParameters: ShowChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ShowChannelResponse> {\n const response = await this.showChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Translates message to a given language using automated translation software Sends events: - message.updated Required permissions: - ReadChannel \n * Translate message\n */\n async translateMessageRaw(requestParameters: TranslateMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling translateMessage.');\n }\n\n if (requestParameters.translateMessageRequest === null || requestParameters.translateMessageRequest === undefined) {\n throw new runtime.RequiredError('translateMessageRequest','Required parameter requestParameters.translateMessageRequest was null or undefined when calling translateMessage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/translate`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.translateMessageRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Translates message to a given language using automated translation software Sends events: - message.updated Required permissions: - ReadChannel \n * Translate message\n */\n async translateMessage(requestParameters: TranslateMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<MessageResponse> {\n const response = await this.translateMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Truncates channel Sends events: - channel.truncated Required permissions: - DeleteChannel - TruncateChannel \n * Truncate channel\n */\n async truncateChannelRaw(requestParameters: TruncateChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TruncateChannelResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling truncateChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling truncateChannel.');\n }\n\n if (requestParameters.truncateChannelRequest === null || requestParameters.truncateChannelRequest === undefined) {\n throw new runtime.RequiredError('truncateChannelRequest','Required parameter requestParameters.truncateChannelRequest was null or undefined when calling truncateChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/truncate`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.truncateChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Truncates channel Sends events: - channel.truncated Required permissions: - DeleteChannel - TruncateChannel \n * Truncate channel\n */\n async truncateChannel(requestParameters: TruncateChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TruncateChannelResponse> {\n const response = await this.truncateChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Removes previously applied ban Sends events: - user.unbanned Required permissions: - BanChannelMember - BanUser \n * Unban user\n */\n async unbanRaw(requestParameters: UnbanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.targetUserId === null || requestParameters.targetUserId === undefined) {\n throw new runtime.RequiredError('targetUserId','Required parameter requestParameters.targetUserId was null or undefined when calling unban.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.targetUserId !== undefined) {\n queryParameters['target_user_id'] = requestParameters.targetUserId;\n }\n\n if (requestParameters.channelCid !== undefined) {\n queryParameters['channel_cid'] = requestParameters.channelCid;\n }\n\n if (requestParameters.createdBy !== undefined) {\n queryParameters['created_by'] = requestParameters.createdBy;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/ban`,\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Removes previously applied ban Sends events: - user.unbanned Required permissions: - BanChannelMember - BanUser \n * Unban user\n */\n async unban(requestParameters: UnbanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.unbanRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Unblock users \n * Unblock user\n */\n async unblockUsersRaw(requestParameters: UnblockUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UnblockUsersResponse>> {\n if (requestParameters.unblockUsersRequest === null || requestParameters.unblockUsersRequest === undefined) {\n throw new runtime.RequiredError('unblockUsersRequest','Required parameter requestParameters.unblockUsersRequest was null or undefined when calling unblockUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users/unblock`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.unblockUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Unblock users \n * Unblock user\n */\n async unblockUsers(requestParameters: UnblockUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UnblockUsersResponse> {\n const response = await this.unblockUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Undelete a message that was previously soft-deleted Sends events: - message.undeleted \n * Undelete message\n */\n async undeleteMessageRaw(requestParameters: UndeleteMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateMessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling undeleteMessage.');\n }\n\n if (requestParameters.updateMessageRequest === null || requestParameters.updateMessageRequest === undefined) {\n throw new runtime.RequiredError('updateMessageRequest','Required parameter requestParameters.updateMessageRequest was null or undefined when calling undeleteMessage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}/undelete`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateMessageRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Undelete a message that was previously soft-deleted Sends events: - message.undeleted \n * Undelete message\n */\n async undeleteMessage(requestParameters: UndeleteMessageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateMessageResponse> {\n const response = await this.undeleteMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Unmutes channel for user Sends events: - channel.unmuted Required permissions: - MuteChannel \n * Unmute channel\n */\n async unmuteChannelRaw(requestParameters: UnmuteChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UnmuteResponse>> {\n if (requestParameters.unmuteChannelRequest === null || requestParameters.unmuteChannelRequest === undefined) {\n throw new runtime.RequiredError('unmuteChannelRequest','Required parameter requestParameters.unmuteChannelRequest was null or undefined when calling unmuteChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/unmute/channel`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.unmuteChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Unmutes channel for user Sends events: - channel.unmuted Required permissions: - MuteChannel \n * Unmute channel\n */\n async unmuteChannel(requestParameters: UnmuteChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UnmuteResponse> {\n const response = await this.unmuteChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Unmutes previously muted user Sends events: - user.unmuted Required permissions: - MuteUser \n * Unmute user\n */\n async unmuteUserRaw(requestParameters: UnmuteUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UnmuteResponse>> {\n if (requestParameters.unmuteUserRequest === null || requestParameters.unmuteUserRequest === undefined) {\n throw new runtime.RequiredError('unmuteUserRequest','Required parameter requestParameters.unmuteUserRequest was null or undefined when calling unmuteUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/moderation/unmute`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.unmuteUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Unmutes previously muted user Sends events: - user.unmuted Required permissions: - MuteUser \n * Unmute user\n */\n async unmuteUser(requestParameters: UnmuteUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UnmuteResponse> {\n const response = await this.unmuteUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Fetch unread counts for a single user \n * Unread counts\n */\n async unreadCountsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WrappedUnreadCountsResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/unread`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Fetch unread counts for a single user \n * Unread counts\n */\n async unreadCounts(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WrappedUnreadCountsResponse> {\n const response = await this.unreadCountsRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Fetch unread counts in batch for multiple users in one call \n * Batch unread counts\n */\n async unreadCountsBatchRaw(requestParameters: UnreadCountsBatchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UnreadCountsBatchResponse>> {\n if (requestParameters.unreadCountsBatchRequest === null || requestParameters.unreadCountsBatchRequest === undefined) {\n throw new runtime.RequiredError('unreadCountsBatchRequest','Required parameter requestParameters.unreadCountsBatchRequest was null or undefined when calling unreadCountsBatch.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/unread_batch`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.unreadCountsBatchRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Fetch unread counts in batch for multiple users in one call \n * Batch unread counts\n */\n async unreadCountsBatch(requestParameters: UnreadCountsBatchOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UnreadCountsBatchResponse> {\n const response = await this.unreadCountsBatchRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * This Method updates one or more application settings \n * Update App Settings\n */\n async updateAppRaw(requestParameters: UpdateAppOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.updateAppRequest === null || requestParameters.updateAppRequest === undefined) {\n throw new runtime.RequiredError('updateAppRequest','Required parameter requestParameters.updateAppRequest was null or undefined when calling updateApp.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/app`,\n method: 'PATCH',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateAppRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * This Method updates one or more application settings \n * Update App Settings\n */\n async updateApp(requestParameters: UpdateAppOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.updateAppRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates contents of the block list \n * Update block list\n */\n async updateBlockListRaw(requestParameters: UpdateBlockListOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Response>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling updateBlockList.');\n }\n\n if (requestParameters.updateBlockListRequest === null || requestParameters.updateBlockListRequest === undefined) {\n throw new runtime.RequiredError('updateBlockListRequest','Required parameter requestParameters.updateBlockListRequest was null or undefined when calling updateBlockList.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/blocklists/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateBlockListRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates contents of the block list \n * Update block list\n */\n async updateBlockList(requestParameters: UpdateBlockListOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Response> {\n const response = await this.updateBlockListRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Change channel data Sends events: - channel.updated - member.added - member.removed - member.updated - message.new Required permissions: - AddOwnChannelMembership - RemoveOwnChannelMembership - UpdateChannel - UpdateChannelCooldown - UpdateChannelFrozen - UpdateChannelMembers \n * Update channel\n */\n async updateChannelRaw(requestParameters: UpdateChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateChannelResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling updateChannel.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateChannel.');\n }\n\n if (requestParameters.updateChannelRequest === null || requestParameters.updateChannelRequest === undefined) {\n throw new runtime.RequiredError('updateChannelRequest','Required parameter requestParameters.updateChannelRequest was null or undefined when calling updateChannel.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateChannelRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Change channel data Sends events: - channel.updated - member.added - member.removed - member.updated - message.new Required permissions: - AddOwnChannelMembership - RemoveOwnChannelMembership - UpdateChannel - UpdateChannelCooldown - UpdateChannelFrozen - UpdateChannelMembers \n * Update channel\n */\n async updateChannel(requestParameters: UpdateChannelOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateChannelResponse> {\n const response = await this.updateChannelRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates certain fields of the channel Sends events: - channel.updated Required permissions: - UpdateChannel - UpdateChannelCooldown - UpdateChannelFrozen \n * Partially update channel\n */\n async updateChannelPartialRaw(requestParameters: UpdateChannelPartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateChannelPartialResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling updateChannelPartial.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateChannelPartial.');\n }\n\n if (requestParameters.updateChannelPartialRequest === null || requestParameters.updateChannelPartialRequest === undefined) {\n throw new runtime.RequiredError('updateChannelPartialRequest','Required parameter requestParameters.updateChannelPartialRequest was null or undefined when calling updateChannelPartial.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'PATCH',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateChannelPartialRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates certain fields of the channel Sends events: - channel.updated Required permissions: - UpdateChannel - UpdateChannelCooldown - UpdateChannelFrozen \n * Partially update channel\n */\n async updateChannelPartial(requestParameters: UpdateChannelPartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateChannelPartialResponse> {\n const response = await this.updateChannelPartialRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates channel type \n * Update channel type\n */\n async updateChannelTypeRaw(requestParameters: UpdateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateChannelTypeResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling updateChannelType.');\n }\n\n if (requestParameters.updateChannelTypeRequest === null || requestParameters.updateChannelTypeRequest === undefined) {\n throw new runtime.RequiredError('updateChannelTypeRequest','Required parameter requestParameters.updateChannelTypeRequest was null or undefined when calling updateChannelType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/channeltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateChannelTypeRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates channel type \n * Update channel type\n */\n async updateChannelType(requestParameters: UpdateChannelTypeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateChannelTypeResponse> {\n const response = await this.updateChannelTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates custom chat command \n * Update command\n */\n async updateCommandRaw(requestParameters: UpdateCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateCommandResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling updateCommand.');\n }\n\n if (requestParameters.updateCommandRequest === null || requestParameters.updateCommandRequest === undefined) {\n throw new runtime.RequiredError('updateCommandRequest','Required parameter requestParameters.updateCommandRequest was null or undefined when calling updateCommand.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/commands/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateCommandRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates custom chat command \n * Update command\n */\n async updateCommand(requestParameters: UpdateCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateCommandResponse> {\n const response = await this.updateCommandRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Update External Storage\n */\n async updateExternalStorageRaw(requestParameters: UpdateExternalStorageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateExternalStorageResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling updateExternalStorage.');\n }\n\n if (requestParameters.updateExternalStorageRequest === null || requestParameters.updateExternalStorageRequest === undefined) {\n throw new runtime.RequiredError('updateExternalStorageRequest','Required parameter requestParameters.updateExternalStorageRequest was null or undefined when calling updateExternalStorage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/external_storage/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateExternalStorageRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Update External Storage\n */\n async updateExternalStorage(requestParameters: UpdateExternalStorageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateExternalStorageResponse> {\n const response = await this.updateExternalStorageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates message with new data Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage \n * Update message\n */\n async updateMessageRaw(requestParameters: UpdateMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateMessageResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateMessage.');\n }\n\n if (requestParameters.updateMessageRequest === null || requestParameters.updateMessageRequest === undefined) {\n throw new runtime.RequiredError('updateMessageRequest','Required parameter requestParameters.updateMessageRequest was null or undefined when calling updateMessage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateMessageRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates message with new data Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage \n * Update message\n */\n async updateMessage(requestParameters: UpdateMessageOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateMessageResponse> {\n const response = await this.updateMessageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates certain fields of the message Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage \n * Partially message update\n */\n async updateMessagePartialRaw(requestParameters: UpdateMessagePartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateMessagePartialResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateMessagePartial.');\n }\n\n if (requestParameters.updateMessagePartialRequest === null || requestParameters.updateMessagePartialRequest === undefined) {\n throw new runtime.RequiredError('updateMessagePartialRequest','Required parameter requestParameters.updateMessagePartialRequest was null or undefined when calling updateMessagePartial.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/messages/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateMessagePartialRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates certain fields of the message Sends events: - message.updated Required permissions: - AddLinks - PinMessage - SkipMessageModeration - UpdateMessage \n * Partially message update\n */\n async updateMessagePartial(requestParameters: UpdateMessagePartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateMessagePartialResponse> {\n const response = await this.updateMessagePartialRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates a poll Sends events: - poll.closed - poll.updated Required permissions: - UpdatePoll \n * Update poll\n */\n async updatePollRaw(requestParameters: UpdatePollOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PollResponse>> {\n if (requestParameters.updatePollRequest === null || requestParameters.updatePollRequest === undefined) {\n throw new runtime.RequiredError('updatePollRequest','Required parameter requestParameters.updatePollRequest was null or undefined when calling updatePoll.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/polls`,\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updatePollRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates a poll Sends events: - poll.closed - poll.updated Required permissions: - UpdatePoll \n * Update poll\n */\n async updatePoll(requestParameters: UpdatePollOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PollResponse> {\n const response = await this.updatePollRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates a poll option Sends events: - poll.updated Required permissions: - UpdatePoll \n * Update poll option\n */\n async updatePollOptionRaw(requestParameters: UpdatePollOptionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PollOptionResponse>> {\n if (requestParameters.pollId === null || requestParameters.pollId === undefined) {\n throw new runtime.RequiredError('pollId','Required parameter requestParameters.pollId was null or undefined when calling updatePollOption.');\n }\n\n if (requestParameters.updatePollOptionRequest === null || requestParameters.updatePollOptionRequest === undefined) {\n throw new runtime.RequiredError('updatePollOptionRequest','Required parameter requestParameters.updatePollOptionRequest was null or undefined when calling updatePollOption.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/polls/{poll_id}/options`.replace(`{${\"poll_id\"}}`, encodeURIComponent(String(requestParameters.pollId))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updatePollOptionRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates a poll option Sends events: - poll.updated Required permissions: - UpdatePoll \n * Update poll option\n */\n async updatePollOption(requestParameters: UpdatePollOptionOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PollOptionResponse> {\n const response = await this.updatePollOptionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates a poll partially Sends events: - poll.updated Required permissions: - UpdatePoll \n * Partial update poll\n */\n async updatePollPartialRaw(requestParameters: UpdatePollPartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PollResponse>> {\n if (requestParameters.pollId === null || requestParameters.pollId === undefined) {\n throw new runtime.RequiredError('pollId','Required parameter requestParameters.pollId was null or undefined when calling updatePollPartial.');\n }\n\n if (requestParameters.updatePollPartialRequest === null || requestParameters.updatePollPartialRequest === undefined) {\n throw new runtime.RequiredError('updatePollPartialRequest','Required parameter requestParameters.updatePollPartialRequest was null or undefined when calling updatePollPartial.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/polls/{poll_id}`.replace(`{${\"poll_id\"}}`, encodeURIComponent(String(requestParameters.pollId))),\n method: 'PATCH',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updatePollPartialRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates a poll partially Sends events: - poll.updated Required permissions: - UpdatePoll \n * Partial update poll\n */\n async updatePollPartial(requestParameters: UpdatePollPartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<PollResponse> {\n const response = await this.updatePollPartialRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates certain fields of the thread Sends events: - thread.updated Required permissions: - ReadChannel - UpdateThread \n * Partially update thread\n */\n async updateThreadPartialRaw(requestParameters: UpdateThreadPartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateThreadPartialResponse>> {\n if (requestParameters.messageId === null || requestParameters.messageId === undefined) {\n throw new runtime.RequiredError('messageId','Required parameter requestParameters.messageId was null or undefined when calling updateThreadPartial.');\n }\n\n if (requestParameters.updateThreadPartialRequest === null || requestParameters.updateThreadPartialRequest === undefined) {\n throw new runtime.RequiredError('updateThreadPartialRequest','Required parameter requestParameters.updateThreadPartialRequest was null or undefined when calling updateThreadPartial.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/threads/{message_id}`.replace(`{${\"message_id\"}}`, encodeURIComponent(String(requestParameters.messageId))),\n method: 'PATCH',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateThreadPartialRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates certain fields of the thread Sends events: - thread.updated Required permissions: - ReadChannel - UpdateThread \n * Partially update thread\n */\n async updateThreadPartial(requestParameters: UpdateThreadPartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateThreadPartialResponse> {\n const response = await this.updateThreadPartialRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Update or create users in bulk Sends events: - user.updated \n * Upsert users\n */\n async updateUsersRaw(requestParameters: UpdateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateUsersResponse>> {\n if (requestParameters.updateUsersRequest === null || requestParameters.updateUsersRequest === undefined) {\n throw new runtime.RequiredError('updateUsersRequest','Required parameter requestParameters.updateUsersRequest was null or undefined when calling updateUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Update or create users in bulk Sends events: - user.updated \n * Upsert users\n */\n async updateUsers(requestParameters: UpdateUsersOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateUsersResponse> {\n const response = await this.updateUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates certain fields of the user Sends events: - user.presence.changed - user.updated \n * Partially update user\n */\n async updateUsersPartialRaw(requestParameters: UpdateUsersPartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpdateUsersResponse>> {\n if (requestParameters.updateUsersPartialRequest === null || requestParameters.updateUsersPartialRequest === undefined) {\n throw new runtime.RequiredError('updateUsersPartialRequest','Required parameter requestParameters.updateUsersPartialRequest was null or undefined when calling updateUsersPartial.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/users`,\n method: 'PATCH',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.updateUsersPartialRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates certain fields of the user Sends events: - user.presence.changed - user.updated \n * Partially update user\n */\n async updateUsersPartial(requestParameters: UpdateUsersPartialOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpdateUsersResponse> {\n const response = await this.updateUsersPartialRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Uploads file Required permissions: - UploadAttachment \n * Upload file\n */\n async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<FileUploadResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling uploadFile.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uploadFile.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const consumes: runtime.Consume[] = [\n { contentType: 'multipart/form-data' },\n ];\n // @ts-ignore: canConsumeForm may be unused\n const canConsumeForm = runtime.canConsumeForm(consumes);\n\n let formParams: { append(param: string, value: any): any };\n let useForm = false;\n if (useForm) {\n formParams = new FormData();\n } else {\n formParams = new URLSearchParams();\n }\n\n if (requestParameters.file !== undefined) {\n formParams.append('file', requestParameters.file as any);\n }\n\n if (requestParameters.user !== undefined) {\n\n formParams.append('user', new Blob([JSON.stringify(requestParameters.user)], { type: \"application/json\", }));\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/file`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: formParams,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Uploads file Required permissions: - UploadAttachment \n * Upload file\n */\n async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<FileUploadResponse> {\n const response = await this.uploadFileRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Uploads image Required permissions: - UploadAttachment \n * Upload image\n */\n async uploadImageRaw(requestParameters: UploadImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ImageUploadResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling uploadImage.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uploadImage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const consumes: runtime.Consume[] = [\n { contentType: 'multipart/form-data' },\n ];\n // @ts-ignore: canConsumeForm may be unused\n const canConsumeForm = runtime.canConsumeForm(consumes);\n\n let formParams: { append(param: string, value: any): any };\n let useForm = false;\n if (useForm) {\n formParams = new FormData();\n } else {\n formParams = new URLSearchParams();\n }\n\n if (requestParameters.file !== undefined) {\n formParams.append('file', requestParameters.file as any);\n }\n\n if (requestParameters.uploadSizes) {\n formParams.append('upload_sizes', requestParameters.uploadSizes.join(runtime.COLLECTION_FORMATS[\"csv\"]));\n }\n\n if (requestParameters.user !== undefined) {\n\n formParams.append('user', new Blob([JSON.stringify(requestParameters.user)], { type: \"application/json\", }));\n }\n\n const response = await this.request({\n path: `/channels/{type}/{id}/image`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: formParams,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Uploads image Required permissions: - UploadAttachment \n * Upload image\n */\n async uploadImage(requestParameters: UploadImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ImageUploadResponse> {\n const response = await this.uploadImageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Upsert a push provider for v2 with multi bundle/package support \n * Upsert a push provider\n */\n async upsertPushProviderRaw(requestParameters: UpsertPushProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UpsertPushProviderResponse>> {\n if (requestParameters.upsertPushProviderRequest === null || requestParameters.upsertPushProviderRequest === undefined) {\n throw new runtime.RequiredError('upsertPushProviderRequest','Required parameter requestParameters.upsertPushProviderRequest was null or undefined when calling upsertPushProvider.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/push_providers`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.upsertPushProviderRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Upsert a push provider for v2 with multi bundle/package support \n * Upsert a push provider\n */\n async upsertPushProvider(requestParameters: UpsertPushProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<UpsertPushProviderResponse> {\n const response = await this.upsertPushProviderRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n\n/**\n * @export\n */\nexport const DeletePushProviderTypeEnum = {\n APN: 'apn',\n FIREBASE: 'firebase',\n HUAWEI: 'huawei',\n XIAOMI: 'xiaomi'\n} as const;\nexport type DeletePushProviderTypeEnum = typeof DeletePushProviderTypeEnum[keyof typeof DeletePushProviderTypeEnum];\n","import { StreamClient } from './StreamClient';\nimport {\n ChannelGetOrCreateRequest,\n DeleteChannelRequest,\n DeleteMessageRequest,\n DeleteReactionRequest,\n EventRequest,\n GetManyMessagesRequest,\n GetMessageRequest,\n GetOGRequest,\n GetReactionsRequest,\n GetRepliesRequest,\n HideChannelRequest,\n MarkReadRequest,\n MarkUnreadRequest,\n MuteChannelRequest,\n ProductchatApi,\n QueryMembersRequest,\n SendMessageRequest,\n SendReactionRequest,\n ShowChannelRequest,\n TranslateMessageRequest,\n TruncateChannelRequest,\n UnmuteChannelRequest,\n UpdateChannelPartialRequest,\n UpdateChannelRequest,\n UpdateMessagePartialRequest,\n UpdateMessageRequest,\n} from './gen/chat';\nimport { OmitTypeId } from './types';\n\nexport class StreamChannel {\n private readonly chatApi: ProductchatApi;\n\n constructor(\n private readonly streamClient: StreamClient,\n public readonly type: string,\n public id?: string,\n ) {\n const configuration = this.streamClient.getConfiguration();\n /** @ts-expect-error */\n this.chatApi = new ProductchatApi(configuration);\n }\n\n get cid() {\n return `${this.baseRequest.type}:${this.baseRequest.id}`;\n }\n\n delete = (request?: OmitTypeId<DeleteChannelRequest>) => {\n return this.chatApi.deleteChannel({\n ...this.baseRequest,\n ...(request ?? {}),\n });\n };\n\n update = (updateChannelRequest: OmitTypeId<UpdateChannelRequest>) => {\n return this.chatApi.updateChannel({\n ...this.baseRequest,\n updateChannelRequest,\n });\n };\n\n updatePartial = (\n updateChannelPartialRequest: OmitTypeId<UpdateChannelPartialRequest>,\n ) => {\n return this.chatApi.updateChannelPartial({\n ...this.baseRequest,\n updateChannelPartialRequest,\n });\n };\n\n getOrCreate = async (\n channelGetOrCreateRequest?: ChannelGetOrCreateRequest,\n ) => {\n if (this.id) {\n return await this.chatApi.getOrCreateChannel({\n ...this.baseRequest,\n channelGetOrCreateRequest: channelGetOrCreateRequest ?? {},\n });\n } else {\n if (!channelGetOrCreateRequest?.data?.members) {\n throw new Error(\n 'You need to provide members to create a channel without ID',\n );\n }\n const response = await this.chatApi.getOrCreateDistinctChannel({\n type: this.type,\n channelGetOrCreateRequest,\n });\n this.id = response.channel?.id;\n return response;\n }\n };\n\n markRead = (markReadRequest: MarkReadRequest) => {\n return this.chatApi.markRead({ ...this.baseRequest, markReadRequest });\n };\n\n markUnread = (markUnreadRequest: MarkUnreadRequest) => {\n return this.chatApi.markUnread({\n ...this.baseRequest,\n markUnreadRequest,\n });\n };\n\n show = (showChannelRequest: ShowChannelRequest) => {\n return this.chatApi.showChannel({\n ...this.baseRequest,\n showChannelRequest,\n });\n };\n\n hide = (hideChannelRequest: HideChannelRequest) => {\n return this.chatApi.hideChannel({\n ...this.baseRequest,\n hideChannelRequest,\n });\n };\n\n truncate = (truncateChannelRequest: TruncateChannelRequest) => {\n return this.chatApi.truncateChannel({\n ...this.baseRequest,\n truncateChannelRequest,\n });\n };\n\n queryMembers = (request: OmitTypeId<QueryMembersRequest>) => {\n return this.chatApi.queryMembers({\n payload: { ...this.baseRequest, ...request },\n });\n };\n\n mute = (muteChannelRequest: Omit<MuteChannelRequest, 'channel_cids'>) => {\n return this.chatApi.muteChannel({\n muteChannelRequest: { ...muteChannelRequest, channel_cids: [this.cid] },\n });\n };\n\n unmute = (\n unmuteChannelRequest: Omit<\n UnmuteChannelRequest,\n 'channel_cids' | 'channel_cid'\n >,\n ) => {\n return this.chatApi.unmuteChannel({\n unmuteChannelRequest: {\n ...unmuteChannelRequest,\n channel_cids: [this.cid],\n },\n });\n };\n\n // TODO: there is probably an issue with the generated code here\n // uploadFile = (options: Omit<OmitTypeId<UploadFileRequest>, 'file'>, file: Buffer) => {\n // return this.chatApi.uploadFile({...options, ...this.baseRequest, file: file as any as string});\n // }\n\n // deleteFile = (request: OmitTypeId<DeleteFileRequest>) => {\n // return this.chatApi.deleteFile({...request, ...this.baseRequest});\n // }\n\n // uploadImage = (request: OmitTypeId<UploadImageRequest>) => {\n // return this.chatApi.uploadImage({...request, ...this.baseRequest});\n // }\n\n // deleteImage = (request: OmitTypeId<DeleteImageRequest>) => {\n // return this.chatApi.deleteImage({...request, ...this.baseRequest});\n // }\n\n sendMessage = (sendMessageRequest: SendMessageRequest) => {\n return this.chatApi.sendMessage({\n ...this.baseRequest,\n sendMessageRequest,\n });\n };\n\n deleteMessage = (request: DeleteMessageRequest) => {\n return this.chatApi.deleteMessage(request);\n };\n\n updateMessage = (id: string, updateMessageRequest: UpdateMessageRequest) => {\n return this.chatApi.updateMessage({ id, updateMessageRequest });\n };\n\n updateMessagePartial = (\n id: string,\n updateMessagePartialRequest: UpdateMessagePartialRequest,\n ) => {\n return this.chatApi.updateMessagePartial({\n id,\n updateMessagePartialRequest,\n });\n };\n\n getMessage = (request: GetMessageRequest) => {\n return this.chatApi.getMessage(request);\n };\n\n getManyMessages = (request: OmitTypeId<GetManyMessagesRequest>) => {\n return this.chatApi.getManyMessages({\n ...request,\n ...this.baseRequest,\n });\n };\n\n translateMessage = (\n id: string,\n translateMessageRequest: TranslateMessageRequest,\n ) => {\n return this.chatApi.translateMessage({ id, translateMessageRequest });\n };\n\n getMessagesAround = (request: GetRepliesRequest) => {\n return this.chatApi.getReplies(request);\n };\n\n getOpenGraphData = (request: GetOGRequest) => {\n return this.chatApi.getOG(request);\n };\n\n sendMessageReaction = (\n messageId: string,\n sendReactionRequest: SendReactionRequest,\n ) => {\n return this.chatApi.sendReaction({\n id: messageId,\n sendReactionRequest,\n });\n };\n\n deleteMessageReaction = (\n messageId: string,\n request: Omit<DeleteReactionRequest, 'id'>,\n ) => {\n return this.chatApi.deleteReaction({ ...request, id: messageId });\n };\n\n getMessageReactions = (\n messageId: string,\n request?: Omit<GetReactionsRequest, 'id'>,\n ) => {\n return this.chatApi.getReactions({ ...(request ?? {}), id: messageId });\n };\n\n sendCustomEvent = (event: EventRequest) => {\n return this.chatApi.sendEvent({\n ...this.baseRequest,\n sendEventRequest: { event },\n });\n };\n\n private get baseRequest() {\n if (!this.id) {\n throw new Error('You need to initialize the channel with `getOrCreate`');\n }\n\n return {\n id: this.id,\n type: this.type,\n };\n }\n}\n","import { StreamChannel } from './StreamChannel';\nimport { StreamClient } from './StreamClient';\nimport {\n CreateBlockListRequest,\n CreateChannelTypeRequest,\n CreateCommandRequest,\n DeleteBlockListRequest,\n DeleteChannelTypeRequest,\n DeleteCommandRequest,\n ExportChannelsRequest,\n GetBlockListRequest,\n GetChannelTypeRequest,\n GetCommandRequest,\n GetExportChannelsStatusRequest,\n ProductchatApi,\n QueryChannelsRequest,\n SearchRequest,\n UpdateBlockListRequest,\n UpdateChannelTypeRequest,\n UpdateCommandRequest,\n} from './gen/chat';\n\nexport class StreamChatClient {\n private readonly chatApi: ProductchatApi;\n\n constructor(private readonly streamClient: StreamClient) {\n const configuration = this.streamClient.getConfiguration();\n /** @ts-expect-error */\n this.chatApi = new ProductchatApi(configuration);\n }\n\n channel = (type: string, id?: string) => {\n return new StreamChannel(this.streamClient, type, id);\n };\n\n createBlockList = (createBlockListRequest: CreateBlockListRequest) => {\n return this.chatApi.createBlockList({ createBlockListRequest });\n };\n\n listBlockLists = () => {\n return this.chatApi.listBlockLists();\n };\n\n getBlockList = (request: GetBlockListRequest) => {\n return this.chatApi.getBlockList(request);\n };\n\n updateBlockList = (\n name: string,\n updateBlockListRequest: UpdateBlockListRequest,\n ) => {\n return this.chatApi.updateBlockList({ name, updateBlockListRequest });\n };\n\n deleteBlockList = (request: DeleteBlockListRequest) => {\n return this.chatApi.deleteBlockList(request);\n };\n\n createChannelType = (createChannelTypeRequest: CreateChannelTypeRequest) => {\n return this.chatApi.createChannelType({ createChannelTypeRequest });\n };\n\n deleteChannelType = (request: DeleteChannelTypeRequest) => {\n return this.chatApi.deleteChannelType(request);\n };\n\n getChannelType = (request: GetChannelTypeRequest) => {\n return this.chatApi.getChannelType(request);\n };\n\n listChannelTypes = () => {\n return this.chatApi.listChannelTypes();\n };\n\n updateChannelType = (\n name: string,\n updateChannelTypeRequest: UpdateChannelTypeRequest,\n ) => {\n return this.chatApi.updateChannelType({\n name,\n updateChannelTypeRequest,\n });\n };\n\n queryChannels = (queryChannelsRequest?: QueryChannelsRequest) => {\n return this.chatApi.queryChannels({\n queryChannelsRequest: queryChannelsRequest ?? {},\n });\n };\n\n searchMessages = (payload?: SearchRequest) => {\n return this.chatApi.search({ payload });\n };\n\n exportChannels = (exportChannelsRequest?: ExportChannelsRequest) => {\n return this.chatApi.exportChannels({\n exportChannelsRequest: exportChannelsRequest ?? null,\n });\n };\n\n getExportStatus = (request: GetExportChannelsStatusRequest) => {\n return this.chatApi.getExportChannelsStatus(request);\n };\n\n listCommands = () => {\n return this.chatApi.listCommands();\n };\n\n createCommand = (createCommandRequest: CreateCommandRequest) => {\n return this.chatApi.createCommand({ createCommandRequest });\n };\n\n getCommand = (getCommandRequest: GetCommandRequest) => {\n return this.chatApi.getCommand(getCommandRequest);\n };\n\n updateCommand = (\n name: string,\n updateCommandRequest: UpdateCommandRequest,\n ) => {\n return this.chatApi.updateCommand({ name, updateCommandRequest });\n };\n\n deleteCommand = (request: DeleteCommandRequest) => {\n return this.chatApi.deleteCommand(request);\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v122.3.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const BASE_PATH = \"https://stream-io-api.com\".replace(/\\/+$/, \"\");\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?: string | ((name: string) => string); // parameter for apiKey security\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string | Promise<string>); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n set config(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n get basePath(): string {\n return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken(): ((name?: string, scopes?: string[]) => string | Promise<string>) | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function' ? accessToken : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n\n\t private static readonly jsonRegex = new RegExp('^(:?application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$', 'i');\n private middleware: Middleware[];\n\n constructor(protected configuration = DefaultConfig) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware<T extends BaseAPI>(this: T, ...middlewares: Middleware[]) {\n const next = this.clone<T>();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware<T extends BaseAPI>(this: T, ...preMiddlewares: Array<Middleware['pre']>) {\n const middlewares = preMiddlewares.map((pre) => ({ pre }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n withPostMiddleware<T extends BaseAPI>(this: T, ...postMiddlewares: Array<Middleware['post']>) {\n const middlewares = postMiddlewares.map((post) => ({ post }));\n return this.withMiddleware<T>(...middlewares);\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n protected isJsonMime(mime: string | null | undefined): boolean {\n if (!mime) {\n return false;\n }\n return BaseAPI.jsonRegex.test(mime);\n }\n\n protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise<Response> {\n const { url, init } = await this.createFetchParams(context, initOverrides);\n const response = await this.fetchApi(url, init);\n if (response && (response.status >= 200 && response.status < 300)) {\n return response;\n }\n throw new ResponseError(response, 'Response returned an error code');\n }\n\n private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) {\n let url = this.configuration.basePath + context.path;\n if (context.query !== undefined && Object.keys(context.query).length !== 0) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n\n const headers = Object.assign({}, this.configuration.headers, context.headers);\n Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});\n\n const initOverrideFn =\n typeof initOverrides === \"function\"\n ? initOverrides\n : async () => initOverrides;\n\n const initParams = {\n method: context.method,\n headers,\n body: context.body,\n credentials: this.configuration.credentials,\n };\n\n const overriddenInit: RequestInit = {\n ...initParams,\n ...(await initOverrideFn({\n init: initParams,\n context,\n }))\n };\n\n const init: RequestInit = {\n ...overriddenInit,\n body:\n isFormData(overriddenInit.body) ||\n overriddenInit.body instanceof URLSearchParams ||\n isBlob(overriddenInit.body)\n ? overriddenInit.body\n : JSON.stringify(overriddenInit.body),\n };\n\n return { url, init };\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = { url, init };\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams = await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n }) || fetchParams;\n }\n }\n let response: Response | undefined = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n } catch (e) {\n for (const middleware of this.middleware) {\n if (middleware.onError) {\n response = await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined,\n }) || response;\n }\n }\n if (response === undefined) {\n if (e instanceof Error) {\n throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');\n } else {\n throw e;\n }\n }\n }\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response = await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n }) || response;\n }\n }\n return response;\n }\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone<T extends BaseAPI>(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n};\n\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n override name: \"ResponseError\" = \"ResponseError\";\n constructor(public response: Response, msg?: string) {\n super(msg);\n }\n}\n\nexport class FetchError extends Error {\n override name: \"FetchError\" = \"FetchError\";\n constructor(public cause: Error, msg?: string) {\n super(msg);\n }\n}\n\nexport class RequiredError extends Error {\n override name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';\nexport type HTTPHeaders = { [key: string]: string };\nexport type HTTPQuery = { [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery };\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody };\nexport type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';\n\nexport type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise<RequestInit>\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map(key => querystringSingleKey(key, params[key], prefix))\n .filter(part => part.length > 0)\n .join('&');\n}\n\nfunction querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array<string | number | null | boolean> | Set<string | number | null | boolean> | HTTPQuery, keyPrefix: string = ''): string {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n}\n\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string;\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface ErrorContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n error: unknown;\n response?: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise<FetchParams | void>;\n post?(context: ResponseContext): Promise<Response | void>;\n onError?(context: ErrorContext): Promise<Response | void>;\n}\n\nexport interface ApiResponse<T> {\n raw: Response;\n value(): Promise<T>;\n}\n\nexport interface ResponseTransformer<T> {\n (json: any): T;\n}\n\nexport class JSONApiResponse<T> {\n constructor(public raw: Response, private transformer: ResponseTransformer<T> = (jsonValue: any) => jsonValue) {}\n\n async value(): Promise<T> {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<void> {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<Blob> {\n return await this.raw.blob();\n };\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise<string> {\n return await this.raw.text();\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Stream API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v122.3.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n VideoAPIError,\n VideoBlockUserRequest,\n VideoBlockUserResponse,\n VideoCheckExternalStorageResponse,\n VideoCollectUserFeedbackRequest,\n VideoCollectUserFeedbackResponse,\n VideoCreateCallTypeRequest,\n VideoCreateCallTypeResponse,\n VideoCreateDeviceRequest,\n VideoCreateExternalStorageRequest,\n VideoCreateExternalStorageResponse,\n VideoCreateGuestRequest,\n VideoCreateGuestResponse,\n VideoDeleteCallRequest,\n VideoDeleteCallResponse,\n VideoDeleteExternalStorageResponse,\n VideoDeleteRecordingResponse,\n VideoDeleteTranscriptionResponse,\n VideoEndCallResponse,\n VideoGetCallResponse,\n VideoGetCallStatsResponse,\n VideoGetCallTypeResponse,\n VideoGetEdgesResponse,\n VideoGetOrCreateCallRequest,\n VideoGetOrCreateCallResponse,\n VideoGoLiveRequest,\n VideoGoLiveResponse,\n VideoListCallTypeResponse,\n VideoListDevicesResponse,\n VideoListExternalStorageResponse,\n VideoListRecordingsResponse,\n VideoListTranscriptionsResponse,\n VideoMuteUsersRequest,\n VideoMuteUsersResponse,\n VideoPinRequest,\n VideoPinResponse,\n VideoQueryCallMembersRequest,\n VideoQueryCallMembersResponse,\n VideoQueryCallStatsRequest,\n VideoQueryCallStatsResponse,\n VideoQueryCallsRequest,\n VideoQueryCallsResponse,\n VideoResponse,\n VideoSendCallEventRequest,\n VideoSendCallEventResponse,\n VideoStartHLSBroadcastingResponse,\n VideoStartRecordingRequest,\n VideoStartRecordingResponse,\n VideoStartTranscriptionRequest,\n VideoStartTranscriptionResponse,\n VideoStopHLSBroadcastingResponse,\n VideoStopLiveResponse,\n VideoStopRecordingResponse,\n VideoStopTranscriptionResponse,\n VideoUnblockUserRequest,\n VideoUnblockUserResponse,\n VideoUnpinRequest,\n VideoUnpinResponse,\n VideoUpdateCallMembersRequest,\n VideoUpdateCallMembersResponse,\n VideoUpdateCallRequest,\n VideoUpdateCallResponse,\n VideoUpdateCallTypeRequest,\n VideoUpdateCallTypeResponse,\n VideoUpdateExternalStorageRequest,\n VideoUpdateExternalStorageResponse,\n VideoUpdateUserPermissionsRequest,\n VideoUpdateUserPermissionsResponse,\n} from '../models';\n\nexport interface BlockUserRequest {\n type: string;\n id: string;\n videoBlockUserRequest: VideoBlockUserRequest | null;\n}\n\nexport interface CheckExternalStorageRequest {\n name: string;\n}\n\nexport interface CollectUserFeedbackRequest {\n type: string;\n id: string;\n session: string;\n videoCollectUserFeedbackRequest: VideoCollectUserFeedbackRequest | null;\n}\n\nexport interface CreateCallTypeRequest {\n videoCreateCallTypeRequest: VideoCreateCallTypeRequest | null;\n}\n\nexport interface CreateDeviceRequest {\n videoCreateDeviceRequest: VideoCreateDeviceRequest | null;\n}\n\nexport interface CreateExternalStorageRequest {\n videoCreateExternalStorageRequest: VideoCreateExternalStorageRequest | null;\n}\n\nexport interface CreateGuestRequest {\n videoCreateGuestRequest: VideoCreateGuestRequest | null;\n}\n\nexport interface DeleteCallRequest {\n type: string;\n id: string;\n videoDeleteCallRequest: VideoDeleteCallRequest | null;\n}\n\nexport interface DeleteCallTypeRequest {\n name: string;\n}\n\nexport interface DeleteDeviceRequest {\n id: string;\n userId?: string;\n}\n\nexport interface DeleteExternalStorageRequest {\n name: string;\n}\n\nexport interface DeleteRecordingRequest {\n type: string;\n id: string;\n session: string;\n filename: string;\n}\n\nexport interface DeleteTranscriptionRequest {\n type: string;\n id: string;\n session: string;\n filename: string;\n}\n\nexport interface EndCallRequest {\n type: string;\n id: string;\n}\n\nexport interface GetCallRequest {\n type: string;\n id: string;\n membersLimit?: number;\n ring?: boolean;\n notify?: boolean;\n}\n\nexport interface GetCallStatsRequest {\n type: string;\n id: string;\n session: string;\n}\n\nexport interface GetCallTypeRequest {\n name: string;\n}\n\nexport interface GetOrCreateCallRequest {\n type: string;\n id: string;\n videoGetOrCreateCallRequest: VideoGetOrCreateCallRequest | null;\n}\n\nexport interface GoLiveRequest {\n type: string;\n id: string;\n videoGoLiveRequest: VideoGoLiveRequest | null;\n}\n\nexport interface ListDevicesRequest {\n userId?: string;\n}\n\nexport interface ListRecordingsRequest {\n type: string;\n id: string;\n}\n\nexport interface ListTranscriptionsRequest {\n type: string;\n id: string;\n}\n\nexport interface MuteUsersRequest {\n type: string;\n id: string;\n videoMuteUsersRequest: VideoMuteUsersRequest | null;\n}\n\nexport interface QueryCallMembersRequest {\n videoQueryCallMembersRequest: VideoQueryCallMembersRequest | null;\n}\n\nexport interface QueryCallStatsRequest {\n videoQueryCallStatsRequest: VideoQueryCallStatsRequest | null;\n}\n\nexport interface QueryCallsRequest {\n videoQueryCallsRequest: VideoQueryCallsRequest | null;\n}\n\nexport interface SendCallEventRequest {\n type: string;\n id: string;\n videoSendCallEventRequest: VideoSendCallEventRequest | null;\n}\n\nexport interface StartHLSBroadcastingRequest {\n type: string;\n id: string;\n}\n\nexport interface StartRecordingRequest {\n type: string;\n id: string;\n videoStartRecordingRequest: VideoStartRecordingRequest | null;\n}\n\nexport interface StartTranscriptionRequest {\n type: string;\n id: string;\n videoStartTranscriptionRequest: VideoStartTranscriptionRequest | null;\n}\n\nexport interface StopHLSBroadcastingRequest {\n type: string;\n id: string;\n}\n\nexport interface StopLiveRequest {\n type: string;\n id: string;\n}\n\nexport interface StopRecordingRequest {\n type: string;\n id: string;\n}\n\nexport interface StopTranscriptionRequest {\n type: string;\n id: string;\n}\n\nexport interface UnblockUserRequest {\n type: string;\n id: string;\n videoUnblockUserRequest: VideoUnblockUserRequest | null;\n}\n\nexport interface UpdateCallRequest {\n type: string;\n id: string;\n videoUpdateCallRequest: VideoUpdateCallRequest | null;\n}\n\nexport interface UpdateCallMembersRequest {\n type: string;\n id: string;\n videoUpdateCallMembersRequest: VideoUpdateCallMembersRequest | null;\n}\n\nexport interface UpdateCallTypeRequest {\n name: string;\n videoUpdateCallTypeRequest: VideoUpdateCallTypeRequest | null;\n}\n\nexport interface UpdateExternalStorageRequest {\n name: string;\n videoUpdateExternalStorageRequest: VideoUpdateExternalStorageRequest | null;\n}\n\nexport interface UpdateUserPermissionsRequest {\n type: string;\n id: string;\n videoUpdateUserPermissionsRequest: VideoUpdateUserPermissionsRequest | null;\n}\n\nexport interface VideoPinOperationRequest {\n type: string;\n id: string;\n videoPinRequest: VideoPinRequest | null;\n}\n\nexport interface VideoUnpinOperationRequest {\n type: string;\n id: string;\n videoUnpinRequest: VideoUnpinRequest | null;\n}\n\n/**\n * \n */\nexport class ProductvideoApi extends runtime.BaseAPI {\n\n /**\n * Block a user, preventing them from joining the call until they are unblocked. Sends events: - call.blocked_user Required permissions: - BlockUser \n * Block user on a call\n */\n async blockUserRaw(requestParameters: BlockUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoBlockUserResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling blockUser.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling blockUser.');\n }\n\n if (requestParameters.videoBlockUserRequest === null || requestParameters.videoBlockUserRequest === undefined) {\n throw new runtime.RequiredError('videoBlockUserRequest','Required parameter requestParameters.videoBlockUserRequest was null or undefined when calling blockUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/block`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoBlockUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Block a user, preventing them from joining the call until they are unblocked. Sends events: - call.blocked_user Required permissions: - BlockUser \n * Block user on a call\n */\n async blockUser(requestParameters: BlockUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoBlockUserResponse> {\n const response = await this.blockUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Check External Storage\n */\n async checkExternalStorageRaw(requestParameters: CheckExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoCheckExternalStorageResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling checkExternalStorage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/external_storage/{name}/check`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Check External Storage\n */\n async checkExternalStorage(requestParameters: CheckExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoCheckExternalStorageResponse> {\n const response = await this.checkExternalStorageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Required permissions: - JoinCall \n * Collect user feedback\n */\n async collectUserFeedbackRaw(requestParameters: CollectUserFeedbackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoCollectUserFeedbackResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling collectUserFeedback.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling collectUserFeedback.');\n }\n\n if (requestParameters.session === null || requestParameters.session === undefined) {\n throw new runtime.RequiredError('session','Required parameter requestParameters.session was null or undefined when calling collectUserFeedback.');\n }\n\n if (requestParameters.videoCollectUserFeedbackRequest === null || requestParameters.videoCollectUserFeedbackRequest === undefined) {\n throw new runtime.RequiredError('videoCollectUserFeedbackRequest','Required parameter requestParameters.videoCollectUserFeedbackRequest was null or undefined when calling collectUserFeedback.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/feedback/{session}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${\"session\"}}`, encodeURIComponent(String(requestParameters.session))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoCollectUserFeedbackRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Required permissions: - JoinCall \n * Collect user feedback\n */\n async collectUserFeedback(requestParameters: CollectUserFeedbackRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoCollectUserFeedbackResponse> {\n const response = await this.collectUserFeedbackRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Create Call Type\n */\n async createCallTypeRaw(requestParameters: CreateCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoCreateCallTypeResponse>> {\n if (requestParameters.videoCreateCallTypeRequest === null || requestParameters.videoCreateCallTypeRequest === undefined) {\n throw new runtime.RequiredError('videoCreateCallTypeRequest','Required parameter requestParameters.videoCreateCallTypeRequest was null or undefined when calling createCallType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/calltypes`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoCreateCallTypeRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Create Call Type\n */\n async createCallType(requestParameters: CreateCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoCreateCallTypeResponse> {\n const response = await this.createCallTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Adds a new device to a user, if the same device already exists the call will have no effect \n * Create device\n */\n async createDeviceRaw(requestParameters: CreateDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoResponse>> {\n if (requestParameters.videoCreateDeviceRequest === null || requestParameters.videoCreateDeviceRequest === undefined) {\n throw new runtime.RequiredError('videoCreateDeviceRequest','Required parameter requestParameters.videoCreateDeviceRequest was null or undefined when calling createDevice.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/devices`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoCreateDeviceRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Adds a new device to a user, if the same device already exists the call will have no effect \n * Create device\n */\n async createDevice(requestParameters: CreateDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoResponse> {\n const response = await this.createDeviceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Creates new external storage \n * Create external storage\n */\n async createExternalStorageRaw(requestParameters: CreateExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoCreateExternalStorageResponse>> {\n if (requestParameters.videoCreateExternalStorageRequest === null || requestParameters.videoCreateExternalStorageRequest === undefined) {\n throw new runtime.RequiredError('videoCreateExternalStorageRequest','Required parameter requestParameters.videoCreateExternalStorageRequest was null or undefined when calling createExternalStorage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/external_storage`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoCreateExternalStorageRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Creates new external storage \n * Create external storage\n */\n async createExternalStorage(requestParameters: CreateExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoCreateExternalStorageResponse> {\n const response = await this.createExternalStorageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Create Guest\n */\n async createGuestRaw(requestParameters: CreateGuestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoCreateGuestResponse>> {\n if (requestParameters.videoCreateGuestRequest === null || requestParameters.videoCreateGuestRequest === undefined) {\n throw new runtime.RequiredError('videoCreateGuestRequest','Required parameter requestParameters.videoCreateGuestRequest was null or undefined when calling createGuest.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/guest`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoCreateGuestRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Create Guest\n */\n async createGuest(requestParameters: CreateGuestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoCreateGuestResponse> {\n const response = await this.createGuestRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.deleted Required permissions: - DeleteCall \n * Delete Call\n */\n async deleteCallRaw(requestParameters: DeleteCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoDeleteCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteCall.');\n }\n\n if (requestParameters.videoDeleteCallRequest === null || requestParameters.videoDeleteCallRequest === undefined) {\n throw new runtime.RequiredError('videoDeleteCallRequest','Required parameter requestParameters.videoDeleteCallRequest was null or undefined when calling deleteCall.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/delete`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoDeleteCallRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.deleted Required permissions: - DeleteCall \n * Delete Call\n */\n async deleteCall(requestParameters: DeleteCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoDeleteCallResponse> {\n const response = await this.deleteCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Delete Call Type\n */\n async deleteCallTypeRaw(requestParameters: DeleteCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteCallType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/calltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Delete Call Type\n */\n async deleteCallType(requestParameters: DeleteCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoResponse> {\n const response = await this.deleteCallTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes one device \n * Delete device\n */\n async deleteDeviceRaw(requestParameters: DeleteDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoResponse>> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteDevice.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.id !== undefined) {\n queryParameters['id'] = requestParameters.id;\n }\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/devices`,\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes one device \n * Delete device\n */\n async deleteDevice(requestParameters: DeleteDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoResponse> {\n const response = await this.deleteDeviceRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes external storage \n * Delete external storage\n */\n async deleteExternalStorageRaw(requestParameters: DeleteExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoDeleteExternalStorageResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling deleteExternalStorage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/external_storage/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes external storage \n * Delete external storage\n */\n async deleteExternalStorage(requestParameters: DeleteExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoDeleteExternalStorageResponse> {\n const response = await this.deleteExternalStorageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes recording Required permissions: - DeleteRecording \n * Delete recording\n */\n async deleteRecordingRaw(requestParameters: DeleteRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoDeleteRecordingResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteRecording.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteRecording.');\n }\n\n if (requestParameters.session === null || requestParameters.session === undefined) {\n throw new runtime.RequiredError('session','Required parameter requestParameters.session was null or undefined when calling deleteRecording.');\n }\n\n if (requestParameters.filename === null || requestParameters.filename === undefined) {\n throw new runtime.RequiredError('filename','Required parameter requestParameters.filename was null or undefined when calling deleteRecording.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/{session}/recordings/{filename}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${\"session\"}}`, encodeURIComponent(String(requestParameters.session))).replace(`{${\"filename\"}}`, encodeURIComponent(String(requestParameters.filename))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes recording Required permissions: - DeleteRecording \n * Delete recording\n */\n async deleteRecording(requestParameters: DeleteRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoDeleteRecordingResponse> {\n const response = await this.deleteRecordingRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Deletes transcription Required permissions: - DeleteTranscription \n * Delete transcription\n */\n async deleteTranscriptionRaw(requestParameters: DeleteTranscriptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoDeleteTranscriptionResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling deleteTranscription.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteTranscription.');\n }\n\n if (requestParameters.session === null || requestParameters.session === undefined) {\n throw new runtime.RequiredError('session','Required parameter requestParameters.session was null or undefined when calling deleteTranscription.');\n }\n\n if (requestParameters.filename === null || requestParameters.filename === undefined) {\n throw new runtime.RequiredError('filename','Required parameter requestParameters.filename was null or undefined when calling deleteTranscription.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/{session}/transcriptions/{filename}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${\"session\"}}`, encodeURIComponent(String(requestParameters.session))).replace(`{${\"filename\"}}`, encodeURIComponent(String(requestParameters.filename))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Deletes transcription Required permissions: - DeleteTranscription \n * Delete transcription\n */\n async deleteTranscription(requestParameters: DeleteTranscriptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoDeleteTranscriptionResponse> {\n const response = await this.deleteTranscriptionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.ended Required permissions: - EndCall \n * End call\n */\n async endCallRaw(requestParameters: EndCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoEndCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling endCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling endCall.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/mark_ended`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.ended Required permissions: - EndCall \n * End call\n */\n async endCall(requestParameters: EndCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoEndCallResponse> {\n const response = await this.endCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Required permissions: - ReadCall \n * Get Call\n */\n async getCallRaw(requestParameters: GetCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoGetCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling getCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getCall.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.membersLimit !== undefined) {\n queryParameters['members_limit'] = requestParameters.membersLimit;\n }\n\n if (requestParameters.ring !== undefined) {\n queryParameters['ring'] = requestParameters.ring;\n }\n\n if (requestParameters.notify !== undefined) {\n queryParameters['notify'] = requestParameters.notify;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Required permissions: - ReadCall \n * Get Call\n */\n async getCall(requestParameters: GetCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoGetCallResponse> {\n const response = await this.getCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Required permissions: - ReadCallStats \n * Get Call Stats\n */\n async getCallStatsRaw(requestParameters: GetCallStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoGetCallStatsResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling getCallStats.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getCallStats.');\n }\n\n if (requestParameters.session === null || requestParameters.session === undefined) {\n throw new runtime.RequiredError('session','Required parameter requestParameters.session was null or undefined when calling getCallStats.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/stats/{session}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${\"session\"}}`, encodeURIComponent(String(requestParameters.session))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Required permissions: - ReadCallStats \n * Get Call Stats\n */\n async getCallStats(requestParameters: GetCallStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoGetCallStatsResponse> {\n const response = await this.getCallStatsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Get Call Type\n */\n async getCallTypeRaw(requestParameters: GetCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoGetCallTypeResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getCallType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/calltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Get Call Type\n */\n async getCallType(requestParameters: GetCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoGetCallTypeResponse> {\n const response = await this.getCallTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Returns the list of all edges available for video calls. \n * Get Edges\n */\n async getEdgesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoGetEdgesResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/edges`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns the list of all edges available for video calls. \n * Get Edges\n */\n async getEdges(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoGetEdgesResponse> {\n const response = await this.getEdgesRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Gets or creates a new call Sends events: - call.created - call.notification - call.ring Required permissions: - CreateCall - ReadCall - UpdateCallSettings \n * Get or create a call\n */\n async getOrCreateCallRaw(requestParameters: GetOrCreateCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoGetOrCreateCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling getOrCreateCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getOrCreateCall.');\n }\n\n if (requestParameters.videoGetOrCreateCallRequest === null || requestParameters.videoGetOrCreateCallRequest === undefined) {\n throw new runtime.RequiredError('videoGetOrCreateCallRequest','Required parameter requestParameters.videoGetOrCreateCallRequest was null or undefined when calling getOrCreateCall.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoGetOrCreateCallRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Gets or creates a new call Sends events: - call.created - call.notification - call.ring Required permissions: - CreateCall - ReadCall - UpdateCallSettings \n * Get or create a call\n */\n async getOrCreateCall(requestParameters: GetOrCreateCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoGetOrCreateCallResponse> {\n const response = await this.getOrCreateCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.live_started Required permissions: - UpdateCall \n * Set call as live\n */\n async goLiveRaw(requestParameters: GoLiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoGoLiveResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling goLive.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling goLive.');\n }\n\n if (requestParameters.videoGoLiveRequest === null || requestParameters.videoGoLiveRequest === undefined) {\n throw new runtime.RequiredError('videoGoLiveRequest','Required parameter requestParameters.videoGoLiveRequest was null or undefined when calling goLive.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/go_live`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoGoLiveRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.live_started Required permissions: - UpdateCall \n * Set call as live\n */\n async goLive(requestParameters: GoLiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoGoLiveResponse> {\n const response = await this.goLiveRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * List Call Type\n */\n async listCallTypesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoListCallTypeResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/calltypes`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * List Call Type\n */\n async listCallTypes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoListCallTypeResponse> {\n const response = await this.listCallTypesRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Returns all available devices \n * List devices\n */\n async listDevicesRaw(requestParameters: ListDevicesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoListDevicesResponse>> {\n const queryParameters: any = {};\n\n if (requestParameters.userId !== undefined) {\n queryParameters['user_id'] = requestParameters.userId;\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/devices`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Returns all available devices \n * List devices\n */\n async listDevices(requestParameters: ListDevicesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoListDevicesResponse> {\n const response = await this.listDevicesRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Lists external storage \n * List external storage\n */\n async listExternalStorageRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoListExternalStorageResponse>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/external_storage`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists external storage \n * List external storage\n */\n async listExternalStorage(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoListExternalStorageResponse> {\n const response = await this.listExternalStorageRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Lists recordings Required permissions: - ListRecordings \n * List recordings\n */\n async listRecordingsRaw(requestParameters: ListRecordingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoListRecordingsResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling listRecordings.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling listRecordings.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/recordings`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists recordings Required permissions: - ListRecordings \n * List recordings\n */\n async listRecordings(requestParameters: ListRecordingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoListRecordingsResponse> {\n const response = await this.listRecordingsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Lists transcriptions Required permissions: - ListTranscriptions \n * List transcriptions\n */\n async listTranscriptionsRaw(requestParameters: ListTranscriptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoListTranscriptionsResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling listTranscriptions.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling listTranscriptions.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/transcriptions`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Lists transcriptions Required permissions: - ListTranscriptions \n * List transcriptions\n */\n async listTranscriptions(requestParameters: ListTranscriptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoListTranscriptionsResponse> {\n const response = await this.listTranscriptionsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Mutes users in a call Required permissions: - MuteUsers \n * Mute users\n */\n async muteUsersRaw(requestParameters: MuteUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoMuteUsersResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling muteUsers.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling muteUsers.');\n }\n\n if (requestParameters.videoMuteUsersRequest === null || requestParameters.videoMuteUsersRequest === undefined) {\n throw new runtime.RequiredError('videoMuteUsersRequest','Required parameter requestParameters.videoMuteUsersRequest was null or undefined when calling muteUsers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/mute_users`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoMuteUsersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Mutes users in a call Required permissions: - MuteUsers \n * Mute users\n */\n async muteUsers(requestParameters: MuteUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoMuteUsersResponse> {\n const response = await this.muteUsersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Query call members with filter query Required permissions: - ReadCall \n * Query call members\n */\n async queryCallMembersRaw(requestParameters: QueryCallMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoQueryCallMembersResponse>> {\n if (requestParameters.videoQueryCallMembersRequest === null || requestParameters.videoQueryCallMembersRequest === undefined) {\n throw new runtime.RequiredError('videoQueryCallMembersRequest','Required parameter requestParameters.videoQueryCallMembersRequest was null or undefined when calling queryCallMembers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/members`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoQueryCallMembersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Query call members with filter query Required permissions: - ReadCall \n * Query call members\n */\n async queryCallMembers(requestParameters: QueryCallMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoQueryCallMembersResponse> {\n const response = await this.queryCallMembersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Required permissions: - ReadCallStats \n * Query Call Stats\n */\n async queryCallStatsRaw(requestParameters: QueryCallStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoQueryCallStatsResponse>> {\n if (requestParameters.videoQueryCallStatsRequest === null || requestParameters.videoQueryCallStatsRequest === undefined) {\n throw new runtime.RequiredError('videoQueryCallStatsRequest','Required parameter requestParameters.videoQueryCallStatsRequest was null or undefined when calling queryCallStats.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/stats`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoQueryCallStatsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Required permissions: - ReadCallStats \n * Query Call Stats\n */\n async queryCallStats(requestParameters: QueryCallStatsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoQueryCallStatsResponse> {\n const response = await this.queryCallStatsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Query calls with filter query Required permissions: - ReadCall \n * Query call\n */\n async queryCallsRaw(requestParameters: QueryCallsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoQueryCallsResponse>> {\n if (requestParameters.videoQueryCallsRequest === null || requestParameters.videoQueryCallsRequest === undefined) {\n throw new runtime.RequiredError('videoQueryCallsRequest','Required parameter requestParameters.videoQueryCallsRequest was null or undefined when calling queryCalls.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/calls`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoQueryCallsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Query calls with filter query Required permissions: - ReadCall \n * Query call\n */\n async queryCalls(requestParameters: QueryCallsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoQueryCallsResponse> {\n const response = await this.queryCallsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends custom event to the call Sends events: - custom Required permissions: - SendEvent \n * Send custom event\n */\n async sendCallEventRaw(requestParameters: SendCallEventRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoSendCallEventResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling sendCallEvent.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling sendCallEvent.');\n }\n\n if (requestParameters.videoSendCallEventRequest === null || requestParameters.videoSendCallEventRequest === undefined) {\n throw new runtime.RequiredError('videoSendCallEventRequest','Required parameter requestParameters.videoSendCallEventRequest was null or undefined when calling sendCallEvent.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/event`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoSendCallEventRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends custom event to the call Sends events: - custom Required permissions: - SendEvent \n * Send custom event\n */\n async sendCallEvent(requestParameters: SendCallEventRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoSendCallEventResponse> {\n const response = await this.sendCallEventRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Starts HLS broadcasting Required permissions: - StartBroadcasting \n * Start HLS broadcasting\n */\n async startHLSBroadcastingRaw(requestParameters: StartHLSBroadcastingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStartHLSBroadcastingResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling startHLSBroadcasting.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling startHLSBroadcasting.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/start_broadcasting`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Starts HLS broadcasting Required permissions: - StartBroadcasting \n * Start HLS broadcasting\n */\n async startHLSBroadcasting(requestParameters: StartHLSBroadcastingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStartHLSBroadcastingResponse> {\n const response = await this.startHLSBroadcastingRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Starts recording Sends events: - call.recording_started Required permissions: - StartRecording \n * Start recording\n */\n async startRecordingRaw(requestParameters: StartRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStartRecordingResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling startRecording.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling startRecording.');\n }\n\n if (requestParameters.videoStartRecordingRequest === null || requestParameters.videoStartRecordingRequest === undefined) {\n throw new runtime.RequiredError('videoStartRecordingRequest','Required parameter requestParameters.videoStartRecordingRequest was null or undefined when calling startRecording.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/start_recording`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoStartRecordingRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Starts recording Sends events: - call.recording_started Required permissions: - StartRecording \n * Start recording\n */\n async startRecording(requestParameters: StartRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStartRecordingResponse> {\n const response = await this.startRecordingRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Starts transcription Required permissions: - StartTranscription \n * Start transcription\n */\n async startTranscriptionRaw(requestParameters: StartTranscriptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStartTranscriptionResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling startTranscription.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling startTranscription.');\n }\n\n if (requestParameters.videoStartTranscriptionRequest === null || requestParameters.videoStartTranscriptionRequest === undefined) {\n throw new runtime.RequiredError('videoStartTranscriptionRequest','Required parameter requestParameters.videoStartTranscriptionRequest was null or undefined when calling startTranscription.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/start_transcription`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoStartTranscriptionRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Starts transcription Required permissions: - StartTranscription \n * Start transcription\n */\n async startTranscription(requestParameters: StartTranscriptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStartTranscriptionResponse> {\n const response = await this.startTranscriptionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Stops HLS broadcasting Required permissions: - StopBroadcasting \n * Stop HLS broadcasting\n */\n async stopHLSBroadcastingRaw(requestParameters: StopHLSBroadcastingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStopHLSBroadcastingResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling stopHLSBroadcasting.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling stopHLSBroadcasting.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/stop_broadcasting`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Stops HLS broadcasting Required permissions: - StopBroadcasting \n * Stop HLS broadcasting\n */\n async stopHLSBroadcasting(requestParameters: StopHLSBroadcastingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStopHLSBroadcastingResponse> {\n const response = await this.stopHLSBroadcastingRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.updated Required permissions: - UpdateCall \n * Set call as not live\n */\n async stopLiveRaw(requestParameters: StopLiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStopLiveResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling stopLive.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling stopLive.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/stop_live`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.updated Required permissions: - UpdateCall \n * Set call as not live\n */\n async stopLive(requestParameters: StopLiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStopLiveResponse> {\n const response = await this.stopLiveRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Stops recording Sends events: - call.recording_stopped Required permissions: - StopRecording \n * Stop recording\n */\n async stopRecordingRaw(requestParameters: StopRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStopRecordingResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling stopRecording.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling stopRecording.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/stop_recording`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Stops recording Sends events: - call.recording_stopped Required permissions: - StopRecording \n * Stop recording\n */\n async stopRecording(requestParameters: StopRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStopRecordingResponse> {\n const response = await this.stopRecordingRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Stops transcription Sends events: - call.transcription_stopped Required permissions: - StopTranscription \n * Stop transcription\n */\n async stopTranscriptionRaw(requestParameters: StopTranscriptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoStopTranscriptionResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling stopTranscription.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling stopTranscription.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/stop_transcription`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Stops transcription Sends events: - call.transcription_stopped Required permissions: - StopTranscription \n * Stop transcription\n */\n async stopTranscription(requestParameters: StopTranscriptionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoStopTranscriptionResponse> {\n const response = await this.stopTranscriptionRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Removes the block for a user on a call. The user will be able to join the call again. Sends events: - call.unblocked_user Required permissions: - BlockUser \n * Unblocks user on a call\n */\n async unblockUserRaw(requestParameters: UnblockUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUnblockUserResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling unblockUser.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling unblockUser.');\n }\n\n if (requestParameters.videoUnblockUserRequest === null || requestParameters.videoUnblockUserRequest === undefined) {\n throw new runtime.RequiredError('videoUnblockUserRequest','Required parameter requestParameters.videoUnblockUserRequest was null or undefined when calling unblockUser.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/unblock`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUnblockUserRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Removes the block for a user on a call. The user will be able to join the call again. Sends events: - call.unblocked_user Required permissions: - BlockUser \n * Unblocks user on a call\n */\n async unblockUser(requestParameters: UnblockUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUnblockUserResponse> {\n const response = await this.unblockUserRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.updated Required permissions: - UpdateCall \n * Update Call\n */\n async updateCallRaw(requestParameters: UpdateCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUpdateCallResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling updateCall.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateCall.');\n }\n\n if (requestParameters.videoUpdateCallRequest === null || requestParameters.videoUpdateCallRequest === undefined) {\n throw new runtime.RequiredError('videoUpdateCallRequest','Required parameter requestParameters.videoUpdateCallRequest was null or undefined when calling updateCall.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'PATCH',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUpdateCallRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.updated Required permissions: - UpdateCall \n * Update Call\n */\n async updateCall(requestParameters: UpdateCallRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUpdateCallResponse> {\n const response = await this.updateCallRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Sends events: - call.member_added - call.member_removed - call.member_updated Required permissions: - RemoveCallMember - UpdateCallMember - UpdateCallMemberRole \n * Update Call Member\n */\n async updateCallMembersRaw(requestParameters: UpdateCallMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUpdateCallMembersResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling updateCallMembers.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateCallMembers.');\n }\n\n if (requestParameters.videoUpdateCallMembersRequest === null || requestParameters.videoUpdateCallMembersRequest === undefined) {\n throw new runtime.RequiredError('videoUpdateCallMembersRequest','Required parameter requestParameters.videoUpdateCallMembersRequest was null or undefined when calling updateCallMembers.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/members`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUpdateCallMembersRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Sends events: - call.member_added - call.member_removed - call.member_updated Required permissions: - RemoveCallMember - UpdateCallMember - UpdateCallMemberRole \n * Update Call Member\n */\n async updateCallMembers(requestParameters: UpdateCallMembersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUpdateCallMembersResponse> {\n const response = await this.updateCallMembersRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Update Call Type\n */\n async updateCallTypeRaw(requestParameters: UpdateCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUpdateCallTypeResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling updateCallType.');\n }\n\n if (requestParameters.videoUpdateCallTypeRequest === null || requestParameters.videoUpdateCallTypeRequest === undefined) {\n throw new runtime.RequiredError('videoUpdateCallTypeRequest','Required parameter requestParameters.videoUpdateCallTypeRequest was null or undefined when calling updateCallType.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/calltypes/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUpdateCallTypeRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Update Call Type\n */\n async updateCallType(requestParameters: UpdateCallTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUpdateCallTypeResponse> {\n const response = await this.updateCallTypeRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * \n * Update External Storage\n */\n async updateExternalStorageRaw(requestParameters: UpdateExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUpdateExternalStorageResponse>> {\n if (requestParameters.name === null || requestParameters.name === undefined) {\n throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling updateExternalStorage.');\n }\n\n if (requestParameters.videoUpdateExternalStorageRequest === null || requestParameters.videoUpdateExternalStorageRequest === undefined) {\n throw new runtime.RequiredError('videoUpdateExternalStorageRequest','Required parameter requestParameters.videoUpdateExternalStorageRequest was null or undefined when calling updateExternalStorage.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/external_storage/{name}`.replace(`{${\"name\"}}`, encodeURIComponent(String(requestParameters.name))),\n method: 'PUT',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUpdateExternalStorageRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * \n * Update External Storage\n */\n async updateExternalStorage(requestParameters: UpdateExternalStorageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUpdateExternalStorageResponse> {\n const response = await this.updateExternalStorageRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Updates user permissions Sends events: - call.permissions_updated Required permissions: - UpdateCallPermissions \n * Update user permissions\n */\n async updateUserPermissionsRaw(requestParameters: UpdateUserPermissionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUpdateUserPermissionsResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling updateUserPermissions.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateUserPermissions.');\n }\n\n if (requestParameters.videoUpdateUserPermissionsRequest === null || requestParameters.videoUpdateUserPermissionsRequest === undefined) {\n throw new runtime.RequiredError('videoUpdateUserPermissionsRequest','Required parameter requestParameters.videoUpdateUserPermissionsRequest was null or undefined when calling updateUserPermissions.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/user_permissions`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUpdateUserPermissionsRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Updates user permissions Sends events: - call.permissions_updated Required permissions: - UpdateCallPermissions \n * Update user permissions\n */\n async updateUserPermissions(requestParameters: UpdateUserPermissionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUpdateUserPermissionsResponse> {\n const response = await this.updateUserPermissionsRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Pins a track for all users in the call. Required permissions: - PinCallTrack \n * Pin\n */\n async videoPinRaw(requestParameters: VideoPinOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoPinResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling videoPin.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling videoPin.');\n }\n\n if (requestParameters.videoPinRequest === null || requestParameters.videoPinRequest === undefined) {\n throw new runtime.RequiredError('videoPinRequest','Required parameter requestParameters.videoPinRequest was null or undefined when calling videoPin.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/pin`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoPinRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Pins a track for all users in the call. Required permissions: - PinCallTrack \n * Pin\n */\n async videoPin(requestParameters: VideoPinOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoPinResponse> {\n const response = await this.videoPinRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Unpins a track for all users in the call. Required permissions: - PinCallTrack \n * Unpin\n */\n async videoUnpinRaw(requestParameters: VideoUnpinOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VideoUnpinResponse>> {\n if (requestParameters.type === null || requestParameters.type === undefined) {\n throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling videoUnpin.');\n }\n\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling videoUnpin.');\n }\n\n if (requestParameters.videoUnpinRequest === null || requestParameters.videoUnpinRequest === undefined) {\n throw new runtime.RequiredError('videoUnpinRequest','Required parameter requestParameters.videoUnpinRequest was null or undefined when calling videoUnpin.');\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json';\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Stream-Auth-Type\"] = this.configuration.apiKey(\"Stream-Auth-Type\"); // stream-auth-type authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n queryParameters[\"api_key\"] = this.configuration.apiKey(\"api_key\"); // api_key authentication\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = this.configuration.apiKey(\"Authorization\"); // JWT authentication\n }\n\n const response = await this.request({\n path: `/video/call/{type}/{id}/unpin`.replace(`{${\"type\"}}`, encodeURIComponent(String(requestParameters.type))).replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters.id))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters.videoUnpinRequest,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Unpins a track for all users in the call. Required permissions: - PinCallTrack \n * Unpin\n */\n async videoUnpin(requestParameters: VideoUnpinOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VideoUnpinResponse> {\n const response = await this.videoUnpinRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","import { StreamClient } from './StreamClient';\nimport {\n DeleteRecordingRequest,\n DeleteTranscriptionRequest,\n GetCallRequest,\n GetCallStatsRequest,\n ProductvideoApi,\n VideoBlockUserRequest,\n VideoDeleteCallRequest,\n VideoGetOrCreateCallRequest,\n VideoGoLiveRequest,\n VideoMuteUsersRequest,\n VideoPinRequest,\n VideoQueryCallMembersRequest,\n VideoSendCallEventRequest,\n VideoStartRecordingRequest,\n VideoStartTranscriptionRequest,\n VideoUnblockUserRequest,\n VideoUnpinRequest,\n VideoUpdateCallMembersRequest,\n VideoUpdateCallRequest,\n VideoUpdateUserPermissionsRequest,\n} from './gen/video';\nimport { OmitTypeId } from './types';\n\nexport class StreamCall {\n private readonly baseRequest: { type: string; id: string };\n private readonly apiClient: ProductvideoApi;\n\n constructor(\n private readonly streamClient: StreamClient,\n public readonly type: string,\n public readonly id: string,\n ) {\n this.baseRequest = { id: this.id, type: this.type };\n const configuration = this.streamClient.getConfiguration('video');\n this.apiClient = new ProductvideoApi(configuration);\n }\n\n get cid() {\n return `${this.type}:${this.id}`;\n }\n\n blockUser = (videoBlockUserRequest: VideoBlockUserRequest) => {\n return this.apiClient.blockUser({\n ...this.baseRequest,\n videoBlockUserRequest,\n });\n };\n\n endCall = () => {\n return this.apiClient.endCall({ ...this.baseRequest });\n };\n\n get = (request?: OmitTypeId<GetCallRequest>) => {\n return this.apiClient.getCall({ ...(request ?? {}), ...this.baseRequest });\n };\n\n delete = (videoDeleteCallRequest?: VideoDeleteCallRequest) => {\n return this.apiClient.deleteCall({\n ...this.baseRequest,\n videoDeleteCallRequest: videoDeleteCallRequest ?? null,\n });\n };\n\n getOrCreate = (videoGetOrCreateCallRequest?: VideoGetOrCreateCallRequest) => {\n return this.apiClient.getOrCreateCall({\n ...this.baseRequest,\n videoGetOrCreateCallRequest: videoGetOrCreateCallRequest ?? {},\n });\n };\n\n getSessionStatistics = (request: OmitTypeId<GetCallStatsRequest>) => {\n return this.apiClient.getCallStats({ ...this.baseRequest, ...request });\n };\n\n create = (getOrCreateCallRequest?: VideoGetOrCreateCallRequest) => {\n return this.getOrCreate(getOrCreateCallRequest);\n };\n\n goLive = (videoGoLiveRequest?: VideoGoLiveRequest) => {\n return this.apiClient.goLive({\n ...this.baseRequest,\n videoGoLiveRequest: videoGoLiveRequest ?? {},\n });\n };\n\n listRecordings = () => {\n return this.apiClient.listRecordings({\n ...this.baseRequest,\n });\n };\n\n deleteRecording = (request: OmitTypeId<DeleteRecordingRequest>) => {\n return this.apiClient.deleteRecording({ ...this.baseRequest, ...request });\n };\n\n listTranscriptions = () => {\n return this.apiClient.listTranscriptions({\n ...this.baseRequest,\n });\n };\n\n muteUsers = (videoMuteUsersRequest: VideoMuteUsersRequest) => {\n return this.apiClient.muteUsers({\n ...this.baseRequest,\n videoMuteUsersRequest,\n });\n };\n\n queryMembers = (request?: OmitTypeId<VideoQueryCallMembersRequest>) => {\n return this.apiClient.queryCallMembers({\n videoQueryCallMembersRequest: { ...(request ?? {}), ...this.baseRequest },\n });\n };\n\n sendCustomEvent = (videoSendCallEventRequest: VideoSendCallEventRequest) => {\n return this.apiClient.sendCallEvent({\n videoSendCallEventRequest,\n ...this.baseRequest,\n });\n };\n\n startHLSBroadcasting = () => {\n return this.apiClient.startHLSBroadcasting({ ...this.baseRequest });\n };\n\n startRecording = (request?: VideoStartRecordingRequest) => {\n return this.apiClient.startRecording({\n ...this.baseRequest,\n videoStartRecordingRequest: request ?? {},\n });\n };\n\n startTranscription = (\n videoStartTranscriptionRequest: VideoStartTranscriptionRequest = {},\n ) => {\n return this.apiClient.startTranscription({\n ...this.baseRequest,\n videoStartTranscriptionRequest,\n });\n };\n\n deleteTranscription = (request: OmitTypeId<DeleteTranscriptionRequest>) => {\n return this.apiClient.deleteTranscription({\n ...this.baseRequest,\n ...request,\n });\n };\n\n stopHLSBroadcasting = () => {\n return this.apiClient.stopHLSBroadcasting({ ...this.baseRequest });\n };\n\n stopLive = () => {\n return this.apiClient.stopLive({ ...this.baseRequest });\n };\n\n stopRecording = () => {\n return this.apiClient.stopRecording({ ...this.baseRequest });\n };\n\n stopTranscription = () => {\n return this.apiClient.stopTranscription({ ...this.baseRequest });\n };\n\n unblockUser = (videoUnblockUserRequest: VideoUnblockUserRequest) => {\n return this.apiClient.unblockUser({\n videoUnblockUserRequest,\n ...this.baseRequest,\n });\n };\n\n update = (videoUpdateCallRequest: VideoUpdateCallRequest) => {\n return this.apiClient.updateCall({\n videoUpdateCallRequest,\n ...this.baseRequest,\n });\n };\n\n updateCallMembers = (\n videoUpdateCallMembersRequest: VideoUpdateCallMembersRequest,\n ) => {\n return this.apiClient.updateCallMembers({\n videoUpdateCallMembersRequest,\n ...this.baseRequest,\n });\n };\n\n updateUserPermissions = (\n videoUpdateUserPermissionsRequest: VideoUpdateUserPermissionsRequest,\n ) => {\n return this.apiClient.updateUserPermissions({\n videoUpdateUserPermissionsRequest,\n ...this.baseRequest,\n });\n };\n\n pinVideo = (videoPinRequest: VideoPinRequest) => {\n return this.apiClient.videoPin({ videoPinRequest, ...this.baseRequest });\n };\n\n unpinVideo = (videoUnpinRequest: VideoUnpinRequest) => {\n return this.apiClient.videoUnpin({\n videoUnpinRequest,\n ...this.baseRequest,\n });\n };\n}\n","import { StreamCall } from './StreamCall';\nimport { StreamClient } from './StreamClient';\nimport {\n CheckExternalStorageRequest,\n DeleteCallTypeRequest,\n DeleteExternalStorageRequest,\n GetCallTypeRequest,\n ProductvideoApi,\n VideoCreateCallTypeRequest,\n VideoCreateExternalStorageRequest,\n VideoQueryCallStatsRequest,\n VideoQueryCallsRequest,\n VideoUpdateCallTypeRequest,\n VideoUpdateExternalStorageRequest,\n} from './gen/video';\n\nexport class StreamVideoClient {\n private readonly apiClient: ProductvideoApi;\n\n constructor(private readonly streamClient: StreamClient) {\n const configuration = this.streamClient.getConfiguration('video');\n this.apiClient = new ProductvideoApi(configuration);\n }\n\n call = (type: string, id: string) => {\n return new StreamCall(this.streamClient, type, id);\n };\n\n queryCalls = (request?: VideoQueryCallsRequest) => {\n return this.apiClient.queryCalls({\n videoQueryCallsRequest: request ?? {},\n });\n };\n\n queryCallStatistics = (\n videoQueryCallStatsRequest?: VideoQueryCallStatsRequest,\n ) => {\n return this.apiClient.queryCallStats({\n videoQueryCallStatsRequest: videoQueryCallStatsRequest ?? {},\n });\n };\n\n createCallType = (videoCreateCallTypeRequest: VideoCreateCallTypeRequest) => {\n return this.apiClient.createCallType({\n videoCreateCallTypeRequest,\n });\n };\n\n deleteCallType = (request: DeleteCallTypeRequest) => {\n return this.apiClient.deleteCallType(request);\n };\n\n getCallType = (request: GetCallTypeRequest) => {\n return this.apiClient.getCallType(request);\n };\n\n listCallTypes = () => {\n return this.apiClient.listCallTypes();\n };\n\n updateCallType = (\n name: string,\n videoUpdateCallTypeRequest: VideoUpdateCallTypeRequest,\n ) => {\n return this.apiClient.updateCallType({\n name,\n videoUpdateCallTypeRequest,\n });\n };\n\n listExternalStorages = () => {\n return this.apiClient.listExternalStorage();\n };\n\n createExternalStorage = (\n videoCreateExternalStorageRequest: VideoCreateExternalStorageRequest,\n ) => {\n return this.apiClient.createExternalStorage({\n videoCreateExternalStorageRequest,\n });\n };\n\n deleteExternalStorage = (request: DeleteExternalStorageRequest) => {\n return this.apiClient.deleteExternalStorage(request);\n };\n\n updateExternalStorage = (\n name: string,\n videoUpdateExternalStorageRequest: VideoUpdateExternalStorageRequest,\n ) => {\n return this.apiClient.updateExternalStorage({\n name,\n videoUpdateExternalStorageRequest,\n });\n };\n\n checkExternalStorage = (request: CheckExternalStorageRequest) => {\n return this.apiClient.checkExternalStorage(request);\n };\n}\n","import jwt, { Secret, SignOptions } from 'jsonwebtoken';\n\nexport function JWTUserToken(\n apiSecret: Secret,\n payload: { user_id: string; exp: number; iat: number; call_cids?: string[] },\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","import { StreamChatClient } from './StreamChatClient';\nimport { StreamVideoClient } from './StreamVideoClient';\nimport {\n APIError,\n BanRequest,\n BlockUsersRequest,\n CheckPushRequest,\n CreateDeviceRequest,\n CreateGuestRequest,\n CreateRoleRequest,\n DeactivateUserRequest,\n DeactivateUsersRequest,\n DeleteDeviceRequest,\n DeletePushProviderRequest,\n DeleteRoleRequest,\n DeleteUsersRequest,\n ExportUserRequest,\n ExportUsersRequest,\n FlagRequest,\n GetBlockedUsersRequest,\n GetPermissionRequest,\n GetTaskRequest,\n ListDevicesRequest,\n MuteUserRequest,\n ProductchatApi,\n PushProvider,\n QueryBannedUsersRequest,\n QueryUsersPayload,\n ReactivateUserRequest,\n ReactivateUsersRequest,\n RestoreUsersRequest,\n UnbanRequest,\n UnblockUsersRequest,\n UnmuteUserRequest,\n UpdateAppRequest,\n UpdateUserPartialRequest,\n UpdateUsersRequest,\n UserCustomEventRequest,\n} from './gen/chat';\nimport {\n Configuration,\n ErrorContext,\n FetchError,\n HTTPQuery,\n JSONApiResponse,\n RequestContext,\n ResponseContext,\n} from './gen/video';\nimport { v4 as uuidv4 } from 'uuid';\nimport { JWTServerToken, JWTUserToken } from './utils/create-token';\nimport crypto from 'crypto';\nimport { CallTokenPayload, UserTokenPayload } from './types';\n\nexport interface StreamClientOptions {\n timeout?: number;\n basePath?: string;\n}\n\nexport class StreamClient {\n public readonly video: StreamVideoClient;\n public readonly chat: StreamChatClient;\n public readonly options: StreamClientOptions = {};\n private readonly chatApi: ProductchatApi;\n private readonly token: string;\n private static readonly DEFAULT_TIMEOUT = 3000;\n\n /**\n *\n * @param apiKey\n * @param secret\n * @param config can be a string, which will be interpreted as base path (deprecated), or a config object\n */\n constructor(\n private readonly apiKey: string,\n private readonly secret: string,\n readonly config?: string | StreamClientOptions,\n ) {\n this.token = JWTServerToken(this.secret);\n\n if (typeof config === 'string') {\n this.options.basePath = config;\n this.options.timeout = StreamClient.DEFAULT_TIMEOUT;\n } else {\n if (config) {\n this.options = config;\n }\n this.options.timeout = config?.timeout ?? StreamClient.DEFAULT_TIMEOUT;\n }\n\n this.video = new StreamVideoClient(this);\n this.chat = new StreamChatClient(this);\n\n const chatConfiguration = this.getConfiguration();\n /** @ts-expect-error */\n this.chatApi = new ProductchatApi(chatConfiguration);\n }\n\n /**\n *\n * @param userID\n * @param exp\n * @param iat deprecated, the default date will be set internally\n * @param call_cids this parameter is deprecated use `createCallToken` for call tokens\n * @returns\n */\n createToken(\n userID: string,\n exp = Math.round(Date.now() / 1000) + 60 * 60,\n iat = Math.floor((Date.now() - 1000) / 1000),\n call_cids?: string[],\n ) {\n const payload: UserTokenPayload = {\n user_id: userID,\n exp,\n iat,\n };\n\n if (call_cids) {\n console.warn(\n `Use createCallToken method for creating call tokens, the \"call_cids\" param will be removed from the createToken method with version 0.2.0`,\n );\n payload.call_cids = call_cids;\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 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 createDevice = (createDeviceRequest: CreateDeviceRequest) => {\n return this.chatApi.createDevice({ createDeviceRequest });\n };\n\n deleteDevice = (requestParameters: DeleteDeviceRequest) => {\n return this.chatApi.deleteDevice(requestParameters);\n };\n\n listDevices = (requestParameters: ListDevicesRequest) => {\n return this.chatApi.listDevices(requestParameters);\n };\n\n listPushProviders = () => {\n return this.chatApi.listPushProviders();\n };\n\n deletePushProvider = (request: DeletePushProviderRequest) => {\n return this.chatApi.deletePushProvider(request);\n };\n\n upsertPushProvider = (request: PushProvider) => {\n return this.chatApi.upsertPushProvider({\n upsertPushProviderRequest: { push_provider: request },\n });\n };\n\n checkPush = (checkPushRequest: CheckPushRequest) => {\n return this.chatApi.checkPush({ checkPushRequest });\n };\n\n createGuest = (createGuestRequest: CreateGuestRequest) => {\n return this.chatApi.createGuest({ createGuestRequest });\n };\n\n banUser = (banRequest: BanRequest) => {\n return this.chatApi.ban({ banRequest });\n };\n\n deactivateUser = (\n deactivateUserRequest: DeactivateUserRequest & { user_id: string },\n ) => {\n return this.chatApi.deactivateUser({\n deactivateUserRequest,\n userId: deactivateUserRequest.user_id,\n });\n };\n\n deactivateUsers = (deactivateUsersRequest: DeactivateUsersRequest) => {\n return this.chatApi.deactivateUsers({ deactivateUsersRequest });\n };\n\n deleteUsers = (deleteUsersRequest: DeleteUsersRequest) => {\n return this.chatApi.deleteUsers({ deleteUsersRequest });\n };\n\n exportUser = (request: ExportUserRequest) => {\n return this.chatApi.exportUser(request);\n };\n\n exportUsers = (exportUsersRequest: ExportUsersRequest) => {\n return this.chatApi.exportUsers({ exportUsersRequest });\n };\n\n flag = (flagRequest: FlagRequest) => {\n return this.chatApi.flag({ flagRequest });\n };\n\n queryBannedUsers = (payload: QueryBannedUsersRequest) => {\n return this.chatApi.queryBannedUsers({ payload });\n };\n\n queryUsers = (payload: QueryUsersPayload) => {\n return this.chatApi.queryUsers({ payload });\n };\n\n reactivateUser = (\n reactivateUserRequest: ReactivateUserRequest & { user_id: string },\n ) => {\n return this.chatApi.reactivateUser({\n reactivateUserRequest,\n userId: reactivateUserRequest.user_id,\n });\n };\n\n reactivateUsers = (reactivateUsersRequest: ReactivateUsersRequest) => {\n return this.chatApi.reactivateUsers({ reactivateUsersRequest });\n };\n\n restoreUsers = (restoreUsersRequest: RestoreUsersRequest) => {\n return this.chatApi.restoreUsers({ restoreUsersRequest });\n };\n\n unbanUser = (request: UnbanRequest) => {\n return this.chatApi.unban(request);\n };\n\n upsertUsers = (updateUsersRequest: UpdateUsersRequest) => {\n return this.chatApi.updateUsers({ updateUsersRequest });\n };\n\n updateUsersPartial = (request: { users: UpdateUserPartialRequest[] }) => {\n return this.chatApi.updateUsersPartial({\n updateUsersPartialRequest: request,\n });\n };\n\n muteUser = (muteUserRequest: MuteUserRequest) => {\n return this.chatApi.muteUser({ muteUserRequest });\n };\n\n unmuteUser = (unmuteUserRequest: UnmuteUserRequest) => {\n return this.chatApi.unmuteUser({ unmuteUserRequest });\n };\n\n sendCustomEventToUser = (userId: string, event: UserCustomEventRequest) => {\n return this.chatApi.sendUserCustomEvent({\n userId,\n sendUserCustomEventRequest: { event },\n });\n };\n\n createRole = (createRoleRequest: CreateRoleRequest) => {\n return this.chatApi.createRole({ createRoleRequest });\n };\n\n deleteRole = (request: DeleteRoleRequest) => {\n return this.chatApi.deleteRole(request);\n };\n\n getPermission = (request: GetPermissionRequest) => {\n return this.chatApi.getPermission(request);\n };\n\n listPermissions = () => {\n return this.chatApi.listPermissions();\n };\n\n listRoles = () => {\n return this.chatApi.listRoles();\n };\n\n getAppSettings = () => {\n return this.chatApi.getApp();\n };\n\n updateAppSettings = (updateAppRequest: UpdateAppRequest) => {\n return this.chatApi.updateApp({ updateAppRequest });\n };\n\n getRateLimits = () => {\n return this.chatApi.getRateLimits();\n };\n\n getTaskStatus = (request: GetTaskRequest) => {\n return this.chatApi.getTask(request);\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 blockUsers = (blockUsersRequest: BlockUsersRequest) => {\n return this.chatApi.blockUsers({ blockUsersRequest });\n };\n\n unblockUsers = (unblockUsersRequest: UnblockUsersRequest) => {\n return this.chatApi.unblockUsers({ unblockUsersRequest });\n };\n\n getBlockedUsers = (request: GetBlockedUsersRequest) => {\n return this.chatApi.getBlockedUsers(request);\n };\n\n getConfiguration = (product: 'chat' | 'video' = 'chat') => {\n return new Configuration({\n apiKey: (name: string) => {\n const mapping: Record<string, string> = {\n 'Stream-Auth-Type': 'jwt',\n api_key: this.apiKey,\n Authorization: this.token,\n };\n\n return mapping[name];\n },\n basePath:\n this.options.basePath ??\n (product === 'chat'\n ? 'https://chat.stream-io-api.com'\n : 'https://video.stream-io-api.com'),\n headers: {\n 'X-Stream-Client': 'stream-node-' + process.env.PKG_VERSION,\n },\n middleware: [\n {\n pre: (context: RequestContext) => {\n context.init.headers = {\n ...context.init.headers,\n 'x-client-request-id': uuidv4(),\n 'Accept-Encoding': 'gzip',\n };\n\n return Promise.resolve(context);\n },\n },\n {\n // This should be the last post middleware because that will throw an error\n // The Fetch API won't throw an error for HTTP error responses, which means the \"onError\" middleware won't be called so we need to throw error from \"post\" middleware\n post: async (context: ResponseContext) => {\n if (\n (context.response && context.response.status < 200) ||\n context.response.status >= 300\n ) {\n const response = new JSONApiResponse(context.response);\n const value = (await response.value()) as APIError;\n throw new Error(\n `Stream error code ${value.code}: ${value.message}`,\n );\n }\n },\n },\n {\n pre: (context: RequestContext) => {\n context.init.signal = AbortSignal.timeout(this.options.timeout!);\n\n return Promise.resolve(context);\n },\n onError: (context: ErrorContext) => {\n const error = context.error as DOMException;\n if (error.name === 'AbortError' || error.name === 'TimeoutError') {\n throw new FetchError(\n error,\n `The request was aborted due to to the ${this.options.timeout}ms timeout, you can set the timeout in the StreamClient constructor`,\n );\n }\n\n return Promise.resolve(context.response);\n },\n },\n ],\n // https://github.com/OpenAPITools/openapi-generator/issues/13222\n queryParamsStringify: (params: HTTPQuery) => {\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 (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 };\n}\n"],"names":["BASE_PATH","querystring","DefaultConfig","Configuration","FetchError","ResponseError","isFormData","isBlob","BaseAPI","querystringSingleKey","runtime.BaseAPI","runtime.RequiredError","runtime.JSONApiResponse","runtime.canConsumeForm","runtime.COLLECTION_FORMATS","uuidv4"],"mappings":"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","x_google_ignoreList":[2]}
1
+ {"version":3,"file":"index.es.js","sources":["../../src/gen/models/index.ts","../../src/utils/create-token.ts","../node_modules/tslib/tslib.es6.js","../../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 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 AWSRekognitionConfig {\n enabled?: boolean;\n\n rules?: AWSRekognitionRule[];\n}\n\nexport interface AWSRekognitionRule {\n action: 'flag' | 'shadow' | 'remove';\n\n label: string;\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 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?: UserObject;\n\n user?: UserObject;\n}\n\nexport interface ActionLogResponse {\n created_at: Date;\n\n id: string;\n\n reason: string;\n\n type: 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 countrywise_aggregate_stats?: Record<string, CountrywiseAggregateStats>;\n\n publisher_aggregate_stats?: PublisherAggregateStats;\n\n turn?: TURNAggregatedStats;\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 image_moderation_enabled: boolean;\n\n moderation_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 video_provider: 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 agora_options?: Config;\n\n datadog_info?: DataDogInfo;\n\n hms_options?: Config;\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 og_scrape_url?: string;\n\n original_height?: number;\n\n original_width?: number;\n\n pretext?: string;\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\nexport interface AutomodRule {\n action: 'flag' | 'shadow' | 'remove';\n\n label: string;\n\n threshold: number;\n}\n\nexport interface AutomodSemanticFiltersConfig {\n enabled?: boolean;\n\n rules?: AutomodSemanticFiltersRule[];\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\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?: UserObject;\n\n target?: UserObject;\n}\n\nexport interface BanActionRequest {\n channel_ban_only?: 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\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 updated_at?: Date;\n}\n\nexport interface BlockListRule {\n action: 'flag' | 'shadow' | 'remove';\n\n name: 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 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 BodyguardConfig {\n enabled?: boolean;\n\n profile?: string;\n\n rules?: BodyguardRule[];\n\n severity_rules?: BodyguardSeverityRule[];\n}\n\nexport interface BodyguardRule {\n action: 'flag' | 'shadow' | 'remove';\n\n label: string;\n}\n\nexport interface BodyguardSeverityRule {\n action: 'flag' | 'shadow' | 'remove';\n\n severity: 'low' | 'medium' | 'high' | 'critical';\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 CallEvent {\n description: string;\n\n end_timestamp: number;\n\n severity: number;\n\n timestamp: number;\n\n type: string;\n\n component?: string;\n\n additional?: Record<string, any>;\n}\n\nexport interface CallIngressResponse {\n rtmp: RTMPIngress;\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 CallRecording {\n end_time: Date;\n\n filename: string;\n\n start_time: Date;\n\n url: string;\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 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 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 CallSettings {\n audio?: AudioSettings;\n\n backstage?: BackstageSettings;\n\n broadcasting?: BroadcastSettings;\n\n geofencing?: GeofenceSettings;\n\n limits?: LimitsSettings;\n\n recording?: RecordSettings;\n\n ring?: RingSettings;\n\n screensharing?: ScreensharingSettings;\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 geofencing?: GeofenceSettingsRequest;\n\n limits?: LimitsSettingsRequest;\n\n recording?: RecordSettingsRequest;\n\n ring?: RingSettingsRequest;\n\n screensharing?: ScreensharingSettingsRequest;\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 geofencing: GeofenceSettingsResponse;\n\n limits: LimitsSettingsResponse;\n\n recording: RecordSettingsResponse;\n\n ring: RingSettingsResponse;\n\n screensharing: ScreensharingSettingsResponse;\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 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 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 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_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?: ChannelConfig;\n\n created_by?: UserObject;\n\n truncated_by?: UserObject;\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 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 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 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?: number;\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 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 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 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 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 status?: string;\n\n user_id?: string;\n\n user?: UserObject;\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 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 role?: 'member' | 'moderator' | 'admin' | 'owner';\n\n status?: string;\n\n user_id?: string;\n\n user?: UserResponse;\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?: UserObject;\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?: string[];\n\n config?: ChannelConfigWithInfo;\n\n created_by?: UserObject;\n\n truncated_by?: UserObject;\n}\n\nexport interface ChannelStateResponse {\n duration: string;\n\n members: ChannelMember[];\n\n messages: MessageResponse[];\n\n pinned_messages: MessageResponse[];\n\n threads: ThreadState[];\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n watcher_count?: number;\n\n pending_messages?: PendingMessage[];\n\n read?: ReadStateResponse[];\n\n watchers?: UserResponse[];\n\n channel?: ChannelResponse;\n\n membership?: ChannelMember;\n}\n\nexport interface ChannelStateResponseFields {\n members: ChannelMember[];\n\n messages: MessageResponse[];\n\n pinned_messages: MessageResponse[];\n\n threads: ThreadState[];\n\n hidden?: boolean;\n\n hide_messages_before?: Date;\n\n watcher_count?: number;\n\n pending_messages?: PendingMessage[];\n\n read?: ReadStateResponse[];\n\n watchers?: UserResponse[];\n\n channel?: ChannelResponse;\n\n membership?: ChannelMember;\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 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?: number;\n\n allowed_flag_reasons?: string[];\n\n blocklists?: BlockListOptions[];\n\n automod_thresholds?: Thresholds;\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 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 CollectUserFeedbackRequest {\n rating: number;\n\n sdk: string;\n\n sdk_version: string;\n\n user_session_id: string;\n\n reason?: 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 Config {\n app_certificate: string;\n\n app_id: string;\n\n default_role?: 'attendee' | 'publisher' | 'subscriber' | 'admin';\n\n role_map?: Record<string, string>;\n}\n\nexport interface ConfigResponse {\n async: boolean;\n\n created_at: Date;\n\n key: string;\n\n updated_at: Date;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n aws_rek_og_nition_config?: AWSRekognitionConfig;\n\n block_list_config?: BlockListConfig;\n\n bodyguard_config?: BodyguardConfig;\n\n go_og_le_vision_config?: GoogleVisionConfig;\n}\n\nexport interface Coordinates {\n latitude: number;\n\n longitude: number;\n}\n\nexport interface Count {\n app_roximate: boolean;\n\n value: number;\n}\n\nexport interface CountrywiseAggregateStats {\n participant_count?: Count;\n\n publisher_jitter?: TimeStats;\n\n publisher_latency?: TimeStats;\n\n subscriber_jitter?: TimeStats;\n\n subscriber_latency?: TimeStats;\n}\n\nexport interface CreateBlockListRequest {\n name: string;\n\n words: string[];\n\n type?: 'regex' | 'domain' | 'email' | 'word';\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?: string;\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 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 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?: number;\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 CustomCheckRequest {\n entity_creator_id: string;\n\n entity_id: string;\n\n entity_type: string;\n\n name?: string;\n\n reason?: string;\n\n recommended_action?: 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 recommended_action: string;\n\n scored_at: Date;\n\n status: string;\n\n report: any[];\n\n moderator_action?: string;\n\n reviewed_at?: Date;\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\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 DeleteModerationTemplateResponse {\n duration: string;\n}\n\nexport interface DeleteReactionRequest {\n hard_delete?: boolean;\n}\n\nexport interface DeleteRecordingResponse {\n duration: string;\n}\n\nexport interface DeleteTranscriptionResponse {\n duration: string;\n}\n\nexport interface DeleteUserRequest {\n delete_conversation_channels?: 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: 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 DeviceErrorInfo {\n error_message: string;\n\n provider: string;\n\n provider_name: string;\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\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 rtmp_s: EgressRTMPResponse[];\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, Array<EnrichedReaction | null>>;\n\n object?: Data;\n\n origin?: Data;\n\n own_reactions?: Record<string, Array<EnrichedReaction | null>>;\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, Array<EnrichedReaction | null>>;\n\n own_children?: Record<string, Array<EnrichedReaction | null>>;\n\n updated_at?: Time;\n\n user?: Data;\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 ExportChannelsResult {\n url: string;\n\n path?: string;\n\n s3_bucket_name?: string;\n}\n\nexport interface ExportUserResponse {\n duration: string;\n\n messages?: Message[];\n\n reactions?: Reaction[];\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 Flag2 {\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?: UserObject;\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 reason: string;\n\n entity_creator_id?: 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 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_threads: number;\n\n updated_at: Date;\n\n blocked_user_ids: string[];\n\n channel_mutes: ChannelMute[];\n\n devices: Device[];\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 latest_hidden_channels?: string[];\n\n privacy_settings?: PrivacySettingsResponse;\n\n push_notifications?: PushNotificationSettingsResponse;\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 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 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 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 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 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?: number;\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 GetEdgesResponse {\n duration: string;\n\n edges: EdgeResponse[];\n}\n\nexport interface GetExportChannelsStatusResponse {\n created_at: Date;\n\n duration: string;\n\n status:\n | 'waiting'\n | 'pending'\n | 'running'\n | 'completed'\n | 'failed'\n | 'canceled';\n\n task_id: string;\n\n updated_at: Date;\n\n error?: ErrorResult;\n\n result?: ExportChannelsResult;\n}\n\nexport interface GetImportResponse {\n duration: string;\n\n import_task?: ImportTask;\n}\n\nexport interface GetManyMessagesResponse {\n duration: string;\n\n messages: Message[];\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 og_scrape_url?: string;\n\n original_height?: number;\n\n original_width?: number;\n\n pretext?: string;\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: ReviewQueueItem[];\n\n item?: ReviewQueueItem;\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 GetUserModerationReportResponse {\n duration: string;\n\n user_blocks: UserBlock[];\n\n user_mutes: UserMute[];\n\n user: UserResponse;\n}\n\nexport interface GoLiveRequest {\n recording_storage_name?: string;\n\n start_hls?: boolean;\n\n start_recording?: boolean;\n\n start_rtmp_broadcasts?: 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 options?: Record<string, any>;\n}\n\nexport interface LayoutSettingsRequest {\n name: 'spotlight' | 'grid' | 'single-participant' | 'mobile' | 'custom';\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 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: Device[];\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 MOSStats {\n average_score: number;\n\n max_score: number;\n\n min_score: number;\n\n hist_og_ram_duration_seconds: number[];\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 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 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 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: 'regular' | 'ephemeral' | 'error' | 'reply' | 'system' | 'deleted';\n\n updated_at: Date;\n\n attachments: Attachment[];\n\n latest_reactions: Reaction[];\n\n mentioned_users: UserObject[];\n\n own_reactions: Reaction[];\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?: UserObject[];\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n pinned_by?: UserObject;\n\n poll?: Poll;\n\n quoted_message?: Message;\n\n user?: UserObject;\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 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 MessageHistoryEntryResponse {\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 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 last_read_message_id?: string;\n\n team?: string;\n\n thread?: ThreadResponse;\n\n user?: UserObject;\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 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: 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 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 i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n pinned_by?: UserResponse;\n\n poll?: Poll;\n\n quoted_message?: Message;\n\n reaction_groups?: Record<string, ReactionGroupResponse>;\n}\n\nexport interface MessageUpdate {\n old_text?: string;\n\n change_set?: MessageChangeSet;\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: 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 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 i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n pinned_by?: UserResponse;\n\n poll?: Poll;\n\n quoted_message?: Message;\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 ModerationPayload {\n created_at?: Date;\n\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 ModerationUsageStats {\n bucket: string;\n\n metric: string;\n\n updated_at: Date;\n\n value: number;\n}\n\nexport interface ModeratorStats {\n id: string;\n\n items_reviewed: number;\n\n action_counts: Record<string, number>;\n}\n\nexport interface ModeratorStatsResponse {\n duration: string;\n\n moderator_stats: ModeratorStats[];\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 NoiseCancellationSettings {\n mode: 'available' | 'disabled' | 'auto-on';\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 NullBool {\n has_value?: boolean;\n\n value?: boolean;\n}\n\nexport interface NullTime {\n has_value?: boolean;\n\n value?: Date;\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_RECORD_CALL: 'start-record-call',\n START_TRANSCRIPTION_CALL: 'start-transcription-call',\n STOP_BROADCAST_CALL: 'stop-broadcast-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 blocked_user_ids?: string[];\n\n latest_hidden_channels?: string[];\n\n teams?: string[];\n\n privacy_settings?: PrivacySettings;\n\n push_notifications?: PushNotificationSettings;\n}\n\nexport interface PaginationParams {\n limit?: number;\n\n offset?: number;\n}\n\nexport interface PendingMessage {\n channel?: Channel;\n\n message?: Message;\n\n metadata?: Record<string, string>;\n\n user?: UserObject;\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 PinRequest {\n session_id: string;\n\n user_id: string;\n}\n\nexport interface PinResponse {\n duration: string;\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, Array<PollVote | null>>;\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?: UserObject;\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 options: PollOptionResponseData[];\n\n own_votes: PollVoteResponseData[];\n\n custom: Record<string, any>;\n\n latest_votes_by_option: Record<string, Array<PollVoteResponseData | null>>;\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?: UserObject;\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 PushNotificationSettings {\n disabled?: boolean;\n\n disabled_until?: Date;\n}\n\nexport interface PushNotificationSettingsInput {\n disabled?: NullBool;\n\n disabled_until?: NullTime;\n}\n\nexport interface PushNotificationSettingsResponse {\n disabled?: boolean;\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 QueryBannedUsersRequest {\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 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 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 QueryMembersRequest {\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 QueryMessageFlagsRequest {\n limit?: number;\n\n offset?: number;\n\n show_deleted_messages?: boolean;\n\n user_id?: string;\n\n sort?: SortParam[];\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 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 l_og_s: 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_moderator_duration?: number;\n\n lock_moderator_id?: string;\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: ReviewQueueItem[];\n\n action_config: Record<string, Array<ModerationActionConfig | null>>;\n\n stats: Record<string, number>;\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 QueryUsageStatsRequest {\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 QueryUsageStatsResponse {\n duration: string;\n\n items: ModerationUsageStats[];\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 QueueStatsResponse {\n avg_time_to_action: number;\n\n duration: string;\n\n time_to_action_buckets: Record<string, number>;\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?: UserObject;\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 ReactionRemovalResponse {\n duration: string;\n\n message?: Message;\n\n reaction?: Reaction;\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 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 Read {\n last_read: Date;\n\n unread_messages: number;\n\n last_read_message_id?: string;\n\n user?: UserObject;\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 audio_only: boolean;\n\n mode: string;\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 Response {\n duration: string;\n}\n\nexport interface RestoreActionRequest {}\n\nexport interface RestoreUsersRequest {\n user_ids: string[];\n}\n\nexport interface ReviewQueueItem {\n content_changed: boolean;\n\n created_at: Date;\n\n entity_id: string;\n\n entity_type: string;\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: Flag2[];\n\n languages: string[];\n\n completed_at: NullTime;\n\n reviewed_at: NullTime;\n\n assigned_to?: UserObject;\n\n entity_creator?: UserObject;\n\n feeds_v2_activity?: EnrichedActivity;\n\n feeds_v2_reaction?: Reaction;\n\n message?: Message;\n\n moderation_payload?: ModerationPayload;\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 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 SearchRequest {\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\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: Reaction[];\n\n mentioned_users: UserObject[];\n\n own_reactions: Reaction[];\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?: UserObject[];\n\n channel?: ChannelResponse;\n\n i18n?: Record<string, string>;\n\n image_labels?: Record<string, string[]>;\n\n pinned_by?: UserObject;\n\n poll?: Poll;\n\n quoted_message?: Message;\n\n user?: UserObject;\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 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 ShowChannelRequest {\n user_id?: string;\n\n user?: UserRequest;\n}\n\nexport interface ShowChannelResponse {\n duration: string;\n}\n\nexport interface SortParam {\n direction?: number;\n\n field?: string;\n}\n\nexport interface SortParamRequest {\n direction?: number;\n\n field?: 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 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 StopHLSBroadcastingRequest {}\n\nexport interface StopHLSBroadcastingResponse {\n duration: string;\n}\n\nexport interface StopLiveRequest {}\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\nexport interface StopTranscriptionResponse {\n duration: string;\n}\n\nexport interface SubmitActionRequest {\n action_type:\n | 'mark_safe'\n | 'delete_message'\n | 'delete_activity'\n | 'delete_reaction'\n | 'ban'\n | 'custom'\n | 'unban'\n | 'restore'\n | 'delete_user'\n | 'unblock';\n\n item_id: string;\n\n user_id?: string;\n\n ban?: BanActionRequest;\n\n custom?: CustomActionRequest;\n\n delete_message?: DeleteMessageRequest;\n\n delete_reaction?: DeleteReactionRequest;\n\n delete_user?: DeleteUserRequest;\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?: UserObject;\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?: UserObject;\n\n parent_message?: Message;\n}\n\nexport interface ThreadState {\n channel_cid: string;\n\n created_at: Date;\n\n parent_message_id: string;\n\n title: string;\n\n updated_at: Date;\n\n latest_replies: Message[];\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?: Read[];\n\n thread_participants?: ThreadParticipant[];\n\n channel?: Channel;\n\n created_by?: UserObject;\n\n parent_message?: Message;\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: Message[];\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?: Read[];\n\n thread_participants?: ThreadParticipant[];\n\n channel?: ChannelResponse;\n\n created_by?: UserResponse;\n\n parent_message?: Message;\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: string;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n languages: string[];\n}\n\nexport interface TranscriptionSettingsRequest {\n mode: 'available' | 'disabled' | 'auto-on';\n\n closed_caption_mode?: string;\n\n languages?: string[];\n}\n\nexport interface TranscriptionSettingsResponse {\n closed_caption_mode: string;\n\n mode: 'available' | 'disabled' | 'auto-on';\n\n languages: string[];\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}\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?: Message;\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 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 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 video_provider?: 'agora' | 'hms';\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 agora_options?: Config;\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 hms_options?: Config;\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 words?: string[];\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?: Message;\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 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 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?: number;\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 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?: Message;\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: Message;\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 UpsertConfigRequest {\n key: string;\n\n async?: boolean;\n\n automod_platform_circumvention_config?: AutomodPlatformCircumventionConfig;\n\n automod_semantic_filters_config?: AutomodSemanticFiltersConfig;\n\n automod_toxicity_config?: AutomodToxicityConfig;\n\n aws_rek_og_nition_config?: AWSRekognitionConfig;\n\n block_list_config?: BlockListConfig;\n\n bodyguard_config?: BodyguardConfig;\n\n go_og_le_vision_config?: GoogleVisionConfig;\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 UpsertPushProviderRequest {\n push_provider?: PushProvider;\n}\n\nexport interface UpsertPushProviderResponse {\n duration: string;\n\n push_provider: PushProviderResponse;\n}\n\nexport interface UserBlock {\n blocked_by_user_id: string;\n\n blocked_user_id: string;\n\n created_at: Date;\n}\n\nexport interface UserCustomEventRequest {\n type: string;\n\n custom?: Record<string, any>;\n}\n\nexport interface UserInfoResponse {\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?: UserObject;\n\n user?: UserObject;\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 UserObject {\n banned: boolean;\n\n id: string;\n\n online: boolean;\n\n role: string;\n\n custom: Record<string, any>;\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 revoke_tokens_issued_before?: Date;\n\n updated_at?: Date;\n\n teams?: string[];\n\n privacy_settings?: PrivacySettings;\n\n push_notifications?: PushNotificationSettings;\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?: PrivacySettings;\n\n push_notifications?: PushNotificationSettingsInput;\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 devices: Device[];\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 privacy_settings?: PrivacySettingsResponse;\n\n push_notifications?: PushNotificationSettingsResponse;\n}\n\nexport interface UserSessionStats {\n freeze_duration_seconds: number;\n\n max_freeze_fraction: number;\n\n max_freezes_duration_seconds: 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 bro_ws_er?: 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 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_audio_mos?: MOSStats;\n\n publisher_jitter?: TimeStats;\n\n publisher_latency?: TimeStats;\n\n publisher_video_quality_limitation_duration_seconds?: Record<string, number>;\n\n subscriber_audio_mos?: MOSStats;\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 rating?: number;\n}\n\nexport interface VideoQuality {\n usage_type?: string;\n\n resolution?: VideoResolution;\n}\n\nexport interface VideoResolution {\n height: number;\n\n width: 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?: PollOption;\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_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?: UserObject;\n\n me?: OwnUser;\n\n member?: ChannelMember;\n\n message?: Message;\n\n message_update?: MessageUpdate;\n\n poll?: Poll;\n\n poll_vote?: PollVote;\n\n reaction?: Reaction;\n\n thread?: ThreadResponse;\n\n user?: UserObject;\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","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\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 timeout: number;\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 constructor(private readonly apiConfig: ApiConfig) {}\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 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 });\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 const error = (await response.json()) as APIError;\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: 'UserObject', isSingle: true },\n\n user: { type: 'UserObject', 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: 'UserObject', isSingle: true },\n\n target: { type: 'UserObject', 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.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.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 config_overrides: { type: 'ChannelConfig', isSingle: true },\n\n created_by: { type: 'UserObject', isSingle: true },\n\n truncated_by: { type: 'UserObject', 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 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 user: { type: 'UserObject', 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 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 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: 'UserObject', 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: 'UserObject', isSingle: true },\n\n truncated_by: { type: 'UserObject', 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: 'ThreadState', isSingle: false },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n pending_messages: { type: 'PendingMessage', 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 membership: { type: 'ChannelMember', 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: 'ThreadState', isSingle: false },\n\n hide_messages_before: { type: 'DatetimeType', isSingle: true },\n\n pending_messages: { type: 'PendingMessage', 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 membership: { type: 'ChannelMember', 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.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 scored_at: { type: 'DatetimeType', isSingle: true },\n\n reviewed_at: { type: 'DatetimeType', 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.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.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.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: 'Message', isSingle: false },\n\n reactions: { type: 'Reaction', isSingle: false },\n\n user: { type: 'UserResponse', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.Flag2 = (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 moderation_payload: { type: 'ModerationPayload', isSingle: true },\n\n user: { type: 'UserObject', 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: 'Device', 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_notifications: {\n type: 'PushNotificationSettingsResponse',\n isSingle: true,\n },\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.GetExportChannelsStatusResponse = (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.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: 'Message', 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: 'ReviewQueueItem', isSingle: false },\n\n item: { type: 'ReviewQueueItem', 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.GetUserModerationReportResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n user_blocks: { type: 'UserBlock', isSingle: false },\n\n user_mutes: { type: 'UserMute', isSingle: false },\n\n user: { type: 'UserResponse', 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: 'Device', 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: 'UserObject', 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: 'UserObject', isSingle: false },\n\n pinned_by: { type: 'UserObject', isSingle: true },\n\n poll: { type: 'Poll', isSingle: true },\n\n quoted_message: { type: 'Message', isSingle: true },\n\n user: { type: 'UserObject', 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 thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'UserObject', 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 pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'Poll', isSingle: true },\n\n quoted_message: { type: 'Message', 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 pinned_by: { type: 'UserResponse', isSingle: true },\n\n poll: { type: 'Poll', isSingle: true },\n\n quoted_message: { type: 'Message', isSingle: true },\n\n reaction_groups: { type: 'ReactionGroupResponse', isSingle: false },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationPayload = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_at: { type: 'DatetimeType', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ModerationUsageStats = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n updated_at: { type: 'DatetimeType', isSingle: true },\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.NullTime = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n value: { type: 'DatetimeType', 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 push_notifications: { type: 'PushNotificationSettings', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.PendingMessage = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channel: { type: 'Channel', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n user: { type: 'UserObject', 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: 'UserObject', 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 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: 'UserObject', 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.PushNotificationSettings = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n disabled_until: { type: 'DatetimeType', isSingle: true },\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.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.QueryChannelsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n channels: { type: 'ChannelStateResponseFields', 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.QueryModerationLogsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n l_og_s: { 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: 'ReviewQueueItem', 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.QueryUsageStatsResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n items: { type: 'ModerationUsageStats', 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: 'UserObject', 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.ReactionRemovalResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'Message', isSingle: true },\n\n reaction: { type: 'Reaction', 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.Read = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n last_read: { type: 'DatetimeType', isSingle: true },\n\n user: { type: 'UserObject', 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: 'Flag2', isSingle: false },\n\n completed_at: { type: 'NullTime', isSingle: true },\n\n reviewed_at: { type: 'NullTime', isSingle: true },\n\n assigned_to: { type: 'UserObject', isSingle: true },\n\n entity_creator: { type: 'UserObject', isSingle: true },\n\n feeds_v2_reaction: { type: 'Reaction', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n moderation_payload: { type: 'ModerationPayload', 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: 'Reaction', isSingle: false },\n\n mentioned_users: { type: 'UserObject', 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: 'UserObject', isSingle: false },\n\n channel: { type: 'ChannelResponse', isSingle: true },\n\n pinned_by: { type: 'UserObject', isSingle: true },\n\n poll: { type: 'Poll', isSingle: true },\n\n quoted_message: { type: 'Message', isSingle: true },\n\n user: { type: 'UserObject', 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: 'UserObject', 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: 'UserObject', isSingle: true },\n\n parent_message: { type: 'Message', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.ThreadState = (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: 'Message', isSingle: false },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n read: { type: 'Read', isSingle: false },\n\n thread_participants: { type: 'ThreadParticipant', isSingle: false },\n\n channel: { type: 'Channel', isSingle: true },\n\n created_by: { type: 'UserObject', isSingle: true },\n\n parent_message: { type: 'Message', 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: 'Message', isSingle: false },\n\n deleted_at: { type: 'DatetimeType', isSingle: true },\n\n last_message_at: { type: 'DatetimeType', isSingle: true },\n\n read: { type: 'Read', 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 parent_message: { type: 'Message', 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: 'Message', 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.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: 'Message', 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.UpdateMessagePartialResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'Message', isSingle: true },\n };\n return decode(typeMappings, input);\n};\n\ndecoders.UpdateMessageResponse = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n message: { type: 'Message', 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.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.UserBlock = (input?: Record<string, any>) => {\n const typeMappings: TypeMapping = {\n created_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: 'UserObject', isSingle: true },\n\n user: { type: 'UserObject', 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.UserObject = (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 revoke_tokens_issued_before: { type: 'DatetimeType', isSingle: true },\n\n updated_at: { type: 'DatetimeType', isSingle: true },\n\n push_notifications: { type: 'PushNotificationSettings', 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 devices: { type: 'Device', 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 push_notifications: {\n type: 'PushNotificationSettingsResponse',\n isSingle: true,\n },\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: { type: 'ChannelResponse', isSingle: true },\n\n created_by: { type: 'UserObject', isSingle: true },\n\n me: { type: 'OwnUser', isSingle: true },\n\n member: { type: 'ChannelMember', isSingle: true },\n\n message: { type: 'Message', isSingle: true },\n\n poll: { type: 'Poll', isSingle: true },\n\n poll_vote: { type: 'PollVote', isSingle: true },\n\n reaction: { type: 'Reaction', isSingle: true },\n\n thread: { type: 'ThreadResponse', isSingle: true },\n\n user: { type: 'UserObject', 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 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 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 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 video_provider: request?.video_provider,\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 agora_options: request?.agora_options,\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 hms_options: request?.hms_options,\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 (): Promise<StreamResponse<ListBlockListResponse>> => {\n const response = await this.sendRequest<\n StreamResponse<ListBlockListResponse>\n >('GET', '/api/v2/blocklists', undefined, undefined);\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<Response>> => {\n const body = {\n name: request?.name,\n words: request?.words,\n type: request?.type,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'POST',\n '/api/v2/blocklists',\n undefined,\n undefined,\n body,\n );\n\n decoders.Response?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n deleteBlockList = 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/blocklists/{name}',\n pathParams,\n undefined,\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 }): Promise<StreamResponse<GetBlockListResponse>> => {\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, undefined);\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<Response>> => {\n const pathParams = {\n name: request?.name,\n };\n const body = {\n words: request?.words,\n };\n\n const response = await this.sendRequest<StreamResponse<Response>>(\n 'PUT',\n '/api/v2/blocklists/{name}',\n pathParams,\n undefined,\n body,\n );\n\n decoders.Response?.(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 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 QueryCallMembersRequest,\n QueryCallMembersResponse,\n QueryCallStatsRequest,\n QueryCallStatsResponse,\n QueryCallsRequest,\n QueryCallsResponse,\n Response,\n SendCallEventRequest,\n SendCallEventResponse,\n StartHLSBroadcastingResponse,\n StartRTMPBroadcastsRequest,\n StartRTMPBroadcastsResponse,\n StartRecordingRequest,\n StartRecordingResponse,\n StartTranscriptionRequest,\n StartTranscriptionResponse,\n StopAllRTMPBroadcastsResponse,\n StopHLSBroadcastingResponse,\n StopLiveResponse,\n StopRTMPBroadcastsRequest,\n StopRTMPBroadcastsResponse,\n StopRecordingResponse,\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 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 & {\n type: string;\n id: string;\n session: string;\n },\n ): Promise<StreamResponse<CollectUserFeedbackResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\n session: request?.session,\n };\n const body = {\n rating: request?.rating,\n sdk: request?.sdk,\n sdk_version: request?.sdk_version,\n user_session_id: request?.user_session_id,\n reason: request?.reason,\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/{session}',\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_hls: request?.start_hls,\n start_recording: request?.start_recording,\n start_rtmp_broadcasts: request?.start_rtmp_broadcasts,\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 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 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 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 stopLive = async (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopLiveResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\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 );\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 (request: {\n type: string;\n id: string;\n }): Promise<StreamResponse<StopTranscriptionResponse>> => {\n const pathParams = {\n type: request?.type,\n id: request?.id,\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 );\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","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 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 StartHLSBroadcastingResponse,\n StartRTMPBroadcastsRequest,\n StartRTMPBroadcastsResponse,\n StartRecordingRequest,\n StartRecordingResponse,\n StartTranscriptionRequest,\n StartTranscriptionResponse,\n StopAllRTMPBroadcastsResponse,\n StopHLSBroadcastingResponse,\n StopLiveResponse,\n StopRTMPBroadcastsRequest,\n StopRTMPBroadcastsResponse,\n StopRecordingResponse,\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 & { session: string },\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 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 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 stopLive = (): Promise<StreamResponse<StopLiveResponse>> => {\n return this.videoApi.stopLive({ id: this.id, type: this.type });\n };\n\n stopRecording = (): Promise<StreamResponse<StopRecordingResponse>> => {\n return this.videoApi.stopRecording({ id: this.id, type: this.type });\n };\n\n stopTranscription = (): Promise<\n StreamResponse<StopTranscriptionResponse>\n > => {\n return this.videoApi.stopTranscription({ id: this.id, type: this.type });\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';\n\nexport class StreamVideoClient extends VideoApi {\n call = (type: string, id: string) => {\n return new StreamCall(this, type, id);\n };\n}\n","import { BaseApi } from '../../BaseApi';\nimport { StreamResponse } from '../../types';\nimport {\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 EventResponse,\n ExportChannelsRequest,\n ExportChannelsResponse,\n FileUploadRequest,\n FileUploadResponse,\n GetChannelTypeResponse,\n GetCommandResponse,\n GetExportChannelsStatusResponse,\n GetManyMessagesResponse,\n GetMessageResponse,\n GetReactionsResponse,\n GetRepliesResponse,\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 QueryBannedUsersRequest,\n QueryBannedUsersResponse,\n QueryChannelsRequest,\n QueryChannelsResponse,\n QueryMembersRequest,\n QueryMessageFlagsRequest,\n QueryMessageFlagsResponse,\n QueryMessageHistoryRequest,\n QueryMessageHistoryResponse,\n QueryPollVotesRequest,\n QueryPollsRequest,\n QueryPollsResponse,\n QueryReactionsRequest,\n QueryReactionsResponse,\n QueryThreadsRequest,\n QueryThreadsResponse,\n ReactionRemovalResponse,\n Response,\n SearchRequest,\n SearchResponse,\n SendEventRequest,\n SendMessageRequest,\n SendMessageResponse,\n SendReactionRequest,\n SendReactionResponse,\n SendUserCustomEventRequest,\n ShowChannelRequest,\n ShowChannelResponse,\n SortParamRequest,\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 UpdateMessagePartialRequest,\n UpdateMessagePartialResponse,\n UpdateMessageRequest,\n UpdateMessageResponse,\n UpdatePollOptionRequest,\n UpdatePollPartialRequest,\n UpdatePollRequest,\n UpdateThreadPartialRequest,\n UpdateThreadPartialResponse,\n WrappedUnreadCountsResponse,\n} from '../models';\nimport { decoders } from '../model-decoders';\n\nexport class ChatApi extends BaseApi {\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 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 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 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 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 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 getExportChannelsStatus = async (request: {\n id: string;\n }): Promise<StreamResponse<GetExportChannelsStatusResponse>> => {\n const pathParams = {\n id: request?.id,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetExportChannelsStatusResponse>\n >('GET', '/api/v2/chat/export_channels/{id}', pathParams, undefined);\n\n decoders.GetExportChannelsStatusResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n queryMembers = async (request?: {\n payload?: QueryMembersRequest;\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<ReactionRemovalResponse>> => {\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<ReactionRemovalResponse>\n >(\n 'DELETE',\n '/api/v2/chat/messages/{id}/reaction/{type}',\n pathParams,\n queryParams,\n );\n\n decoders.ReactionRemovalResponse?.(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?: QueryMessageFlagsRequest;\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 queryBannedUsers = async (request?: {\n payload?: QueryBannedUsersRequest;\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?: SearchRequest;\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 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 connection_id?: string;\n reply_limit?: number;\n participant_limit?: number;\n member_limit?: number;\n }): Promise<StreamResponse<GetThreadResponse>> => {\n const queryParams = {\n connection_id: request?.connection_id,\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 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} 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 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 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, QueryMembersRequest } 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<QueryMembersRequest> }) {\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 DeleteModerationTemplateResponse,\n FlagRequest,\n FlagResponse,\n GetConfigResponse,\n GetReviewQueueItemResponse,\n GetUserModerationReportResponse,\n ModeratorStatsResponse,\n MuteRequest,\n MuteResponse,\n QueryFeedModerationTemplatesResponse,\n QueryModerationLogsRequest,\n QueryModerationLogsResponse,\n QueryReviewQueueRequest,\n QueryReviewQueueResponse,\n QueryUsageStatsRequest,\n QueryUsageStatsResponse,\n QueueStatsResponse,\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 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 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_rek_og_nition_config: request?.aws_rek_og_nition_config,\n block_list_config: request?.block_list_config,\n bodyguard_config: request?.bodyguard_config,\n go_og_le_vision_config: request?.go_og_le_vision_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 getConfig = async (request: {\n key: string;\n }): Promise<StreamResponse<GetConfigResponse>> => {\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 undefined,\n );\n\n decoders.GetConfigResponse?.(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_creator_id: request?.entity_creator_id,\n entity_id: request?.entity_id,\n entity_type: request?.entity_type,\n name: request?.name,\n reason: request?.reason,\n recommended_action: request?.recommended_action,\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 reason: request?.reason,\n entity_creator_id: request?.entity_creator_id,\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 getModeratorStats = async (): Promise<\n StreamResponse<ModeratorStatsResponse>\n > => {\n const response = await this.sendRequest<\n StreamResponse<ModeratorStatsResponse>\n >('GET', '/api/v2/moderation/moderator_stats', undefined, undefined);\n\n decoders.ModeratorStatsResponse?.(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 getQueueStats = async (): Promise<StreamResponse<QueueStatsResponse>> => {\n const response = await this.sendRequest<StreamResponse<QueueStatsResponse>>(\n 'GET',\n '/api/v2/moderation/queue_stats',\n undefined,\n undefined,\n );\n\n decoders.QueueStatsResponse?.(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_moderator_duration: request?.lock_moderator_duration,\n lock_moderator_id: request?.lock_moderator_id,\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_message: request?.delete_message,\n delete_reaction: request?.delete_reaction,\n delete_user: request?.delete_user,\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 queryUsageStats = async (\n request?: QueryUsageStatsRequest,\n ): Promise<StreamResponse<QueryUsageStatsResponse>> => {\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<QueryUsageStatsResponse>\n >('POST', '/api/v2/moderation/usage_stats', undefined, undefined, body);\n\n decoders.QueryUsageStatsResponse?.(response.body);\n\n return { ...response.body, metadata: response.metadata };\n };\n\n getUserReport = async (request: {\n user_id: string;\n create_user_if_not_exists?: boolean;\n include_user_mutes?: boolean;\n include_user_blocks?: boolean;\n }): Promise<StreamResponse<GetUserModerationReportResponse>> => {\n const queryParams = {\n user_id: request?.user_id,\n create_user_if_not_exists: request?.create_user_if_not_exists,\n include_user_mutes: request?.include_user_mutes,\n include_user_blocks: request?.include_user_blocks,\n };\n\n const response = await this.sendRequest<\n StreamResponse<GetUserModerationReportResponse>\n >('GET', '/api/v2/moderation/user_report', undefined, queryParams);\n\n decoders.GetUserModerationReportResponse?.(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 { QueryBannedUsersRequest, UserRequest } from './gen/models';\nimport { StreamModerationClient } from './StreamModerationClient';\n\nexport interface StreamClientOptions {\n timeout?: number;\n basePath?: string;\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({ apiKey, token, timeout, baseUrl: chatBaseUrl });\n\n this.video = new StreamVideoClient({\n apiKey,\n token,\n timeout,\n baseUrl: videoBaseUrl,\n });\n this.chat = new StreamChatClient({\n apiKey,\n token,\n timeout,\n baseUrl: chatBaseUrl,\n });\n this.moderation = new StreamModerationClient({\n apiKey,\n token,\n timeout,\n baseUrl: chatBaseUrl,\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?: QueryBannedUsersRequest }) => {\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":";;;;AAwsHa,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,iBAAiB,EAAE,mBAAmB;AACtC,IAAA,wBAAwB,EAAE,0BAA0B;AACpD,IAAA,mBAAmB,EAAE,qBAAqB;AAC1C,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;;;AChuH9B,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;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAkGA;AACO,SAAS,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;AAC7D,IAAI,SAAS,KAAK,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;AAChH,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAE;AAC/D,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AACnG,QAAQ,SAAS,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;AACtG,QAAQ,SAAS,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;AACtH,QAAQ,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,KAAK,CAAC,CAAC;AACP;;ACtGM,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;;AC3BM,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;AAClB,IAAA,WAAA,CAA6B,SAAoB,EAAA;QAApB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AAEvC,QAAA,IAAA,CAAA,WAAW,GAAG,CACtB,MAAc,EACd,GAAW,EACX,UAAmC,EACnC,WAAiC,EACjC,IAAU,KACR,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;YACF,WAAW,GAAG,WAAW,KAAX,IAAA,IAAA,WAAW,cAAX,WAAW,GAAI,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;AACD,YAAA,GAAG,IAAI,CAAA,CAAA,EAAI,aAAa,CAAA,CAAE,CAAC;AAC3B,YAAA,MAAM,eAAe,GAAGA,EAAM,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,OAAuB;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;AACR,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;oBACnD,MAAM,KAAK,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;oBAClD,MAAM,IAAI,WAAW,CACnB,CAAA,kBAAA,EAAqB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAE,CAAA,EACnD,QAAQ,EACR,KAAK,CAAC,IAAI,EACV,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,CAAA,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;KA3GmD;AA4GtD;;AC9GM,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,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,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,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,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,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,gBAAgB,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE3D,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,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,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,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,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,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,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,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,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,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,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEjD,oBAAoB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9D,gBAAgB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE7D,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,UAAU,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;KACtD,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,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEjD,oBAAoB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9D,gBAAgB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE7D,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,UAAU,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;KACtD,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,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,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,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,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,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,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,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,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE9C,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,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,KAAK,GAAG,CAAC,KAA2B,KAAI;AAC/C,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,kBAAkB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5C,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;AAErE,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,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,+BAA+B,GAAG,CAAC,KAA2B,KAAI;AACzE,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,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,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,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,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAErD,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,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,+BAA+B,GAAG,CAAC,KAA2B,KAAI;AACzE,IAAA,MAAM,YAAY,GAAgB;QAChC,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnD,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEjD,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,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,QAAQ,EAAE,QAAQ,EAAE,KAAK,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,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,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;QAExD,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,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5D,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,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,YAAY,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,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,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,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,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtC,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,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,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,oBAAoB,GAAG,CAAC,KAA2B,KAAI;AAC9D,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,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,QAAQ,GAAG,CAAC,KAA2B,KAAI;AAClD,IAAA,MAAM,YAAY,GAAgB;QAChC,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;KAChD,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,kBAAkB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzE,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,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5C,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KACnD,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,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,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,wBAAwB,GAAG,CAAC,KAA2B,KAAI;AAClE,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,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,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,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,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,2BAA2B,GAAG,CAAC,KAA2B,KAAI;AACrE,IAAA,MAAM,YAAY,GAAgB;QAChC,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,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,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,iBAAiB,EAAE,QAAQ,EAAE,KAAK,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,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,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,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,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,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,uBAAuB,GAAG,CAAC,KAA2B,KAAI;AACjE,IAAA,MAAM,YAAY,GAAgB;QAChC,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,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,IAAI,GAAG,CAAC,KAA2B,KAAI;AAC9C,IAAA,MAAM,YAAY,GAAgB;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEzC,YAAY,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEnD,cAAc,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtD,iBAAiB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEvD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5C,kBAAkB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAClE,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,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEvD,eAAe,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;QAExD,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,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5D,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,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,YAAY,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,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,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;KACpD,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,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,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,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEvC,mBAAmB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEnE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5C,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;KACpD,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,SAAS,EAAE,QAAQ,EAAE,KAAK,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,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAEvC,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,SAAS,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,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,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,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,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,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,4BAA4B,GAAG,CAAC,KAA2B,KAAI;AACtE,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,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,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,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,SAAS,GAAG,CAAC,KAA2B,KAAI;AACnD,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,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,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9C,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC7C,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,UAAU,GAAG,CAAC,KAA2B,KAAI;AACpD,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,2BAA2B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAErE,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,kBAAkB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzE,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,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QAE5C,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;AAErE,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,OAAO,GAAG,CAAC,KAA2B,KAAI;AACjD,IAAA,MAAM,YAAY,GAAgB;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,OAAO,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEpD,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEvC,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEjD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE5C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QAEtC,SAAS,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE/C,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;QAE9C,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAElD,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,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,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;;ACjyDK,MAAO,SAAU,SAAQ,OAAO,CAAA;AAAtC,IAAA,WAAA,GAAA;;QACE,IAAM,CAAA,MAAA,GAAG,MAA4D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAE9C,CAAA,EAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CACV,OAA0B,KACW,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrC,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,wBAAwB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,wBAAwB;AAC3D,gBAAA,wBAAwB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,wBAAwB;AAC3D,gBAAA,4BAA4B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,4BAA4B;AACnE,gBAAA,sBAAsB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,sBAAsB;AACvD,gBAAA,yBAAyB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,yBAAyB;AAC7D,gBAAA,yBAAyB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,yBAAyB;AAC7D,gBAAA,mBAAmB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,mBAAmB;AACjD,gBAAA,0BAA0B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,0BAA0B;AAC/D,gBAAA,wBAAwB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,wBAAwB;AAC3D,gBAAA,wBAAwB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,wBAAwB;AAC3D,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,wBAAwB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,wBAAwB;AAC3D,gBAAA,yBAAyB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,yBAAyB;AAC7D,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,sBAAsB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,sBAAsB;AACvD,gBAAA,oBAAoB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,oBAAoB;AACnD,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,qBAAqB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,qBAAqB;AACrD,gBAAA,2BAA2B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,2BAA2B;AACjE,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,oBAAoB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,oBAAoB;AACnD,gBAAA,6BAA6B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,6BAA6B;AACrE,gBAAA,uBAAuB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,uBAAuB;AACzD,gBAAA,4BAA4B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,4BAA4B;AACnE,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,uBAAuB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,uBAAuB;AACzD,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,mBAAmB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,mBAAmB;AACjD,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAc,CAAA,cAAA,GAAG,MAA2D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC1E,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAErD,CAAA,EAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAChB,OAA+B,KACM,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrC,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAAO,OAExB,KAAuC,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtC,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,2BAA2B,EAC3B,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CAAO,OAErB,KAAmD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAE7D,CAAA,EAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAChB,OAAkD,KACb,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrC,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;aACtB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,2BAA2B,EAC3B,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CACV,OAA0B,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC9C,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,sBAAsB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,sBAAsB;AACvD,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CACT,OAAyB,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7C,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CACT,OAAyB,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7C,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CAAO,OAGrB,KAAuC,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtC,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CAAO,OAEpB,KAAkD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACjD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAEpD,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CACb,OAA4B,KACS,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrC,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA2B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAmB,CAAA,mBAAA,GAAG,MAElB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,0BAA0B,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAE3D,CAAA,EAAA,GAAA,QAAQ,CAAC,2BAA2B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,CACtB,OAAqC,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC1D,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,6BAA6B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAAO,OAE9B,KAA4D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC3D,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,QAAQ,EAAE,iCAAiC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEtE,CAAA,EAAA,GAAA,QAAQ,CAAC,6BAA6B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,CACtB,OAAwD,KACE,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC1D,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,6BAA6B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAO,OAE7B,KAA2D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC1D,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,uCAAuC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEzE,CAAA,EAAA,GAAA,QAAQ,CAAC,4BAA4B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA2B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAChB,OAAgC,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACpD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,uBAAuB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAW,CAAA,WAAA,GAAG,MAAyD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAElD,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CACb,OAA4B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACjD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CAAO,OAElB,KAAgD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,sBAAsB,EACtB,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,KAAK,GAAG,CAAO,OAEd,KAA4C,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC3C,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;aAClB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,YAAY,EACZ,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAe,CAAA,eAAA,GAAG,MAEd,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAEtD,CAAA,EAAA,GAAA,QAAQ,CAAC,uBAAuB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAO,OAEtB,KAA0D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACzD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,0BAA0B,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAE5D,CAAA,EAAA,GAAA,QAAQ,CAAC,2BAA2B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAiB,CAAA,iBAAA,GAAG,MAEhB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAEzD,CAAA,EAAA,GAAA,QAAQ,CAAC,yBAAyB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,CACnB,OAAmC,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACvD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,0BAA0B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAErD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAO,OAG3B,KAAuC,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtC,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,sCAAsC,EACtC,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAO,OAMtB,KAAoD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;AACjB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;AACjB,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;aAC9B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAExD,CAAA,EAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAS,CAAA,SAAA,GAAG,MAAuD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACjE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,eAAe,EACf,SAAS,EACT,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAA0B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CAAO,OAEnB,KAAuC,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtC,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,sBAAsB,EACtB,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,CAAO,OAEhB,KAA8C,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,oBAAoB,EACpB,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,eAAe,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE1C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CAAO,OAEnB,KAAiD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,eAAe,EACf,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,CACnB,OAAkC,KACc,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA2B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAAO,OAExB,KAAsD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAExD,CAAA,GAAA,GAAA,QAAQ,CAAC,uBAAuB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAA0B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAChB,OAA+B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACpD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,qBAAqB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,qBAAqB;AACrD,gBAAA,qBAAqB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,uBAAuB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA2B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,oBAAoB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,oBAAoB;AACnD,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAChB,OAA+B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACpD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,gBAAgB;AAC3C,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,uBAAuB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CACb,OAA4B,KACS,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrC,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CACb,OAA4B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACjD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CACf,OAAoD,KACD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,qBAAqB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CAAO,OAEnB,KAAiD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,gCAAgC,EAChC,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CACf,OAAoD,KACD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;KACH;AAAA;;ACx6BK,MAAO,QAAS,SAAQ,OAAO,CAAA;AAArC,IAAA,WAAA,GAAA;;AACE,QAAA,IAAA,CAAA,gBAAgB,GAAG,CACjB,OAAgC,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,wBAAwB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CACf,OAA+B,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,CAAO,OAOhB,KAA8C,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7C,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;aACtB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,gCAAgC,EAChC,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE1C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAAyD,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAChB,OAA8D,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACpD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,uBAAuB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CACV,OAAwD,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC9C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAAyD,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CACd,OAA4D,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAIC,KACuD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACxD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;AACjB,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;aACxB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,mDAAmD,EACnD,UAAU,EACV,SAAS,EACT,IAAI,CACL,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,2BAA2B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,CACP,OAAqD,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC3C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,sBAAsB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,sBAAsB;AACvD,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,qBAAqB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,qBAAqB;AACrD,gBAAA,mBAAmB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,mBAAmB;AACjD,gBAAA,0BAA0B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEzC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,CAAO,OAGhB,KAA8C,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,2CAA2C,EAC3C,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE1C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAClB,OAAgE,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,yBAAyB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CACV,OAAwD,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC9C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CACT,OAAkD,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACxC,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CAAO,OAGvB,KAAqD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACpD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,KAAK,EACL,2CAA2C,EAC3C,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAAkE,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACxD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,2BAA2B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAAO,OAG9B,KAA4D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC3D,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,qDAAqD,EACrD,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,6BAA6B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAClB,OAIC,KACsD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACvD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,0BAA0B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAErD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAO,OAG7B,KAA2D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC1D,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,mDAAmD,EACnD,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,4BAA4B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CACf,OAA6D,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,0BAA0B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,CACnB,OAAiE,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACvD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,8BAA8B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,0BAA0B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAErD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CAAO,OAIrB,KAAmD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,KAAK,EACL,gDAAgD,EAChD,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAO,OAG5B,KAA0D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACzD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,kDAAkD,EAClD,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,2BAA2B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAO,OAGjB,KAA+C,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC9C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,MAAM,EACN,0CAA0C,EAC1C,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAO,OAGtB,KAAoD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAO,OAG1B,KAAwD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACvD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,MAAM,EACN,mDAAmD,EACnD,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,yBAAyB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAO,OAG3B,KAAyD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACxD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,0BAA0B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAErD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA0D,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAAoD,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC1C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,CACtB,OAAoE,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC1D,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,6BAA6B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAAO,OAKxB,KAAsD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,QAAQ,EACR,gEAAgE,EAChE,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,uBAAuB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAO,OAK5B,KAA0D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACzD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;aAC5B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,QAAQ,EACR,oEAAoE,EACpE,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,2BAA2B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAA2B,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAa,CAAA,aAAA,GAAG,MAA0D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACxE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAE1D,CAAA,EAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CACf,OAA8B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,gBAAgB;AAC3C,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,qBAAqB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,qBAAqB;AACrD,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CAAO,OAEvB,KAAuC,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtC,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,gCAAgC,EAChC,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CAAO,OAEpB,KAAkD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACjD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,gCAAgC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAElE,CAAA,GAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CACf,OAAiD,KACE,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,gBAAgB;AAC3C,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,qBAAqB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,qBAAqB;AACrD,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAQ,CAAA,QAAA,GAAG,MAAsD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/D,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,qBAAqB,EACrB,SAAS,EACT,SAAS,CACV,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,gBAAgB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;KACH;AAAA;;MC17BY,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,CAAG,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAK,EAAA,OAAO,EAAG,CAAC;AAC7E,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,CACP,OAA2B,KACoB;YAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAC7B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAAgC,KACoB;YACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAClC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CACV,OAAyB,KACqB;YAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC5B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,CACP,OAA2B,KACoB;YAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAC7B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CACd,OAA8B,KACoB;YAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAChC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAAyD,KACD;YACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CACtC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,CACP,OAAuB,KACoB;YAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAG,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAK,EAAA,OAAO,EAAG,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;YACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CACpC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CACV,OAA0B,KACoB;YAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC5B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,OAAmB,KAA0C;YACvE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAG,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAK,EAAA,OAAO,EAAG,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,mBAAmB,GAAG,CACpB,OAAmC,KACqB;YACxD,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CACtC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CACpC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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,cAAc,GAAG,CACf,OAA+B,KACoB;YACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CACjC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,CACnB,OAAmC,KACoB;YACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CACrC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,OAEf,KAAmD;YAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAC/B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;QAEF,IAAQ,CAAA,QAAA,GAAG,MAAgD;YACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAClE,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;QAEF,IAAiB,CAAA,iBAAA,GAAG,MAEhB;YACF,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3E,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;YAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAC9B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAAqB,KACqB;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAC7B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,qBAAqB,GAAG,CACtB,OAAqC,KACqB;YAC1D,OAAO,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CACxC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,OAGlB,KAAsD;YACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAClC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,OAGtB,KAA0D;YACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CACtC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;KA1PE;AA2PL;;AChTK,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,CAAA,MAAA,CAAA,MAAA,CAAA,EACnC,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EAAA,GACX,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,OAAO,GAAI,EAAE,EAAC,CAClB,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;;ACfK,MAAO,iBAAkB,SAAQ,QAAQ,CAAA;AAA/C,IAAA,WAAA,GAAA;;AACE,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;KACH;AAAA;;ACoGK,MAAO,OAAQ,SAAQ,OAAO,CAAA;AAApC,IAAA,WAAA,GAAA;;AACE,QAAA,IAAA,CAAA,aAAa,GAAG,CACd,OAA8B,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CACf,OAA8B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CACjB,OAAiC,KACY,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7C,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,0BAA0B,GAAG,CAC3B,OAAqD,KACJ,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACjD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,gBAAgB;AAC3C,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,oBAAoB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,oBAAoB;AACnD,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAO,OAItB,KAAoD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;aAClC,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,QAAQ,EAAE,mCAAmC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAE1E,CAAA,EAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,CACrB,OAAmE,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACzD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,4BAA4B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CACd,OAA4D,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CACV,OAAwD,KACd,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC1C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CAAO,OAInB,KAAuC,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtC,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;aAClB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,wCAAwC,EACxC,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAAyD,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA0D,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CAAO,OAIpB,KAAuC,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtC,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;aAClB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,yCAAyC,EACzC,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA0D,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA0D,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,gBAAgB;AAC3C,gBAAA,mBAAmB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,mBAAmB;AACjD,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,wBAAwB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAAO,OAIxB,KAAsD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;aAClB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,KAAK,EACL,4CAA4C,EAC5C,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,uBAAuB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,CACnB,OAAiE,KAChB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACjD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,gBAAgB;AAC3C,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,oBAAoB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,oBAAoB;AACnD,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,CACT,OAAuD,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA0D,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAChB,OAA8D,KACV,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACpD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,uBAAuB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAAyD,KACpB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrC,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAgB,CAAA,gBAAA,GAAG,MAEf,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,2BAA2B,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAE5D,CAAA,EAAA,GAAA,QAAQ,CAAC,wBAAwB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAClB,OAAiC,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,gBAAgB;AAC3C,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,qBAAqB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,qBAAqB;AACrD,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,yBAAyB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAO,OAE1B,KAAuC,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtC,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,kCAAkC,EAClC,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CAAO,OAEvB,KAAqD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACpD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,kCAAkC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEpE,CAAA,EAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAClB,OAAoD,KACE,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,gBAAgB;AAC3C,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,qBAAqB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,qBAAqB;AACrD,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,oBAAoB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,oBAAoB;AACnD,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,yBAAyB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAY,CAAA,YAAA,GAAG,MAA0D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACvE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,uBAAuB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAExD,CAAA,EAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CACd,OAA6B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAO,OAEtB,KAAoD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,QAAQ,EAAE,8BAA8B,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEnE,CAAA,EAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CAAO,OAEnB,KAAiD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,8BAA8B,EAC9B,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CACd,OAAgD,KACE,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CACf,OAA8B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,0BAA0B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,0BAA0B;AAC/D,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,6BAA6B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,6BAA6B;AACrE,gBAAA,0BAA0B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,0BAA0B;AAC/D,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAO,OAEhC,KAA8D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7D,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,mCAAmC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAErE,CAAA,EAAA,GAAA,QAAQ,CAAC,+BAA+B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE1D,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CAAO,OAErB,KAA8C,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7C,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,sBAAsB,EACtB,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE1C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAAmC,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACxD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,2BAA2B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAO,OAItB,KAAoD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;aAChC,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,QAAQ,EAAE,4BAA4B,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAEnE,CAAA,GAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CAAO,OAGnB,KAAiD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,oBAAoB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,oBAAoB;aACpD,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,4BAA4B,EAC5B,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CACd,OAA8C,KACI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,CACrB,OAAqD,KACI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACzD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,4BAA4B,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CACjB,OAA8C,KACF,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC5C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,eAAe,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE1C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CACd,OAA8C,KACF,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC5C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,eAAe,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE1C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CACb,OAA6C,KACI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACjD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CAAO,OAIvB,KAAsD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,QAAQ,EACR,4CAA4C,EAC5C,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,uBAAuB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CAAO,OAIrB,KAAmD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;aACxB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,sCAAsC,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAE1E,CAAA,GAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CACf,OAA+C,KACI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACnD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CACjB,OAAiD,KACL,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC5C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,eAAe,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE1C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAChB,OAA8C,KACI,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAClD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,qBAAqB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEhD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CACb,OAAsE,KACzB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,gBAAgB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CAAO,OAKvB,KAA+C,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC9C,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,mEAAmE,EACnE,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,gBAAgB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CAAO,OAenB,KAAiD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,yBAAyB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,yBAAyB;AAC7D,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,gBAAgB;AAC3C,gBAAA,0BAA0B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,0BAA0B;AAC/D,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;aAC9B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,2CAA2C,EAC3C,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAO,OAE1B,KAAwD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACvD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,uCAAuC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAE1E,CAAA,GAAA,GAAA,QAAQ,CAAC,yBAAyB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA4B,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CACd,OAA8B,KACa,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC3C,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,cAAc,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEzC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAA0B,KACe,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACzC,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,4BAA4B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,4BAA4B;AACnE,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,mBAAmB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,mBAAmB;AACjD,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,YAAY,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAA0B,KACe,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACzC,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,4BAA4B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,4BAA4B;AACnE,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,mBAAmB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,mBAAmB;AACjD,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,YAAY,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CACX,OAAkD,KACH,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,CAAO,OAGnB,KAAuC,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtC,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,8BAA8B,EAC9B,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,OAAO,GAAG,CAAO,OAGhB,KAA2C,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC1C,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,8BAA8B,EAC9B,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,YAAY,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAClB,OAAuD,KACd,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACzC,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,YAAY,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CACjB,OAAsD,KACP,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ;AAC3B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CACjB,OAAsD,KACP,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;AACf,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAO,OAIzB,KAAuC,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtC,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;aAC9B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,QAAQ,EACR,kDAAkD,EAClD,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAO,OAItB,KAAiD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;aAC9B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,kDAAkD,EAClD,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,CACf,OAAsE,KACxB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC9C,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,iBAAiB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAO,OAEzB,KAAuD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtD,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,iCAAiC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAEpE,CAAA,GAAA,GAAA,QAAQ,CAAC,wBAAwB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,CAAO,OAEf,KAA6C,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC5C,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,qBAAqB,EACrB,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,cAAc,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEzC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CACb,OAA6B,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACjD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CAAO,OAMlB,KAAgD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,aAAa,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,aAAa;AACrC,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;aACpC,CAAC;AACF,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;aAChC,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,mCAAmC,EACnC,UAAU,EACV,WAAW,CACZ,CAAC;YAEF,CAAA,GAAA,GAAA,QAAQ,CAAC,iBAAiB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAA4D,KACJ,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACxD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;aAChC,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;AACjB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,2BAA2B,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAY,CAAA,YAAA,GAAG,MAEX,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAEtD,CAAA,GAAA,GAAA,QAAQ,CAAC,2BAA2B,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAClB,OAAiC,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,yBAAyB,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAAyD,KACpB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrC,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;aAC1B,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,GAAA,GAAA,QAAQ,CAAC,QAAQ,MAAA,IAAA,IAAA,GAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;KACH;AAAA;;MCjyDY,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAC/B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CACtC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAC/B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,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,CAAG,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAK,EAAA,OAAO,EAAG,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAC5B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAC5B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAC7B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAC7B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAC7B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAC7B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CACjC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CACpC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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,CAAG,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAK,EAAA,OAAO,EAAG,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAC7B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CACjC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,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;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAC5B,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,OAAO,EACV,CAAC;AACL,SAAC,CAAC;KAxOE;AAyOL;;ACzQK,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;qBAChB,0BAA0B,CAAA,MAAA,CAAA,MAAA,CAAA,EACzB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAA,EACZ,6BAA6B,CAChC,CAAA;AACD,qBAAA,IAAI,CAAC,CAAC,QAAQ,KAAI;;oBACjB,IAAI,CAAC,EAAE,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAE,CAAC;AAC/B,oBAAA,OAAO,QAAQ,CAAC;AAClB,iBAAC,CAAC,CAAC;aACN;iBAAM;gBACL,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CACpC,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,EAAA,6BAA6B,EAChC,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,EACL,MAAA,CAAA,MAAA,CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACZ,GAAC,CAAA,EAAA,GAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAClD;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;;ACgCK,MAAO,aAAc,SAAQ,OAAO,CAAA;AAA1C,IAAA,WAAA,GAAA;;AACE,QAAA,IAAA,CAAA,GAAG,GAAG,CAAO,OAAmB,KAA0C,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACxE,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,YAAY,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,YAAY;AACnC,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,KAAK,GAAG,CACN,OAAqB,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC1C,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CACb,OAA4B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACjD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;AACjB,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,qCAAqC,EACnC,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,qCAAqC;AAChD,gBAAA,+BAA+B,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,+BAA+B;AACzE,gBAAA,uBAAuB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,uBAAuB;AACzD,gBAAA,wBAAwB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,wBAAwB;AAC3D,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,gBAAgB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,gBAAgB;AAC3C,gBAAA,sBAAsB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,SAAS,GAAG,CAAO,OAElB,KAAgD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC/C,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;aAClB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,iCAAiC,EACjC,UAAU,EACV,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,CACZ,OAA2B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAChD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE9C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAgB,CAAA,gBAAA,GAAG,MAEf,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,QAAQ,EACR,8CAA8C,EAC9C,SAAS,EACT,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,gCAAgC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3D,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAgB,CAAA,gBAAA,GAAG,MAEf,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAGrC,KAAK,EACL,8CAA8C,EAC9C,SAAS,EACT,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,oCAAoC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/D,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CACjB,OAAwC,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7D,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,gCAAgC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3D,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,IAAI,GAAG,CACL,OAAoB,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACzC,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,SAAS,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS;AAC7B,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,mBAAmB,GAAG,CACpB,OAAoC,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACxD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,2BAA2B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEtD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAiB,CAAA,iBAAA,GAAG,MAEhB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,oCAAoC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAErE,CAAA,EAAA,GAAA,QAAQ,CAAC,sBAAsB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEjD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,IAAI,GAAG,CACL,OAAoB,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACzC,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEvC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;QAEF,IAAa,CAAA,aAAA,GAAG,MAAwD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACtE,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CACrC,KAAK,EACL,gCAAgC,EAChC,SAAS,EACT,SAAS,CACV,CAAC;YAEF,CAAA,EAAA,GAAA,QAAQ,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,gBAAgB,GAAG,CACjB,OAAiC,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACrD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,uBAAuB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,uBAAuB;AACzD,gBAAA,iBAAiB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,iBAAiB;AAC7C,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,wBAAwB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAO,OAE3B,KAAyD,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACxD,YAAA,MAAM,UAAU,GAAG;AACjB,gBAAA,EAAE,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE;aAChB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,sCAAsC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAExE,CAAA,EAAA,GAAA,QAAQ,CAAC,0BAA0B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAErD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,CACb,OAA4B,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACjD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,GAAG,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,GAAG;AACjB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,eAAe,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe;AACzC,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,oBAAoB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,KAAK,GAAG,CACN,OAIC,KACyC,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC1C,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;aAChC,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,cAAc,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,cAAc;AACvC,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAExC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,CACP,OAAsB,KACqB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC3C,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,UAAU,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU;AAC/B,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,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,CAAA,EAAA,GAAA,QAAQ,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEzC,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,CAChB,OAAgC,KACoB,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AACpD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,KAAK,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK;AACrB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;AACnB,gBAAA,MAAM,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM;AACvB,gBAAA,IAAI,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,IAAI;aACpB,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,MAAM,EAAE,gCAAgC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAExE,CAAA,EAAA,GAAA,QAAQ,CAAC,uBAAuB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAElD,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAO,OAKtB,KAA8D,SAAA,CAAA,IAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;;AAC7D,YAAA,MAAM,WAAW,GAAG;AAClB,gBAAA,OAAO,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO;AACzB,gBAAA,yBAAyB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,yBAAyB;AAC7D,gBAAA,kBAAkB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,kBAAkB;AAC/C,gBAAA,mBAAmB,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,mBAAmB;aAClD,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAErC,KAAK,EAAE,gCAAgC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAEnE,CAAA,EAAA,GAAA,QAAQ,CAAC,+BAA+B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,QAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE1D,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAA,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAG,CAAA,CAAA;AAC3D,SAAC,CAAA,CAAC;KACH;AAAA;;ACzdK,MAAO,sBAAuB,SAAQ,aAAa,CAAA;AAAG;;ACYtD,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;AACrC,QAAA,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,MAAM,aAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,YAAY,CAAC,eAAe,CAAC;AAChE,QAAA,MAAM,WAAW,GAAG,CAAA,EAAA,GAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,QAAQ,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,gCAAgC,CAAC;AACzE,QAAA,MAAM,YAAY,GAAG,CAAA,EAAA,GAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,QAAQ,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,iCAAiC,CAAC;AAC3E,QAAA,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAR/C,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;AAyClD,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,CAAA,EAAA,GAAA,OAAO,CAAC,GAAG,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,UAAU,CAAC;YACxC,MAAM,iBAAiB,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,mBAAmB,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,GAAG,EAAE,CAAC;AACjE,YAAA,OAAO,CAAC,GAAG,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,GAAG,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,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;AAnJA,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAiB,CAAC;YACjC,MAAM;YACN,KAAK;YACL,OAAO;AACP,YAAA,OAAO,EAAE,YAAY;AACtB,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC;YAC/B,MAAM;YACN,KAAK;YACL,OAAO;AACP,YAAA,OAAO,EAAE,WAAW;AACrB,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,sBAAsB,CAAC;YAC3C,MAAM;YACN,KAAK;YACL,OAAO;AACP,YAAA,OAAO,EAAE,WAAW;AACrB,SAAA,CAAC,CAAC;KACJ;;AArCuB,YAAe,CAAA,eAAA,GAAG,IAAH;;;;","x_google_ignoreList":[2]}