From dcadaaf29b57aae6e9a41745d7eb69c676bc1760 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Sun, 19 Mar 2023 22:58:17 +0000 Subject: [PATCH] docs: readme (#2031) --- README.md | 187 ++++++++++++++++-------------- docs/TRANSLATIONS.md | 2 +- images/kuketz-blog.jpg | Bin 0 -> 12307 bytes images/privacy-guides.jpg | Bin 0 -> 11225 bytes images/simplex-chat-logo-only.svg | 16 +++ images/simplex-chat-logo.svg | 34 ++++-- images/trail-of-bits.jpg | Bin 0 -> 19691 bytes 7 files changed, 139 insertions(+), 100 deletions(-) create mode 100644 images/kuketz-blog.jpg create mode 100644 images/privacy-guides.jpg create mode 100644 images/simplex-chat-logo-only.svg create mode 100644 images/trail-of-bits.jpg diff --git a/README.md b/README.md index 81630313e5..cf6d1a8bcc 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,29 @@ -| Updated 07.02.2023 | Languages: EN, [FR](/docs/lang/fr/README.md) | - -SimpleX logo - -# SimpleX - the first messaging platform that has no user identifiers of any kind - 100% private by design! - [![build](https://github.com/simplex-chat/simplex-chat/actions/workflows/build.yml/badge.svg?branch=stable)](https://github.com/simplex-chat/simplex-chat/actions/workflows/build.yml) [![GitHub downloads](https://img.shields.io/github/downloads/simplex-chat/simplex-chat/total)](https://github.com/simplex-chat/simplex-chat/releases) [![GitHub release](https://img.shields.io/github/v/release/simplex-chat/simplex-chat)](https://github.com/simplex-chat/simplex-chat/releases) [![Join on Reddit](https://img.shields.io/reddit/subreddit-subscribers/SimpleXChat?style=social)](https://www.reddit.com/r/SimpleXChat) [![Follow on Mastodon](https://img.shields.io/mastodon/follow/108619463746856738?domain=https%3A%2F%2Fmastodon.social&style=social)](https://mastodon.social/@simplex) +| 19/03/2023 | EN, [FR](/docs/lang/fr/README.md) | + +SimpleX logo + +# SimpleX - the first messaging platform that has no user identifiers of any kind - 100% private by design! + +[](http://simplex.chat/blog/20221108-simplex-chat-v4.2-security-audit-new-website.html)     [](https://www.privacyguides.org/en/real-time-communication/#simplex-chat)     [](https://www.kuketz-blog.de/simplex-eindruecke-vom-messenger-ohne-identifier/) + +## Welcome to SimpleX Chat! + +1. ๐Ÿ“ฒ [Install the app](#install-the-app). +2. โ†”๏ธ [Connect to the team](#connect-to-the-team-via-the-app) and [join user groups](#join-user-groups). +3. ๐Ÿค [Make a private connection](#make-a-private-connection) with a friend. +4. ๐Ÿ”ค [Help translating SimpleX Chat](#help-translating-simplex-chat). +5. โšก๏ธ [Contribute](#contribute) and [help us with donations](#help-us-with-donations). + +[Learn more about SimpleX Chat](#contents). + +## Install the app + [iOS app](https://apps.apple.com/us/app/simplex-chat/id1605771084)   [![Android app](https://github.com/simplex-chat/.github/blob/master/profile/images/google_play.svg)](https://play.google.com/store/apps/details?id=chat.simplex.app) @@ -26,7 +40,84 @@ - ๐Ÿš€ [TestFlight preview for iOS](https://testflight.apple.com/join/DWuT2LQu) with the new features 1-2 weeks earlier - **limited to 10,000 users**! - ๐Ÿ–ฅ Available as a terminal (console) [app / CLI](#zap-quick-installation-of-a-terminal-app) on Linux, MacOS, Windows. -**NEW**: Security audit by [Trail of Bits](https://www.trailofbits.com/about), the [new website](https://simplex.chat) and v4.2 released! [See the announcement](./blog/20221108-simplex-chat-v4.2-security-audit-new-website.md) +## Connect to the team via the app + +- to ask any questions +- to suggest any improvements +- to share anything relevant + +## Join user groups + +You can join an English-speaking users group if you want to ask any questions: [#SimpleX-Group-2](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2Fhpq7_4gGJiilmz5Rf-CswuU5kZGkm_zOIooSw6yALRg%3D%40smp5.simplex.im%2FQP8zaGjjmlXV-ix_Er4JgJ0lNPYGS1KX%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEApAgBkRZ3x12ayZ7sHrjHQWNMvqzZpWUgM_fFCUdLXwo%253D%26srv%3Djjbyvoemxysm7qxap7m5d5m35jzv5qq6gnlv7s4rsn7tdwwmuqciwpid.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22xWpPXEZZsQp_F7vwAcAYDw%3D%3D%22%7D) + +There are groups in other languages, that we have the apps interface translated into. These groups are for testing, and asking questions to other SimpleX Chat users: + +[\#SimpleX-DE](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FkIEl7OQzcp-J6aDmjdlQbRJwqkcZE7XR%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAR16PCu02MobRmKAsjzhDWMZcWP9hS8l5AUZi-Gs8z18%253D%26srv%3Dbylepyau3ty4czmn77q4fglvperknl4bi2eb2fdy2bh4jxtf32kf73yd.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22puYPMCQt11yPUvgmI5jCiw%3D%3D%22%7D) (German-speaking), [\#SimpleX-FR](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2Fhpq7_4gGJiilmz5Rf-CswuU5kZGkm_zOIooSw6yALRg%3D%40smp5.simplex.im%2FvIHQDxTor53nwnWWTy5cHNwQQAdWN5Hw%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAPdgK1eBnETmgiqEQufbUkydKBJafoRx4iRrtrC2NAGc%253D%26srv%3Djjbyvoemxysm7qxap7m5d5m35jzv5qq6gnlv7s4rsn7tdwwmuqciwpid.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%221FyUryBPza-1ZFFE80Ekbg%3D%3D%22%7D) (French-speaking), [\#SimpleX-RU](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FXZyt3hJmWsycpN7Dqve_wbrAqb6myk1R%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAMFVIoytozTEa_QXOgoZFq_oe0IwZBYKvW50trSFXzXo%253D%26srv%3Dbylepyau3ty4czmn77q4fglvperknl4bi2eb2fdy2bh4jxtf32kf73yd.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22xz05ngjA3pNIxLZ32a8Vxg%3D%3D%22%7D) (Russian-speaking), [\#SimpleX-IT](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2Fu2dS9sG8nMNURyZwqASV4yROM28Er0luVTx5X1CsMrU%3D%40smp4.simplex.im%2F0weR-ZgDUl7ruOtI_8TZwEsnJP6UiImA%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAq4PSThO9Fvb5ydF48wB0yNbpzCbuQJCW3vZ9BGUfcxk%253D%26srv%3Do5vmywmrnaxalvz6wi3zicyftgio6psuvyniis6gco6bp6ekl4cqj4id.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22e-iceLA0SctC62eARgYDWg%3D%3D%22%7D) (Italian-speaking). + +You can join either by opening these links in the app or by opening them in a desktop browser and scanning the QR code. + +## Make a private connection + +You need to share a link with your friend or scan a QR code from their phone, in person or during a video call, to make a connection and start messaging. + +The channel through which you share the link does not have to be secure - it is enough that you can confirm who sent you the message and that your SimpleX connection is established. + +Make a private connection Conversation Video call + +After you connect, you can [verify connection security code](./blog/20230103-simplex-chat-v4.4-disappearing-messages.md#connection-security-verification). + +## Help translating SimpleX Chat + +Thanks to our users and [Weblate](https://hosted.weblate.org/engage/simplex-chat/), SimpleX Chat apps, website and documents are translated to many other languages. + +Join our translators to help SimpleX grow! + +|locale|language |contributor|[Android](https://play.google.com/store/apps/details?id=chat.simplex.app) and [iOS](https://apps.apple.com/us/app/simplex-chat/id1605771084)|[website](https://simplex.chat)|Github docs| +|:----:|:-------:|:---------:|:---------:|:---------:|:---------:| +|๐Ÿ‡ฌ๐Ÿ‡ง en|English | |โœ“|โœ“|โœ“|โœ“| +|๐Ÿ‡จ๐Ÿ‡ฟ cs|ฤŒeลกtina |[zen0bit](https://github.com/zen0bit)|[![android app](https://hosted.weblate.org/widgets/simplex-chat/cs/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/cs/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/cs/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/cs/)|[![website](https://hosted.weblate.org/widgets/simplex-chat/cs/website/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/website/cs/)|[โœ“](https://github.com/simplex-chat/simplex-chat/tree/master/docs/lang/cs)| +|๐Ÿ‡ฉ๐Ÿ‡ช de|Deutsch |[mlanp](https://github.com/mlanp)|[![android app](https://hosted.weblate.org/widgets/simplex-chat/de/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/de/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/de/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/de/)|[![website](https://hosted.weblate.org/widgets/simplex-chat/de/website/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/website/de/)|| +|๐Ÿ‡ซ๐Ÿ‡ท fr|Franรงais |[ishi_sama](https://github.com/ishi_sama)|[![android app](https://hosted.weblate.org/widgets/simplex-chat/fr/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/fr/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/fr/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/fr/)|[![website](https://hosted.weblate.org/widgets/simplex-chat/fr/website/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/website/fr/)|[โœ“](https://github.com/simplex-chat/simplex-chat/tree/master/docs/lang/fr)| +|๐Ÿ‡ฎ๐Ÿ‡น it|Italiano |[unbranched](https://github.com/unbranched)|[![android app](https://hosted.weblate.org/widgets/simplex-chat/it/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/it/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/it/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/it/)|[![website](https://hosted.weblate.org/widgets/simplex-chat/it/website/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/website/it/)|| +|๐Ÿ‡ณ๐Ÿ‡ฑ nl|Nederlands|[mika-nl](https://github.com/mika-nl)|[![android app](https://hosted.weblate.org/widgets/simplex-chat/nl/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/nl/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/nl/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/nl/)|[![website](https://hosted.weblate.org/widgets/simplex-chat/nl/website/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/website/nl/)|| +|๐Ÿ‡ท๐Ÿ‡บ ru|ะ ัƒััะบะธะน ||[![android app](https://hosted.weblate.org/widgets/simplex-chat/ru/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/ru/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/ru/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/ru/)||| +|๐Ÿ‡จ๐Ÿ‡ณ zh-CHS|็ฎ€ไฝ“ไธญๆ–‡|[sith-on-mars](https://github.com/sith-on-mars)|[![android app](https://hosted.weblate.org/widgets/simplex-chat/zh_Hans/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/zh_Hans/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/)||| + +Languages in progress: Arabic, Hindi, Japanese, Spanish and [many others](https://hosted.weblate.org/projects/simplex-chat/#languages). We will be adding more languages as some of the already added are completed โ€“ please suggest new languages, review the [translation guide](./docs/TRANSLATIONS.md) and get in touch with us! + +## Contribute + +We would love to have you join the development! You can help us with: + +- writing a tutorial or recipes about hosting servers, chat bot automations, etc. +- contributing to SimpleX Chat knowledge-base. +- developing features - please connect to us via chat so we can help you get started. + +## Help us with donations + +Huge thank you to everybody who donated to SimpleX Chat! + +We are prioritizing users privacy and security - it would be impossible without your support. + +Our pledge to our users is that SimpleX protocols are and will remain open, and in public domain, - so anybody can build the future implementations of the clients and the servers. We are building SimpleX platform based on the same principles as email and web, but much more private and secure. + +Your donations help us raise more funds โ€“ any amount, even the price of the cup of coffee, would make a big difference for us. + +It is possible to donate via: + +- [GitHub](https://github.com/sponsors/simplex-chat) - it is commission-free for us. +- [OpenCollective](https://opencollective.com/simplex-chat) - it charges a commission, and also accepts donations in crypto-currencies. +- Monero address: 8568eeVjaJ1RQ65ZUn9PRQ8ENtqeX9VVhcCYYhnVLxhV4JtBqw42so2VEUDQZNkFfsH5sXCuV7FN8VhRQ21DkNibTZP57Qt +- Bitcoin address: 1bpefFkzuRoMY3ZuBbZNZxycbg7NYPYTG +- BCH address: 1bpefFkzuRoMY3ZuBbZNZxycbg7NYPYTG +- Ethereum address: 0x83fd788f7241a2be61780ea9dc72d2151e6843e2 +- Solana address: 43tWFWDczgAcn4Rzwkpqg2mqwnQETSiTwznmCgA2tf1L + +Thank you, + +Evgeny + +SimpleX Chat founder ## Contents @@ -38,16 +129,11 @@ - [Users own SimpleX network](#users-own-simplex-network) - [Frequently asked questions](#frequently-asked-questions) - [News and updates](#news-and-updates) -- [Make a private connection](#make-a-private-connection) - [Quick installation of a terminal app](#zap-quick-installation-of-a-terminal-app) - [SimpleX Platform design](#simplex-platform-design) - [Privacy: technical details and limitations](#privacy-technical-details-and-limitations) - [For developers](#for-developers) - [Roadmap](#roadmap) -- [Join a user group](#join-a-user-group) -- [Translate SimpleX Chat](#translate-simplex-chat) -- [Contribute](#contribute) -- [Help us with donations](#help-us-with-donations) - [Disclaimers, Security contact, License](#disclaimers) ## Why privacy matters @@ -100,14 +186,6 @@ Recent updates: [All updates](./blog) -## Make a private connection - -You need to share a link or scan a QR code (in person or during a video call) to make a connection and start messaging. - -The channel through which you share the link does not have to be secure - it is enough that you can confirm who sent you the message and that your SimpleX connection is established. - -Make a private connection Conversation Video call - ## :zap: Quick installation of a terminal app ```sh @@ -225,75 +303,6 @@ If you are considering developing with SimpleX platform please get in touch for - Message delivery relay for senders (to conceal IP address from the recipients' servers and to reduce the traffic). - High capacity multi-node SMP relays. -## Join a user group - -You can join an English-speaking group if you want to ask any questions: [#SimpleX-Group-2](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2Fhpq7_4gGJiilmz5Rf-CswuU5kZGkm_zOIooSw6yALRg%3D%40smp5.simplex.im%2FQP8zaGjjmlXV-ix_Er4JgJ0lNPYGS1KX%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEApAgBkRZ3x12ayZ7sHrjHQWNMvqzZpWUgM_fFCUdLXwo%253D%26srv%3Djjbyvoemxysm7qxap7m5d5m35jzv5qq6gnlv7s4rsn7tdwwmuqciwpid.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22xWpPXEZZsQp_F7vwAcAYDw%3D%3D%22%7D) - -There are also several groups in languages other than English, that we have the apps interface translated into. These groups are for testing, and asking questions to other SimpleX Chat users. We do not always answer questions there, so please ask them in one of the English-speaking groups. - -- [\#SimpleX-DE](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FkIEl7OQzcp-J6aDmjdlQbRJwqkcZE7XR%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAR16PCu02MobRmKAsjzhDWMZcWP9hS8l5AUZi-Gs8z18%253D%26srv%3Dbylepyau3ty4czmn77q4fglvperknl4bi2eb2fdy2bh4jxtf32kf73yd.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22puYPMCQt11yPUvgmI5jCiw%3D%3D%22%7D) (German-speaking). -- [\#SimpleX-FR](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2Fhpq7_4gGJiilmz5Rf-CswuU5kZGkm_zOIooSw6yALRg%3D%40smp5.simplex.im%2FvIHQDxTor53nwnWWTy5cHNwQQAdWN5Hw%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAPdgK1eBnETmgiqEQufbUkydKBJafoRx4iRrtrC2NAGc%253D%26srv%3Djjbyvoemxysm7qxap7m5d5m35jzv5qq6gnlv7s4rsn7tdwwmuqciwpid.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%221FyUryBPza-1ZFFE80Ekbg%3D%3D%22%7D) (French-speaking). -- [\#SimpleX-RU](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2FPQUV2eL0t7OStZOoAsPEV2QYWt4-xilbakvGUGOItUo%3D%40smp6.simplex.im%2FXZyt3hJmWsycpN7Dqve_wbrAqb6myk1R%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAMFVIoytozTEa_QXOgoZFq_oe0IwZBYKvW50trSFXzXo%253D%26srv%3Dbylepyau3ty4czmn77q4fglvperknl4bi2eb2fdy2bh4jxtf32kf73yd.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22xz05ngjA3pNIxLZ32a8Vxg%3D%3D%22%7D) (Russian-speaking). -- [\#SimpleX-IT](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2Fu2dS9sG8nMNURyZwqASV4yROM28Er0luVTx5X1CsMrU%3D%40smp4.simplex.im%2F0weR-ZgDUl7ruOtI_8TZwEsnJP6UiImA%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAq4PSThO9Fvb5ydF48wB0yNbpzCbuQJCW3vZ9BGUfcxk%253D%26srv%3Do5vmywmrnaxalvz6wi3zicyftgio6psuvyniis6gco6bp6ekl4cqj4id.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22e-iceLA0SctC62eARgYDWg%3D%3D%22%7D) (Italian-speaking). - -You can join these groups either by opening these links in the app or by opening them in a desktop browser and scanning QR code. - -Join via the app to share what's going on and ask any questions! - -## Translate SimpleX Chat - -Thanks to our users and [Weblate](https://hosted.weblate.org/engage/simplex-chat/), SimpleX Chat apps, website and documents are translated to many other languages. - -Join our translators to help SimpleX grow! - -|locale|language |contributor|[Android](https://play.google.com/store/apps/details?id=chat.simplex.app) and [iOS](https://apps.apple.com/us/app/simplex-chat/id1605771084)|[website](https://simplex.chat)|Github docs| -|:----:|:-------:|:---------:|:---------:|:---------:|:---------:| -|๐Ÿ‡ฌ๐Ÿ‡ง en|English | |โœ“|โœ“|โœ“|โœ“| -|๐Ÿ‡จ๐Ÿ‡ฟ cs|ฤŒeลกtina |[zen0bit](https://github.com/zen0bit)|[![android app](https://hosted.weblate.org/widgets/simplex-chat/cs/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/cs/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/cs/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/cs/)|[![website](https://hosted.weblate.org/widgets/simplex-chat/cs/website/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/website/cs/)|[โœ“](https://github.com/simplex-chat/simplex-chat/tree/master/docs/lang/cs)| -|๐Ÿ‡ฉ๐Ÿ‡ช de|Deutsch |[mlanp](https://github.com/mlanp)|[![android app](https://hosted.weblate.org/widgets/simplex-chat/de/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/de/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/de/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/de/)|[![website](https://hosted.weblate.org/widgets/simplex-chat/de/website/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/website/de/)|| -|๐Ÿ‡ซ๐Ÿ‡ท fr|Franรงais |[ishi_sama](https://github.com/ishi_sama)|[![android app](https://hosted.weblate.org/widgets/simplex-chat/fr/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/fr/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/fr/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/fr/)|[![website](https://hosted.weblate.org/widgets/simplex-chat/fr/website/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/website/fr/)|[โœ“](https://github.com/simplex-chat/simplex-chat/tree/master/docs/lang/fr)| -|๐Ÿ‡ฎ๐Ÿ‡น it|Italiano |[unbranched](https://github.com/unbranched)|[![android app](https://hosted.weblate.org/widgets/simplex-chat/it/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/it/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/it/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/it/)|[![website](https://hosted.weblate.org/widgets/simplex-chat/it/website/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/website/it/)|| -|๐Ÿ‡ณ๐Ÿ‡ฑ nl|Nederlands||[![android app](https://hosted.weblate.org/widgets/simplex-chat/nl/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/nl/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/nl/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/nl/)|[![website](https://hosted.weblate.org/widgets/simplex-chat/nl/website/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/website/nl/)|| -|๐Ÿ‡ท๐Ÿ‡บ ru|ะ ัƒััะบะธะน ||[![android app](https://hosted.weblate.org/widgets/simplex-chat/ru/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/ru/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/ru/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/ru/)||| -|๐Ÿ‡จ๐Ÿ‡ณ zh-CHS|็ฎ€ไฝ“ไธญๆ–‡|[sith-on-mars](https://github.com/sith-on-mars)|[![android app](https://hosted.weblate.org/widgets/simplex-chat/zh_Hans/android/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/)
[![ios app](https://hosted.weblate.org/widgets/simplex-chat/zh_Hans/ios/svg-badge.svg)](https://hosted.weblate.org/projects/simplex-chat/ios/zh_Hans/)||| - -Languages in progress: Arabic, Hindi, Japanese, Spanish and [many others](https://hosted.weblate.org/projects/simplex-chat/#languages). We will be adding more languages as some of the already added are completed โ€“ please suggest new languages, review the [translation guide](./docs/TRANSLATIONS.md) and get in touch with us! - -## Contribute - -We would love to have you join the development! You can contribute to SimpleX Chat with: - -- translate website homepage - there is a lot of content we would like to share, it would help to bring the new users. -- writing a tutorial or recipes about hosting servers, chat bot automations, etc. -- developing features - please connect to us via chat so we can help you get started. - -## Help us with donations - -Huge thank you to everybody who donated to SimpleX Chat! - -We are prioritizing users privacy and security - it would be impossible without your support. - -Our pledge to our users is that SimpleX protocols are and will remain open, and in public domain, - so anybody can build the future implementations of the clients and the servers. We are building SimpleX platform based on the same principles as email and web, but much more private and secure. - -Your donations help us raise more funds โ€“ any amount, even the price of the cup of coffee, would make a big difference for us. - -It is possible to donate via: - -- [GitHub](https://github.com/sponsors/simplex-chat) - it is commission-free for us. -- [OpenCollective](https://opencollective.com/simplex-chat) - it charges a commission, and also accepts donations in crypto-currencies. -- Monero address: 8568eeVjaJ1RQ65ZUn9PRQ8ENtqeX9VVhcCYYhnVLxhV4JtBqw42so2VEUDQZNkFfsH5sXCuV7FN8VhRQ21DkNibTZP57Qt -- Bitcoin address: 1bpefFkzuRoMY3ZuBbZNZxycbg7NYPYTG -- BCH address: 1bpefFkzuRoMY3ZuBbZNZxycbg7NYPYTG -- Ethereum address: 0x83fd788f7241a2be61780ea9dc72d2151e6843e2 -- Solana address: 43tWFWDczgAcn4Rzwkpqg2mqwnQETSiTwznmCgA2tf1L -- please let us know, via GitHub issue or chat, if you want to create a donation in some other cryptocurrency - we will add the address to the list. - -Thank you, - -Evgeny - -SimpleX Chat founder - ## Disclaimers [SimpleX protocols and security model](https://github.com/simplex-chat/simplexmq/blob/master/protocol/overview-tjr.md) was reviewed, and had many breaking changes and improvements in v1.0.0. diff --git a/docs/TRANSLATIONS.md b/docs/TRANSLATIONS.md index 83bb795d73..afcafd2f9b 100644 --- a/docs/TRANSLATIONS.md +++ b/docs/TRANSLATIONS.md @@ -10,7 +10,7 @@ This document is created to speed up this process, and share some important "got 1. Create an account in Weblate, using the same email that you use in GitHub - it will make your contributions associated with your GitHub account, and might help you in some cases. Once translation is released to the users we will add your account name to the [list of translators](https://github.com/simplex-chat/simplex-chat#translate-the-apps). -2. Before you start the translation there is a simple contributor agreement to sign via Weblate - this is to avoid any conflicts around IP rights. +2. Before you start the translation there is a simple contributor license agreement to sign via Weblate - this is to avoid any conflicts around IP rights. The copy of this agreement is also [available here](https://github.com/simplex-chat/cla/blob/master/CLA.md). 3. We can also add you to the group of translators for any questions and updates - please connect to me via chat. diff --git a/images/kuketz-blog.jpg b/images/kuketz-blog.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a2edfb7c54021121c39a080c54e2ea839d8b1c58 GIT binary patch literal 12307 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 + + + + + + + + + + + + + + + diff --git a/images/simplex-chat-logo.svg b/images/simplex-chat-logo.svg index 6d423bf5c5..2f42e5073d 100644 --- a/images/simplex-chat-logo.svg +++ b/images/simplex-chat-logo.svg @@ -1,16 +1,30 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + - + + + + + + + diff --git a/images/trail-of-bits.jpg b/images/trail-of-bits.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a3cb03b7eb49a5549667147083f2511a04a09b64 GIT binary patch literal 19691 zcmb@tc|4Tg|2KZgzC>hSnnF>wvWpDKmZTIzLXzwx+sHH{vStaP6hkU)j9u2T3zaQ~ z5yl|dG84ws%v^p~@6Y%1x$ocoz5lo$_v1cXGv_gL=3Lk7oY(SvEoXOPmjvuPYhi5x zu(1Jv74!$}&H<0jk-j$pz}6Nx1^@sLz{SP|utPmIU=Q>n@?U-E2W-*+=RcnVfFqmC zfBJ50%Ku}0qA$SlUt^#-|7p-&pt=6u@9#T%5p@02gFY+T^Y77Y+C}XD?gJm8?}6Pm zK$r*k$fnKCCJ*cpW@8s-+wB5i&>Wm>|Fpk@{x-Hf>>Qk2+&sK|{Lp~feZU?zcJ@6S z?3|n&(4(;3g}w(kggHeHoiOFvf6;?mK15XWUS=_m!s*I(G5cYPqSp1>vAlfZ5|UEV zhmR;JA3dh6qpPQHaMJ9IxrL>b_1R089UKu(&R0Bdc-{2&@%0N03y+9IM%{_KAD@tz zl$?^4{U|3l@9~rT=Or&*zAAnF=51AVO>JHMhla+E&aUpB-j99#Bcor(#t9RX#5wZ( z!s7R(AImG$Uz=Oov>p2IKY!_hR^?x0L9hQ?x`ZLR_Hb~pb8!Eqi)~NjU&4hsI1ioR z5;48V?GdtHUh^K0=;_Sj%647_EqjXC_1nXI;)>dHhpB%_`-igsGs0s3uPFNuVgG}! zDZmV3wZCl-^v}L$542V6P~+g@_}jR+x&CR~|J8W@X}o_M|9{#pGzr_^U$V1vLjU|c zTs;5z?*F*6I}I_H=q?cuV29XRm|Ylv10bmUJO%iFdF>AUYficr$mhYhjf@6)KQkoh zcv>}~2DknjWt=-S;VU0p{glC29+{aD(pD^V@_s0OH?7uGUmrIg>rOY8=sv0-4}PYp zvKlUc83zP&^ z?gAYxyTEURdwcjycBHptu4DW?{jN~UL(I(N-j#Mh|C<SNqSq!0|6_(k#L*5c_x+XpcZ$+yywMS!u1js4(hM zr$2A&A(Ts9I&Gsv;^e@Y#&f(k>-7v8QizU^+f^%Evg94SvkhdunPdzp6J9w0PQWP_ z?c!n8Gc~!0{GcW>zxUTU4Y`RxExWyU???$h=0vI$iZ}&+Dw18|-bR3eW32ZJ^wnK} zQ|BvM$Oj=J$3JJ0?K}7Q5T{W_T|ejcrt;OgP_-J%NHbpGmJj>31gLPETF=_&x*uAP zXdLJ;46RTDatcgRPu>OMPeF7XTcyhY+4tNgOTaG}nQ)f;tlMz2+Iv^$>7K(0K4Ak5 zo?$^|Dlb&u3tfK^X9AnHyN4(37+Q{-*LMZSoVc4zWvnZ8y64Q?l z-UY62&<$om-Z+MvKdq2+ymnwC;lLsMGZz;ZWSu^#y3nzwJL5vE_4^%Tv_sUzWRd{k z_uMwz-dbEqEzb(nrAJGulllr)>{ z-o6WnF;Bfg20NQu`tQ9y5_pors}K9oX!SD4l-n<}aEpyq$&B0u;wFtX{KSdzrEBvP z@6$sI94}uECT-iKojn)G*x-EONM+6Mn75On3EO%QTg$ONfG08SW^fNqR>>~l6BYK` z$SjoX>Tb*blE_LQQ(L>?G|wv)<>Z}v_=RUS0YK2luM)paei|o))YxkXl=D>>lL&wM zG3}*12$1*C^rneOraNaB22 z(68Q3P^Kv`zPP3Np?0>s)%)@x7fbD_vsDkV$EWfER_Swm`XF5~gDDqDQK3C{g_8!? zcWAIgwC1CvYg9#p2c0`z*EEQFxhGLy&KpNWM;NIVr?<22JG)=;bF7@5IGb&%shZg* z!-cSr5_oaTR5n&$n=L3sxoFS-atZAY|4V6Z+KHkh=8V34ec_&gg{CRF3p0tD=ro9 zAIfmSv|mOap=aAP=t(OjY!Eu~5g#w22a1B~Z)^4Ky+a5rWaAKCbx#l%r%uoG25U*q z-~9b;&(ww6pYQdx^%V*IECB_^S@A|PRH1H|=q})oOF7AzTj}+Dl88i{mH3!<@oxE6 z+4_7^fit_}o?)}Qb1iLcN^nReGmivSXO~ zHwHZ|@tqMI(Ws4{`mj#ES5j9U|1x{Yfn(3RxIrBdhN;Qu-VkBlq0f;sQVTT=#+aAh zy7}u(-&PNoD*SG4u<$!jDOZcB%mn~K+X~Psm1F!m8K+(2P}ku_<(ZAAwQGl%+e&X~e>KQ70(=ZR3?h zpVs{&@3*3P6ikxkS{~U5_yLl@v2+z?GoCbpnN**jA7qMd+R*FYPJJTkb+o8&c2#|t zIOIQhdBREIhIpTE`C*xmO%u%!NV**!9zS6M8^keXF$^*E7fcN|bH5B3)1#3j&6z^) zoa=dD+)}jK$KiW7Sf|nw$uSkFEpfK>a;1pFJr0i?t6f0;l;0OMxKmR_Ox8nNML)Z% zD*IGews6uqb}G1Y7Xq;WsW6#w+?No8%qA~xIsS4{jKAT!-!@ZSLou-EVOC?epH}LV z4@M&J{y$MK8w!3Z85UZocI_x-o4{Hzlz@2JJ1@vAJ*OXKJ^XYa(DHJExqyie%;M|0 z7*guJN*C_5enH+ncmfOk1GgyvZO_SFz)NK|#hr4&_7W`%Uzrl9G8c3&QuEsf)!~&Z z<7#RS$Tm#%%XvKmp3YcU#@1HR9{i&W`pGjzGgR^b-8XAbt}gHO?#sH+t2Hh8?TJbjFM=|aX?%4~etYT70H zrblxgb+xB|&MdJ5g4S)a1p0f3W$f@l!7%9k^ezy9l}3*mpY$yPXCd%mT9G+XjxBYG zlPh>$eDm`0&J1mJ_NzvN%rLec?zOv+>W7%C-4XBA^b{^ck0ht<0?A=M`RA5r)J<{3 zw+7Q-)$RJ%m7A%qbBKB|)*EmXOL4};!Fl1Hm`R2^gerQNJavQ(VRLpr5+b+bD{!)#z}K7uV#(no}IcMqOUB zUAJMGiW{*F3H!8#Fpa;m(Nf_QJ3L*d8sv))8wUIF!iYJgR2?az`Ec3B)3e!wL^g-v z?MFUmGvgk3U7WVN13rUb4TfU(6iYvXSWCfHF$>i*dMIY)es^l?-sWPjYns0Pc-R5i zl~umIAZ|gNHjz_dBDPv=E~X<@pJOyNbezl%ideY3iqJ*q>o2>nPVNF+-7d)3DUc_R z;t7g4WCkhP`dKl1)X`u5lugD-sm1@QTX)-24gdmx(Cjf~++O-Fz&HmE;;V3RfvtzY z5o65}qrFAbGu@@;ul*6$-T{P5TsJa4J&YG{ko*-AV@gbv1(L-NPb=u09hGILA9ExeJ`J{+`Zr#nV$JMCK({(b`XuRon4e#-ovibhBe}>Yd__E_Sv!4*ug)Jzk351_xnJhU|1| z3IhZjDl9BZ1cbK^KC}#RUxt{B>((l~R^kC9QxFleT@V~tk;Zm@*0@wT+POK&K#9DaIkkm{C>WyJ3PH2+^v5zN#xfWW9G`9!SrYGTzH}o z$P>v>nFf1jDK@zKSU#Oqi)z9~SUi=hLG&rA`|I}eU?q#moKF@PCAfiu>@mvh+gbmM z&HQUag?2~&Wj9sG8+7H;b<5@#h&0Rb z)?wVzeo!!gF3bo*e}z|!KcFbkv?&g|K&r$=s_4m#WC`1>2|KaECo+RU&yRkOe>od* z=(>X7L@G5)lMOuAs`3>V?u!1tYF|+P)26<_@Z(6$NcIy&^@VCF+3KvQ!|&EG^dr4% zwRaib=qdQ#UEpSuQ@$0-12^eg|5WjW=0vWRTb(6b?Gb`IoxXrbWZqys293bMI}{4O z2ZGXmGyA@tZMyr^wGw;o(VG6X=gSI$rjR4!b#KiIw;Buzd|_q2qV}#Q&Ic3Ub?HV` z(}RonWt4I!sBh@^>SD9%IeNW=7Vh^=-PSZQiov`n%zowcqcN~G^JP!P)Rmrxozeow zEG7Ahq5+_cPer1u@ZbnaX^ycW>OZR1lKwPUZS2$gTa}%Bc@c^9oO)jraq)Erjd$h+pJaCJG*aHDo3r@{<)#ou><5N9+lvrrv%h553XCqvwnIFn0BL9Wr%V^V;Fq_(|MP9 zl4_Y+6Or>m;(#OpU+tZ|=U!!5O7{|b-*0s?iUfqZuew4=x|V`r?$5AeVEmmxE^J836K}EKpZ1<%-`R$GQ$QT zW!Q<}eTR(wb?GfK4{=6Wqt?K|p}7L>Rew*+qu$-#!4{VfexD5;o5xR@3XW0s3sSy#K^*%R=uyRjo3|Ky@SjHkPL8|)emd$RRMX6 zDWw-3KQu6mo92U$=Cq#M7_IrucBxaJaib(%A>MA_C~os>tW8%7 zwr|-ZExoiSbOu#|RzP1QXQX4qYQ@J;rsRV2OP9Z@M;a=8`&PH~tFu}xSwCI$$HV7J z6vB@k=DuE#xBCsI-Fg=YhVe5Gjs-3R^Y{+3s>x5j9vA*W3wY(UbCmPSdjFNuw|$3X zi;ILdT)@4KkkSmpbRI&t`!dcT$$e!^59%|Qm0~aZswto23E-Ecv`?b_azDQbphn{r z7IBL>P)K^5@b_mWQ_cX}2vcZo%KmPo-J8#lJ8jE}d7bd&)r1cbCGD8U=Q8DDk!db^ z?UDD~E8Be3A%#Hzp23eS{0h_F_`;RC{9YENq{Q?9cU*IVhVdBW8PHZhKDZt2q zgyrzn{Z;-lnbm52_T`)=-QsrWy9N)^8;uo`(8y!V=3$8ejvRo}c7F8Y; zApByR7ozK0g1iO{B>he>6!K};Xoa@}{Q;GX8wZp}$-;YIY1LWP^0Zz6_8JEEPUDV4 z8}JqGKe0en>cCFmOd9ON-nn3<{Dz}~tO_^pCKT#XVv^!FGY5noQFx}AN04@8?{p&} z@&h|*x{G~7<+$pR{Zq43wuf65>^YC|T|LvM$t;Dbq${)knWK9{E18R)h4H}yu!;Ff zT`Y~$)W}X1yf9I{rOf9~OqO!k>zmH6HsAkrAUU|~Y+m+}5_z4m zPX4@%_49864_Dn&9UQ2;!|pz@4TxSe|8Ey&cl2M@d@ly;%@mga1sz#+a8C{TF{KQ& zFnS=rH6xsq!PV_u+?x5`w-O@s?NpaiBlc5@mAb<3rG3Zu?-NkG&#kx%M9jikk0ae_ zDEcAtMtZB>lWW6FnG$z@M3zCDQ-Fu>(@lQJ<>lW6((xk9i_{GAY!dn?ayn-lC%l5l zZ++fh=oYLaRk(tAv_MsT-~5au^b){C!8jo%q-w-qq{2K%uqixA@lH-bhedW@(PyrA z!H2T>NE3ek>~{*1RbQlY*K6%F;y%LY8bT?cK0OlT^`_dHu?kQ+@9EfX<6{+eg56w+zNgm5TFT$ZcSeRTx+o0P z$#|-GAvUgslXUsd=yoHiTijW(hPrJ*$D<;*%;l}C?^>exi*Cb*s?E7di||GBR_ z^7h;Z4nV+j1b+)dnu1Sco3N@dq}MZo6ns~~0Rn`d-+jAC-)w3|5+^hVwBnt z`%3f>H%;|Cmp}6}ob=O4<1?V!0`Tb-F8gQnQx$KS3Y{QrNr99 zef%glD_|2NdL3UoOIHhKiiScFgII5LN1-D9bLpTE^GN>3!2KP%BWWvtYWsC33rsmW zeI=ulLzpM#-|_7NQg}&Zi6b>Hshnw9HhtCI)wTauUr3~atr1Q^BIq*| z=vRv@?W%0Nn&Nw_o^Kd9$U_gD&q&${b)qYrZ63Q>Z>M>tsxE&yM=Q0eBi*F0$BNwu zQ37ElHT01C){#{_UAc7^Shxd#1Uy+6p9C>s7Hn>Vsf@$_c6RT#V~Tl$d_oWaIfwCQ zMbci6p$z=zqH5o{8c$42PFqKb@bjRGI-IY^C!-ePB-@wsf4hTH{dgq=Y=q*SDjPl60VVU+CvvtCK9f}Na1lHEq zK;!Me&s3L#X?C5My$$S)LC^gsnAS?vBEe0NFPve21>KFWQ0fjQUa|H}-{>?x(0EtJ zD@1zW%~jmw+VjEpd72h+K-PIc3DT{?Li@hmEp;krZr2^3{LYR&Uds8W@M>&tcHf5k zGQ`r{x!_nCWrJo(zspeh5t+uhksjWlGe93U6Cd3=%yoQHk_}f{Z(Qop3(PaWyk`Gl zH|b6aPJ#Q{WweUY_mgUs9HsTomKBVWku^!F0!lzuG>h*^q(o>+=cEsRC9Thwg?^Y-b<9U|Xy4_2U8B z)&bh5`v(i$FUx=V74Zq*4XBW0!HW&73r z-63zR0;f>cNhJY+s+lnkn)BkmNb(LzY%D6 zkyV57EKr-B^IB`YS@!aD!!B??$X62J#;omlCOz8)df#*fpt2G)wm!bM6Q+lnQqgfy zbHSpM?XQ>fQ$<`{iC257I*l~nAkxoVbI5u0(3As$&xL}@+<2`o{GcQtX>tCR3dqcLMBvA)L%EDCdF!%F! z&q{>jW8U|4l7kuo-?+Hg9=I{`UhNvMcwx1;r|OCGJ0hp8>@z>UHWO8!efNmXZRI<^ zVPs=ti0s8T-VyqIZ#AurJM(t|Q8-;?V?9!79YVL9T=W8lnaj7kCANg{fqO5HM}$i| zLy{;H=wjW}^7ZhCd+S}!{F443teu7eP0oY;K#_o}yz&dY zU~9(^d*R)#0VK~Ki&U56k7=NY;K<(+-%RbR*aX19Z5%w+i-gzd1< zl>4Xl0M%-94(`;+OTJ`%?aZ+cK10v z0|gFWsbBYCTt%6%ino(rJYjm_R-`|ngY?u|zI_^h(xdZKu z^tdP|Ghe;m!Z;qmK!)<37$cd^@t##g{Au2^1!PVBsMO~7NI9E_qS4Teg5mTdxV46t zV3&J^UB}>L;h21SFdy>H_$dpkp)*-4S~zU<3E-KO`i;yf#b<@qtL_U=AyqrY$_6!8 z@b$CpciFoS>>HOK*%p#R2FXk+jcUlJsUhs^bM3!SI4@T6^vxF{`*2&3wv5Y#grg+C z7m7`beWu8ewjgh-3aw!l{&G^z;BfT2z0#-Ny`Fh@Hw9 z?wB<@efY(hJxjU4jYYSe{s5ZRYn*rP?sQ;M>UV-8b??27odzl!h;Q}zv|wx&fLsiY zh^HUaV2Zr!a^a1v3@)Svm|Xk&U~?w_$=S1s(x1J({o=WD#Y94&rLmme`3 z@%@J3!7XbIWH3s8y)xx+99G?@e8xn~!2+tQVXu&T>j$Lv#1)kM!cjFK;#-mVJKd1x z#bo5S{2Y8rmPnSjQ;UerB~-ZxYDTfX2)*IhlE+V-+rm+gLBrGN8a;)EtY%P)j_o9> zF=_Q~##GODy}m{dHvJ{iVwR;Gdu~}NdZ#~+fg6Rn*hg?g)OY)|ALZCVXO9_u$ zM<}gBi84+HDk83?DetKz-QU}5PQ~Pi8mu57VP!k^?wDFgn1bh6Dmy$pggIm`n%!S< z`engK2lh8gMK}lgB2}*&CS|O$IxE^7uzIALEW;>6T)1H$Gvl}a)L2`mh{chdHjXSn zN~uhXl+lS3MLE;o6r&6%=iDNy%Vvqo#5>+HxZs;M(E$|X=HfXDa*!MHl}byQ(nlFb zdMR*_x8W{z)1jXC4bz$6-I8Dt)3J1R1V0pLyz^;5p;vna$zhY(vln#;!UQkT3A0MlDM1(sBvOewx-tz4*F6WM|oksap3bE)af0QqT_Vg9NAuPGKmQG0Cl3l-!&* ze#UZ?u|G&V>)cbubI)}f_xZSHj%!Nl%um;mZkbAcT!_IKIsD0hr1mky8d-jDC|XUt zg&z4M5w|rcu@XVFr4@J!z6sH3zHsXIeWU)NUIhu^F3*cGx=r3$Cn%*%Wz2)wEwvRq zT^)+;%wNWIB+?;$e|qK}G~Fr=)G>h(F-(hL2<(GNv-dF+-`AL5I?hn7NE`w07q%iPCwcOYUO#)o!dRU`2cZ!wTG6{G5T!|dm8iqTT#*O*uU_=zl)6)nC>JE4wPv{##!o2 znr9iYQz`%9?387w^hY+C*pKhouVp^eiuE7F|8H{L&tr`K$`zOKKBSBTI8CvP*S;&w z@HD4Akl|5VoS=Venl}$DWmkYIifq0pPqWR%g`NI3d9OYP^8yL0!55W*$DKc z>;j2F`(Dw*Z9Tecw91)pbmxd@Q?ge3vdIBn#tlsSM-0UVK2c8=d`T(oDLnSo2!Zp- zQ}cRjI_EF`wYah&Eu~L@V3;*wD|6IY-ucRzASqLF3m$S1A-RNhJr)J=o;A}>sdIL6 zvr8|xP{rnEv#pR@W%l{z!WnogCFm1^jZ3Oa(@_4Q6BN|_vcZ)8YbP4%QdDkIWHKfg zM>OkjJfJqFQ{c9AhSKOiWcJ$J+uP$&bK{vDsWUqgYN~b`s`lzdO+T4<=zhLP!?}$f zce(-5Hj;L6sLV)*!ssm2r0O;aoD8uFR0}IOK>XgF8uErOb1>vs)pJy_5{WGbfKBW$ zMU_DQbp|)|z}l^bF5s7405(TGypgmxQnnrG%75PGqesH>qE)V?W^bLvuP1dR=7&?O zOPI+WP!RH2V#C3&cv;j@hA~r~vXP;|w3%14pRyVqaTQl4i+t17v--ZoFY9x_Sx8a- z1dy2m8f^tbsIMxIDS8PMlo)G;gG96<}5$(W;G89ZOZA_;#~ zFO%4HzE5^43a0l)&7&}XWuw(K8bxb;pVwb_iJodGAklS{#Ahf;F>mJrFe?`gm zIeF%|XOz79aY>Q;G;Ov}kgpQjnP3(cPRc&ONy$q^YyHU2ND4CYdOhgjS?Vj~mnWm< zp=E0*^TxyOsPP%4h{%&Mg8tM)aMC7b!VTU)sqT4zwJ8(Dtg|r2SW0Bx`t4a6JgEdj zdA?;+qMk`9wX7f3W&4HknGI-dJ-BnoHvi6^RD*--;JHj`3!a!QhlUxp+9P*sI6HOHoAg8}RoW;-^LY>MgcE;xNIPbNqEYDYIEWb0c=-#YjK^Jvi{XNriwfgTKsn!rEA zQRFJeG{V+9CPB*{`UF=Rb@cYLxb#VG?!sEI2t)C6XNvigBiBnQ@Gfjs{W|ws+j3;- zTv=_wO!k{;gRGU+Gaoc~Qlg}uEar~;^e4N2_qp*P%3Gj|{m(2z2hZGe|A^RxtTeY9 zdW-@NLfOEk+55zR5%af9=dtw~pi*ov>uKQADds{(&RpC_eU9%QqZ>lYAO0O7xepR5 znLZHf-FHHNxg*zM`;w_REI<0ZuB}exS32)CYa?auUq?eibf&xV z5NfT~PE99%e!6XoIR}xExRyU#NM6JE6Wdr&E*sj9+W?Mt_H&f;k_zP(~10c zw?>p#Y#X)=K(Cm=J@`=^DDa*2a2~2h+)p2+y&ex7(}5+QT%rX&inTy3qYun-^WA#W z_{XLrV(Fl|og@Hj##1i+4NUDoDw=*6(Kf9#AKCL+?-JqA_;%Rv`>=IcGuoS1#|Lh0 zJWZBQw%0GddDB~#B#_0%6ohovXZ$tzpTn&ucY)TeV9*J%pu{|2!#GEeBbTnJa`M`3j{wgr2;kwiwCoKzL?=NR|lt5vVrbe%;C?3jhjcyP=TRp;q->pvZNW^&0~o ziGh!7fC{>-7^sXfm%a)zhVj2WEtwX947OchSdB_x?UZ1C_254ZTo~RCR4f_`yji!Y zRsZ?)(@KIAyZ(D30A)BJa#E*g?7P5omw6mx!vd;}OjG{L#_($nhIw<5>Fv7!=I^KR zm?!Djl9fM|Auq3d4qcp&d=yVxdUZ=s>xw%if!+k(i^S|KLbLsKQK4D+G3{hbB_`d- z(qm4Do2fvLd*he?a;zoiWevBb@8QA~hXh5yPtMKKL9Qx_j4z+^^~xn0lq;Mte64yv z_HyROk014yd&NL2JS70P=6#o81!*=%BVPCe?G7S5<{YSrw|VT8>TBvaw9i75P;Dxo zP3Q}_k(%*smTsU23d&M55>WnS=r(KxA?XV?_@y>6G8JX{YM}0Wba(&f(kq|tYoF-2 zU4O~qOq#k!THcNO0LFS3sJCNEFhJe{#vZ@M#Msuu$YG`(nRP<;8#1!vA;xc}ZAJ9{ zhcK1EfTddKOkh7Zs^6h^&Mb{wNrDqLx*IOOX*t<%p%X@3Z)A!5sDQ`%Opl#DfuDzI4-FGE^ zC)L{PzIvW$tUkp3w((Yf=i91XK%`DGa!-ws26bEv(lY*tT zkTm4i!2KV#z^_Zxfwq zO^K$R9liNrE!Xi1HVyauhKQ89iLT={<|Lnje>1i3nkk8})9yZ)#}uCjc}~p<(NzKm z<69N!m>wAAK60tUF?2ce>eVZE8$14Vkj?Y@3bm0h9n;!RG~Z@R3=a!e0K|=r=-3WC z#T*K>Kvg3$?RxvB{95->)av3&tS$)E(lZdLXR_8#>uKkOHvhV|CD0Yai(7~Wd6r7> zYnG7tf5&JgvRbreq!so~kmqAgWX1)q1IZi@XW$ z4TqHAQ}mGk++f0NUEaEbP_hx*93oA7Kwd}AdHvwU%J^nI`(D1j#r@LFJpoGnW{14s zIC%XAbDuBV2RmUl=g!>UOS?#o&*;nmn1)|nE;rj+^xw4zys}^}|026aLcHmPZ)yH_ z#C4l<4ly!O02qcR5jW@%ZeMF>AW`fPhFw=;AeQe;gN2O?#xTl6?N{}!+n%HAU#HJr znIvoN{q7cqNW0ybI8LsI+QI#21VZ(&CdF67SY9rX#hnc%*+= zY`R>%;G4W@&|8U!;aHPCok>i)HvYORJIFiB5Jk$+tcErSh`bJ3RW119^)RdHLi3ZK z>gBqIP0Crml5cYj5q$c4@QQfSDva2I_r}lJT04;-lgs_IY%kTk-ctOm~cUA-4WY(QQ+r~pFkE*VFwV=|`F8bv>3J=?E zpUg-s|M{x5F_*URGt1lCbLG=*|G(8)aVK_x8;;b$^-J?u;;dWk%_@4-bM+@4iVx?` zm*Vt3*_(|$uc`kc@lf4h)dcqA-Ycdk-R$M^kZ;5R$q~=`y0k;doR9P`n}}I{TLW;5 z5Tc5LSi&0JE4{NOMV_6qo9m6;8stHlP-MsR(>~LZIU?8{stb|pKd(2ZALccDAN<`^ zLE~}N!3%Rz?I2#|Hx$f{Yk>#B6Y<=54@1}l(J<*}GlFV)vAQ|`GJ)G*1%+Ly*KO_Ud7FR>riQoGCmDFU!^tZXiSV&C!6EDo%lG{Ok2;xx6x7TNy z(9(=X_pr3LM7tdwst4^3Z$Wj3I zdu|XH2}0&4)*3V1z=T5vRIGj%*zf*Y$I||*>ef5nS~Uyvgqdk+=NqB%XH0VyX}}&I zb|$3zNvj!&vz3W$8pO>GY_;85Hf6T65K5umM|2KEms=NI>ApdbAa*s)S?3IY!>`% z{=3q>A(ZpnUX2T5Of!G)7gH^Z!{NUUrt9W>fBaBBResN>8xP+C28Um>v!HvE#@*=( zgteE{5}GCzv3`Pam8m(@90E@Xr;XN}z+E}K((YYSnr+xswdb{0v+r2aVy@2MIickZ zP!>x2aAZMeMMD2p&BUq%gGXBCLEcry@nvjf-kJ@iljbq%5Q#MG9Cy?^FRJl0y5iKQ z`*)hx*3h*yTL3MF{sxM(pilxS1y-Taqd_FlOzFOJ*hEk*`;4uM-BXKEh5G1%^R$b> zrSD_a-v7wkuNr?_-~RTAOb`yL5jL2%WSJK4OHfqIcQL|0d7`;mOXP~>O~t&-<8@V%r(c^BMtjA2zRnCpn@TY;tub$);A?i)5ZdQpj-500Ys?U;@MJcwJ8oRYP zh6MNpTLA?yHAvoTOLGIR`z=SGJLEc;>mfz~y>G7PEPlUw$o%rtx^Es}b6Qd@{#s}aR9HATsT^M;0pU0jKIwo2g%Ha;RIK~dqtx$~tIh48pG*5)KYixmWB+|Y zKIYD$!7EG^2x}|h{V{)3{-$%=TrHVC>_2AdnwA~Lih6jt=CEv8|J%&#i3MuXq{yTE{cfdr2`4M6t>L76rt%CmcM+mCK zn^tX%?3fnRFBf((40rV@`}%uL+R$g+vit~Ch_?&aU?q{I<`lhn9k?_y%d2j*=7BXX z=z905Q*lr_h&-zB*>0v)&;BWUB5V=LDcIi(;%XJ%iLC@4XfDxPVBaV&NzggW+&$3Y} zbavGDFcq38*HzS|^h$QlC8@<&4{jnT@8rqYVPfaUnCxptt?41?VE@O8c4N^+p-fMVu)T6;U^K8NiS00eyd!+5MHGfsyfSEc}j$iIh zv4q0n8qnFD3a0xj)K%8ItumXrj1KzMb0f1|pQtU82jI{-Y7X9r06qn$~Ul>`>YM_Z)~hGC)Enw`RXA~T$AOw|H8ou!(%?6zb>; zYuUof$&uy9Yc_=&;{@y!8)Rdkct+JWa|F}g1Ikex5DMBxDzRBJ|d!EL|v%g6oRcsSQg(6o0h%rYxcMZzmw~} zaO+(m1Hn$gO=r;cBxshfS{zf%X09;)?bL%bi4MXbdHRBc7wqPcuAQV|)FGVPr)wnP zXVi994keK(Wy)|Kh$w+%O58}yS1?K!f{jz2tdYQ7VC#_kNF;L~qS zgv{%?gGmd=iA_xUI%ZAyj!dZKl+{#yK7PdiL1M&{nNt&9z?tR?+*@uZ?T5`FiwIE* z74&b2VA@Tg<8yy@;y~%;^|weuyF@1PooRJizjdTqzO~%vx58sfHMuv^tPXy>G$ag~ z=*F>=0p$A^#?a)sEX9)2|YyP~<`kc-i;NMF7@cvKpINp%`#niij}zY?GN zu=uyt2a7aGJx*)GI~k{WR(OmEf9_)18}Jl&95+ZT+&hA~?oPxyr3}oA$KR~<+1a_I zZe-`RCtT>6+-c5BOP1{g5`(FppPZl)W%NNvwyr?sO+u4Py(36Bp@~;NXS*8BJA1zixl>0l9Q4(W^`#kl(4R&1 z7un}?>N=wWPaabp7H54cQugusebuAHo7M226u!{E&+q=*>io~|U^HZamfVRi;Wx2# z#rkw3!&lRXTPvxjos6V>8w3*9{v^1uVq;4eE7Q@|ZHoId-51O;5rmy;x5juaL*p^h z-d_C!owb;NSxVI4`fX5$_1b7JL*Yl{;rGpK&kO899W=bAcD&;T`?!kDZG#```b(u$ zmB8Rri=QHL2cVFhyz-y<#d3egEnie4^bI z;k2n5@GEXHutIGU)f;;`#!dw+nwS@3LI(z4W2>%!gK&z?l*R+;8X@sAYOuoxDwo$( z6GQhKzagM|FCOW!*=Atycu9_XYtjVvF_J0AU>swLQn71?O3OKR-=sXyAkuKe!HU-Yy58;WOT*3%a z(~+u|?4bK`$S*Q?oio1S(61~@f9=r^$E-v;kl$43hDAbK5QK|UG*&>?+f#78xCDtj z!!3V>xt8lZR*XEv=|3Zm+{4eSV(ub-fmDBbBQ#h8@2!H}1NOU%!F@iT?RSZ!zQTKz zTp3W%JzO_b*7xvjc8vJSN|@qpXS)k*xOMTE{XRu8NbQ;nZ04dD*cERjIj3`nF1s(3 zK|BO;Z0rg+1KWoQ3QoC=0_eTuK>_66@TqmfGov-G4rOYd6&1mi?~3m45m@K{a()e@ zc#44;Sc(&d*bN=fg%0V=c4uTX29Wpq4Vq`4ALh0HJ+^&Xbq#cA*U$Iz{MZp|4T!+I zRh&MgEZJw4O+h6s^Vg4`3;Cy{h3oDQ_Vo{N(sN8bcd`yJSJ^DV8Tra;19SNnW(@c&Hnf1r>)DaLiI7>X~9RseEOWcX5A; z6~b7$Rwia6Lo0Q=NN79iIsWrIkQWD;Q3!>$d*XvLrZ98ZwKv@9TPiBSlKz!f+|RYb zYOJ$5Bo`Z-kX2vw%9=$2`yWb{`?C&9{7eBrYYb^ch_2Xs5ATbew7kM<1f`ZKPR!GE zuN%SJ4bPLf$C}}OFTPam>lYZeI!F0<8(fAv-I2sy6s~2&xa!3uhoMZTC{)0m7 zslAwHp>?e?x>l!qb!i54Y*Cs#GulZrmK#(0`n}1^1-Y(Jm-*6{A62}Ey~*f0zQe{n z>!?PF&)J7+W%pD@MYWI)kz)UCzI6;h1i) zwSE)1#dwY77I>-Te5);uQoK@>LCfKm$9F-c)XtRZE{qhORD|U*mPNV|ZJrjm^jr~e zZvuHpttl(sO5AJ*>vQ_r8Ldxnw4ZK|fSUiRGsgV;gzf*V&i?jQgt}%FhMHk>Q;?lQ zK3_4E)3T|{{q^(v%_-UACNCEvPvu+|vAd>n8($bqH`t(6*0Y{KiKCell$Nxi`f>EJ zL7~`n?%a{=K$NttX~l;&7oKwCn}%j$UqWNq=nfEfJ%(g6(pUwY0gb5=Owl}$7fJ=Q z;N$^jJ9i`*j8@`5F6V|WjY#zUGj&`m;zV5ZV?vaFGXC5*h^46jA;)o2o{0>vXyW@^` z+aUdzMyxiJ8innnJ#f`>&mwgORG;r%tQddv|CMs3QB7T2I6Q=a5d$KG!5C&xiWHDh z9*C_PuoQ|iNGN$O$`ArZq&&z2iOfYnCc`8I5D)~?hy!7Wgc&Jf7*xgzB%)6Xl2Eu@ zB?&!tt-98G@8|n*e%wEIt$Xf1-}(05-?vXkh47Z|kmK*><1bx(Vj}yNl|mE76pK~n z7L9ur_9SQs<ahHp|MVrPzJe}PHx5(jD7EMjgS#@JHt!HbeG8vI43iI>@fNa#*jc4g2K*4_-9SCrxE ztJIO07$d}o_r|gGN3&h*&xUyb9U9Jy8|Yc~cat1hVGU#~Ol6r3vZAO0Y#@p{6TBXg zF}>n_>-d=_cgIPke#DE#t9UtDGCH~PK5pn!0?8F-Bq$1RGX+@Rh=|CeriV5UopYP> zjcaw?Mb-KJ&~e1DPBd{PQ^b=hYy$M&K}Z^Q5TsIIJ;BXVxx-4KeR4=*9(KSw8GZ-7pUFtkDl0~K120k%(REB3R zmz-R8*%gM}QYNMi^PtgF7877IKtpy>#KOd}`v7O~*gG8;e)`N60$)9sLThoAS75Fk zQ8oDSZ*jMD7%=;EgU_icU>8){O9{5yJ z0dwG<+W;XV+LCH%W2rKH01#JAVs@o`m#!EEXEckgVS3HWu(GbqSVQ`1#Y%{27HO<} zz%qaRvBhK!x)i1Bqk{t%gz#eJYN)UnItBuyKEV#I6m_gCnfJwd&~API&i9CyscJK! zM7J&a;nkc_mD=oq69#EB$u+(orQuFTh1au|21V)j8_&;@4k=f#LfUf7Ug%kIetDvN z#Qx8@0J0{p;sRVXdvH@?^7vYpdBVwOVtZt&HP-*Vz^!$N9&Fuz&)>))lKs!HbLb_M z25N4l0K!Qzh1Lh3+ia zh`4G9;8kBz9g(GC14w?F)I9jl3yH!wVI6D98QZU17!p2T>_Dh7?X5D9J3+*p| z>i^t2Fko3JrL=zlDJsy!k3iY*6;R;vfhi5Y1ix`Z` zeGRiE{PTW~Cr_)gwWQDPd}&qgiTsc#1|Xec10t<1@r$zOoaiRlwAZtPQu1r~lvZjZ zt#g@hzVXe%Q$4P$R1N%s{gu7!)jah7~il`^k$EyZkkzB}0t*V*&_nD16Q z$j!c?eNw#MfPjU?Oi$1oC=XAHWCs}4nUc(vz?2DK(kRwf9MZG5{BJk>s% zLEdPRs!{rgFy2TMD%SrP3NibdMyZfp*SNmFNG|4-WaiF*FW zB9`FTY_ZA$1W+M4FUU_)%TdqehgGSM!Nqv`gVkVN&z>N1$)%9Y*n*aC4YE}$+F6qy zL8&kl?g3@SZxRl?s3n1Lh