From 708afd718af682901f448f5d387879ba8d40da7a Mon Sep 17 00:00:00 2001 From: streamer45 Date: Wed, 18 Sep 2024 08:59:09 -0600 Subject: [PATCH] Add Calls v0.29.2 --- plugins.json | 429 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 429 insertions(+) diff --git a/plugins.json b/plugins.json index c475f2c..dab538e 100644 --- a/plugins.json +++ b/plugins.json @@ -4249,6 +4249,435 @@ }, "updated_at": "2024-09-18T13:48:17.853017156Z" }, + { + "homepage_url": "https://github.com/mattermost/mattermost-plugin-calls/", + "icon_data": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiIgZmlsbD0iIzNEQjg4NyIvPgo8cGF0aCBkPSJNMjMgMjBDMjMgMTkuNDU2IDIyLjg2NCAxOC45NiAyMi41OTIgMTguNTEyQzIyLjMyIDE4LjA0OCAyMS45NTIgMTcuNjggMjEuNDg4IDE3LjQwOEMyMS4wNCAxNy4xMzYgMjAuNTQ0IDE3IDIwIDE3VjE1LjAwOEMyMC45MTIgMTUuMDA4IDIxLjc0NCAxNS4yMzIgMjIuNDk2IDE1LjY4QzIzLjI2NCAxNi4xMjggMjMuODcyIDE2LjczNiAyNC4zMiAxNy41MDRDMjQuNzY4IDE4LjI1NiAyNC45OTIgMTkuMDg4IDI0Ljk5MiAyMEgyM1pNMjcuMDA4IDIwQzI3LjAwOCAxOC43MzYgMjYuNjg4IDE3LjU2IDI2LjA0OCAxNi40NzJDMjUuNDI0IDE1LjQxNiAyNC41ODQgMTQuNTc2IDIzLjUyOCAxMy45NTJDMjIuNDQgMTMuMzEyIDIxLjI2NCAxMi45OTIgMjAgMTIuOTkyVjExQzIxLjYzMiAxMSAyMy4xNDQgMTEuNDA4IDI0LjUzNiAxMi4yMjRDMjUuODk2IDEzLjAyNCAyNi45NzYgMTQuMDk2IDI3Ljc3NiAxNS40NEMyOC41OTIgMTYuODQ4IDI5IDE4LjM2OCAyOSAyMEgyNy4wMDhaTTI3Ljk5MiAyMy41MDRDMjguMjY0IDIzLjUwNCAyOC40OTYgMjMuNiAyOC42ODggMjMuNzkyQzI4Ljg5NiAyMy45ODQgMjkgMjQuMjE2IDI5IDI0LjQ4OFYyNy45OTJDMjkgMjguMjY0IDI4Ljg5NiAyOC40OTYgMjguNjg4IDI4LjY4OEMyOC40OTYgMjguODk2IDI4LjI2NCAyOSAyNy45OTIgMjlDMjUuNjg4IDI5IDIzLjQ4IDI4LjU1MiAyMS4zNjggMjcuNjU2QzE5LjMzNiAyNi44MDggMTcuNTM2IDI1LjYgMTUuOTY4IDI0LjAzMkMxNC40IDIyLjQ2NCAxMy4xOTIgMjAuNjY0IDEyLjM0NCAxOC42MzJDMTEuNDQ4IDE2LjUyIDExIDE0LjMxMiAxMSAxMi4wMDhDMTEgMTEuNzM2IDExLjA5NiAxMS41MDQgMTEuMjg4IDExLjMxMkMxMS40OTYgMTEuMTA0IDExLjczNiAxMSAxMi4wMDggMTFIMTUuNTEyQzE1Ljc4NCAxMSAxNi4wMTYgMTEuMTA0IDE2LjIwOCAxMS4zMTJDMTYuNCAxMS41MDQgMTYuNDk2IDExLjczNiAxNi40OTYgMTIuMDA4QzE2LjQ5NiAxMy4xOTIgMTYuNjg4IDE0LjM3NiAxNy4wNzIgMTUuNTZDMTcuMTM2IDE1LjczNiAxNy4xNDQgMTUuOTIgMTcuMDk2IDE2LjExMkMxNy4wNDggMTYuMjg4IDE2Ljk2IDE2LjQ0OCAxNi44MzIgMTYuNTkyTDE0LjYyNCAxOC44QzE1LjM0NCAyMC4yMDggMTYuMjY0IDIxLjQ4IDE3LjM4NCAyMi42MTZDMTguNTIgMjMuNzM2IDE5Ljc5MiAyNC42NTYgMjEuMiAyNS4zNzZMMjMuNDA4IDIzLjE2OEMyMy41NTIgMjMuMDQgMjMuNzEyIDIyLjk1MiAyMy44ODggMjIuOTA0QzI0LjA4IDIyLjg1NiAyNC4yNjQgMjIuODY0IDI0LjQ0IDIyLjkyOEMyNS42MjQgMjMuMzEyIDI2LjgwOCAyMy41MDQgMjcuOTkyIDIzLjUwNFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=", + "download_url": "https://plugins.releases.mattermost.com/release/mattermost-plugin-calls-v0.29.2.tar.gz", + "release_notes_url": "https://github.com/mattermost/mattermost-plugin-calls/releases/tag/v0.29.2", + "hosting": "", + "author_type": "mattermost", + "release_stage": "production", + "enterprise": false, + "signature": "iQIzBAABCAAdFiEExViBuA9p6GO4WtXR0bVLR6XO/sQFAmbq34kACgkQ0bVLR6XO/sSi6g//QBJXfBb00V1Y1fuR6KuKS1gVTXwnN/TbhoVyg7pmvzBWR3bzOoByA75bo8qAnMxa3byxtQmP/I+mTpU32UufUmxb4wA6RnfJZXoHutimYVadEsjOzC/qR/p2fECQsDxGmP1Cb+TzFiLAoaHSfx47t0mg2Ch2TaESfKDFrCwTN5rKxx5Ai1Xc0+TmTEHxhX/xX1+alhWZplMw/dPxMLRZKbNzOLLgRkzIo/YznTTNso1xOzpOHaJDlRK+47H+KrLHxb/4NZofjBCOLYcMaR6UMbeMuove8cjYHi155zbd2uhAmQ7VN7MFROwP3XJT6krOatYdEkXPBgwtPNrniFpb88EUfYIfUWaSor8YoJS+Mp5oa/GPZJwUW7jJCWTvX5aMUMno3Dg9FPlWcGcu0sfIG7PsdHBxJ1KBjZtihi2x8c+Iq+fgiKCtoyomSU2PyxMk6WGZ99dL/wOsySsRj/85Cf/7yi5h/z1PSvwL9UOoeR0fb42QAEXXrMCBNdHJksDqi/UnWx7NsMe7t40Mwg1bt5SSwFEcfw9TD9plV1xcJHubKApQTL//YrxQL7IPEEs/RRxUeTdUMURNxGiMDAdsC8wCEw8Guacax304mw6EWugs1oQlsHTBsot2FXOsiMs9rc7FxaBupojLOMTXF56D2/UX/jXn6VDSWgkqysoANEc=", + "repo_name": "mattermost-plugin-calls", + "manifest": { + "id": "com.mattermost.calls", + "name": "Calls", + "description": "Integrates real-time voice communication in Mattermost", + "homepage_url": "https://github.com/mattermost/mattermost-plugin-calls/", + "support_url": "https://github.com/mattermost/mattermost-plugin-calls/issues", + "release_notes_url": "https://github.com/mattermost/mattermost-plugin-calls/releases/tag/v0.29.2", + "icon_path": "assets/plugin_icon.svg", + "version": "0.29.2", + "min_server_version": "9.5.0", + "server": { + "executables": { + "freebsd-amd64": "server/dist/plugin-freebsd-amd64", + "linux-amd64": "server/dist/plugin-linux-amd64", + "linux-arm64": "server/dist/plugin-linux-arm64", + "openbsd-amd64": "server/dist/plugin-openbsd-amd64" + }, + "executable": "" + }, + "webapp": { + "bundle_path": "webapp/dist/main.js" + }, + "settings_schema": { + "header": "Calls plugin enables voice calls with screensharing in channels. See [documentation](https://docs.mattermost.com/channels/make-calls.html) to learn more.", + "footer": "", + "settings": [ + { + "key": "DefaultEnabled", + "display_name": "Test mode", + "type": "custom", + "help_text": "When test mode is enabled, only system admins are able to start calls in channels. This allows testing to confirm calls are working as expected.", + "placeholder": "", + "default": null, + "hosting": "on-prem", + "secret": false + }, + { + "key": "UDPServerAddress", + "display_name": "RTC Server Address (UDP)", + "type": "text", + "help_text": "The local IP address used by the RTC server to listen on for UDP connections.", + "placeholder": "127.0.0.1", + "default": "", + "hosting": "on-prem", + "secret": false + }, + { + "key": "TCPServerAddress", + "display_name": "RTC Server Address (TCP)", + "type": "text", + "help_text": "The local IP address used by the RTC server to listen on for TCP connections.", + "placeholder": "127.0.0.1", + "default": "", + "hosting": "on-prem", + "secret": false + }, + { + "key": "UDPServerPort", + "display_name": "RTC Server Port (UDP)", + "type": "number", + "help_text": "The UDP port the RTC server will listen on.", + "placeholder": "8443", + "default": 8443, + "hosting": "on-prem", + "secret": false + }, + { + "key": "TCPServerPort", + "display_name": "RTC Server Port (TCP)", + "type": "number", + "help_text": "The TCP port the RTC server will listen on.", + "placeholder": "8443", + "default": 8443, + "hosting": "on-prem", + "secret": false + }, + { + "key": "ICEHostOverride", + "display_name": "ICE Host Override", + "type": "text", + "help_text": "(Optional) The IP (or hostname) to be used as the host ICE candidate. If empty, it defaults to resolving via STUN.", + "placeholder": "", + "default": "", + "hosting": "on-prem", + "secret": false + }, + { + "key": "ICEHostPortOverride", + "display_name": "ICE Host Port Override", + "type": "number", + "help_text": "(Optional) A port number to be used as an override for host candidates in place of the one used to listen on.\nNote: this port will apply to both UDP and TCP host candidates", + "placeholder": "", + "default": null, + "hosting": "on-prem", + "secret": false + }, + { + "key": "RTCDServiceURL", + "display_name": "RTCD service URL", + "type": "text", + "help_text": "(Optional) The URL to a running RTCD service instance that should host the calls. When set (non empty) all calls will be handled by the external service.", + "placeholder": "https://rtcd.example.com", + "default": null, + "hosting": "on-prem", + "secret": false + }, + { + "key": "MaxCallParticipants", + "display_name": "Max call participants", + "type": "number", + "help_text": "The maximum number of participants that can join a call. If left empty, or set to 0, it means unlimited.", + "placeholder": "", + "default": 0, + "hosting": "on-prem", + "secret": false + }, + { + "key": "ICEServersConfigs", + "display_name": "ICE Servers Configurations", + "type": "longtext", + "help_text": "(Optional) A list of ICE servers (STUN/TURN) configurations to use. This field should contain a valid JSON array.", + "placeholder": "[{\n \"urls\":[\"turn:turnserver.example.org:3478\"],\n \"username\": \"webrtc\",\n \"credential\": \"turnpassword\"\n}]", + "default": "[{\"urls\":[\"stun:stun.global.calls.mattermost.com:3478\"]}]", + "hosting": "on-prem", + "secret": false + }, + { + "key": "TURNStaticAuthSecret", + "display_name": "TURN Static Auth Secret", + "type": "text", + "help_text": "(Optional) The secret key used to generate TURN short-lived authentication credentials.", + "placeholder": "", + "default": "", + "hosting": "on-prem", + "secret": false + }, + { + "key": "TURNCredentialsExpirationMinutes", + "display_name": "TURN Credentials Expiration (minutes)", + "type": "number", + "help_text": "(Optional) The number of minutes that the generated TURN credentials will be valid for.", + "placeholder": "", + "default": 1440, + "hosting": "on-prem", + "secret": false + }, + { + "key": "ServerSideTURN", + "display_name": "Server Side TURN", + "type": "bool", + "help_text": "(Optional) When set to on it will pass and use configured TURN candidates to server initiated connections.", + "placeholder": "", + "default": false, + "hosting": "on-prem", + "secret": false + }, + { + "key": "AllowScreenSharing", + "display_name": "Allow screen sharing", + "type": "bool", + "help_text": "When set to true it allows call participants to share their screen.", + "placeholder": "", + "default": true, + "hosting": "", + "secret": false + }, + { + "key": "EnableSimulcast", + "display_name": "Enable simulcast for screen sharing (Experimental)", + "type": "bool", + "help_text": "When set to true it enables simulcast for screen sharing. This can help to improve screen sharing quality.", + "placeholder": "", + "default": false, + "hosting": "", + "secret": false + }, + { + "key": "EnableRecordings", + "display_name": "Enable call recordings (Beta)", + "type": "bool", + "help_text": "(Optional) When set to true, call recordings are enabled.", + "placeholder": "", + "default": false, + "hosting": "", + "secret": false + }, + { + "key": "JobServiceURL", + "display_name": "Job service URL", + "type": "text", + "help_text": "The URL to a running calls job service instance used for call recordings.", + "placeholder": "https://calls-job-service.example.com", + "default": null, + "hosting": "", + "secret": false + }, + { + "key": "MaxRecordingDuration", + "display_name": "Maximum call recording duration", + "type": "number", + "help_text": "The maximum duration (in minutes) for call recordings. Value must be in the range [15, 180].", + "placeholder": "", + "default": 60, + "hosting": "", + "secret": false + }, + { + "key": "RecordingQuality", + "display_name": "Call recording quality", + "type": "dropdown", + "help_text": "The audio and video quality of call recordings.\n Note: this setting can affect the overall performance of the job service and the number of concurrent recording jobs that can be run.", + "placeholder": "", + "default": "medium", + "options": [ + { + "display_name": "Low", + "value": "low" + }, + { + "display_name": "Medium", + "value": "medium" + }, + { + "display_name": "High", + "value": "high" + } + ], + "hosting": "on-prem", + "secret": false + }, + { + "key": "EnableTranscriptions", + "display_name": "Enable call transcriptions (Experimental)", + "type": "bool", + "help_text": "(Optional) When set to true, post-call transcriptions are enabled.", + "placeholder": "", + "default": false, + "hosting": "", + "secret": false + }, + { + "key": "TranscribeAPI", + "display_name": "Call transcriber API", + "type": "dropdown", + "help_text": "The speech-to-text API to use for post-call transcriptions.", + "placeholder": "", + "default": "whisper.cpp", + "options": [ + { + "display_name": "Whisper.CPP", + "value": "whisper.cpp" + }, + { + "display_name": "Azure AI", + "value": "azure" + } + ], + "hosting": "on-prem", + "secret": false + }, + { + "key": "TranscriberModelSize", + "display_name": "Call transcriber model size", + "type": "dropdown", + "help_text": "The speech-to-text model size to use for post-call transcriptions. Heavier models will produce more accurate results at the expense of processing time and resources usage.", + "placeholder": "", + "default": "base", + "options": [ + { + "display_name": "Tiny", + "value": "tiny" + }, + { + "display_name": "Base", + "value": "base" + }, + { + "display_name": "Small", + "value": "small" + } + ], + "hosting": "on-prem", + "secret": false + }, + { + "key": "TranscribeAPIAzureSpeechKey", + "display_name": "Azure Speech Services API Key", + "type": "text", + "help_text": "The API key for Azure Speech Services", + "placeholder": "", + "default": "", + "hosting": "on-prem", + "secret": false + }, + { + "key": "TranscribeAPIAzureSpeechRegion", + "display_name": "Azure Speech Services API Region", + "type": "text", + "help_text": "The API region for Azure Speech Services", + "placeholder": "", + "default": "", + "hosting": "on-prem", + "secret": false + }, + { + "key": "TranscriberNumThreads", + "display_name": "Call transcriber threads", + "type": "number", + "help_text": "The number of threads used by the post-call transcriber. This must be in the range [1, numCPUs].", + "placeholder": "", + "default": 2, + "hosting": "", + "secret": false + }, + { + "key": "EnableLiveCaptions", + "display_name": "Enable live captions (Experimental)", + "type": "bool", + "help_text": "(Optional) When set to true, live captions are enabled.", + "placeholder": "", + "default": false, + "hosting": "", + "secret": false + }, + { + "key": "LiveCaptionsModelSize", + "display_name": "Live captions: Model size", + "type": "dropdown", + "help_text": "The speech-to-text model size to use for live captions. Heavier models will produce more accurate results at the expense of processing time and resources usage.", + "placeholder": "", + "default": "tiny", + "options": [ + { + "display_name": "Tiny", + "value": "tiny" + }, + { + "display_name": "Base", + "value": "base" + }, + { + "display_name": "Small", + "value": "small" + } + ], + "hosting": "on-prem", + "secret": false + }, + { + "key": "LiveCaptionsNumTranscribers", + "display_name": "Live captions: Number of transcribers used per call", + "type": "number", + "help_text": "The number of separate live-captions transcribers for each call. Each transcribes one audio stream at a time. The product of LiveCaptionsNumTranscribers * LiveCaptionsNumThreadsPerTranscriber must be in the range [1, numCPUs].", + "placeholder": "", + "default": 1, + "hosting": "", + "secret": false + }, + { + "key": "LiveCaptionsNumThreadsPerTranscriber", + "display_name": "Live captions: Number of threads per transcriber", + "type": "number", + "help_text": "The number of threads per live-captions transcriber. The product of LiveCaptionsNumTranscribers * LiveCaptionsNumThreadsPerTranscriber must be in the range [1, numCPUs].", + "placeholder": "", + "default": 2, + "hosting": "", + "secret": false + }, + { + "key": "LiveCaptionsLanguage", + "display_name": "Live captions language", + "type": "text", + "help_text": "The language passed to the live captions transcriber. Should be a 2-letter ISO 639 Set 1 language code, e.g. 'en'. If blank, will be set to English 'en' as default.", + "placeholder": "", + "default": "en", + "hosting": "", + "secret": false + }, + { + "key": "EnableIPv6", + "display_name": "(Experimental) Enable IPv6 support", + "type": "bool", + "help_text": "When set to true the RTC service will work in dual-stack mode, listening for IPv6 connections and generating candidates in addition to IPv4 ones.", + "placeholder": "", + "default": false, + "hosting": "on-prem", + "secret": false + }, + { + "key": "EnableRinging", + "display_name": "Enable call ringing (Beta)", + "type": "bool", + "help_text": "When set to true, ringing functionality is enabled: participants in DM and GM channels will receive a desktop alert and a ringing notification when a call is started. Changing this setting requires a plugin restart.", + "placeholder": "", + "default": false, + "hosting": "", + "secret": false + } + ], + "sections": null + }, + "props": { + "calls_recorder_version": "v0.7.3", + "calls_transcriber_version": "v0.3.1", + "min_offloader_version": "v0.8.0", + "min_rtcd_version": "v0.12.0" + } + }, + "platforms": { + "linux-amd64": { + "download_url": "https://plugins.releases.mattermost.com/release/mattermost-plugin-calls-v0.29.2-linux-amd64.tar.gz", + "signature": "iQIzBAABCAAdFiEExViBuA9p6GO4WtXR0bVLR6XO/sQFAmbq34gACgkQ0bVLR6XO/sQAtA/8DtxK+O4oybtRJ+ch07Oae5dvxOmb/F4dNFMDrV9Ze5m48/bhsETcQJaeGKt9RkPxwLMQLVBygOq6P9xSvj/04guJ0pgKpeRO+U+3WF8H9WrohV48AwyOHg51vhAlaxlZUQMZITU3Mie/Wlt8QzUfmTi2LjgMNziJa4GOE6f9+xE9qRaErKcGb/VtQWet0t+tCngqjKhHQ4ogLH9fqj0wdI3cKD4seu9IHmt/5qP5k3Mjfi+WxFRaynwUpfkCuAFN/w6H2Xj5MKqD1GyEN+3ZntHfwlVcO/XMbp+oRHrfCpMfs9CrHVsPCVd63i5uLz6lwhx/AAzikhrCxatx0SsT1l3Es8SBBzIk210V7Iypcwj9uuGWRY+KO7V9Je2OdoI2QZ3dYhqdGx1OTnAX1SVwBFqsnFQ+eA1AfB9RGCqlsgm6cSNyh8B5E3O0qzuxcDF3yYJnzuNTxuwOHRXPQaRdjea99b6z5BdfniCoEDcC4Iw6bT5zQhhFOq8+bZgDxVB4+EmBODmbdF0gGzRi8hyq/yTqv6Go0jV09+WVsLZKfLxpex7kZqMrnHHKt8M1XB39Dl49x+jGxKbgWhuhEbS2lxgU07OkraNOAOabIYuiQrxzXG9O/gM0g9Hp3BwM3BDEmLzQJMpD0zgLlF/um5990WVh1SkSIyX0JDtmtQs4b7I=" + }, + "darwin-amd64": {}, + "windows-amd64": {} + }, + "updated_at": "2024-09-18T14:58:54.490681816Z" + }, { "homepage_url": "https://github.com/mattermost/mattermost-plugin-calls/", "icon_data": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMiIgZmlsbD0iIzNEQjg4NyIvPgo8cGF0aCBkPSJNMjMgMjBDMjMgMTkuNDU2IDIyLjg2NCAxOC45NiAyMi41OTIgMTguNTEyQzIyLjMyIDE4LjA0OCAyMS45NTIgMTcuNjggMjEuNDg4IDE3LjQwOEMyMS4wNCAxNy4xMzYgMjAuNTQ0IDE3IDIwIDE3VjE1LjAwOEMyMC45MTIgMTUuMDA4IDIxLjc0NCAxNS4yMzIgMjIuNDk2IDE1LjY4QzIzLjI2NCAxNi4xMjggMjMuODcyIDE2LjczNiAyNC4zMiAxNy41MDRDMjQuNzY4IDE4LjI1NiAyNC45OTIgMTkuMDg4IDI0Ljk5MiAyMEgyM1pNMjcuMDA4IDIwQzI3LjAwOCAxOC43MzYgMjYuNjg4IDE3LjU2IDI2LjA0OCAxNi40NzJDMjUuNDI0IDE1LjQxNiAyNC41ODQgMTQuNTc2IDIzLjUyOCAxMy45NTJDMjIuNDQgMTMuMzEyIDIxLjI2NCAxMi45OTIgMjAgMTIuOTkyVjExQzIxLjYzMiAxMSAyMy4xNDQgMTEuNDA4IDI0LjUzNiAxMi4yMjRDMjUuODk2IDEzLjAyNCAyNi45NzYgMTQuMDk2IDI3Ljc3NiAxNS40NEMyOC41OTIgMTYuODQ4IDI5IDE4LjM2OCAyOSAyMEgyNy4wMDhaTTI3Ljk5MiAyMy41MDRDMjguMjY0IDIzLjUwNCAyOC40OTYgMjMuNiAyOC42ODggMjMuNzkyQzI4Ljg5NiAyMy45ODQgMjkgMjQuMjE2IDI5IDI0LjQ4OFYyNy45OTJDMjkgMjguMjY0IDI4Ljg5NiAyOC40OTYgMjguNjg4IDI4LjY4OEMyOC40OTYgMjguODk2IDI4LjI2NCAyOSAyNy45OTIgMjlDMjUuNjg4IDI5IDIzLjQ4IDI4LjU1MiAyMS4zNjggMjcuNjU2QzE5LjMzNiAyNi44MDggMTcuNTM2IDI1LjYgMTUuOTY4IDI0LjAzMkMxNC40IDIyLjQ2NCAxMy4xOTIgMjAuNjY0IDEyLjM0NCAxOC42MzJDMTEuNDQ4IDE2LjUyIDExIDE0LjMxMiAxMSAxMi4wMDhDMTEgMTEuNzM2IDExLjA5NiAxMS41MDQgMTEuMjg4IDExLjMxMkMxMS40OTYgMTEuMTA0IDExLjczNiAxMSAxMi4wMDggMTFIMTUuNTEyQzE1Ljc4NCAxMSAxNi4wMTYgMTEuMTA0IDE2LjIwOCAxMS4zMTJDMTYuNCAxMS41MDQgMTYuNDk2IDExLjczNiAxNi40OTYgMTIuMDA4QzE2LjQ5NiAxMy4xOTIgMTYuNjg4IDE0LjM3NiAxNy4wNzIgMTUuNTZDMTcuMTM2IDE1LjczNiAxNy4xNDQgMTUuOTIgMTcuMDk2IDE2LjExMkMxNy4wNDggMTYuMjg4IDE2Ljk2IDE2LjQ0OCAxNi44MzIgMTYuNTkyTDE0LjYyNCAxOC44QzE1LjM0NCAyMC4yMDggMTYuMjY0IDIxLjQ4IDE3LjM4NCAyMi42MTZDMTguNTIgMjMuNzM2IDE5Ljc5MiAyNC42NTYgMjEuMiAyNS4zNzZMMjMuNDA4IDIzLjE2OEMyMy41NTIgMjMuMDQgMjMuNzEyIDIyLjk1MiAyMy44ODggMjIuOTA0QzI0LjA4IDIyLjg1NiAyNC4yNjQgMjIuODY0IDI0LjQ0IDIyLjkyOEMyNS42MjQgMjMuMzEyIDI2LjgwOCAyMy41MDQgMjcuOTkyIDIzLjUwNFoiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=",