1
0
mirror of https://github.com/privacyguides/privacyguides.org.git synced 2025-07-04 10:32:41 +00:00

Compare commits

..

228 Commits

Author SHA1 Message Date
afc078b9f4 Link to forum and migrate blog (#1822) 2022-09-29 11:14:41 -05:00
ee70f568dc Notebooks Page Cleanup (#1815)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-30 01:12:01 +09:30
3ab0c984e8 Relicensing (#1820) 2022-09-29 10:14:43 -05:00
aaff8259d4 Remove Neo Store, Rephrase F-droid section (#1821) 2022-09-28 22:29:47 +00:00
9c85a65190 Improve Cryptee card (#1814) 2022-09-27 21:45:24 +00:00
23a2419dc8 PrivacyTools FAQ (#1808) 2022-09-27 21:31:44 +09:30
a1bd21f365 Remove warnings for web e2ee across the site (#1813) 2022-09-27 04:33:59 -05:00
5bf2e8bf1f Add mention of SaaS and self-hosting for Etesync (#1812) 2022-09-26 23:41:09 +00:00
bc8045c2a0 Remove pricing (#1811) 2022-09-26 01:18:51 +00:00
faf6d34ec1 Clarify password manager and TOTP storage (#1810)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-26 10:11:21 +09:30
02c65f45e3 Add Nitter and Frontends Page Cleanup (#1809)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-26 10:08:39 +09:30
666df1dd65 Bump crowdin/github-action from 1.4.13 to 1.4.14
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.4.13 to 1.4.14.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/1.4.13...1.4.14)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-25 21:54:38 +09:30
7c84c44b3d Fix typo in "GrapheneOS or CalyxOS?" page (#1807) 2022-09-24 23:10:55 -05:00
1cc1bd3ad6 Correct typos in "Signal Configuration" (#1805) 2022-09-24 22:23:24 +00:00
21f5b7f84f Remove mention of Proton Drive being in beta (#1804) 2022-09-24 16:22:33 +00:00
befce0f1d9 Correct discussions link after feedback (#1802) 2022-09-23 14:17:54 +00:00
23c74a6dc3 Correct 2 typos in "Hide Nothing" (#1803) 2022-09-23 14:16:35 +00:00
b92347cba3 Add .en to Communication Network Type page (#1796) 2022-09-20 19:45:41 +00:00
e7f8f1c8c0 Add Frontends Page (#1792) 2022-09-20 19:29:41 +00:00
70c0905b2b Fix broken internal links (#1782)
Co-Authored-By: Jonah Aragon <jonah@triplebit.net>
Co-Authored-By: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
2022-09-20 10:30:00 +09:30
36528b2eb8 Fixed iOS capitalization (#1794) 2022-09-19 13:35:46 -05:00
f7258ebe8d Consistent bold text in cards (#1781) 2022-09-16 21:11:41 +00:00
2dd8e847f6 Email section cleaning (#1779) 2022-09-16 19:16:21 +00:00
1dbcac4d5b Remove About section from homepage (#1778)
Co-authored-by: Jonah Aragon <jonah@triplebit.net>
2022-09-16 18:21:13 +00:00
688abddc43 VPN - Correct the number of countries, add last checked date annotation (#1774) 2022-09-16 17:41:49 +00:00
bca9692c37 Add DoQ and DoH3 support to the Control D listing (#1775) 2022-09-16 12:33:53 -05:00
f2162cf28a Add Real-Time Communication Category to Knowledge Base (#1770)
Co-authored-by: Morten Lautrup <44033709+purtual@users.noreply.github.com>
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-16 23:17:51 +09:30
4c159a3261 Fix Diceware links (#1772)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-16 22:38:10 +09:30
b3a254463d Change hidden to onion, remove F-droid mention (#1771)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-16 22:35:10 +09:30
2b58befda4 Change GrapheneOS/CalyxOS comparison page name (#1768)
* use 'or' instead
2022-09-15 19:21:38 +01:00
0b8edd035c Bump crowdin/github-action from 1.4.12 to 1.4.13 (#1766)
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-15 11:33:48 -05:00
9f6cd454a8 Fix TOTP app link (#1767) 2022-09-15 10:24:42 -05:00
8309e56cb3 Add GitHub Releases to Orbot's Downloads (#1765) 2022-09-14 19:20:23 +00:00
c88dc960d2 Add mention of HIBP's Latest Breaches Feed To Passwords Knowledge Base Article (#1761) 2022-09-14 09:17:52 +00:00
2c5707a9ba Update Tails description (#1760)
Co-Authored-By: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
2022-09-13 18:20:00 -05:00
cc3bcd9d94 Increase GrapheneOS user profile count to 32 (#1758) 2022-09-13 22:40:29 +00:00
982dc64730 Clarify Qubes OS mention in Tor Page (#1759) 2022-09-13 22:29:55 +00:00
0660fbf119 GrapheneOS/CalyxOS Comparison Page Improvements (#1753)
Co-authored-by: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
Co-authored-by: Jonah Aragon <github@aragon.science>
2022-09-13 17:53:59 +00:00
9d14330cde Remove I2P and Freenet (#1756) 2022-09-13 12:48:10 -05:00
16cb2daf2a Improve Android introduction (#1757) 2022-09-13 18:42:14 +01:00
173a9b6d30 Disable HTML Minification (#1755) 2022-09-13 10:34:39 -05:00
429c643866 Add Strogbox to Tools and capitalization (#1754)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-09-13 16:01:40 +09:30
a974b8485c Add Strongbox to Password Managers (#1743) 2022-09-12 11:33:31 -05:00
667996df8d Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-13 01:55:03 +09:30
93663bca8e Readme.md aesthetics (#1748) 2022-09-13 01:53:25 +09:30
ja
66bb715834 Add PrivacyBlur iOS download (#1733) 2022-09-09 16:33:06 +00:00
ecbc75e955 Add Code of Conduct to website (#1738) 2022-09-09 11:16:15 -05:00
dd87672a73 Remove custom theme icons (#1731) 2022-09-09 10:36:54 -05:00
e07feb8aa9 Fix phrasing in MFA page (#1732)
Co-authored-by: Jonah Aragon <github@aragon.science>
2022-09-09 14:28:26 +00:00
72f74406b9 Blog replacement (#1704) 2022-09-08 16:46:12 -05:00
193a8d512a Add link to Email Metadata Overview (#1730)
Signed-off-by: Morten Lautrup <44033709+purtual@users.noreply.github.com>
Co-authored-by: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
2022-09-08 16:01:08 +00:00
137f16d0a9 Updates to Proton Mail Listing (#1728)
Co-authored-by: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
2022-09-07 15:40:41 +00:00
35af82b3f1 Re-order Password Managers (#1722) 2022-09-07 07:08:00 +00:00
8cc83258b7 Grammar fixes on the 1Password card (#1705) 2022-09-06 20:12:55 -05:00
7e1f0196f9 Use latest pipenv version for GitHub Actions
Fixes #1714
2022-09-06 10:23:20 -05:00
54e8229454 Introduction to Passwords Knowledge Base Article (#1708) 2022-09-06 15:14:25 +00:00
2e3cecf285 Update dependencies 2022-09-02 10:18:42 -05:00
13c05dc07f Change 'utilize' to 'use' (#1710)
Co-Authored-By: Jonah Aragon <jonah@triplebit.net>
2022-09-01 22:11:33 -05:00
0ba070dc8e Parallel mirroring 2022-09-01 22:11:03 -05:00
5f970c58ac Use pipenv version 2022.8.24 for GitHub Actions 2022-09-01 21:32:26 -05:00
b5205aee77 Password manager corrections (#1703) 2022-08-30 14:06:36 -05:00
f85803d5c1 Add 1Password (#1666)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-29 19:52:51 +09:30
b3c976b694 Mirror to sourcehut 2022-08-28 22:32:48 -05:00
41f785b0fd Small fixes to Data Redaction page (#1702) 2022-08-28 22:25:33 -05:00
3803bdd72d Fix link about profiles (#1690)
Co-authored-by: Jonah Aragon <github@aragon.science>
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-28 23:43:45 +09:30
b373e23429 Move Bitwarden Send to Bitwarden card (#1700)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-28 23:27:49 +09:30
ba7b53aceb Enable automatic GitHub Release generation 2022-08-24 20:30:40 -05:00
f255d49760 Create release workflow (#1693) 2022-08-24 20:24:49 -05:00
88bb0721eb Enable social cards (#1691) 2022-08-24 20:18:26 -05:00
7a594bbf27 Correct color scheme with JS disabled
Fixes #1684
2022-08-24 13:02:51 -05:00
eddfd29cfe Replace Scrambled Exif with ExifEraser (#1687) 2022-08-23 13:51:18 -05:00
c72ae5fb3c Update commit signing guidelines 2022-08-23 13:50:29 -05:00
2098040200 Update Android app recommendations (#1682) 2022-08-23 13:29:56 -05:00
a7816299f3 Adjust Molly and Vaultwarden listings (#1669) 2022-08-23 13:25:22 -05:00
3db5cffecd Fix Bitlocker for Home edition guide (#1681) 2022-08-23 11:49:19 -05:00
65179b83e9 Add Raivo OTP website links (#1685) 2022-08-23 11:47:17 -05:00
3874ff4919 Some grammatical improvements and added links (#1674)
Co-authored-by: Jonah Aragon <github@aragon.science>
2022-08-22 23:22:29 -05:00
8b6f0397bb Bump actions/configure-pages from 1 to 2 (#1673) 2022-08-22 23:20:30 -05:00
313ca0b50f Remove NewPipe X SponsorBlock (#1667) 2022-08-22 23:19:33 -05:00
f288f840dd Bump actions/cache from 3.0.7 to 3.0.8 (#1683) 2022-08-22 23:17:37 -05:00
3af8be9b88 Replace pfSense with OPNsense (#1655)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-21 00:01:04 +09:30
c593ce9ed3 Update discussions link (#1663) 2022-08-20 14:28:20 +00:00
79f898a2dd Fix Neo Store IzzyOnDroid download link (#1662)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-20 23:52:53 +09:30
4ea7ae8f7b Update mkdocs-material-insiders (#1657) 2022-08-18 19:02:48 -05:00
9cfe06f714 Create CITATION.cff 2022-08-18 18:32:20 -05:00
a7505190d4 Pull Matrix server configuration (#1656) 2022-08-18 11:46:56 -05:00
605b0fd954 Remove AdGuard from Desktop Browsers (#1653) 2022-08-17 21:25:45 -05:00
e32404f85a Update Matrix .well-known configuration 2022-08-17 12:05:10 -05:00
61acc755c6 Remove repeated word and oxymoron (#1647)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-17 13:43:31 +09:30
3d8c8d969c Fix word order, typo (#1645)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-17 13:41:39 +09:30
68096ef2ab Add spacing between buttons on mobile (#1648)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-17 13:38:35 +09:30
df94276c31 Bump crowdin/github-action from 1.4.11 to 1.4.12
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.4.11 to 1.4.12.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/1.4.11...1.4.12)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-17 13:35:11 +09:30
8040c32810 Remove DNSCloak (#1637)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-14 23:54:44 +09:30
76f5417f04 Add Gitlab Syntax For RSS Feed (#1611)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-12 15:35:46 +09:30
208c738b83 Bump actions/cache from 3.0.6 to 3.0.7
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.6 to 3.0.7.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.6...v3.0.7)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-12 04:09:56 +00:00
432ee9898e Fix typo in Tomb section (#1633)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-12 01:35:43 +09:30
c120e07c25 [ImgBot] Optimize images
*Total -- 2,485.21kb -> 1,953.64kb (21.39%)

/docs/blog/2021/12/01/firefox-privacy-2021-update.png -- 1,631.84kb -> 1,103.88kb (32.35%)
/docs/assets/img/android/neo-store.png -- 12.37kb -> 9.39kb (24.08%)
/docs/assets/img/android/secure_camera-dark.svg -- 0.48kb -> 0.44kb (8.78%)
/docs/assets/img/metadata-removal/exiferaser.svg -- 1.28kb -> 1.23kb (4.11%)
/docs/assets/img/vpn/protonvpn.svg -- 1.96kb -> 1.91kb (2.39%)
/docs/assets/img/cloud/protondrive.svg -- 2.05kb -> 2.00kb (2.19%)
/docs/assets/img/calendar-contacts/proton-calendar.svg -- 2.67kb -> 2.62kb (1.68%)
/docs/assets/img/email-clients/kontact.svg -- 8.15kb -> 8.01kb (1.65%)
/docs/assets/img/email/protonmail.svg -- 1.40kb -> 1.39kb (1.32%)
/docs/assets/img/browsers/brave.svg -- 3.41kb -> 3.37kb (1.2%)
/docs/assets/img/search-engines/brave-search.svg -- 3.63kb -> 3.59kb (1.07%)
/docs/assets/img/browsers/snowflake-dark.svg -- 7.83kb -> 7.74kb (1.07%)
/docs/assets/img/browsers/snowflake.svg -- 7.78kb -> 7.71kb (0.8%)
/theme/.icons/pg/openbsd.svg -- 2.62kb -> 2.62kb (0.19%)
/docs/blog/2022/04/04/move-fast-and-break-things.jpg -- 358.09kb -> 358.09kb (0%)
/docs/blog/2021/11/01/virtual-insanity.jpg -- 439.65kb -> 439.64kb (0%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2022-08-11 19:44:47 +09:30
8563ee9ec9 Bump actions/cache from 3.0.5 to 3.0.6
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.5 to 3.0.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.5...v3.0.6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-11 19:42:08 +09:30
2f9c779b15 Split mkdocs configuration file (#1630)
Closes #1504
2022-08-10 23:42:52 -05:00
5fa9a3b505 Remove blog submodule 2022-08-10 19:50:03 -05:00
3b0cd75cbd Remove old server deployment workflow
Closes #1605
2022-08-10 19:37:40 -05:00
12fc2d8a9b Deploy to GitHub Pages 2022-08-10 19:09:34 -05:00
e9b951cb68 Remove ToS;DR (#1623)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-10 02:58:28 +09:30
95d653f26e Proton VPN 2FA and countries correction (#1618)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-10 01:42:39 +09:30
bd4818e993 Update SimpleLogin free aliases number (#1608)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-09 21:39:34 +09:30
16237ad930 Fix broken mobile browsers hyperlinks (#1617)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-09 21:23:41 +09:30
347d09a4c2 Bump actions/cache from 3.0.5 to 3.0.6
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.5 to 3.0.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.5...v3.0.6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-08 04:24:34 +00:00
0ab8b1f8f2 Add Tor Browser to mobile browsers (#1602) 2022-08-06 22:37:48 -05:00
4f091b65e2 Update mkdocs-material-insiders (#1603) 2022-08-06 21:57:14 -05:00
86ee500c6d Update security.txt
Resolves: #1447
2022-08-06 19:53:03 -05:00
005c6fe7cd Split browsers in the tools page (#1589)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-06 23:12:11 +09:30
bd5ef054ea Fix broken hyperlinks (#1597)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-06 23:06:00 +09:30
182d76b2ae Bump crowdin/github-action from 1.4.10 to 1.4.11
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.4.10 to 1.4.11.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/1.4.10...1.4.11)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-06 22:45:23 +09:30
67f1526d19 Fix Proton Drive platforms (#1598)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-08-06 22:44:03 +09:30
ef4db53567 Remove magic wormhole (#1588)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-31 16:22:02 +09:30
8535dadcad Add separate desktop and mobile browser pages (#1578)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-29 15:33:03 +09:30
e1f5a00d90 Add SimpleLogin linked with Proton (#1583)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-29 15:25:24 +09:30
3b12f672f0 Add link to gorhill's blocking modes (#1577)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-27 16:59:44 +09:30
462db2bdfa Fix typo of pricing for Anonaddy (#1574)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-26 02:08:16 +09:30
2abaf2f4dd Add link arch system maintenance (#1522)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-17 17:07:47 +09:30
a0ebda314e Update Chrome OS to ChromeOS (#1555)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-17 16:52:59 +09:30
5334e869ed Rephrase Tails recommendation (#1552)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-17 16:00:32 +09:30
011efec32b Changed multifactor to multi-factor (#1548)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-14 23:28:05 +09:30
1c527faa04 Rephrasing GrapheneOS vs CalyxOS page (#1546)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-14 23:23:35 +09:30
ca9a13c544 Bump actions/cache from 3.0.4 to 3.0.5
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.4 to 3.0.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.4...v3.0.5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-14 04:13:10 +00:00
0d0a0a822c Bump crowdin/github-action from 1.4.9 to 1.4.10
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.4.9 to 1.4.10.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](https://github.com/crowdin/github-action/compare/1.4.9...1.4.10)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-13 18:52:08 +09:30
ef286ae706 Fix couple typos VPN & Linux desktop hardening pages (#1540)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-13 18:48:21 +09:30
d421e81045 Fix typo in Feeder description (#1544)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-13 18:44:38 +09:30
2176a3a2de Remove CalyxOS (#1518)
Co-Authored-By: matchboxbananasynergy <107055883+matchboxbananasynergy@users.noreply.github.com>
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-11 03:48:08 +09:30
65874da53c Add Brave Android in Mobile browser recommendations (#1520)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-10 03:24:34 +09:30
b3ceb64052 Remove Bromite (#1519)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-10 02:28:19 +09:30
ab0b61db10 Revert "Rainbow Capitalism (#1382)" 2022-07-08 23:45:22 +09:30
31ff6160eb Small grammar fixes to beginning of Signal configuration article (#1517)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-08 13:39:19 +09:30
960a328ea7 Fix broken link shadowsocks (#1516)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-08 13:37:08 +09:30
3111447b96 Add Signal Configuration and Molly Knowledge Base article (#1494)
Signed-off-by: Daniel Gray <dng@disroot.org>
Signed-off-by: lexi <git@27lx.me>
2022-07-07 23:07:24 +09:30
b506f74950 Update Linux pages (#1502)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-06 21:32:56 +09:30
e0933d6521 Remove link redirect for Seirdy article (#1511)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-05 18:33:56 +09:30
2d6b59e94b Add language resistance Brave (#1508)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-07-04 17:40:57 +09:30
7a73aae321 Change "attention" to "warning" (#1500)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-28 23:29:06 +09:30
da1a7709fa Wording and remove parentheses in Android Overview (#1499)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-28 02:16:47 +09:30
3ab5a28edf Grammar, punctuation, fixes in Knowledge Base (#1473)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-27 04:00:16 +09:30
345487e3fc Grammar, punctuation fixes in Recommendations (#1480)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-27 00:58:44 +09:30
3511a5c094 Update location of Bromite always-incognito option (#1444) 2022-06-25 21:47:42 +09:30
f0d9faa705 Add June 2022 audit Mullvad (#1495)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-25 16:30:04 +09:30
f85f7dcf8f Add Proton VPN no-logs audit (#1496)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-25 15:51:27 +09:30
d4dd950d16 Add 2022 IVPN audit (#1497)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-25 15:47:24 +09:30
523abd3639 Remove git-annex (#1486)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-24 12:56:17 +09:30
b160702ccb Fix punctuations in Donate page (#1482)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-24 02:10:58 +09:30
80ee4dd2d4 Fix grammar, punctuation and wording on Home page (#1481)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-24 02:04:14 +09:30
7f23720f1b Tools Page reorder and fix (#1478)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-24 01:59:21 +09:30
011d9d9993 Remove Tahoe-LAFS (#1483)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-24 00:41:59 +09:30
f538a2c7c8 Hide Nothing 2022-06-24 00:38:30 +09:30
86da4c1e02 Remove Imagepipe and Scrambled Exif/Add ExifEraser (#1471)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-24 00:20:02 +09:30
36f029f5be Remove motto Magic Wormhole (#1472)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-22 21:04:18 +09:30
c1c1fcf494 Add Bitwarden Send (#1463)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-22 12:58:42 +09:30
d727cbf79d Move Cryptpad to office suite (#1469) 2022-06-22 12:58:42 +09:30
d242ca3749 Fix Hyperlink for Vaultwarden (#1468)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-22 12:58:42 +09:30
b6e8b01023 Remove blank "Email Provider Security" heading (#1461) 2022-06-22 12:58:42 +09:30
f58740ad7f Fix minor typo in Simple Login description (#1451)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-22 12:58:42 +09:30
97561641dd Fix minor typo Linux page (#1452)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-22 12:58:42 +09:30
3bd62a0231 Add early 2022 SimpleLogin audit (#1450)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-22 12:58:42 +09:30
7ecbb0290d K-9 and Thunderbird (#1449)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-22 12:58:42 +09:30
7b2f12e364 Update TOC for Blog - Hide Nothing 2022-06-22 12:58:42 +09:30
90a06daa4f Add Control D to DNS providers (#1443)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-15 21:58:04 +09:30
045e702227 Proton Calendar on Tools page, correction (#1442)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-15 21:34:14 +09:30
22e9a5e990 Minor grammar issue calendar page (#1439)
Co-Authored-By: mfwmyfacewhen <94880365+mfwmyfacewhen@users.noreply.github.com>
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-14 16:25:26 +09:30
50311abc2e Fix spelling mistake Tor article (#1438)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-13 18:34:39 +09:30
84bf23d740 Fix grammar issue in Startpage description (#1436)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-13 18:17:25 +09:30
750830247a Reorder DivestOS and CalyxOS (#1434) 2022-06-09 19:31:59 -04:00
5669d1f258 Update Email Providers page ordering (#1422) 2022-06-10 01:34:28 +09:30
b7a1067528 Update Real Time Communication page ordering (#1421) 2022-06-09 20:03:11 +09:30
95a21ab2f2 Update VPN Providers page ordering (#1425) 2022-06-09 16:12:50 +09:30
9392744593 Minor fix to AdGuard for iOS (#1432)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-09 15:15:29 +09:30
74e69302d4 Update OnePlus supported devices for DivestOS (#1427)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-09 14:23:54 +09:30
757729d145 Bump actions/setup-python from 3 to 4
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-09 14:11:57 +09:30
730a422532 Refine Tor Overview article (#1417)
Co-authored-by: lexi <git@27lx.me>
2022-06-09 14:02:16 +09:30
d48215273f Fix tools page order (#1420) 2022-06-09 14:01:25 +09:30
bade01ca68 Productivity page legacy changes (#1423) 2022-06-09 14:01:25 +09:30
2658214018 Update Search Engine page (#1405)
Signed-off-by: Daniel Gray <dng@disroot.org>
Signed-off-by: lexi <git@27lx.me>
2022-06-09 14:00:06 +09:30
ec03ced668 Update Calendar and Contact Sync page (#1408)
Signed-off-by: Daniel Gray <dng@disroot.org>
Signed-off-by: lexi <git@27lx.me>
2022-06-08 15:01:55 +09:30
f8a3df77bd Bump actions/cache from 3.0.3 to 3.0.4
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.3 to 3.0.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.3...v3.0.4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-08 04:10:26 +00:00
e453cb4211 Fix 2FA ordering (#1406) 2022-06-07 23:30:53 -04:00
0b91130e75 Remove Write.as (#1404) 2022-06-08 12:59:03 +09:30
51ecce67e9 Mention Tor "security settings" (#1414) 2022-06-08 12:57:52 +09:30
57e1717521 Remove vscodium (#1403) 2022-06-07 07:13:01 +00:00
5c1d6ced8f Fix typos in various pages (#1401)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-07 16:40:21 +09:30
786756a3dc Use bigger icons for certain services (#1391)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-06 23:06:15 +09:30
05353aca85 Fix inconsistencies on email pages (#1393) 2022-06-06 22:21:42 +09:30
81c2abd931 Move snowflake embed into a collapsable admonition (#1392) 2022-06-06 22:21:34 +09:30
2095aa5a52 Correct Proton Mail payment options (#1386)
Mention the availability of cash by mail
2022-06-05 23:23:52 +00:00
ecce11a009 Fix development depencencies in README (#1389)
Add mkdocs-rss-plugin dependency
2022-06-05 16:44:04 -05:00
ba3b4b5c3a Fix punctuation in VPN criteria (#1390) 2022-06-05 21:12:30 +00:00
bb81287173 Fix nested list in VPN criteria (#1388) 2022-06-05 16:00:18 -05:00
e89f324c6a Fix broken links (#1387) 2022-06-06 03:13:40 +09:30
7dbe38e80c Add 2 video links for Tor Overview in further reading (#1383)
Co-authored-by: Jonah Aragon <github@aragon.science>
2022-06-06 02:34:29 +09:30
4d2a21cf0f Rainbow Capitalism (#1382) 2022-06-02 13:52:42 -05:00
42dd2c57a4 List recommendations in alphabetical order (#1377) 2022-06-02 12:25:18 -05:00
7f7a7c2dd7 VPN/Email clean-up (#1311)
Co-authored-by: Jonah Aragon <jonah@triplebit.net>
2022-06-02 12:04:57 -05:00
1a900cda46 Threat Modeling Example (#1310)
Co-authored-by: lexi <git@lx-is.lol>
Co-authored-by: Jonah Aragon <jonah@triplebit.net>
2022-06-01 18:03:39 -05:00
10231ee0aa Reorganize guides (#1375) 2022-06-01 18:01:11 -05:00
9b5446c7be Use grid layout for download links (#1372)
Co-authored-by: Jonah Aragon <jonah@triplebit.net>
2022-06-01 17:50:39 -05:00
3390d27ba9 Tor Overview (#1219)
Co-authored-by: blacklight447 <blacklight447@privacytools.io>
Co-authored-by: lexi <lexi@omg.lol>
Co-authored-by: Jonah Aragon <jonah@triplebit.net>
2022-06-01 17:48:42 -05:00
7367add2a6 Bump actions/cache from 3.0.2 to 3.0.3
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-01 06:53:43 +00:00
108aae831c Giscus (#1368) 2022-05-31 15:30:30 -05:00
246fb81eb2 Preload header font (#1367) 2022-05-31 13:42:26 -05:00
12ae9ae8ce Update microG on Calyx information (#1306)
Co-authored-by: Tommy <contact@tommytran.io>
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-01 01:52:55 +09:30
c2059a392b Create blog (#1365)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-06-01 01:46:00 +09:30
ef9e236b2b CSS Cache Busting 2022-05-30 23:13:46 -05:00
c4f1e269c8 Website Redesign (#1360)
Co-authored-by: Jonah Aragon <jonah@triplebit.net>
2022-05-30 23:03:09 -05:00
fcd366af2a Add AdGuard Home (#1315) 2022-05-30 21:19:54 -05:00
7f1ce148bf Chromium CSS Fixes 2022-05-29 14:58:40 -05:00
a52770e1c0 Minify HTML & CSS (#1351)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-05-30 03:22:50 +09:30
f6a25a7dd4 Two broken links in VPN/VPN Overview page (#1358) 2022-05-30 02:33:37 +09:30
Tad
4a25c635ee DivestOS updates (#1359)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-05-30 02:21:15 +09:30
a29c443a48 Improve Colors and Styles (#1355)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-05-29 14:25:48 +09:30
6f27a0e849 Fix typos on VPN services page (#1354) 2022-05-28 17:46:57 -05:00
4f20378555 Fix links in linux hardening guide (#1353) 2022-05-28 17:46:17 -05:00
072e087487 Data Erasure Grammar Fixes (#1350)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-05-29 04:26:52 +09:30
547ed4c728 Add brand submodule (#1347) 2022-05-28 13:52:46 -05:00
bbca7bcbab Fix Briar Flatpak download (#1346)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-05-29 04:21:31 +09:30
0b70d8689d Separate articles and recommendations (#1173)
Co-authored-by: Daniel Gray <dng@disroot.org>
2022-05-03 14:15:20 -05:00
4a448189c6 Revert "Remove FairEmail (#1270)"
This reverts commit abd2fa0ff0.
2022-05-28 19:31:53 +09:30
58343b1dd9 Update recommendation card design (#1316)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-05-28 19:12:54 +09:30
8b1d9cd9b6 Correct Proton Mail zero-access encryption info (#1339) 2022-05-27 00:29:05 -05:00
c38c185efe Various corrections to Linux Pages (#1331)
Signed-off-by: Daniel Gray <dng@disroot.org>
2022-05-27 12:48:24 +09:30
b5f4773923 Add Flatpak link for Briar (#1333) 2022-05-26 19:50:56 +09:30
5ff8b083d4 Correct Proton VPN pricing (#1332)
Co-authored-by: lexi <git@lx-is.lol>
2022-05-25 20:59:26 -05:00
2635aabed7 Minor fixes to various pages (#1327) 2022-05-26 01:32:58 +09:30
250 changed files with 5797 additions and 4026 deletions

19
.github/CODEOWNERS vendored
View File

@ -1,13 +1,18 @@
# Additional Co-Owners are added to the TOP of this file.
# Additional Co-Owners are added to the TOP of this file
# High-traffic pages
/docs/index.md @JonahAragon @dngray
/theme/overrides/ @JonahAragon
/docs/index.en.md @jonaharagon @dngray
/theme/overrides/ @jonaharagon
# Org
/docs/about/ @JonahAragon
LICENSE @JonahAragon
/docs/about/ @jonaharagon
CODE_OF_CONDUCT.md @jonaharagon
CITATION.cff
LICENSE @jonaharagon
README.md @jonaharagon @dngray
# Ops
/.github/ @JonahAragon
/.well-known/ @JonahAragon
/Pipfile @jonaharagon
/Pipfile.lock @jonaharagon
/.github/ @jonaharagon
/.well-known/ @jonaharagon

View File

@ -10,12 +10,6 @@ This is NOT the place to request changes to the content of the website.
This is NOT the place to report issues with our services like Matrix.
This is ONLY for reporting bugs or technical issues with www.privacyguides.org, the website.
-->
## Description
<!--
## Screenshots
Please add screenshots if applicable
Please add screenshots if applicable.
-->

View File

@ -1,12 +1,12 @@
contact_links:
- name: Suggest a New Provider or Software
url: https://github.com/privacyguides/privacyguides.org/discussions/new
url: https://discuss.privacyguides.org/c/suggestions
about: Suggest something new for us to look at, or something we should remove.
- name: Ask a Question
url: https://github.com/privacyguides/privacyguides.org/discussions/new
url: https://discuss.privacyguides.org/c/questions
about: Let us know if something doesn't make sense!
- name: Share an Idea
url: https://github.com/privacyguides/privacyguides.org/discussions/new
url: https://discuss.privacyguides.org/c/site-development
about: Suggest a new feature/section/page or anything else for the website.
- name: Report a Translation Issue
url: https://crowdin.com/project/privacyguides/discussions

View File

@ -1,14 +1,15 @@
<!-- Please use a descriptive title for your PR, it will be included in our changelog -->
Resolves: # <!-- Did you solve an open GitHub issue? Put the number here so we mark it complete! -->
<!--
<!-- SCROLL TO BOTTOM TO AGREE!:
Please use a descriptive title for your PR, it will be included in our changelog!
Please share with us what you've changed.
If you are adding a software recommendation, give us a link to its website or
source code.
If you are making changes that you have a conflict of interest with, please
disclose this as well:
disclose this as well (this does not disqualify your PR by any means):
Conflict of interest contributions involve contributing about yourself,
family, friends, clients, employers, or your financial and other relationships.
Any external relationship can trigger a conflict of interest.
@ -16,7 +17,15 @@ Any external relationship can trigger a conflict of interest.
That someone has a conflict of interest is a description of a situation,
NOT a judgement about that person's opinions, integrity, or good faith.
If you have a conflict of interest, you must disclose who is paying you for
If you have a conflict of interest, you MUST disclose who is paying you for
this contribution, who the client is (if for example, you are being paid by
an advertising agency), and any other relevant affiliations.
-->
<!-- Place an x in the boxes below, like: [x] -->
- [ ] Please check this box to confirm you have disclosed any relevant conflicts of interest in your post.
- [ ] Please check this box to confirm your agreement to publish your work under the [Creative Commons Attribution-NoDerivatives 4.0 International](https://github.com/privacyguides/privacyguides.org/blob/main/LICENSE) license, and to grant Privacy Guides a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute your contribution as part of our project.
<!-- What's this? When you submit a PR, you keep the Copyright for the work you
are contributing. We need you to agree to the above terms in order for us to
publish this contribution to our website. -->

View File

@ -14,7 +14,7 @@ jobs:
uses: actions/checkout@v3
- name: crowdin action
uses: crowdin/github-action@1.4.9
uses: crowdin/github-action@1.4.14
with:
upload_sources: true
upload_sources_args: '--auto-update --delete-obsolete'

View File

@ -1,73 +0,0 @@
name: 📦 Deploy Website
on:
workflow_dispatch:
release:
types: [published]
env:
PYTHON_VERSION: 3.x
jobs:
build:
name: Build website
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: '0'
ref: ${{github.event.pull_request.head.ref}}
repository: ${{github.event.pull_request.head.repo.full_name}}
ssh-key: ${{ secrets.ACTIONS_SSH_KEY }}
submodules: 'true'
- name: Set up Python runtime
uses: actions/setup-python@v3
with:
python-version: '3.7'
- name: Cache files
uses: actions/cache@v3.0.2
with:
key: ${{ github.ref }}
path: .cache
- name: Install Python dependencies
run: |
pip install pipenv
pipenv install
- name: Build website
run: |
pipenv run mkdocs build
mv .well-known site/
tar cvf site.tar site
pipenv run mkdocs --version
- name: Package website
uses: actions/upload-artifact@v3
with:
name: generated-site
path: site.tar
deploy:
name: Rsync Deploy
runs-on: ubuntu-latest
environment: production
needs: build
steps:
- name: Download generated Jekyll site
uses: actions/download-artifact@v3
with:
name: generated-site
- run: tar xvf site.tar
- name: Copy built site to production
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_KEY }}" > ~/.ssh/id_rsa
chmod 700 ~/.ssh/id_rsa
ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts
rsync -azP --delete site/ ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }}:${{ secrets.SSH_PATH }}

View File

@ -7,7 +7,7 @@ concurrency:
group: git-mirror
jobs:
git-mirror:
gitlab:
runs-on: ubuntu-latest
steps:
- name: Mirror to GitLab
@ -18,10 +18,9 @@ jobs:
source-repo: "git@github.com:privacyguides/privacyguides.org.git"
destination-repo: "git@gitlab.com:privacyguides/privacyguides.org.git"
- name: Cleanup
run: |
sudo rm -rf privacyguides.org.git
codeberg:
runs-on: ubuntu-latest
steps:
- name: Mirror to Codeberg
uses: wearerequired/git-mirror-action@v1
env:
@ -29,3 +28,14 @@ jobs:
with:
source-repo: "git@github.com:privacyguides/privacyguides.org.git"
destination-repo: "git@codeberg.org:privacyguides/privacyguides.org.git"
sourcehut:
runs-on: ubuntu-latest
steps:
- name: Mirror to SourceHut
uses: wearerequired/git-mirror-action@v1
env:
SSH_PRIVATE_KEY: ${{ secrets.ACTIONS_SSH_KEY }}
with:
source-repo: "git@github.com:privacyguides/privacyguides.org.git"
destination-repo: "git@git.sr.ht:~jonaharagon/privacyguides.org"

87
.github/workflows/pages.yml vendored Normal file
View File

@ -0,0 +1,87 @@
name: 🛠️ Deploy to GitHub Pages
on:
workflow_dispatch:
release:
types: [published]
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
env:
PYTHON_VERSION: 3.x
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: '0'
ref: ${{github.event.pull_request.head.ref}}
repository: ${{github.event.pull_request.head.repo.full_name}}
ssh-key: ${{ secrets.ACTIONS_SSH_KEY }}
submodules: 'true'
- name: Pages setup
uses: actions/configure-pages@v2
- name: Python setup
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Cache files
uses: actions/cache@v3.0.8
with:
key: ${{ github.ref }}
path: .cache
- name: Install Python dependencies
run: |
pip install pipenv
pipenv install
- name: Build website
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CARDS: true
run: |
pipenv run mkdocs build --config-file mkdocs.production.yml
mv .well-known site/
pipenv run mkdocs --version
- name: Matrix homeserver configuration
run: |
mkdir -p site/.well-known/matrix
curl -o site/.well-known/matrix/server https://matrix.privacyguides.org/.well-known/matrix/server
curl -o site/.well-known/matrix/client https://matrix.privacyguides.org/.well-known/matrix/client
- name: Package website
uses: actions/upload-pages-artifact@v1
with:
path: site
deploy:
name: Deploy
needs: build
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@main

View File

@ -3,7 +3,7 @@ name: 🔂 Surge PR Preview
on:
pull_request_target:
types: [opened, synchronize, reopened]
# Ensures that only one mirror task will run at a time.
concurrency:
group: surge-sh
@ -27,12 +27,15 @@ jobs:
submodules: 'true'
- name: Set up Python runtime
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: '3.7'
python-version: '3.10'
- name: Deploy to surge.sh
uses: afc163/surge-preview@v1
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CARDS: true
with:
surge_token: ${{ secrets.SURGE_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN }}
@ -41,4 +44,4 @@ jobs:
build: |
pip install pipenv
pipenv install
pipenv run mkdocs build
pipenv run mkdocs build --config-file mkdocs.production.yml

19
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,19 @@
name: 📦 Releases
on:
push:
tags:
- '*'
jobs:
release:
name: Create Release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
- uses: ncipollo/release-action@v1
with:
generateReleaseNotes: true
token: ${{ secrets.REPO_TOKEN }}

3
.gitmodules vendored
View File

@ -1,3 +1,6 @@
[submodule "mkdocs-material-insiders"]
path = mkdocs-material
url = git@github.com:privacyguides/mkdocs-material-insiders.git
[submodule "docs/assets/brand"]
path = docs/assets/brand
url = https://github.com/privacyguides/brand.git

View File

@ -1,5 +0,0 @@
{
"m.homeserver": {
"base_url": "https://dendrite-client.privacyguides.org"
}
}

View File

@ -1,3 +0,0 @@
{
"m.server": "dendrite-federation.privacyguides.org:443"
}

View File

@ -1,5 +1,5 @@
Contact: jonah@triplebit.net
Encryption: https://www.jonaharagon.com/keys/
Contact: mailto:jonah@triplebit.net
Expires: 2024-01-01T18:00:00.000Z
Preferred-Languages: en
Canonical: https://privacyguides.org/.well-known/security.txt
Canonical: https://www.privacyguides.org/.well-known/security.txt
Policy: https://github.com/privacyguides/privacyguides.org/security/policy

47
CITATION.cff Normal file
View File

@ -0,0 +1,47 @@
cff-version: 1.2.0
title: Privacy Guides
message: 'If you reference this website, please cite it in your work.'
type: software
authors:
- email: jonah@privacyguides.org
given-names: Jonah
family-names: Aragon
orcid: 'https://orcid.org/0000-0001-6996-4965'
- name: The Privacy Guides team
website: 'https://github.com/orgs/privacyguides/people'
repository-code: 'https://github.com/privacyguides/privacyguides.org'
references:
- authors:
- family-names: Donath
given-names: Martin
title: 'mkdocs-material'
type: software
repository-code: 'https://github.com/squidfunk/mkdocs-material'
preferred-citation:
type: website
title: Privacy Guides
authors:
- email: jonah@privacyguides.org
given-names: Jonah
family-names: Aragon
orcid: 'https://orcid.org/0000-0001-6996-4965'
- given-names: Daniel
family-names: Gray
email: dngray@privacyguides.org
- name: The Privacy Guides team
website: 'https://github.com/orgs/privacyguides/people'
- name: Various project contributors
url: 'https://www.privacyguides.org'
abstract: >-
Privacy Guides is a socially motivated website that
provides information for protecting your data
security and privacy. We are a non-profit
collective operated entirely by volunteer team
members and contributors.
keywords:
- privacy
- surveillance
- encryption
- website
- markdown
license: "CC-BY-ND-4.0"

468
LICENSE
View File

@ -1,116 +1,392 @@
CC0 1.0 Universal
Attribution-NoDerivatives 4.0 International
Statement of Purpose
=======================================================================
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator and
subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Certain owners wish to permanently relinquish those rights to a Work for the
purpose of contributing to a commons of creative, cultural and scientific
works ("Commons") that the public can reliably and without fear of later
claims of infringement build upon, modify, incorporate in other works, reuse
and redistribute as freely as possible in any form whatsoever and for any
purposes, including without limitation commercial purposes. These owners may
contribute to the Commons to promote the ideal of a free culture and the
further production of creative, cultural and scientific works, or to gain
reputation or greater distribution for their Work in part through the use and
efforts of others.
Using Creative Commons Public Licenses
For these and/or other purposes and motivations, and without any expectation
of additional consideration or compensation, the person associating CC0 with a
Work (the "Affirmer"), to the extent that he or she is an owner of Copyright
and Related Rights in the Work, voluntarily elects to apply CC0 to the Work
and publicly distribute the Work under its terms, with knowledge of his or her
Copyright and Related Rights in the Work and the meaning and intended legal
effect of CC0 on those rights.
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not limited
to, the following:
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
i. the right to reproduce, adapt, distribute, perform, display, communicate,
and translate a Work;
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or likeness
depicted in a Work;
=======================================================================
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
Creative Commons Attribution-NoDerivatives 4.0 International Public
License
v. rights protecting the extraction, dissemination, use and reuse of data in
a Work;
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-NoDerivatives 4.0 International Public License ("Public
License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You
such rights in consideration of benefits the Licensor receives from
making the Licensed Material available under these terms and
conditions.
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation thereof,
including any amended or successor version of such directive); and
vii. other similar, equivalent or corresponding rights throughout the world
based on applicable law or treaty, and any national implementations thereof.
Section 1 -- Definitions.
2. Waiver. To the greatest extent permitted by, but not in contravention of,
applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
unconditionally waives, abandons, and surrenders all of Affirmer's Copyright
and Related Rights and associated claims and causes of action, whether now
known or unknown (including existing as well as future claims and causes of
action), in the Work (i) in all territories worldwide, (ii) for the maximum
duration provided by applicable law or treaty (including future time
extensions), (iii) in any current or future medium and for any number of
copies, and (iv) for any purpose whatsoever, including without limitation
commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes
the Waiver for the benefit of each member of the public at large and to the
detriment of Affirmer's heirs and successors, fully intending that such Waiver
shall not be subject to revocation, rescission, cancellation, termination, or
any other legal or equitable action to disrupt the quiet enjoyment of the Work
by the public as contemplated by Affirmer's express Statement of Purpose.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
3. Public License Fallback. Should any part of the Waiver for any reason be
judged legally invalid or ineffective under applicable law, then the Waiver
shall be preserved to the maximum extent permitted taking into account
Affirmer's express Statement of Purpose. In addition, to the extent the Waiver
is so judged Affirmer hereby grants to each affected person a royalty-free,
non transferable, non sublicensable, non exclusive, irrevocable and
unconditional license to exercise Affirmer's Copyright and Related Rights in
the Work (i) in all territories worldwide, (ii) for the maximum duration
provided by applicable law or treaty (including future time extensions), (iii)
in any current or future medium and for any number of copies, and (iv) for any
purpose whatsoever, including without limitation commercial, advertising or
promotional purposes (the "License"). The License shall be deemed effective as
of the date CC0 was applied by Affirmer to the Work. Should any part of the
License for any reason be judged legally invalid or ineffective under
applicable law, such partial invalidity or ineffectiveness shall not
invalidate the remainder of the License, and in such case Affirmer hereby
affirms that he or she will not (i) exercise any of his or her remaining
Copyright and Related Rights in the Work or (ii) assert any associated claims
and causes of action with respect to the Work, in either case contrary to
Affirmer's express Statement of Purpose.
b. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
4. Limitations and Disclaimers.
c. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
d. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
b. Affirmer offers the Work as-is and makes no representations or warranties
of any kind concerning the Work, express, implied, statutory or otherwise,
including without limitation warranties of title, merchantability, fitness
for a particular purpose, non infringement, or the absence of latent or
other defects, accuracy, or the present or absence of errors, whether or not
discoverable, all to the greatest extent permissible under applicable law.
e. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without limitation
any person's Copyright and Related Rights in the Work. Further, Affirmer
disclaims responsibility for obtaining any necessary consents, permissions
or other rights required for any use of the Work.
f. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to this
CC0 or use of the Work.
g. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
For more information, please see
<http://creativecommons.org/publicdomain/zero/1.0/>
h. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
i. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
j. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce and reproduce, but not Share, Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material, You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
For the avoidance of doubt, You do not have permission under
this Public License to Share Adapted Material.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database, provided You do not Share
Adapted Material;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.

View File

@ -9,9 +9,12 @@ mkdocs-material = {path = "./mkdocs-material"}
mkdocs-static-i18n = "*"
mkdocs-git-revision-date-localized-plugin = "*"
typing-extensions = "*"
mkdocs-rss-plugin = "*"
mkdocs-git-committers-plugin-2 = "*"
mkdocs-macros-plugin = "*"
[dev-packages]
scour = "*"
[requires]
python_version = "3.7"
python_version = "3.10"

719
Pipfile.lock generated
View File

@ -1,11 +1,11 @@
{
"_meta": {
"hash": {
"sha256": "2d68765ce86bf264f0a29d6b9f31202a71615d6aad4653cffc874bd095267d29"
"sha256": "cc061d23a1d1965a032daba80bbc3747582c5ce54374e393e09d1d3b4a3d79bf"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.7"
"python_version": "3.10"
},
"sources": [
{
@ -18,11 +18,19 @@
"default": {
"babel": {
"hashes": [
"sha256:3f349e85ad3154559ac4930c3918247d319f21910d5ce4b25d439ed8693b98d2",
"sha256:98aeaca086133efb3e1e2aad0396987490c8425929ddbcfe0550184fdc54cd13"
"sha256:7614553711ee97490f732126dc077f8d0ae084ebc6a96e23db1482afabdb2c51",
"sha256:ff56f4892c1c4bf0d814575ea23471c230d544203c7748e8c68f0089478d48eb"
],
"markers": "python_version >= '3.6'",
"version": "==2.10.1"
"version": "==2.10.3"
},
"beautifulsoup4": {
"hashes": [
"sha256:58d5c3d29f5a36ffeb94f02f0d786cd53014cf9b3b3951d42e0080d8a9498d30",
"sha256:ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693"
],
"markers": "python_version >= '3.6'",
"version": "==4.11.1"
},
"cairocffi": {
"hashes": [
@ -41,74 +49,88 @@
},
"certifi": {
"hashes": [
"sha256:6ae10321df3e464305a46e997da41ea56c1d311fb9ff1dd4e04d6f14653ec63a",
"sha256:8d15a5a7fde18536a249c49e07e8e462b8fc13de21b3c80e8a68315dfa227c99"
"sha256:43dadad18a7f168740e66944e4fa82c6611848ff9056ad910f8f7a3e46ab89e0",
"sha256:cffdcd380919da6137f76633531a5817e3a9f268575c128249fb637e4f9e73fb"
],
"markers": "python_version >= '3.5'",
"version": "==2022.5.18"
"markers": "python_version >= '3.6'",
"version": "==2022.6.15.1"
},
"cffi": {
"hashes": [
"sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3",
"sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2",
"sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636",
"sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20",
"sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728",
"sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27",
"sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66",
"sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443",
"sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0",
"sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7",
"sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39",
"sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605",
"sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a",
"sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37",
"sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029",
"sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139",
"sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc",
"sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df",
"sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14",
"sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880",
"sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2",
"sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a",
"sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e",
"sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474",
"sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024",
"sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8",
"sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0",
"sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e",
"sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a",
"sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e",
"sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032",
"sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6",
"sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e",
"sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b",
"sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e",
"sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954",
"sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962",
"sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c",
"sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4",
"sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55",
"sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962",
"sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023",
"sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c",
"sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6",
"sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8",
"sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382",
"sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7",
"sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc",
"sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997",
"sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"
"sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5",
"sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef",
"sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104",
"sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426",
"sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405",
"sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375",
"sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a",
"sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e",
"sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc",
"sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf",
"sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185",
"sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497",
"sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3",
"sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35",
"sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c",
"sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83",
"sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21",
"sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca",
"sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984",
"sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac",
"sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd",
"sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee",
"sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a",
"sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2",
"sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192",
"sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7",
"sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585",
"sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f",
"sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e",
"sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27",
"sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b",
"sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e",
"sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e",
"sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d",
"sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c",
"sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415",
"sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82",
"sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02",
"sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314",
"sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325",
"sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c",
"sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3",
"sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914",
"sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045",
"sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d",
"sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9",
"sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5",
"sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2",
"sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c",
"sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3",
"sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2",
"sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8",
"sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d",
"sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d",
"sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9",
"sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162",
"sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76",
"sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4",
"sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e",
"sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9",
"sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6",
"sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b",
"sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01",
"sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"
],
"version": "==1.15.0"
"version": "==1.15.1"
},
"charset-normalizer": {
"hashes": [
"sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597",
"sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"
"sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845",
"sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"
],
"markers": "python_version >= '3'",
"version": "==2.0.12"
"markers": "python_version >= '3.6'",
"version": "==2.1.1"
},
"click": {
"hashes": [
@ -162,91 +184,100 @@
"sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff",
"sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"
],
"markers": "python_version >= '3'",
"markers": "python_version >= '3.5'",
"version": "==3.3"
},
"importlib-metadata": {
"hashes": [
"sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6",
"sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539"
"sha256:637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670",
"sha256:7401a975809ea1fdc658c3aa4f78cc2195a0e019c5cbc4c06122884e9ae80c23"
],
"markers": "python_version >= '3.7'",
"version": "==4.11.3"
"version": "==4.12.0"
},
"jinja2": {
"hashes": [
"sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8",
"sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7"
"sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852",
"sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"
],
"markers": "python_version >= '3.6'",
"version": "==3.0.3"
"markers": "python_version >= '3.7'",
"version": "==3.1.2"
},
"lxml": {
"hashes": [
"sha256:078306d19a33920004addeb5f4630781aaeabb6a8d01398045fcde085091a169",
"sha256:0c1978ff1fd81ed9dcbba4f91cf09faf1f8082c9d72eb122e92294716c605428",
"sha256:1010042bfcac2b2dc6098260a2ed022968dbdfaf285fc65a3acf8e4eb1ffd1bc",
"sha256:1d650812b52d98679ed6c6b3b55cbb8fe5a5460a0aef29aeb08dc0b44577df85",
"sha256:20b8a746a026017acf07da39fdb10aa80ad9877046c9182442bf80c84a1c4696",
"sha256:2403a6d6fb61c285969b71f4a3527873fe93fd0abe0832d858a17fe68c8fa507",
"sha256:24f5c5ae618395ed871b3d8ebfcbb36e3f1091fd847bf54c4de623f9107942f3",
"sha256:28d1af847786f68bec57961f31221125c29d6f52d9187c01cd34dc14e2b29430",
"sha256:31499847fc5f73ee17dbe1b8e24c6dafc4e8d5b48803d17d22988976b0171f03",
"sha256:31ba2cbc64516dcdd6c24418daa7abff989ddf3ba6d3ea6f6ce6f2ed6e754ec9",
"sha256:330bff92c26d4aee79c5bc4d9967858bdbe73fdbdbacb5daf623a03a914fe05b",
"sha256:5045ee1ccd45a89c4daec1160217d363fcd23811e26734688007c26f28c9e9e7",
"sha256:52cbf2ff155b19dc4d4100f7442f6a697938bf4493f8d3b0c51d45568d5666b5",
"sha256:530f278849031b0eb12f46cca0e5db01cfe5177ab13bd6878c6e739319bae654",
"sha256:545bd39c9481f2e3f2727c78c169425efbfb3fbba6e7db4f46a80ebb249819ca",
"sha256:5804e04feb4e61babf3911c2a974a5b86f66ee227cc5006230b00ac6d285b3a9",
"sha256:5a58d0b12f5053e270510bf12f753a76aaf3d74c453c00942ed7d2c804ca845c",
"sha256:5f148b0c6133fb928503cfcdfdba395010f997aa44bcf6474fcdd0c5398d9b63",
"sha256:5f7d7d9afc7b293147e2d506a4596641d60181a35279ef3aa5778d0d9d9123fe",
"sha256:60d2f60bd5a2a979df28ab309352cdcf8181bda0cca4529769a945f09aba06f9",
"sha256:6259b511b0f2527e6d55ad87acc1c07b3cbffc3d5e050d7e7bcfa151b8202df9",
"sha256:6268e27873a3d191849204d00d03f65c0e343b3bcb518a6eaae05677c95621d1",
"sha256:627e79894770783c129cc5e89b947e52aa26e8e0557c7e205368a809da4b7939",
"sha256:62f93eac69ec0f4be98d1b96f4d6b964855b8255c345c17ff12c20b93f247b68",
"sha256:6d6483b1229470e1d8835e52e0ff3c6973b9b97b24cd1c116dca90b57a2cc613",
"sha256:6f7b82934c08e28a2d537d870293236b1000d94d0b4583825ab9649aef7ddf63",
"sha256:6fe4ef4402df0250b75ba876c3795510d782def5c1e63890bde02d622570d39e",
"sha256:719544565c2937c21a6f76d520e6e52b726d132815adb3447ccffbe9f44203c4",
"sha256:730766072fd5dcb219dd2b95c4c49752a54f00157f322bc6d71f7d2a31fecd79",
"sha256:74eb65ec61e3c7c019d7169387d1b6ffcfea1b9ec5894d116a9a903636e4a0b1",
"sha256:7993232bd4044392c47779a3c7e8889fea6883be46281d45a81451acfd704d7e",
"sha256:80bbaddf2baab7e6de4bc47405e34948e694a9efe0861c61cdc23aa774fcb141",
"sha256:86545e351e879d0b72b620db6a3b96346921fa87b3d366d6c074e5a9a0b8dadb",
"sha256:891dc8f522d7059ff0024cd3ae79fd224752676447f9c678f2a5c14b84d9a939",
"sha256:8a31f24e2a0b6317f33aafbb2f0895c0bce772980ae60c2c640d82caac49628a",
"sha256:8b99ec73073b37f9ebe8caf399001848fced9c08064effdbfc4da2b5a8d07b93",
"sha256:986b7a96228c9b4942ec420eff37556c5777bfba6758edcb95421e4a614b57f9",
"sha256:a1547ff4b8a833511eeaceacbcd17b043214fcdb385148f9c1bc5556ca9623e2",
"sha256:a2bfc7e2a0601b475477c954bf167dee6d0f55cb167e3f3e7cefad906e7759f6",
"sha256:a3c5f1a719aa11866ffc530d54ad965063a8cbbecae6515acbd5f0fae8f48eaa",
"sha256:a9f1c3489736ff8e1c7652e9dc39f80cff820f23624f23d9eab6e122ac99b150",
"sha256:aa0cf4922da7a3c905d000b35065df6184c0dc1d866dd3b86fd961905bbad2ea",
"sha256:ad4332a532e2d5acb231a2e5d33f943750091ee435daffca3fec0a53224e7e33",
"sha256:b2582b238e1658c4061ebe1b4df53c435190d22457642377fd0cb30685cdfb76",
"sha256:b6fc2e2fb6f532cf48b5fed57567ef286addcef38c28874458a41b7837a57807",
"sha256:b92d40121dcbd74831b690a75533da703750f7041b4bf951befc657c37e5695a",
"sha256:bbab6faf6568484707acc052f4dfc3802bdb0cafe079383fbaa23f1cdae9ecd4",
"sha256:c0b88ed1ae66777a798dc54f627e32d3b81c8009967c63993c450ee4cbcbec15",
"sha256:ce13d6291a5f47c1c8dbd375baa78551053bc6b5e5c0e9bb8e39c0a8359fd52f",
"sha256:db3535733f59e5605a88a706824dfcb9bd06725e709ecb017e165fc1d6e7d429",
"sha256:dd10383f1d6b7edf247d0960a3db274c07e96cf3a3fc7c41c8448f93eac3fb1c",
"sha256:e01f9531ba5420838c801c21c1b0f45dbc9607cb22ea2cf132844453bec863a5",
"sha256:e11527dc23d5ef44d76fef11213215c34f36af1608074561fcc561d983aeb870",
"sha256:e1ab2fac607842ac36864e358c42feb0960ae62c34aa4caaf12ada0a1fb5d99b",
"sha256:e1fd7d2fe11f1cb63d3336d147c852f6d07de0d0020d704c6031b46a30b02ca8",
"sha256:e9f84ed9f4d50b74fbc77298ee5c870f67cb7e91dcdc1a6915cb1ff6a317476c",
"sha256:ec4b4e75fc68da9dc0ed73dcdb431c25c57775383fec325d23a770a64e7ebc87",
"sha256:f10ce66fcdeb3543df51d423ede7e238be98412232fca5daec3e54bcd16b8da0",
"sha256:f63f62fc60e6228a4ca9abae28228f35e1bd3ce675013d1dfb828688d50c6e23",
"sha256:fa56bb08b3dd8eac3a8c5b7d075c94e74f755fd9d8a04543ae8d37b1612dd170",
"sha256:fa9b7c450be85bfc6cd39f6df8c5b8cbd76b5d6fc1f69efec80203f9894b885f"
"sha256:04da965dfebb5dac2619cb90fcf93efdb35b3c6994fea58a157a834f2f94b318",
"sha256:0538747a9d7827ce3e16a8fdd201a99e661c7dee3c96c885d8ecba3c35d1032c",
"sha256:0645e934e940107e2fdbe7c5b6fb8ec6232444260752598bc4d09511bd056c0b",
"sha256:079b68f197c796e42aa80b1f739f058dcee796dc725cc9a1be0cdb08fc45b000",
"sha256:0f3f0059891d3254c7b5fb935330d6db38d6519ecd238ca4fce93c234b4a0f73",
"sha256:10d2017f9150248563bb579cd0d07c61c58da85c922b780060dcc9a3aa9f432d",
"sha256:1355755b62c28950f9ce123c7a41460ed9743c699905cbe664a5bcc5c9c7c7fb",
"sha256:13c90064b224e10c14dcdf8086688d3f0e612db53766e7478d7754703295c7c8",
"sha256:1423631e3d51008871299525b541413c9b6c6423593e89f9c4cfbe8460afc0a2",
"sha256:1436cf0063bba7888e43f1ba8d58824f085410ea2025befe81150aceb123e345",
"sha256:1a7c59c6ffd6ef5db362b798f350e24ab2cfa5700d53ac6681918f314a4d3b94",
"sha256:1e1cf47774373777936c5aabad489fef7b1c087dcd1f426b621fda9dcc12994e",
"sha256:206a51077773c6c5d2ce1991327cda719063a47adc02bd703c56a662cdb6c58b",
"sha256:21fb3d24ab430fc538a96e9fbb9b150029914805d551deeac7d7822f64631dfc",
"sha256:27e590352c76156f50f538dbcebd1925317a0f70540f7dc8c97d2931c595783a",
"sha256:287605bede6bd36e930577c5925fcea17cb30453d96a7b4c63c14a257118dbb9",
"sha256:2aaf6a0a6465d39b5ca69688fce82d20088c1838534982996ec46633dc7ad6cc",
"sha256:32a73c53783becdb7eaf75a2a1525ea8e49379fb7248c3eeefb9412123536387",
"sha256:41fb58868b816c202e8881fd0f179a4644ce6e7cbbb248ef0283a34b73ec73bb",
"sha256:4780677767dd52b99f0af1f123bc2c22873d30b474aa0e2fc3fe5e02217687c7",
"sha256:4878e667ebabe9b65e785ac8da4d48886fe81193a84bbe49f12acff8f7a383a4",
"sha256:487c8e61d7acc50b8be82bda8c8d21d20e133c3cbf41bd8ad7eb1aaeb3f07c97",
"sha256:4beea0f31491bc086991b97517b9683e5cfb369205dac0148ef685ac12a20a67",
"sha256:4cfbe42c686f33944e12f45a27d25a492cc0e43e1dc1da5d6a87cbcaf2e95627",
"sha256:4d5bae0a37af799207140652a700f21a85946f107a199bcb06720b13a4f1f0b7",
"sha256:4e285b5f2bf321fc0857b491b5028c5f276ec0c873b985d58d7748ece1d770dd",
"sha256:57e4d637258703d14171b54203fd6822fda218c6c2658a7d30816b10995f29f3",
"sha256:5974895115737a74a00b321e339b9c3f45c20275d226398ae79ac008d908bff7",
"sha256:5ef87fca280fb15342726bd5f980f6faf8b84a5287fcc2d4962ea8af88b35130",
"sha256:603a464c2e67d8a546ddaa206d98e3246e5db05594b97db844c2f0a1af37cf5b",
"sha256:6653071f4f9bac46fbc30f3c7838b0e9063ee335908c5d61fb7a4a86c8fd2036",
"sha256:6ca2264f341dd81e41f3fffecec6e446aa2121e0b8d026fb5130e02de1402785",
"sha256:6d279033bf614953c3fc4a0aa9ac33a21e8044ca72d4fa8b9273fe75359d5cca",
"sha256:6d949f53ad4fc7cf02c44d6678e7ff05ec5f5552b235b9e136bd52e9bf730b91",
"sha256:6daa662aba22ef3258934105be2dd9afa5bb45748f4f702a3b39a5bf53a1f4dc",
"sha256:6eafc048ea3f1b3c136c71a86db393be36b5b3d9c87b1c25204e7d397cee9536",
"sha256:830c88747dce8a3e7525defa68afd742b4580df6aa2fdd6f0855481e3994d391",
"sha256:86e92728ef3fc842c50a5cb1d5ba2bc66db7da08a7af53fb3da79e202d1b2cd3",
"sha256:8caf4d16b31961e964c62194ea3e26a0e9561cdf72eecb1781458b67ec83423d",
"sha256:8d1a92d8e90b286d491e5626af53afef2ba04da33e82e30744795c71880eaa21",
"sha256:8f0a4d179c9a941eb80c3a63cdb495e539e064f8054230844dcf2fcb812b71d3",
"sha256:9232b09f5efee6a495a99ae6824881940d6447debe272ea400c02e3b68aad85d",
"sha256:927a9dd016d6033bc12e0bf5dee1dde140235fc8d0d51099353c76081c03dc29",
"sha256:93e414e3206779ef41e5ff2448067213febf260ba747fc65389a3ddaa3fb8715",
"sha256:98cafc618614d72b02185ac583c6f7796202062c41d2eeecdf07820bad3295ed",
"sha256:9c3a88d20e4fe4a2a4a84bf439a5ac9c9aba400b85244c63a1ab7088f85d9d25",
"sha256:9f36de4cd0c262dd9927886cc2305aa3f2210db437aa4fed3fb4940b8bf4592c",
"sha256:a60f90bba4c37962cbf210f0188ecca87daafdf60271f4c6948606e4dabf8785",
"sha256:a614e4afed58c14254e67862456d212c4dcceebab2eaa44d627c2ca04bf86837",
"sha256:ae06c1e4bc60ee076292e582a7512f304abdf6c70db59b56745cca1684f875a4",
"sha256:b122a188cd292c4d2fcd78d04f863b789ef43aa129b233d7c9004de08693728b",
"sha256:b570da8cd0012f4af9fa76a5635cd31f707473e65a5a335b186069d5c7121ff2",
"sha256:bcaa1c495ce623966d9fc8a187da80082334236a2a1c7e141763ffaf7a405067",
"sha256:bd34f6d1810d9354dc7e35158aa6cc33456be7706df4420819af6ed966e85448",
"sha256:be9eb06489bc975c38706902cbc6888f39e946b81383abc2838d186f0e8b6a9d",
"sha256:c4b2e0559b68455c085fb0f6178e9752c4be3bba104d6e881eb5573b399d1eb2",
"sha256:c62e8dd9754b7debda0c5ba59d34509c4688f853588d75b53c3791983faa96fc",
"sha256:c852b1530083a620cb0de5f3cd6826f19862bafeaf77586f1aef326e49d95f0c",
"sha256:d9fc0bf3ff86c17348dfc5d322f627d78273eba545db865c3cd14b3f19e57fa5",
"sha256:dad7b164905d3e534883281c050180afcf1e230c3d4a54e8038aa5cfcf312b84",
"sha256:e5f66bdf0976ec667fc4594d2812a00b07ed14d1b44259d19a41ae3fff99f2b8",
"sha256:e8f0c9d65da595cfe91713bc1222af9ecabd37971762cb830dea2fc3b3bb2acf",
"sha256:edffbe3c510d8f4bf8640e02ca019e48a9b72357318383ca60e3330c23aaffc7",
"sha256:eea5d6443b093e1545ad0210e6cf27f920482bfcf5c77cdc8596aec73523bb7e",
"sha256:ef72013e20dd5ba86a8ae1aed7f56f31d3374189aa8b433e7b12ad182c0d2dfb",
"sha256:f05251bbc2145349b8d0b77c0d4e5f3b228418807b1ee27cefb11f69ed3d233b",
"sha256:f1be258c4d3dc609e654a1dc59d37b17d7fef05df912c01fc2e15eb43a9735f3",
"sha256:f9ced82717c7ec65a67667bb05865ffe38af0e835cdd78728f1209c8fffe0cad",
"sha256:fe17d10b97fdf58155f858606bddb4e037b805a60ae023c009f760d8361a4eb8",
"sha256:fe749b052bb7233fe5d072fcb549221a8cb1a16725c47c37e42b0b9cb3ff2c3f"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'",
"version": "==4.8.0"
"version": "==4.9.1"
},
"markdown": {
"hashes": [
@ -312,23 +343,39 @@
},
"mkdocs": {
"hashes": [
"sha256:26bd2b03d739ac57a3e6eed0b7bcc86168703b719c27b99ad6ca91dc439aacde",
"sha256:b504405b04da38795fec9b2e5e28f6aa3a73bb0960cb6d5d27ead28952bd35ea"
"sha256:a41a2ff25ce3bbacc953f9844ba07d106233cd76c88bac1f59cb1564ac0d87ed",
"sha256:fda92466393127d2da830bc6edc3a625a14b436316d1caf347690648e774c4f0"
],
"index": "pypi",
"version": "==1.3.0"
"version": "==1.3.1"
},
"mkdocs-git-committers-plugin-2": {
"hashes": [
"sha256:1e88c38bfe299a2737ebcf61e8cc27a5193b03d826f743e676ba59960b376c8e",
"sha256:617c413ea6b6a160169e601520b7a52377bce5d59f7788b948cdc067e8ced77c"
],
"index": "pypi",
"version": "==1.1.0"
},
"mkdocs-git-revision-date-localized-plugin": {
"hashes": [
"sha256:f3e020b445e7b4fb4e58ccd46b07adecbca0f85ac1659e1a63e38b8779c81ba7",
"sha256:ffcf206b5108d9f729af6cd42377d2e0e25c080817fdad0119549ac924b526f3"
"sha256:38517e2084229da1a1b9460e846c2748d238c2d79efd405d1b9174a87bd81d79",
"sha256:4ba0e49abea3e9f6ee26e2623ff7283873da657471c61f1d0cfbb986f403316d"
],
"index": "pypi",
"version": "==1.0.1"
"version": "==1.1.0"
},
"mkdocs-macros-plugin": {
"hashes": [
"sha256:96bdabeb98b96139544f0048ea2f5cb80c7befde6b21e94c6d4596c22774cbcf",
"sha256:9e64e1cabcf6925359de29fe54f62d5847fb455c2528c440b87f8f1240650608"
],
"index": "pypi",
"version": "==0.7.0"
},
"mkdocs-material": {
"path": "./mkdocs-material",
"version": "==8.2.15+insiders.4.15.1"
"version": "==8.4.3+insiders.4.22.1"
},
"mkdocs-material-extensions": {
"hashes": [
@ -338,12 +385,20 @@
"markers": "python_version >= '3.6'",
"version": "==1.0.3"
},
"mkdocs-static-i18n": {
"mkdocs-rss-plugin": {
"hashes": [
"sha256:5d69b4eb284931bd048a36f923367f2a7bd0dc7b0438008dce8ca1a8feee99e2"
"sha256:50671e2030188da4bc01ff421d979903a01cd87b02e2ec5f430fd05d5ed55825",
"sha256:536efc35c2f62ea1eac4bae23532e07f0a19b9044291a12960f47be7d3aaf99e"
],
"index": "pypi",
"version": "==0.45"
"version": "==1.1.0"
},
"mkdocs-static-i18n": {
"hashes": [
"sha256:9a13987c1a1afdb2b9f532f7c1597c2b6e747b4015f4adc1ebd65843b8bf1378"
],
"index": "pypi",
"version": "==0.46"
},
"packaging": {
"hashes": [
@ -355,47 +410,67 @@
},
"pillow": {
"hashes": [
"sha256:088df396b047477dd1bbc7de6e22f58400dae2f21310d9e2ec2933b2ef7dfa4f",
"sha256:09e67ef6e430f90caa093528bd758b0616f8165e57ed8d8ce014ae32df6a831d",
"sha256:0b4d5ad2cd3a1f0d1df882d926b37dbb2ab6c823ae21d041b46910c8f8cd844b",
"sha256:0b525a356680022b0af53385944026d3486fc8c013638cf9900eb87c866afb4c",
"sha256:1d4331aeb12f6b3791911a6da82de72257a99ad99726ed6b63f481c0184b6fb9",
"sha256:20d514c989fa28e73a5adbddd7a171afa5824710d0ab06d4e1234195d2a2e546",
"sha256:2b291cab8a888658d72b575a03e340509b6b050b62db1f5539dd5cd18fd50578",
"sha256:3f6c1716c473ebd1649663bf3b42702d0d53e27af8b64642be0dd3598c761fb1",
"sha256:42dfefbef90eb67c10c45a73a9bc1599d4dac920f7dfcbf4ec6b80cb620757fe",
"sha256:488f3383cf5159907d48d32957ac6f9ea85ccdcc296c14eca1a4e396ecc32098",
"sha256:4d45dbe4b21a9679c3e8b3f7f4f42a45a7d3ddff8a4a16109dff0e1da30a35b2",
"sha256:53c27bd452e0f1bc4bfed07ceb235663a1df7c74df08e37fd6b03eb89454946a",
"sha256:55e74faf8359ddda43fee01bffbc5bd99d96ea508d8a08c527099e84eb708f45",
"sha256:59789a7d06c742e9d13b883d5e3569188c16acb02eeed2510fd3bfdbc1bd1530",
"sha256:5b650dbbc0969a4e226d98a0b440c2f07a850896aed9266b6fedc0f7e7834108",
"sha256:66daa16952d5bf0c9d5389c5e9df562922a59bd16d77e2a276e575d32e38afd1",
"sha256:6e760cf01259a1c0a50f3c845f9cad1af30577fd8b670339b1659c6d0e7a41dd",
"sha256:7502539939b53d7565f3d11d87c78e7ec900d3c72945d4ee0e2f250d598309a0",
"sha256:769a7f131a2f43752455cc72f9f7a093c3ff3856bf976c5fb53a59d0ccc704f6",
"sha256:7c150dbbb4a94ea4825d1e5f2c5501af7141ea95825fadd7829f9b11c97aaf6c",
"sha256:8844217cdf66eabe39567118f229e275f0727e9195635a15e0e4b9227458daaf",
"sha256:8a66fe50386162df2da701b3722781cbe90ce043e7d53c1fd6bd801bca6b48d4",
"sha256:9370d6744d379f2de5d7fa95cdbd3a4d92f0b0ef29609b4b1687f16bc197063d",
"sha256:937a54e5694684f74dcbf6e24cc453bfc5b33940216ddd8f4cd8f0f79167f765",
"sha256:9c857532c719fb30fafabd2371ce9b7031812ff3889d75273827633bca0c4602",
"sha256:a4165205a13b16a29e1ac57efeee6be2dfd5b5408122d59ef2145bc3239fa340",
"sha256:b3fe2ff1e1715d4475d7e2c3e8dabd7c025f4410f79513b4ff2de3d51ce0fa9c",
"sha256:b6617221ff08fbd3b7a811950b5c3f9367f6e941b86259843eab77c8e3d2b56b",
"sha256:b761727ed7d593e49671d1827044b942dd2f4caae6e51bab144d4accf8244a84",
"sha256:baf3be0b9446a4083cc0c5bb9f9c964034be5374b5bc09757be89f5d2fa247b8",
"sha256:c17770a62a71718a74b7548098a74cd6880be16bcfff5f937f900ead90ca8e92",
"sha256:c67db410508b9de9c4694c57ed754b65a460e4812126e87f5052ecf23a011a54",
"sha256:d78ca526a559fb84faaaf84da2dd4addef5edb109db8b81677c0bb1aad342601",
"sha256:e9ed59d1b6ee837f4515b9584f3d26cf0388b742a11ecdae0d9237a94505d03a",
"sha256:f054b020c4d7e9786ae0404278ea318768eb123403b18453e28e47cdb7a0a4bf",
"sha256:f372d0f08eff1475ef426344efe42493f71f377ec52237bf153c5713de987251",
"sha256:f3f6a6034140e9e17e9abc175fc7a266a6e63652028e157750bd98e804a8ed9a",
"sha256:ffde4c6fabb52891d81606411cbfaf77756e3b561b566efd270b3ed3791fde4e"
"sha256:0030fdbd926fb85844b8b92e2f9449ba89607231d3dd597a21ae72dc7fe26927",
"sha256:030e3460861488e249731c3e7ab59b07c7853838ff3b8e16aac9561bb345da14",
"sha256:0ed2c4ef2451de908c90436d6e8092e13a43992f1860275b4d8082667fbb2ffc",
"sha256:136659638f61a251e8ed3b331fc6ccd124590eeff539de57c5f80ef3a9594e58",
"sha256:13b725463f32df1bfeacbf3dd197fb358ae8ebcd8c5548faa75126ea425ccb60",
"sha256:1536ad017a9f789430fb6b8be8bf99d2f214c76502becc196c6f2d9a75b01b76",
"sha256:15928f824870535c85dbf949c09d6ae7d3d6ac2d6efec80f3227f73eefba741c",
"sha256:17d4cafe22f050b46d983b71c707162d63d796a1235cdf8b9d7a112e97b15bac",
"sha256:1802f34298f5ba11d55e5bb09c31997dc0c6aed919658dfdf0198a2fe75d5490",
"sha256:1cc1d2451e8a3b4bfdb9caf745b58e6c7a77d2e469159b0d527a4554d73694d1",
"sha256:1fd6f5e3c0e4697fa7eb45b6e93996299f3feee73a3175fa451f49a74d092b9f",
"sha256:254164c57bab4b459f14c64e93df11eff5ded575192c294a0c49270f22c5d93d",
"sha256:2ad0d4df0f5ef2247e27fc790d5c9b5a0af8ade9ba340db4a73bb1a4a3e5fb4f",
"sha256:2c58b24e3a63efd22554c676d81b0e57f80e0a7d3a5874a7e14ce90ec40d3069",
"sha256:2d33a11f601213dcd5718109c09a52c2a1c893e7461f0be2d6febc2879ec2402",
"sha256:336b9036127eab855beec9662ac3ea13a4544a523ae273cbf108b228ecac8437",
"sha256:337a74fd2f291c607d220c793a8135273c4c2ab001b03e601c36766005f36885",
"sha256:37ff6b522a26d0538b753f0b4e8e164fdada12db6c6f00f62145d732d8a3152e",
"sha256:3d1f14f5f691f55e1b47f824ca4fdcb4b19b4323fe43cc7bb105988cad7496be",
"sha256:4134d3f1ba5f15027ff5c04296f13328fecd46921424084516bdb1b2548e66ff",
"sha256:4ad2f835e0ad81d1689f1b7e3fbac7b01bb8777d5a985c8962bedee0cc6d43da",
"sha256:50dff9cc21826d2977ef2d2a205504034e3a4563ca6f5db739b0d1026658e004",
"sha256:510cef4a3f401c246cfd8227b300828715dd055463cdca6176c2e4036df8bd4f",
"sha256:5aed7dde98403cd91d86a1115c78d8145c83078e864c1de1064f52e6feb61b20",
"sha256:69bd1a15d7ba3694631e00df8de65a8cb031911ca11f44929c97fe05eb9b6c1d",
"sha256:6bf088c1ce160f50ea40764f825ec9b72ed9da25346216b91361eef8ad1b8f8c",
"sha256:6e8c66f70fb539301e064f6478d7453e820d8a2c631da948a23384865cd95544",
"sha256:74a04183e6e64930b667d321524e3c5361094bb4af9083db5c301db64cd341f3",
"sha256:75e636fd3e0fb872693f23ccb8a5ff2cd578801251f3a4f6854c6a5d437d3c04",
"sha256:7761afe0126d046974a01e030ae7529ed0ca6a196de3ec6937c11df0df1bc91c",
"sha256:7888310f6214f19ab2b6df90f3f06afa3df7ef7355fc025e78a3044737fab1f5",
"sha256:7b0554af24df2bf96618dac71ddada02420f946be943b181108cac55a7a2dcd4",
"sha256:7c7b502bc34f6e32ba022b4a209638f9e097d7a9098104ae420eb8186217ebbb",
"sha256:808add66ea764ed97d44dda1ac4f2cfec4c1867d9efb16a33d158be79f32b8a4",
"sha256:831e648102c82f152e14c1a0938689dbb22480c548c8d4b8b248b3e50967b88c",
"sha256:93689632949aff41199090eff5474f3990b6823404e45d66a5d44304e9cdc467",
"sha256:96b5e6874431df16aee0c1ba237574cb6dff1dcb173798faa6a9d8b399a05d0e",
"sha256:9a54614049a18a2d6fe156e68e188da02a046a4a93cf24f373bffd977e943421",
"sha256:a138441e95562b3c078746a22f8fca8ff1c22c014f856278bdbdd89ca36cff1b",
"sha256:a647c0d4478b995c5e54615a2e5360ccedd2f85e70ab57fbe817ca613d5e63b8",
"sha256:a9c9bc489f8ab30906d7a85afac4b4944a572a7432e00698a7239f44a44e6efb",
"sha256:ad2277b185ebce47a63f4dc6302e30f05762b688f8dc3de55dbae4651872cdf3",
"sha256:adabc0bce035467fb537ef3e5e74f2847c8af217ee0be0455d4fec8adc0462fc",
"sha256:b6d5e92df2b77665e07ddb2e4dbd6d644b78e4c0d2e9272a852627cdba0d75cf",
"sha256:bc431b065722a5ad1dfb4df354fb9333b7a582a5ee39a90e6ffff688d72f27a1",
"sha256:bdd0de2d64688ecae88dd8935012c4a72681e5df632af903a1dca8c5e7aa871a",
"sha256:c79698d4cd9318d9481d89a77e2d3fcaeff5486be641e60a4b49f3d2ecca4e28",
"sha256:cb6259196a589123d755380b65127ddc60f4c64b21fc3bb46ce3a6ea663659b0",
"sha256:d5b87da55a08acb586bad5c3aa3b86505f559b84f39035b233d5bf844b0834b1",
"sha256:dcd7b9c7139dc8258d164b55696ecd16c04607f1cc33ba7af86613881ffe4ac8",
"sha256:dfe4c1fedfde4e2fbc009d5ad420647f7730d719786388b7de0999bf32c0d9fd",
"sha256:ea98f633d45f7e815db648fd7ff0f19e328302ac36427343e4432c84432e7ff4",
"sha256:ec52c351b35ca269cb1f8069d610fc45c5bd38c3e91f9ab4cbbf0aebc136d9c8",
"sha256:eef7592281f7c174d3d6cbfbb7ee5984a671fcd77e3fc78e973d492e9bf0eb3f",
"sha256:f07f1f00e22b231dd3d9b9208692042e29792d6bd4f6639415d2f23158a80013",
"sha256:f3fac744f9b540148fa7715a435d2283b71f68bfb6d4aae24482a890aed18b59",
"sha256:fa768eff5f9f958270b081bb33581b4b569faabf8774726b283edb06617101dc",
"sha256:fac2d65901fb0fdf20363fbd345c01958a742f2dc62a8dd4495af66e3ff502a4"
],
"markers": "python_version >= '3.7'",
"version": "==9.1.1"
"version": "==9.2.0"
},
"pycparser": {
"hashes": [
@ -406,19 +481,19 @@
},
"pygments": {
"hashes": [
"sha256:5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb",
"sha256:dc9c10fb40944260f6ed4c688ece0cd2048414940f1cea51b8b226318411c519"
"sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1",
"sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42"
],
"markers": "python_version >= '3.6'",
"version": "==2.12.0"
"version": "==2.13.0"
},
"pymdown-extensions": {
"hashes": [
"sha256:1baa22a60550f731630474cad28feb0405c8101f1a7ddc3ec0ed86ee510bcc43",
"sha256:5b7432456bf555ce2b0ab3c2439401084cda8110f24f6b3ecef952b8313dfa1b"
"sha256:3ef2d998c0d5fa7eb09291926d90d69391283561cf6306f85cd588a5eb5befa0",
"sha256:ec141c0f4983755349f0c8710416348d1a13753976c028186ed14f190c8061c4"
],
"markers": "python_version >= '3.7'",
"version": "==9.4"
"version": "==9.5"
},
"pyparsing": {
"hashes": [
@ -438,10 +513,10 @@
},
"pytz": {
"hashes": [
"sha256:1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7",
"sha256:e68985985296d9a66a881eb3193b0906246245294a881e7c8afe623866ac6a5c"
"sha256:220f481bdafa09c3955dfbdddb7b57780e9a94f5127e35456a48589b9e0c0197",
"sha256:cea221417204f2d1a2aa03ddae3e867921971d0d76f14d87abb4414415bbdcf5"
],
"version": "==2022.1"
"version": "==2022.2.1"
},
"pyyaml": {
"hashes": [
@ -492,91 +567,105 @@
},
"regex": {
"hashes": [
"sha256:02543d6d5c32d361b7cc468079ba4cddaaf4a6544f655901ba1ff9d8e3f18755",
"sha256:036d1c1fbe69eba3ee253c107e71749cdbb4776db93d674bc0d5e28f30300734",
"sha256:071bcb625e890f28b7c4573124a6512ea65107152b1d3ca101ce33a52dad4593",
"sha256:0f8da3145f4b72f7ce6181c804eaa44cdcea313c8998cdade3d9e20a8717a9cb",
"sha256:0fb6cb16518ac7eff29d1e0b0cce90275dfae0f17154165491058c31d58bdd1d",
"sha256:0fd464e547dbabf4652ca5fe9d88d75ec30182981e737c07b3410235a44b9939",
"sha256:12af15b6edb00e425f713160cfd361126e624ec0de86e74f7cad4b97b7f169b3",
"sha256:165cc75cfa5aa0f12adb2ac6286330e7229a06dc0e6c004ec35da682b5b89579",
"sha256:1a07e8366115069f26822c47732122ab61598830a69f5629a37ea8881487c107",
"sha256:1c2de7f32fa87d04d40f54bce3843af430697aba51c3a114aa62837a0772f219",
"sha256:253f858a0255cd91a0424a4b15c2eedb12f20274f85731b0d861c8137e843065",
"sha256:275afc7352982ee947fc88f67a034b52c78395977b5fc7c9be15f7dc95b76f06",
"sha256:2bde99f2cdfd6db1ec7e02d68cadd384ffe7413831373ea7cc68c5415a0cb577",
"sha256:3241db067a7f69da57fba8bca543ac8a7ca415d91e77315690202749b9fdaba1",
"sha256:37903d5ca11fa47577e8952d2e2c6de28553b11c70defee827afb941ab2c6729",
"sha256:3dfbadb7b74d95f72f9f9dbf9778f7de92722ab520a109ceaf7927461fa85b10",
"sha256:3e35c50b27f36176c792738cb9b858523053bc495044d2c2b44db24376b266f1",
"sha256:3e9e983fc8e0d4d5ded7caa5aed39ca2cf6026d7e39801ef6f0af0b1b6cd9276",
"sha256:3f6bd8178cce5bb56336722d5569d19c50bba5915a69a2050c497fb921e7cb0f",
"sha256:43ee0df35925ae4b0cc6ee3f60b73369e559dd2ac40945044da9394dd9d3a51d",
"sha256:45b761406777a681db0c24686178532134c937d24448d9e085279b69e9eb7da4",
"sha256:46cbc5b23f85e94161b093dba1b49035697cf44c7db3c930adabfc0e6d861b95",
"sha256:4f2e2cef324ca9355049ee1e712f68e2e92716eba24275e6767b9bfa15f1f478",
"sha256:50b77622016f03989cd06ecf6b602c7a6b4ed2e3ce04133876b041d109c934ee",
"sha256:582ea06079a03750b5f71e20a87cd99e646d796638b5894ff85987ebf5e04924",
"sha256:58521abdab76583bd41ef47e5e2ddd93b32501aee4ee8cee71dee10a45ba46b1",
"sha256:5b9c7b6895a01204296e9523b3e12b43e013835a9de035a783907c2c1bc447f0",
"sha256:6165e737acb3bea3271372e8aa5ebe7226c8a8e8da1b94af2d6547c5a09d689d",
"sha256:66fb765b2173d90389384708e3e1d3e4be1148bd8d4d50476b1469da5a2f0229",
"sha256:68aed3fb0c61296bd6d234f558f78c51671f79ccb069cbcd428c2eea6fee7a5b",
"sha256:6a0ef57cccd8089b4249eebad95065390e56c04d4a92c51316eab4131bca96a9",
"sha256:709396c0c95b95045fac89b94f997410ff39b81a09863fe21002f390d48cc7d3",
"sha256:73ed1b06abadbf6b61f6033a07c06f36ec0ddca117e41ef2ac37056705e46458",
"sha256:7a608022f4593fc67518c6c599ae5abdb03bb8acd75993c82cd7a4c8100eff81",
"sha256:7c4d9770e579eb11b582b2e2fd19fa204a15cb1589ae73cd4dcbb63b64f3e828",
"sha256:7dbc96419ef0fb6ac56626014e6d3a345aeb8b17a3df8830235a88626ffc8d84",
"sha256:7f271d0831d8ebc56e17b37f9fa1824b0379221d1238ae77c18a6e8c47f1fdce",
"sha256:82b7fc67e49fdce671bdbec1127189fc979badf062ce6e79dc95ef5e07a8bf92",
"sha256:85b7ee4d0c7a46296d884f6b489af8b960c4291d76aea4b22fd4fbe05e6ec08e",
"sha256:8b747cef8e5dcdaf394192d43a0c02f5825aeb0ecd3d43e63ae500332ab830b0",
"sha256:8bf867ba71856414a482e4b683500f946c300c4896e472e51d3db8dfa8dc8f32",
"sha256:8e0da7ef160d4f3eb3d4d3e39a02c3c42f7dbcfce62c81f784cc99fc7059765f",
"sha256:8e7d33f93cdd01868327d834d0f5bb029241cd293b47d51b96814dec27fc9b4b",
"sha256:92183e9180c392371079262879c6532ccf55f808e6900df5d9f03c9ca8807255",
"sha256:92ad03f928675ca05b79d3b1d3dfc149e2226d57ed9d57808f82105d511d0212",
"sha256:97af238389cb029d63d5f2d931a7e8f5954ad96e812de5faaed373b68e74df86",
"sha256:9913bcf730eb6e9b441fb176832eea9acbebab6035542c7c89d90c803f5cd3be",
"sha256:9dae5affbb66178dad6c6fd5b02221ca9917e016c75ee3945e9a9563eb1fbb6f",
"sha256:a850f5f369f1e3b6239da7fb43d1d029c1e178263df671819889c47caf7e4ff3",
"sha256:aa6daa189db9104787ff1fd7a7623ce017077aa59eaac609d0d25ba95ed251a0",
"sha256:aabc28f7599f781ddaeac168d0b566d0db82182cc3dcf62129f0a4fc2927b811",
"sha256:af1e687ffab18a75409e5e5d6215b6ccd41a5a1a0ea6ce9665e01253f737a0d3",
"sha256:b1d53835922cd0f9b74b2742453a444865a70abae38d12eb41c59271da66f38d",
"sha256:b2df3ede85d778c949d9bd2a50237072cee3df0a423c91f5514f78f8035bde87",
"sha256:b415b82e5be7389ec5ee7ee35431e4a549ea327caacf73b697c6b3538cb5c87f",
"sha256:b7ba3c304a4a5d8112dbd30df8b3e4ef59b4b07807957d3c410d9713abaee9a8",
"sha256:bcc6f7a3a95119c3568c572ca167ada75f8319890706283b9ba59b3489c9bcb3",
"sha256:be392d9cd5309509175a9d7660dc17bf57084501108dbff0c5a8bfc3646048c3",
"sha256:bea61de0c688198e3d9479344228c7accaa22a78b58ec408e41750ebafee6c08",
"sha256:bedb3d01ad35ea1745bdb1d57f3ee0f996f988c98f5bbae9d068c3bb3065d210",
"sha256:c36906a7855ec33a9083608e6cd595e4729dab18aeb9aad0dd0b039240266239",
"sha256:c4fdf837666f7793a5c3cfa2f2f39f03eb6c7e92e831bc64486c2f547580c2b3",
"sha256:cfad3a770839aa456ff9a9aa0e253d98b628d005a3ccb37da1ff9be7c84fee16",
"sha256:d128e278e5e554c5c022c7bed410ca851e00bacebbb4460de546a73bc53f8de4",
"sha256:dffd9114ade73137ab2b79a8faf864683dbd2dbbb6b23a305fbbd4cbaeeb2187",
"sha256:e2acf5c66fbb62b5fe4c40978ddebafa50818f00bf79d60569d9762f6356336e",
"sha256:e65580ae3137bce712f505ec7c2d700aef0014a3878c4767b74aff5895fc454f",
"sha256:e944268445b5694f5d41292c9228f0ca46d5a32a67f195d5f8547c1f1d91f4bc",
"sha256:ed26c3d2d62c6588e0dad175b8d8cc0942a638f32d07b80f92043e5d73b7db67",
"sha256:ed625205f5f26984382b68e4cbcbc08e6603c9e84c14b38457170b0cc71c823b",
"sha256:f2a5d9f612091812dee18375a45d046526452142e7b78c4e21ab192db15453d5",
"sha256:f86aef546add4ff1202e1f31e9bb54f9268f17d996b2428877283146bf9bc013",
"sha256:f89d26e50a4c7453cb8c415acd09e72fbade2610606a9c500a1e48c43210a42d",
"sha256:fb7107faf0168de087f62a2f2ed00f9e9da12e0b801582b516ddac236b871cda"
"sha256:003a2e1449d425afc817b5f0b3d4c4aa9072dd5f3dfbf6c7631b8dc7b13233de",
"sha256:0385d66e73cdd4462f3cc42c76a6576ddcc12472c30e02a2ae82061bff132c32",
"sha256:0394265391a86e2bbaa7606e59ac71bd9f1edf8665a59e42771a9c9adbf6fd4f",
"sha256:03ff695518482b946a6d3d4ce9cbbd99a21320e20d94913080aa3841f880abcd",
"sha256:079c182f99c89524069b9cd96f5410d6af437e9dca576a7d59599a574972707e",
"sha256:091efcfdd4178a7e19a23776dc2b1fafb4f57f4d94daf340f98335817056f874",
"sha256:0b664a4d33ffc6be10996606dfc25fd3248c24cc589c0b139feb4c158053565e",
"sha256:14216ea15efc13f28d0ef1c463d86d93ca7158a79cd4aec0f9273f6d4c6bb047",
"sha256:14a7ab070fa3aec288076eed6ed828587b805ef83d37c9bfccc1a4a7cfbd8111",
"sha256:14c71437ffb89479c89cc7022a5ea2075a842b728f37205e47c824cc17b30a42",
"sha256:18e503b1e515a10282b3f14f1b3d856194ecece4250e850fad230842ed31227f",
"sha256:19a4da6f513045f5ba00e491215bd00122e5bd131847586522463e5a6b2bd65f",
"sha256:1a901ce5cd42658ab8f8eade51b71a6d26ad4b68c7cfc86b87efc577dfa95602",
"sha256:26df88c9636a0c3f3bd9189dd435850a0c49d0b7d6e932500db3f99a6dd604d1",
"sha256:2dda4b096a6f630d6531728a45bd12c67ec3badf44342046dc77d4897277d4f2",
"sha256:322bd5572bed36a5b39952d88e072738926759422498a96df138d93384934ff8",
"sha256:360ffbc9357794ae41336b681dff1c0463193199dfb91fcad3ec385ea4972f46",
"sha256:37e5a26e76c46f54b3baf56a6fdd56df9db89758694516413757b7d127d4c57b",
"sha256:3d64e1a7e6d98a4cdc8b29cb8d8ed38f73f49e55fbaa737bdb5933db99b9de22",
"sha256:3f3b4594d564ed0b2f54463a9f328cf6a5b2a32610a90cdff778d6e3e561d08b",
"sha256:4146cb7ae6029fc83b5c905ec6d806b7e5568dc14297c423e66b86294bad6c39",
"sha256:4318f69b79f9f7d84a7420e97d4bfe872dc767c72f891d4fea5fa721c74685f7",
"sha256:4cdbfa6d2befeaee0c899f19222e9b20fc5abbafe5e9c43a46ef819aeb7b75e5",
"sha256:50e764ffbd08b06aa8c4e86b8b568b6722c75d301b33b259099f237c46b2134e",
"sha256:518272f25da93e02af4f1e94985f5042cec21557ef3591027d0716f2adda5d0a",
"sha256:592b9e2e1862168e71d9e612bfdc22c451261967dbd46681f14e76dfba7105fd",
"sha256:59a786a55d00439d8fae4caaf71581f2aaef7297d04ee60345c3594efef5648a",
"sha256:59bac44b5a07b08a261537f652c26993af9b1bbe2a29624473968dd42fc29d56",
"sha256:5d0dd8b06896423211ce18fba0c75dacc49182a1d6514c004b535be7163dca0f",
"sha256:67a4c625361db04ae40ef7c49d3cbe2c1f5ff10b5a4491327ab20f19f2fb5d40",
"sha256:6adfe300848d61a470ec7547adc97b0ccf86de86a99e6830f1d8c8d19ecaf6b3",
"sha256:6b32b45433df1fad7fed738fe15200b6516da888e0bd1fdd6aa5e50cc16b76bc",
"sha256:6c57d50d4d5eb0c862569ca3c840eba2a73412f31d9ecc46ef0d6b2e621a592b",
"sha256:6d43bd402b27e0e7eae85c612725ba1ce7798f20f6fab4e8bc3de4f263294f03",
"sha256:6e521d9db006c5e4a0f8acfef738399f72b704913d4e083516774eb51645ad7c",
"sha256:6fe1dd1021e0f8f3f454ce2811f1b0b148f2d25bb38c712fec00316551e93650",
"sha256:73b985c9fc09a7896846e26d7b6f4d1fd5a20437055f4ef985d44729f9f928d0",
"sha256:7681c49da1a2d4b905b4f53d86c9ba4506e79fba50c4a664d9516056e0f7dfcc",
"sha256:77c2879d3ba51e5ca6c2b47f2dcf3d04a976a623a8fc8236010a16c9e0b0a3c7",
"sha256:7b0c5cc3d1744a67c3b433dce91e5ef7c527d612354c1f1e8576d9e86bc5c5e2",
"sha256:7fcf7f94ccad19186820ac67e2ec7e09e0ac2dac39689f11cf71eac580503296",
"sha256:83cc32a1a2fa5bac00f4abc0e6ce142e3c05d3a6d57e23bd0f187c59b4e1e43b",
"sha256:8418ee2cb857b83881b8f981e4c636bc50a0587b12d98cb9b947408a3c484fe7",
"sha256:86df2049b18745f3cd4b0f4c4ef672bfac4b80ca488e6ecfd2bbfe68d2423a2c",
"sha256:880dbeb6bdde7d926b4d8e41410b16ffcd4cb3b4c6d926280fea46e2615c7a01",
"sha256:8aba0d01e3dfd335f2cb107079b07fdddb4cd7fb2d8c8a1986f9cb8ce9246c24",
"sha256:8dcbcc9e72a791f622a32d17ff5011326a18996647509cac0609a7fc43adc229",
"sha256:944567bb08f52268d8600ee5bdf1798b2b62ea002cc692a39cec113244cbdd0d",
"sha256:995e70bb8c91d1b99ed2aaf8ec44863e06ad1dfbb45d7df95f76ef583ec323a9",
"sha256:99945ddb4f379bb9831c05e9f80f02f079ba361a0fb1fba1fc3b267639b6bb2e",
"sha256:9a165a05979e212b2c2d56a9f40b69c811c98a788964e669eb322de0a3e420b4",
"sha256:9bc8edc5f8ef0ebb46f3fa0d02bd825bbe9cc63d59e428ffb6981ff9672f6de1",
"sha256:a1aec4ae549fd7b3f52ceaf67e133010e2fba1538bf4d5fc5cd162a5e058d5df",
"sha256:a1c4d17879dd4c4432c08a1ca1ab379f12ab54af569e945b6fc1c4cf6a74ca45",
"sha256:a2b39ee3b280e15824298b97cec3f7cbbe6539d8282cc8a6047a455b9a72c598",
"sha256:a2effeaf50a6838f3dd4d3c5d265f06eabc748f476e8441892645ae3a697e273",
"sha256:a59d0377e58d96a6f11636e97992f5b51b7e1e89eb66332d1c01b35adbabfe8a",
"sha256:a926339356fe29595f8e37af71db37cd87ff764e15da8ad5129bbaff35bcc5a6",
"sha256:a9eb9558e1d0f78e07082d8a70d5c4d631c8dd75575fae92105df9e19c736730",
"sha256:ab07934725e6f25c6f87465976cc69aef1141e86987af49d8c839c3ffd367c72",
"sha256:ad75173349ad79f9d21e0d0896b27dcb37bfd233b09047bc0b4d226699cf5c87",
"sha256:b7b701dbc124558fd2b1b08005eeca6c9160e209108fbcbd00091fcfac641ac7",
"sha256:b7bee775ff05c9d519195bd9e8aaaccfe3971db60f89f89751ee0f234e8aeac5",
"sha256:b86548b8234b2be3985dbc0b385e35f5038f0f3e6251464b827b83ebf4ed90e5",
"sha256:b9d68eb704b24bc4d441b24e4a12653acd07d2c39940548761e0985a08bc1fff",
"sha256:c0b7cb9598795b01f9a3dd3f770ab540889259def28a3bf9b2fa24d52edecba3",
"sha256:cab548d6d972e1de584161487b2ac1aa82edd8430d1bde69587ba61698ad1cfb",
"sha256:ce331b076b2b013e7d7f07157f957974ef0b0881a808e8a4a4b3b5105aee5d04",
"sha256:cfa4c956ff0a977c4823cb3b930b0a4e82543b060733628fec7ab3eb9b1abe37",
"sha256:d23ac6b4bf9e32fcde5fcdb2e1fd5e7370d6693fcac51ee1d340f0e886f50d1f",
"sha256:d2885ec6eea629c648ecc9bde0837ec6b92208b7f36381689937fe5d64a517e8",
"sha256:d2a1371dc73e921f3c2e087c05359050f3525a9a34b476ebc8130e71bec55e97",
"sha256:d3102ab9bf16bf541ca228012d45d88d2a567c9682a805ae2c145a79d3141fdd",
"sha256:d5b003d248e6f292475cd24b04e5f72c48412231961a675edcb653c70730e79e",
"sha256:d5edd3eb877c9fc2e385173d4a4e1d792bf692d79e25c1ca391802d36ecfaa01",
"sha256:d7430f041755801b712ec804aaf3b094b9b5facbaa93a6339812a8e00d7bd53a",
"sha256:d837ccf3bd2474feabee96cd71144e991472e400ed26582edc8ca88ce259899c",
"sha256:dab81cc4d58026861445230cfba27f9825e9223557926e7ec22156a1a140d55c",
"sha256:db45016364eec9ddbb5af93c8740c5c92eb7f5fc8848d1ae04205a40a1a2efc6",
"sha256:df8fe00b60e4717662c7f80c810ba66dcc77309183c76b7754c0dff6f1d42054",
"sha256:e6e6e61e9a38b6cc60ca3e19caabc90261f070f23352e66307b3d21a24a34aaf",
"sha256:ee7045623a5ace70f3765e452528b4c1f2ce669ed31959c63f54de64fe2f6ff7",
"sha256:f06cc1190f3db3192ab8949e28f2c627e1809487e2cfc435b6524c1ce6a2f391",
"sha256:f07373b6e56a6f3a0df3d75b651a278ca7bd357a796078a26a958ea1ce0588fd",
"sha256:f6e0321921d2fdc082ef90c1fd0870f129c2e691bfdc4937dcb5cd308aba95c4",
"sha256:f6e167d1ccd41d27b7b6655bb7a2dcb1b1eb1e0d2d662043470bd3b4315d8b2b",
"sha256:fcbd1edff1473d90dc5cf4b52d355cf1f47b74eb7c85ba6e45f45d0116b8edbd",
"sha256:fe428822b7a8c486bcd90b334e9ab541ce6cc0d6106993d59f201853e5e14121"
],
"markers": "python_version >= '3.6'",
"version": "==2022.4.24"
"version": "==2022.9.13"
},
"requests": {
"hashes": [
"sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61",
"sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"
"sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983",
"sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
"version": "==2.27.1"
"markers": "python_version >= '3.7' and python_version < '4'",
"version": "==2.28.1"
},
"six": {
"hashes": [
@ -594,6 +683,22 @@
"markers": "python_version >= '3.6'",
"version": "==5.0.0"
},
"soupsieve": {
"hashes": [
"sha256:3b2503d3c7084a42b1ebd08116e5f81aadfaea95863628c80a3b774a11b7c759",
"sha256:fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d"
],
"markers": "python_version >= '3.6'",
"version": "==2.3.2.post1"
},
"termcolor": {
"hashes": [
"sha256:6b2cf769e93364a2676e1de56a7c0cff2cf5bd07f37e9cc80b0dd6320ebfe388",
"sha256:7e597f9de8e001a3208c4132938597413b9da45382b6f1d150cff8d062b7aaa3"
],
"markers": "python_version >= '3.7'",
"version": "==2.0.1"
},
"tinycss2": {
"hashes": [
"sha256:b2e44dd8883c360c35dd0d1b5aad0b610e5156c2cb3b33434634e539ead9d8bf",
@ -604,50 +709,50 @@
},
"typing-extensions": {
"hashes": [
"sha256:6657594ee297170d19f67d55c05852a874e7eb634f4f753dbd667855e07c1708",
"sha256:f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376"
"sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02",
"sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"
],
"index": "pypi",
"version": "==4.2.0"
"version": "==4.3.0"
},
"urllib3": {
"hashes": [
"sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14",
"sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"
"sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e",
"sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'",
"version": "==1.26.9"
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5' and python_version < '4'",
"version": "==1.26.12"
},
"watchdog": {
"hashes": [
"sha256:036ed15f7cd656351bf4e17244447be0a09a61aaa92014332d50719fc5973bc0",
"sha256:0c520009b8cce79099237d810aaa19bc920941c268578436b62013b2f0102320",
"sha256:0fb60c7d31474b21acba54079ce9ff0136411183e9a591369417cddb1d7d00d7",
"sha256:156ec3a94695ea68cfb83454b98754af6e276031ba1ae7ae724dc6bf8973b92a",
"sha256:1ae17b6be788fb8e4d8753d8d599de948f0275a232416e16436363c682c6f850",
"sha256:1e5d0fdfaa265c29dc12621913a76ae99656cf7587d03950dfeb3595e5a26102",
"sha256:24dedcc3ce75e150f2a1d704661f6879764461a481ba15a57dc80543de46021c",
"sha256:2962628a8777650703e8f6f2593065884c602df7bae95759b2df267bd89b2ef5",
"sha256:47598fe6713fc1fee86b1ca85c9cbe77e9b72d002d6adeab9c3b608f8a5ead10",
"sha256:4978db33fc0934c92013ee163a9db158ec216099b69fce5aec790aba704da412",
"sha256:5e2e51c53666850c3ecffe9d265fc5d7351db644de17b15e9c685dd3cdcd6f97",
"sha256:676263bee67b165f16b05abc52acc7a94feac5b5ab2449b491f1a97638a79277",
"sha256:68dbe75e0fa1ba4d73ab3f8e67b21770fbed0651d32ce515cd38919a26873266",
"sha256:6d03149126864abd32715d4e9267d2754cede25a69052901399356ad3bc5ecff",
"sha256:6ddf67bc9f413791072e3afb466e46cc72c6799ba73dea18439b412e8f2e3257",
"sha256:746e4c197ec1083581bb1f64d07d1136accf03437badb5ff8fcb862565c193b2",
"sha256:7721ac736170b191c50806f43357407138c6748e4eb3e69b071397f7f7aaeedd",
"sha256:88ef3e8640ef0a64b7ad7394b0f23384f58ac19dd759da7eaa9bc04b2898943f",
"sha256:aa68d2d9a89d686fae99d28a6edf3b18595e78f5adf4f5c18fbfda549ac0f20c",
"sha256:b962de4d7d92ff78fb2dbc6a0cb292a679dea879a0eb5568911484d56545b153",
"sha256:ce7376aed3da5fd777483fe5ebc8475a440c6d18f23998024f832134b2938e7b",
"sha256:ddde157dc1447d8130cb5b8df102fad845916fe4335e3d3c3f44c16565becbb7",
"sha256:efcc8cbc1b43902571b3dce7ef53003f5b97fe4f275fe0489565fc6e2ebe3314",
"sha256:f9ee4c6bf3a1b2ed6be90a2d78f3f4bbd8105b6390c04a86eb48ed67bbfa0b0b",
"sha256:fed4de6e45a4f16e4046ea00917b4fe1700b97244e5d114f594b4a1b9de6bed8"
"sha256:083171652584e1b8829581f965b9b7723ca5f9a2cd7e20271edf264cfd7c1412",
"sha256:117ffc6ec261639a0209a3252546b12800670d4bf5f84fbd355957a0595fe654",
"sha256:186f6c55abc5e03872ae14c2f294a153ec7292f807af99f57611acc8caa75306",
"sha256:195fc70c6e41237362ba720e9aaf394f8178bfc7fa68207f112d108edef1af33",
"sha256:226b3c6c468ce72051a4c15a4cc2ef317c32590d82ba0b330403cafd98a62cfd",
"sha256:247dcf1df956daa24828bfea5a138d0e7a7c98b1a47cf1fa5b0c3c16241fcbb7",
"sha256:255bb5758f7e89b1a13c05a5bceccec2219f8995a3a4c4d6968fe1de6a3b2892",
"sha256:43ce20ebb36a51f21fa376f76d1d4692452b2527ccd601950d69ed36b9e21609",
"sha256:4f4e1c4aa54fb86316a62a87b3378c025e228178d55481d30d857c6c438897d6",
"sha256:5952135968519e2447a01875a6f5fc8c03190b24d14ee52b0f4b1682259520b1",
"sha256:64a27aed691408a6abd83394b38503e8176f69031ca25d64131d8d640a307591",
"sha256:6b17d302850c8d412784d9246cfe8d7e3af6bcd45f958abb2d08a6f8bedf695d",
"sha256:70af927aa1613ded6a68089a9262a009fbdf819f46d09c1a908d4b36e1ba2b2d",
"sha256:7a833211f49143c3d336729b0020ffd1274078e94b0ae42e22f596999f50279c",
"sha256:8250546a98388cbc00c3ee3cc5cf96799b5a595270dfcfa855491a64b86ef8c3",
"sha256:97f9752208f5154e9e7b76acc8c4f5a58801b338de2af14e7e181ee3b28a5d39",
"sha256:9f05a5f7c12452f6a27203f76779ae3f46fa30f1dd833037ea8cbc2887c60213",
"sha256:a735a990a1095f75ca4f36ea2ef2752c99e6ee997c46b0de507ba40a09bf7330",
"sha256:ad576a565260d8f99d97f2e64b0f97a48228317095908568a9d5c786c829d428",
"sha256:b530ae007a5f5d50b7fbba96634c7ee21abec70dc3e7f0233339c81943848dc1",
"sha256:bfc4d351e6348d6ec51df007432e6fe80adb53fd41183716017026af03427846",
"sha256:d3dda00aca282b26194bdd0adec21e4c21e916956d972369359ba63ade616153",
"sha256:d9820fe47c20c13e3c9dd544d3706a2a26c02b2b43c993b62fcd8011bcc0adb3",
"sha256:ed80a1628cee19f5cfc6bb74e173f1b4189eb532e705e2a13e3250312a62e0c9",
"sha256:ee3e38a6cc050a8830089f79cbec8a3878ec2fe5160cdb2dc8ccb6def8552658"
],
"markers": "python_version >= '3.6'",
"version": "==2.1.8"
"version": "==2.1.9"
},
"webencodings": {
"hashes": [
@ -658,11 +763,11 @@
},
"zipp": {
"hashes": [
"sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad",
"sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099"
"sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2",
"sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009"
],
"markers": "python_version >= '3.7'",
"version": "==3.8.0"
"version": "==3.8.1"
}
},
"develop": {

View File

@ -2,17 +2,13 @@
<div align="center">
<a href="https://www.privacyguides.org/">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://privacyguides.org/assets/img/layout/privacy-guides-logo-dark.svg">
<img alt="Privacy Guides" width="500px" src="https://privacyguides.org/assets/img/layout/privacy-guides-logo.svg">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/privacyguides/brand/main/SVG/Logo/privacy-guides-logo-dark.svg">
<img alt="Privacy Guides" width="500px" src="https://raw.githubusercontent.com/privacyguides/brand/main/SVG/Logo/privacy-guides-logo.svg">
</picture>
</a>
<p><em>Your central privacy and security resource to protect yourself online.</em></p>
<a href="https://opencollective.com/privacyguides">
<img src="https://img.shields.io/opencollective/all/privacyguides">
</a></p>
<p><a href="https://www.reddit.com/r/PrivacyGuides/">
<img src="https://img.shields.io/reddit/subreddit-subscribers/PrivacyGuides?label=Subscribe%20to%20r%2FPrivacyGuides&style=social">
</a>
@ -38,6 +34,9 @@
<a href="https://github.com/privacyguides/privacyguides.org/pulls?q=is%3Apr+is%3Aclosed">
<img src="https://img.shields.io/github/issues-pr-closed-raw/privacyguides/privacyguides.org">
</a>
<a href="https://opencollective.com/privacyguides">
<img src="https://img.shields.io/opencollective/all/privacyguides">
</a>
<a href="https://crowdin.com/project/privacyguides">
<img src="https://badges.crowdin.net/privacyguides/localized.svg">
</a></p>
@ -51,7 +50,7 @@ Our current list of team members can be found [here](https://github.com/orgs/pri
## Contributing
- 💬 [Start a discussion or suggest an idea](https://github.com/privacyguides/privacyguides.org/discussions)
- 💬 [Start a discussion or suggest an idea](https://discuss.privacyguides.org/)
- 💖 [Sponsor the project](https://github.com/sponsors/privacyguides)
- 🈴 [Help translate the site](https://crwd.in/privacyguides) [[Matrix chat](https://matrix.to/#/#pg-i18n:aragon.sh)]
- 📝 Edit the site, everything's accessible in this repo
@ -64,14 +63,21 @@ Our current list of team members can be found [here](https://github.com/orgs/pri
[![Gitea](https://img.shields.io/static/v1?logo=gitea&label=&message=Gitea&color=000&style=for-the-badge)](https://code.privacyguides.dev/privacyguides/privacyguides.org)
[![GitLab](https://img.shields.io/static/v1?logo=gitlab&label=&message=GitLab&color=000&style=for-the-badge)](https://gitlab.com/privacyguides/privacyguides.org)
[![Codeberg](https://img.shields.io/static/v1?logo=codeberg&label=&message=Codeberg&color=000&style=for-the-badge)](https://codeberg.org/privacyguides/privacyguides.org)
[![SourceHut](https://img.shields.io/static/v1?logo=git&label=&message=SourceHut&color=000&style=for-the-badge)](https://git.sr.ht/~jonaharagon/privacyguides.org)
## Developing
Committing to this repository requires [signing your commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) (`git config commit.gpgsign true`) unless you are making edits via the GitHub.com text editor interface. As of August 2022 the preferred signing method is [SSH commit signatures](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification#ssh-commit-signature-verification), but GPG signing is also acceptable. You should add your signing key to your GitHub profile.
This website uses [`mkdocs-material-insiders`](https://squidfunk.github.io/mkdocs-material/insiders/) which offers additional functionality over the open-source `mkdocs-material` project. For obvious reasons we cannot distribute access to the insiders repository. You can install the website locally with the open-source version of `mkdocs-material`:
1. Clone this repository: `git clone https://github.com/privacyguides/privacyguides.org.git`
2. Install [Python 3.6+](https://www.python.org/downloads/)
3. Install [dependencies](/Pipfile): `pip install mkdocs mkdocs-material mkdocs-static-i18n mkdocs-git-revision-date-localized-plugin typing-extensions`
1. Clone this repository:
- `git clone https://github.com/privacyguides/privacyguides.org.git` (then `cd privacyguides.org`)
- `git submodule init`
- `git submodule update docs/assets/brand`
- `git config gpg.ssh.allowedSignersFile .allowed_signers`
2. Install [Python 3.6+](https://www.python.org/downloads/) (currently only tested with 3.10)
3. Install [dependencies](/Pipfile): `pip install mkdocs mkdocs-material mkdocs-static-i18n mkdocs-macros-plugin typing-extensions`
4. Serve the site locally: `mkdocs serve`
- The site will be available at `http://localhost:8000`
- You can build the site locally with `mkdocs build`
@ -80,24 +86,23 @@ This website uses [`mkdocs-material-insiders`](https://squidfunk.github.io/mkdoc
**Team members** should clone the repository with `mkdocs-material-insiders` directly. This method is identical to production:
1. Clone this repository and submodules: `git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org.git`
2. Install [Python 3.6+](https://www.python.org/downloads/)
3. Install **pipenv**: `pip install pipenv`
4. Install dependencies: `pipenv install --dev`
5. Serve the site locally: `pipenv run mkdocs serve`
2. Enable SSH commit verification with our local [`.allowed_signers`](/.allowed_signers) file: `git config gpg.ssh.allowedSignersFile .allowed_signers`
3. Install Python **3.10**
4. Install **pipenv**: `pip install pipenv`
5. Install dependencies: `pipenv install --dev` (install [Pillow and CairoSVG](https://squidfunk.github.io/mkdocs-material/setup/setting-up-social-cards/#dependencies) as well to generate social cards)
6. Serve the site locally: `pipenv run mkdocs serve --config-file mkdocs.production.yml` (set `CARDS=true` to generate social cards)
- The site will be available at `http://localhost:8000`
- You can build the site locally with `pipenv run mkdocs build`
- This version of the site should be identical to the live, production version
If you commit to `main` with commits signed with your SSH key, you should add your SSH key to [`.allowed_signers`](/.allowed_signers) in this repo.
## Releasing
1. Create a new tag: `git tag -s v2.X.X -m 'Some message'`
- [View existing tags](https://github.com/privacyguides/privacyguides.org/tags)
- Tag [numbering](https://semver.org/): Increment the MINOR (2nd) number when making significant changes (adding/deleting pages, etc.), increment the PATCH (3rd) number when making minor changes (typos, bug fixes). Probably leave the MAJOR number at 2 until a massive redesign (v1 -> v2 was the Jekyll to MkDocs transition).
- Tag [numbering](https://semver.org/): Increment the MINOR (2nd) number when making significant changes (adding/deleting pages, etc.), increment the PATCH (3rd) number when making minor changes (typos, bug fixes). Probably leave the MAJOR number at 2 until a massive revamp (v1 -> v2 was the Jekyll to MkDocs transition).
- Consider enabling GPG tag signing by default (`git config tag.gpgSign true`) to avoid missing signatures
2. Push the tag to GitHub: `git push --tags`
3. [Create a new release](https://github.com/privacyguides/privacyguides.org/releases/new) selecting the new tag
- Title the release the same as the tag version number without the `v`, i.e. `2.X.X`
- For more significant releases, add a **short** title, for example [2.3.0 - Localization Support](https://github.com/privacyguides/privacyguides.org/releases/tag/v2.3.0) or [2.2.0 - Removing Social Networks](https://github.com/privacyguides/privacyguides.org/releases/tag/v2.2.0)
- GitHub should let you auto-generate release notes based on PR titles
- Mark more significant changes in bold, see [2.3.0](https://github.com/privacyguides/privacyguides.org/releases/tag/v2.3.0) for example
4. Publish release, it will be deployed to the live site automatically
- When publishing more significant releases (generally any with a MINOR version increment) check the "Create a discussion for this release" box to post an announcement
3. A GitHub Release will be automatically created and deployed to the live site.
- You may wish to manually check or edit the release changelog/title after it is published for accuracy.

22
data/articles.yml Normal file
View File

@ -0,0 +1,22 @@
extra:
articles:
- name: '"Hide Nothing"'
publisher: Privacy Guides
url: 'blog/2022/06/09/hide-nothing.md'
date: 2022-06-09
- name: '"Move Fast and Break Things"'
publisher: Privacy Guides
url: 'blog/2022/04/04/move-fast-and-break-things.md'
date: 2022-04-04
- name: 'Firefox Privacy: 2021 Update'
publisher: Privacy Guides
url: 'blog/2021/12/01/firefox-privacy-2021-update.md'
date: 2021-12-01
- name: 'Virtual Insanity'
publisher: Privacy Guides
url: 'blog/2021/11/01/virtual-insanity.md'
date: 2021-11-01
- name: 'Welcome to Privacy Guides'
publisher: Privacy Guides
url: 'blog/2021/09/14/welcome-to-privacy-guides.md'
date: 2021-09-14

53
docs/CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,53 @@
# Community Code of Conduct
**We pledge** to make our community a harassment-free experience for everyone.
**We strive** to create a positive environment, using welcoming and inclusive language, and being respectful of the viewpoints of others.
**We do not allow** inappropriate or otherwise unacceptable behavior, such as sexualized language, trolling and insulting comments, or otherwise promoting intolerance or harassment.
## Community Standards
What we expect from members of our communities:
1. **Don't spread misinformation**
We are creating an evidence-based educational community around information privacy and security, not a home for conspiracy theories. For example, when making a claim that a certain piece of software is malicious or that certain telemetry data is privacy invasive, explain in detail what is collected and how it collected. Claims of this nature must be backed by technical evidence.
1. **Don't abuse our willingness to help**
Our community members are not your free tech support. We are happy to help you with specific steps on your privacy journey if you are willing to put in effort on your end. We are not willing to answer endlessly repeated questions about generic computer problems you could have answered yourself with a 30-second internet search. Don't be a [help vampire](https://slash7.com/2006/12/22/vampires/).
1. **Behave in a positive and constructive manner**
Examples of behavior that contributes to a positive environment for our community include:
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
- Focusing on what is best not just for us as individuals, but for the overall community
### Unacceptable Behavior
The following behaviors are considered harassment and are unacceptable within our community:
- The use of sexualized language or imagery, and sexual attention or advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Scope
Our Code of Conduct applies within all project spaces, as well as when an individual is representing the Privacy Guides project in other communities.
We are responsible for clarifying the standards of our community, and have the right to remove or alter the comments of those participating within our community, as necessary and at our discretion.
### Contact
If you observe a problem on a platform like Matrix or Reddit, please contact our moderators on that platform in chat, via DM, or through any designated "Modmail" system.
If you have a problem elsewhere, or a problem our community moderators are unable to resolve, reach out to `jonah@privacyguides.org` and/or `dngray@privacyguides.org`.
All community leaders are obligated to respect the privacy and security of the reporter of any incident.

View File

@ -8,4 +8,8 @@ Our current list of team members can be found [here on GitHub](https://github.co
Our team members review all changes made to the website and handle administrative duties such as web hosting and financials, however they do not personally profit from any contributions made to this site. Our financials are transparently hosted by the Open Collective Foundation 501(c)(3) at [opencollective.com/privacyguides](https://opencollective.com/privacyguides). Donations to Privacy Guides are generally tax deductible in the United States.
:fontawesome-brands-creative-commons: :fontawesome-brands-creative-commons-zero: Unless otherwise noted, the original content on this website is made available under a [CC0 1.0 Universal Public Domain Dedication](https://github.com/privacyguides/privacyguides.org/blob/main/LICENSE). This means that it is completely free of copyright and can be used or reshared as you wish. Though not strictly required, we do kindly request you attribute us by linking back to our homepage from your project.
*The following is a human-readable summary of (and not a substitute for) the [license](https://github.com/privacyguides/privacyguides.org/blob/main/LICENSE):*
:fontawesome-brands-creative-commons: :fontawesome-brands-creative-commons-by: :fontawesome-brands-creative-commons-nd: Unless otherwise noted, the original content on this website is made available under the [Creative Commons Attribution-NoDerivatives 4.0 International Public License](https://github.com/privacyguides/privacyguides.org/blob/main/LICENSE). This means that you are free to copy and redistribute the material in any medium or format for any purpose, even commercially; as long as you give appropriate credit to `Privacy Guides (www.privacyguides.org)` and provide a link to the license. You may do so in any reasonable manner, but not in any way that suggests Privacy Guides endorses you or your use. If you remix, transform, or build upon the content of this website, you may not distribute the modified material.
This license is in place to prevent people from sharing our work without giving proper credit, and to prevent people from modifying our work in a way that could be used to mislead people. If you find the terms of this license too restrictive for the project you're working on, please reach out to us at `jonah@privacyguides.org`. We are happy to provide alternative licensing options for well-intentioned projects in the privacy space!

View File

@ -42,4 +42,4 @@ Privacy Guides is a **non-profit** organization. We use donations for a variety
: We occasionally purchase products and services for the purposes of testing our [recommended tools](../tools.md).
We are still working with our fiscal host (the Open Collective Foundation) to receive cryptocurrency donations, at the moment the accounting is unfeasible for many smaller transactions, but this should change in the future. In the meantime, if you wish to make a sizable (> $100) cryptocurrency donation please reach out to [jonah@privacyguides.org](mailto:jonah@privacyguides.org).
We are still working with our fiscal host (the Open Collective Foundation) to receive cryptocurrency donations, at the moment the accounting is unfeasible for many smaller transactions, but this should change in the future. In the meantime, if you wish to make a sizable (> $100) cryptocurrency donation, please reach out to [jonah@privacyguides.org](mailto:jonah@privacyguides.org).

View File

@ -16,25 +16,25 @@ Privacy Guides additionally does not warrant that this website will be constantl
## Licenses
Unless otherwise noted, all content on this website is made freely available under the terms of the [Creative Commons CC0 1.0 Universal](https://github.com/privacyguides/privacyguides.org/blob/main/LICENSE).
Unless otherwise noted, all content on this website is made available under the terms of the [Creative Commons Attribution-NoDerivatives 4.0 International Public License](https://github.com/privacyguides/privacyguides.org/blob/main/LICENSE).
This does not include third-party code embedded in this repository, or code where a superseding license is otherwise noted. The following are notable examples, but this list may not be all-inclusive:
* [MathJax](https://github.com/privacyguides/privacyguides.org/blob/main/docs/javascripts/mathjax.js) is licensed under the [Apache License 2.0](https://github.com/privacyguides/privacyguides.org/blob/main/docs/javascripts/LICENSE.mathjax.txt).
* [MathJax](https://github.com/privacyguides/privacyguides.org/blob/main/docs/assets/javascripts/mathjax.js) is licensed under the [Apache License 2.0](https://github.com/privacyguides/privacyguides.org/blob/main/docs/assets/javascripts/LICENSE.mathjax.txt).
Portions of this notice itself were adopted from [opensource.guide](https://github.com/github/opensource.guide/blob/master/notices.md) on GitHub. That resource and this page itself are released under [CC-BY-4.0](https://github.com/github/opensource.guide/blob/master/LICENSE).
This means that you can use the human-readable content in this repository for your own project, per the terms outlined in the CC0 1.0 Universal text. You **may not** use the Privacy Guides branding in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo.
This means that you can use the human-readable content in this repository for your own project, per the terms outlined in the Creative Commons Attribution-NoDerivatives 4.0 International Public License text. You may do so in any reasonable manner, but not in any way that suggests Privacy Guides endorses you or your use. You **may not** use the Privacy Guides branding in your own project without express approval from this project. Privacy Guides's brand trademarks include the "Privacy Guides" wordmark and shield logo.
We believe that the logos and other images in `assets` obtained from third-party providers are either in the public domain or **fair use**. In a nutshell, legal [fair use doctrine](https://www.copyright.gov/fair-use/more-info.html) allows the use of copyrighted images in order to identify the subject matter for purposes of public comment. However, these logos and other images may still be subject to trademark laws in one or more jurisdictions. Before using this content, please ensure that it is used to identify the entity or organization that owns the trademark and that you have the right to use it under the laws which apply in the circumstances of your intended use. *When copying content from this website, you are solely responsible for ensuring that you do not infringe someone else's trademark or copyright.*
When you contribute to this repository you are doing so under the above licenses.
When you contribute to this repository you are doing so under the above licenses, and you are granting Privacy Guides a perpetual, worldwide, non-exclusive, transferable, royalty-free, irrevocable license with the right to sublicense such rights through multiple tiers of sublicensees, to reproduce, modify, display, perform and distribute your contribution as part of our project.
## Acceptable Use
You may not use this website in any way that causes or may cause damage to the website or impairment of the availability or accessibility of Privacy Guides, or in any way which is unlawful, illegal, fraudulent, harmful, or in connection with any unlawful, illegal, fraudulent, or harmful purpose or activity.
You must not conduct any systematic or automated data collection activities on or in relation to this website without express written consent from Aragon Ventures LLC, including:
You must not conduct any systematic or automated data collection activities on or in relation to this website without express written consent, including:
* Excessive Automated Scans
* Denial of Service Attacks

View File

@ -0,0 +1,117 @@
---
title: "PrivacyTools FAQ"
---
# Why we moved on from PrivacyTools
In September 2021, every active contributor unanimously agreed to move from PrivacyTools to work on this site: Privacy Guides. This decision was made because PrivacyTools founder and controller of the domain name had disappeared for an extended period of time and could not be contacted.
Having built a reputable site and set of services on PrivacyTools.io, this caused grave concerns for the future of PrivacyTools, as any future disruption could wipe out the entire organization with no recovery method. This transition was communicated to the PrivacyTools community many months in advance via a variety of channels including its blog, Twitter, Reddit, and Mastodon to ensure the entire process went as smoothly as possible. We did this to ensure nobody was kept in the dark, which has been our modus operandi since our team was created, and to make sure Privacy Guides was recognized as the same reliable organization that PrivacyTools was before the transition.
After the organizational move was completed, the founder of PrivacyTools returned and began to spread misinformation about the Privacy Guides project. They continue to spread misinformation in addition to operating a paid link farm on the PrivacyTools domain. We are creating this page to clear up any misconceptions.
## What is PrivacyTools?
PrivacyTools was created in 2015 by "BurungHantu," who wanted to make a privacy information resource - helpful tools following the Snowden revelations. The site grew into a flourishing open-source project with [many contributors](https://github.com/privacytools/privacytools.io/graphs/contributors), some eventually given various organizational responsibilities, such as operating online services like Matrix and Mastodon, managing and reviewing changes to the site on GitHub, finding sponsors for the project, writing blog posts and operating social media outreach platforms like Twitter, etc.
Beginning in 2019, BurungHantu grew more and more distant from the active development of the website and communities, and began delaying payments he was responsible for related to the servers we operated. To avoid having our system administrator pay server costs out of their own pocket, we changed the donation methods listed on the site from BurungHantu's personal PayPal and crypto accounts to a new OpenCollective page on [October 31, 2019](https://web.archive.org/web/20210729184557/https://blog.privacytools.io/privacytools-io-joins-the-open-collective-foundation/). This had the added benefits of making our finances completely transparent, a value we strongly believe in, and tax-deductible in the United States, because they were being held by the Open Collective Foundation 501(c)3. This change was unanimously agreed upon by the team and went uncontested.
## Why We Moved On
In 2020, BurungHantu's absence grew much more noticeable. At one point, we required the domain's nameservers to be changed to nameservers controlled by our system administrator to avoid future disruption, and this change was not completed for over a month after the initial request. He would disappear from the public chat and private team chat rooms on Matrix for months at a time, occasionally popping in to give some small feedback or promise to be more active before disappearing once again.
In October 2020, the PrivacyTools system administrator (Jonah) [left](https://web.archive.org/web/20210729190742/https://blog.privacytools.io/blacklight447-taking-over/) the project because of these difficulties, handing control to another long-time contributor. Jonah had been operating nearly every PrivacyTools service and acting as the *de facto* project lead for website development in BurungHantu's absence, thus his departure was a significant change to the organization. At the time, because of these significant organizational changes, BurungHantu promised the remaining team he would return to take control of the project going forward. ==The PrivacyTools team reached out via several communication methods over the following months, but did not receive any response.==
## Domain Name Reliance
At the beginning of 2021, the PrivacyTools team grew worried about the future of the project, because the domain name was set to expire on 1st March 2021. The domain was ultimately renewed by BurungHantu with no comment.
The teams concerns were not addressed, and we realized this would be a problem every year: If the domain expired it would have allowed it to be stolen by squatters or spammers, thus ruining the organization's reputation. We also would have had trouble reaching the community to inform them of what took place.
Without being in any contact with BurungHantu, we decided the best course of action would be to move to a new domain name while we still had guaranteed control over the old domain name, sometime before March 2022. This way, we would be able to cleanly redirect all PrivacyTools resources to the new site without any interruption in service. This decision was made many months in advance and communicated to the entire team in the hopes that BurungHantu would reach out and assure his continued support for the project, because with a recognizable brand name and large communities online, moving away from "PrivacyTools" was the least desirable possible outcome.
In mid-2021 the PrivacyTools team reached out to Jonah, who agreed to rejoin the team to help with the transition.
## Community Call to Action
At the end of July 2021, we [informed](https://web.archive.org/web/20210729184422/https://blog.privacytools.io/the-future-of-privacytools/) the PrivacyTools community of our intention to choose a new name and continue the project on a new domain, to be [chosen](https://web.archive.org/web/20210729190935/https://aragon.cloud/apps/forms/cMPxG9KyopapBbcw) on 2nd August 2022. In the end, "Privacy Guides" was selected, with the `privacyguides.org` domain already owned by Jonah for a side-project from 2020 that went undeveloped.
## Control of r/privacytoolsIO
Simultaneously with the ongoing website issues at privacytools.io, the r/privacytoolsIO moderation team was facing challenges with managing the subreddit. The subreddit had always been operated mostly independently of the website's development, but BurungHantu was the primary moderator of the subreddit as well, and he was the only moderator granted "Full Control" privileges. u/trai_dep was the only active moderator at the time, and [posted](https://www.reddit.com/r/redditrequest/comments/o9tllh/requesting_rprivacytoolsio_im_only_active_mod_top/) a request to Reddit's administrators on June 28, 2021, asking to be granted the primary moderator position and full control privileges, in order to make necessary changes to the Subreddit.
Reddit requires that subreddits have active moderators. If the primary moderator is inactive for a lengthy period of time (such as a year) the primary moderation position can be re-appointed to the next moderator in line. For this request to have been granted, BurungHantu had to have been completely absent from all Reddit activity for a long period of time, which was consistent with his behaviors on other platforms.
> If you were removed as moderator from a subreddit through Reddit request it is because your lack of response and lack of activity qualified the subreddit for an r/redditrequest transfer.
>
> r/redditrequest is Reddit's way of making sure communities have active moderators and is part of the [Moderator Code of Conduct](https://www.redditinc.com/policies/moderator-code-of-conduct).
## Beginning the Transition
On September 14th, 2021, we [announced](https://www.privacyguides.org/blog/2021/09/14/welcome-to-privacy-guides/) the beginning of our migration to this new domain:
> [...] we found it necessary to make this switch sooner rather than later to ensure people would find out about this transition as soon as possible. This gives us adequate time to transition the domain name, which is currently redirecting to www.privacyguides.org, and it hopefully gives everyone enough time to notice the change, update bookmarks and websites, etc.
This change [entailed:](https://www.reddit.com/r/PrivacyGuides/comments/pnhn4a/rprivacyguides_privacyguidesorg_what_you_need_to/)
- Redirecting www.privacytools.io to [www.privacyguides.org](https://www.privacyguides.org).
- Archiving the source code on GitHub to preserve our past work and issue tracker, which we continued to use for months of future development of this site.
- Posting announcements to our subreddit and various other communities informing people of the official change.
- Formally closing privacytools.io services, like Matrix and Mastodon, and encouraging existing users to migrate as soon as possible.
Things appeared to be going smoothly, and most of our active community made the switch to our new project exactly as we hoped.
## Following Events
Roughly a week following the transition, BurungHantu returned online for the first time in nearly a year, however nobody on our team was willing to return to PrivacyTools because of his historic unreliability. Rather than apologize for his prolonged absence, he immediately went on the offensive and positioned the transition to Privacy Guides as an attack against him and his project. He subsequently [deleted](https://www.reddit.com/r/privacytoolsIO/comments/pp9yie/comment/hd49wbn) many of these posts when it was pointed out by the community that he had been absent and abandoned the project.
At this point, BurungHantu claimed he wanted to continue working on privacytools.io on his own and requested that we remove the redirect from www.privacytools.io to [www.privacyguides.org](https://www.privacyguides.org). We obliged and requested that he keep the subdomains for Matrix, Mastodon, and PeerTube active for us to run as a public service to our community for at least a few months, in order to allow users on those platforms to easily migrate to other accounts. Due to the federated nature of the services we provided, they were tied to specific domain names making it very difficult to migrate (and in some cases impossible).
Unfortunately, because control of the r/privacytoolsIO subreddit was not returned to BurungHantu at his demand (further information below), those subdomains were [cut off](https://www.reddit.com/r/PrivacyGuides/comments/pymthv/comment/hexwrps/) at the beginning of October, ending any migration possibilities to any users still using those services.
Following this, BurungHantu made false accusations about Jonah stealing donations from the project. BurungHantu had over a year since the alleged incident occurred, and yet he never made anyone aware of it until after the Privacy Guides migration. BurungHantu has been repeatedly asked for proof and to comment on the reason for his silence by the team [and the community](https://twitter.com/TommyTran732/status/1526153536962281474), and has not done so.
BurungHantu also made a [twitter post](https://twitter.com/privacytoolsIO/status/1510560676967710728) alleging that an "attorney" had reached out to him on Twitter and was providing advice, in another attempt to bully us into giving him control of our subreddit, and as part of his smear campaign to muddy the waters surrounding the launch of Privacy Guides while pretending to be a victim.
## PrivacyTools.io Now
As of September 25th 2022 we are seeing BurungHantu's overall plans come to fruition on privacytools.io, and this is the very reason we decided to create this explainer page today. The website he is operating appears to be a heavily SEO-optimized version of the site which recommends tools in exchange for financial compensation. Very recently, IVPN and Mullvad, two VPN providers near-universally [recommended](../vpn.md) by the privacy community and notable for their stance against affiliate programs were removed from PrivacyTools. In their place? NordVPN, Surfshark, ExpressVPN, and hide.me; Giant VPN corporations with untrustworthy platforms and business practices, notorious for their aggressive marketing and affiliate programs.
==**PrivacyTools has become exactly the type of site we [warned against](https://web.archive.org/web/20210729205249/https://blog.privacytools.io/the-trouble-with-vpn-and-privacy-reviews/) on the PrivacyTools blog in 2019.**== We've tried to keep our distance from PrivacyTools since the transition, but their continued harassment towards our project and now their absurd abuse of the credibility their brand gained over 6 years of open source contributions is extremely troubling to us. Those of us actually fighting for privacy are not fighting against each other, and are not getting our advice from the highest bidder.
## r/privacytoolsIO Now
After the launch of [r/PrivacyGuides](https://www.reddit.com/r/privacyguides), it was impractical for u/trai_dep to continue moderating both subreddits, and with the community on-board with the transition, r/privacytoolsIO was [made](https://www.reddit.com/r/privacytoolsIO/comments/qk7qrj/a_new_era_why_rptio_is_now_a_restricted_sub/) a restricted sub in a post on November 1st, 2021:
> [...] The growth of this Sub was the result of great effort, across several years, by the PrivacyGuides.org team. And by every one of you.
>
> A Subreddit is a great deal of work to administer and moderate. Like a garden, it requires patient tending and daily care. Its not a task for dilettantes or commitment-challenged people. It cant thrive under a gardener who abandons it for several years, then shows up demanding this years harvest as their tribute. Its unfair to the team formed years ago. Its unfair to you. [...]
Subreddits do not belong to anybody, and they especially do not belong to brand-holders. They belong to their communities, and the community and its moderators made the decision to support the move to r/PrivacyGuides.
In the months since, BurungHantu has threatened and begged for returning subreddit control to his account in [violation](https://www.reddit.com/r/redditrequest/wiki/top_mod_removal/) of Reddit rules:
> Retaliation from any moderator with regards to removal requests is disallowed.
For a community with many thousands of remaining subscribers, we feel that it would be incredibly disrespectful to return control of that massive platform to the person who abandoned it for over a year, and who now operates a website that we feel provides very low-quality information. Preserving the years of past discussions in that community is more important to us, and thus u/trai_dep and the rest of the subreddit moderation team has made the decision to keep r/privacytoolsIO as-is.
## OpenCollective Now
Our fundraising platform, OpenCollective, is another source of contention. Our position is that OpenCollective was put in place by our team and managed by our team to fund services we currently operate and which PrivacyTools no longer does. We [reached out](https://opencollective.com/privacyguides/updates/transitioning-to-privacy-guides) to all of our donors regarding our move to Privacy Guides, and we were unanimously supported by our sponsors and community.
Thus, the funds in OpenCollective belong to Privacy Guides, they were given to our project, and not the owner of a well known domain name. In the announcement made to donors on September 17th, 2021, we offered refunds to any donor who disagrees with the stance we took, but nobody has taken us up on this offer:
> If any sponsors or backers disagree with or feel misled by these recent events and would like to request a refund given these highly unusual circumstances, please get in touch with our project admin by emailing jonah@triplebit.net.
## Further Reading
This topic has been discussed extensively within our communities in various locations, and it seems likely that most people reading this page will already be familiar with the events leading up to the move to Privacy Guides. Some of our previous posts on the matter may have extra detail we omitted here for brevity. They have been linked below for the sake of completion.
- [June 28, 2021 request for control of r/privacytoolsIO](https://www.reddit.com/r/redditrequest/comments/o9tllh/requesting_rprivacytoolsio_im_only_active_mod_top/)
- [July 27, 2021 announcement of our intentions to move on the PrivacyTools blog, written by the team](https://web.archive.org/web/20210729184422/https://blog.privacytools.io/the-future-of-privacytools/)
- [Sept 13, 2021 announcement of the beginning of our transition to Privacy Guides on r/privacytoolsIO](https://www.reddit.com/r/privacytoolsIO/comments/pnql46/rprivacyguides_privacyguidesorg_what_you_need_to/)
- [Sept 17, 2021 announcement on OpenCollective from Jonah](https://opencollective.com/privacyguides/updates/transitioning-to-privacy-guides)
- [Sept 30, 2021 Twitter thread detailing most of the events now described on this page](https://twitter.com/privacy_guides/status/1443633412800225280)
- [Oct 1, 2021 post by u/dng99 noting subdomain failure](https://www.reddit.com/r/PrivacyGuides/comments/pymthv/comment/hexwrps/)
- [Apr 2, 2022 response by u/dng99 to PrivacyTools' accusatory blog post](https://www.reddit.com/comments/tuo7mm/comment/i35kw5a/)
- [May 16, 2022 response by @TommyTran732 on Twitter](https://twitter.com/TommyTran732/status/1526153497984618496)
- [Sep 3, 2022 post on Techlore's forum by @dngray](https://discuss.techlore.tech/t/has-anyone-seen-this-video-wondering-your-thoughts/792/20)

View File

@ -11,12 +11,11 @@ To erase a storage device **thoroughly**, you should securely erase the whole de
## Erasing Your Entire Drive
When you delete a file, the operating system marks the space where the deleted file was as "empty". That "empty" space can be fairly easily undeleted, yielding the original file.
When you delete a file, the operating system marks the space where the deleted file was as "empty." That "empty" space can be fairly easily undeleted, yielding the original file.
### Magnetic storage
If the disk is a magnetic storage device such as spinning hard disk we suggest using [`nwipe`](https://en.wikipedia.org/wiki/Nwipe). `nwipe` can be installed in most Linux distributions. If you wish to use a complete boot environment on a system, consider using [ShredOS Disk Eraser](https://github.com/PartialVolume/shredos.x86_64). ShredOS boots straight into `nwipe` and allows you to erase available disks. To install it to a flash USB stick see the [installation methods](https://github.com/PartialVolume/shredos.x86_64/blob/master/README.md#obtaining-and-writing-shredos-to-a-usb-flash-drive-the-easy-way-).
If the disk is a magnetic storage device, such as a spinning hard disk, we suggest using [`nwipe`](https://en.wikipedia.org/wiki/Nwipe). `nwipe` can be installed in most Linux distributions. If you wish to use a complete boot environment on a system, consider using [ShredOS Disk Eraser](https://github.com/PartialVolume/shredos.x86_64). ShredOS boots straight into `nwipe` and allows you to erase available disks. To install it to a flash USB stick see the [installation methods](https://github.com/PartialVolume/shredos.x86_64/blob/master/README.md#obtaining-and-writing-shredos-to-a-usb-flash-drive-the-easy-way-).
Once you have your boot media, enter your system's UEFI settings and boot from the USB stick. Commonly used keys to access UEFI are ++f2++, ++f12++, or ++del++. Follow the on-screen prompts to wipe your data.
@ -24,7 +23,7 @@ Once you have your boot media, enter your system's UEFI settings and boot from t
### Flash Storage
For [flash memory](https://en.wikipedia.org/wiki/Flash_memory) (SSD, NVMe etc) devices we suggest the ATA Secure Erase command. Methods such as `nwipe` should not be used on flash storage devices as it may damage their performance. The "Secure Erase" feature is often accessible through the UEFI setup menu.
For [flash memory](https://en.wikipedia.org/wiki/Flash_memory) (SSD, NVMe, etc) devices we suggest the ATA Secure Erase command. Methods such as `nwipe` should not be used on flash storage devices as it may damage their performance. The "Secure Erase" feature is often accessible through the UEFI setup menu.
It is also possible to complete a Secure Erase using the [`hdparm`](https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase) command, or [Microsoft Secure Group Commands](https://docs.microsoft.com/en-us/windows-hardware/drivers/storage/security-group-commands).
@ -34,6 +33,4 @@ Physical destruction may be necessary to securely erase devices such as memory c
Securely shredding **individual files** is difficult if not impossible. Copies can exist in a variety of ways such as through manual, or automatic backups, [wear leveling](https://en.wikipedia.org/wiki/Wear_leveling) (on modern [flash storage](https://en.wikipedia.org/wiki/Solid-state_drive)), caching and filesystem [journaling](https://en.wikipedia.org/wiki/Journaling_file_system).
Wear leveled devices do not guarantee a fixed relationship between [logical blocks addressed](https://en.wikipedia.org/wiki/Logical_block_addressing) through the interface. This means that the physical locations in which the data is stored may be different to where it is actually located, therefore shredding may not provide adequate security.
--8<-- "includes/abbreviations.en.md"
Wear leveled devices do not guarantee a fixed relationship between [logical blocks addressed](https://en.wikipedia.org/wiki/Logical_block_addressing) through the interface. This means that the physical locations in which the data is stored may be different to where it is actually located, so shredding may not provide adequate security.

View File

@ -7,11 +7,11 @@ When sharing files, it's important to remove associated metadata. Image files co
While there are plenty of metadata removal tools, they typically aren't convenient to use. The guides featured here aim to detail how to integrate metadata removal tools in a simple fashion by utilizing easy-to-access system features.
- [Recommended metadata removal tools :material-arrow-right:](../metadata-removal-tools.md)
- [Recommended metadata removal tools :material-arrow-right-drop-circle:](../data-redaction.md)
## macOS
This guide uses the [Shortcuts](https://support.apple.com/guide/shortcuts-mac/intro-to-shortcuts-apdf22b0444c/mac) app to add an [ExifTool](../metadata-removal-tools.md#exiftool) script to the *Quick Actions* context menu within Finder. Shortcuts is developed by Apple and bundled in with macOS by default.
This guide uses the [Shortcuts](https://support.apple.com/guide/shortcuts-mac/intro-to-shortcuts-apdf22b0444c/mac) app to add an [ExifTool](../data-redaction.md#exiftool) script to the *Quick Actions* context menu within Finder. Shortcuts is developed by Apple and bundled in with macOS by default.
Shortcuts is quite intuitive to work with, so if you don't like the behavior demoed here then experiment with your own solution. For example, you could set the shortcut to take a clipboard input instead. The sky's the limit.
@ -65,7 +65,7 @@ Shortcuts is quite intuitive to work with, so if you don't like the behavior dem
![macOS metadata removal shortcut](../assets/img/integrating-metadata-removal/shortcut-macos.png)
!!! tip "Worth Mentioning"
The open source [ImageOptim](https://imageoptim.com/mac) app integrates into Finder's *Services* context menu by default. While it is primarily an image optimization app, it also removes metadata.
The open-source [ImageOptim](https://imageoptim.com/mac) app integrates into Finder's *Services* context menu by default. While it is primarily an image optimization app, it also removes metadata.
### Enabling & using the Shortcut
@ -78,8 +78,8 @@ Shortcuts is quite intuitive to work with, so if you don't like the behavior dem
[Shortcuts](https://support.apple.com/guide/shortcuts/welcome/ios) can be made accessible through the system Share Sheet, making accessing those shortcuts very convenient. This guide will show you how to build a metadata removal shortcut and integrate it into the system *Share Sheet*.
!!! attention
This method of metadata removal is not as comprehensive at removing metadata as utilities like [ExifTool](../metadata-removal-tools.md#exiftool) and [mat2](../metadata-removal-tools.md#mat2) are.
!!! warning
This method of metadata removal is not as comprehensive at removing metadata as utilities like [ExifTool](../data-redaction.md#exiftool) and [mat2](../data-redaction.md#mat2) are.
The lack of *good* metadata removal apps on the App Store is what makes this solution worthwhile.
@ -120,7 +120,7 @@ The lack of *good* metadata removal apps on the App Store is what makes this sol
## Windows
Windows allows you to place files in a **SendTo** folder which then appear in the *Send to* context menu. This guide will show you how to add an [ExifTool](../metadata-removal-tools.md#exiftool) batch script to this menu.
Windows allows you to place files in a **SendTo** folder which then appear in the *Send to* context menu. This guide will show you how to add an [ExifTool](../data-redaction.md#exiftool) batch script to this menu.
![Send to metadata removal shortcut](../assets/img/integrating-metadata-removal/preview-windows.jpg)
@ -160,5 +160,3 @@ Windows allows you to place files in a **SendTo** folder which then appear in th
### Using the shortcut
1. Right click a supported file and choose **ExifTool.bat** within the *Send to* context menu.
--8<-- "includes/abbreviations.en.md"

View File

@ -1,12 +1,20 @@
---
title: "Android"
icon: 'fontawesome/brands/android'
icon: 'simple/android'
---
These are the Android operating systems, devices, and apps we recommend to maximize your mobile device's security and privacy. We also have additional Android-related information:
![Android logo](assets/img/android/android.svg){ align=right }
- [General Android Overview and Recommendations :material-arrow-right:](android/overview.md)
- [GrapheneOS vs CalyxOS Comparison :material-arrow-right:](android/grapheneos-vs-calyxos.md)
The **Android Open Source Project** is an open-source mobile operating system led by Google which powers the majority of the world's mobile devices. Most phones sold with Android are modified to include invasive integrations and apps such as Google Play Services, so you can significantly improve your privacy on your mobile device by replacing your phone's default installation with a version of Android without these invasive features.
[:octicons-home-16:](https://source.android.com/){ .card-link title=Homepage }
[:octicons-info-16:](https://source.android.com/docs){ .card-link title=Documentation}
[:octicons-code-16:](https://cs.android.com/android/platform/superproject/){ .card-link title="Source Code" }
These are the Android operating systems, devices, and apps we recommend to maximize your mobile device's security and privacy. To learn more about Android:
- [General Android Overview :material-arrow-right-drop-circle:](android/overview.md)
- [Why we recommend GrapheneOS over CalyxOS :material-arrow-right-drop-circle:](android/grapheneos-vs-calyxos.md)
## AOSP Derivatives
@ -27,26 +35,16 @@ We recommend installing one of these custom Android operating systems on your de
GrapheneOS provides additional [security hardening](https://en.wikipedia.org/wiki/Hardening_(computing)) and privacy improvements. It has a [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc), network and sensor permissions, and various other [security features](https://grapheneos.org/features). GrapheneOS also comes with full firmware updates and signed builds, so verified boot is fully supported.
[Homepage](https://grapheneos.org/){ .md-button .md-button--primary } [Privacy Policy](https://grapheneos.org/faq#privacy-policy){ .md-button }
[:octicons-home-16: Homepage](https://grapheneos.org/){ .md-button .md-button--primary }
[:octicons-eye-16:](https://grapheneos.org/faq#privacy-policy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://grapheneos.org/faq){ .card-link title=Documentation}
[:octicons-code-16:](https://grapheneos.org/source){ .card-link title="Source Code" }
[:octicons-heart-16:](https://grapheneos.org/donate){ .card-link title=Contribute }
GrapheneOS supports [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play), which runs [Google Play Services](https://en.wikipedia.org/wiki/Google_Play_Services) fully sandboxed like any other regular app. This means you can take advantage of most Google Play Services, such as [push notifications](https://firebase.google.com/docs/cloud-messaging/), while giving you full control over their permissions and access, and while containing them to a specific work profile or user [profile](android/overview.md#user-profiles) of your choice.
GrapheneOS supports [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play), which runs [Google Play Services](https://en.wikipedia.org/wiki/Google_Play_Services) fully sandboxed like any other regular app. This means you can take advantage of most Google Play Services, such as [push notifications](https://firebase.google.com/docs/cloud-messaging/), while giving you full control over their permissions and access, and while containing them to a specific [work profile](android/overview.md#work-profile) or [user profile](android/overview.md#user-profiles) of your choice.
Google Pixel phones are the only devices that currently meet GrapheneOS's [hardware security requirements](https://grapheneos.org/faq#device-support).
### CalyxOS
!!! recommendation
![CalyxOS logo](assets/img/android/calyxos.svg){ align=right }
**CalyxOS** is a system with some privacy features on top of AOSP, including [Datura](https://calyxos.org/docs/tech/datura-details) firewall, [Signal](https://signal.org) integration in the dialer app, and a built in panic button. CalyxOS also comes with firmware updates and signed builds, so verified boot is fully supported.
[Homepage](https://calyxos.org/){ .md-button .md-button--primary } [Privacy Policy](https://calyxinstitute.org/legal/privacy-policy){ .md-button }
For people who need Google Play Services, CalyxOS optionally includes [microG](https://microg.org/). CalyxOS also includes alternate location services, [Mozilla](https://location.services.mozilla.com/) and [DejaVu](https://github.com/n76/DejaVu).
CalyxOS only [supports](https://calyxos.org/docs/guide/device-support/) Google Pixel phones. However, support for the OnePlus 8T/9 and Fairphone 4 is [currently in beta](https://calyxos.org/news/2022/04/01/fairphone4-oneplus8t-oneplus9-test-builds/).
### DivestOS
!!! recommendation
@ -56,34 +54,43 @@ CalyxOS only [supports](https://calyxos.org/docs/guide/device-support/) Google P
**DivestOS** is a soft-fork of [LineageOS](https://lineageos.org/).
DivestOS inherits many [supported devices](https://divestos.org/index.php?page=devices&base=LineageOS) from LineageOS. It has signed builds, making it possible to have [verified boot](https://source.android.com/security/verifiedboot) on some non-Pixel devices.
[Homepage](https://divestos.org){ .md-button .md-button--primary } [Privacy Policy](https://divestos.org/index.php?page=privacy_policy){ .md-button }
[:octicons-home-16: Homepage](https://divestos.org){ .md-button .md-button--primary }
[:simple-torbrowser:](http://divestoseb5nncsydt7zzf5hrfg44md4bxqjs5ifcv4t7gt7u6ohjyyd.onion){ .card-link title="Onion Service" }
[:octicons-eye-16:](https://divestos.org/index.php?page=privacy_policy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://divestos.org/index.php?page=faq){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/divested-mobile){ .card-link title="Source Code" }
[:octicons-heart-16:](https://divested.dev/index.php?page=donate){ .card-link title=Contribute }
DivestOS has automated kernel vulnerability ([CVE](https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures)) [patching](https://gitlab.com/divested-mobile/cve_checker), fewer proprietary blobs, a custom [hosts](https://divested.dev/index.php?page=dnsbl) file, and [F-Droid](https://www.f-droid.org) as the app store. It includes [UnifiedNlp](https://github.com/microg/UnifiedNlp) for network location. Its hardened WebView, [Mulch](https://gitlab.com/divested-mobile/mulch), enables [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) for all architectures and includes [network state partitioning](https://developer.mozilla.org/en-US/docs/Web/Privacy/State_Partitioning).
DivestOS has automated kernel vulnerability ([CVE](https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures)) [patching](https://gitlab.com/divested-mobile/cve_checker), fewer proprietary blobs, a custom [hosts](https://divested.dev/index.php?page=dnsbl) file, and [F-Droid](https://www.f-droid.org) as the app store. Its hardened WebView, [Mulch](https://gitlab.com/divested-mobile/mulch), enables [CFI](https://en.wikipedia.org/wiki/Control-flow_integrity) for all architectures and [network state partitioning](https://developer.mozilla.org/en-US/docs/Web/Privacy/State_Partitioning), and receives out-of-band updates.
DivestOS also includes kernel patches from GrapheneOS and enables all available kernel security features via [defconfig hardening](https://github.com/Divested-Mobile/DivestOS-Build/blob/master/Scripts/Common/Functions.sh#L758). All kernels newer than version 3.4 include full page [sanitization](https://lwn.net/Articles/334747/) and all ~22 Clang-compiled kernels have [`-ftrivial-auto-var-init=zero`](https://reviews.llvm.org/D54604?id=174471) enabled.
DivestOS implements some system hardening patches originally developed for GrapheneOS. DivestOS 16.0, 17.1, and 18.1 implements GrapheneOS's [`INTERNET`](https://developer.android.com/training/basics/network-ops/connecting) permission toggle, [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc), [exec-spawning](android/grapheneos-vs-calyxos.md#additional-hardening), [JNI](https://en.wikipedia.org/wiki/Java_Native_Interface) [constification](https://en.wikipedia.org/wiki/Const_(computer_programming)), and partial [bionic](https://en.wikipedia.org/wiki/Bionic_(software)) hardening patchsets. 17.1 and 18.1 feature GrapheneOS's per-network full [MAC randomization](https://en.wikipedia.org/wiki/MAC_address#Randomization) option, and [`ptrace_scope`](https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html) control, and automatic reboot/Wi-Fi/Bluetooth [timeout options](https://grapheneos.org/features).
DivestOS implements some system hardening patches originally developed for GrapheneOS. DivestOS 16.0 and higher implements GrapheneOS's [`INTERNET`](https://developer.android.com/training/basics/network-ops/connecting) and SENSORS permission toggle, [hardened memory allocator](https://github.com/GrapheneOS/hardened_malloc), [exec-spawning](android/grapheneos-vs-calyxos.md#additional-hardening), [JNI](https://en.wikipedia.org/wiki/Java_Native_Interface) [constification](https://en.wikipedia.org/wiki/Const_(computer_programming)), and partial [bionic](https://en.wikipedia.org/wiki/Bionic_(software)) hardening patchsets. 17.1 and higher features GrapheneOS's per-network full [MAC randomization](https://en.wikipedia.org/wiki/MAC_address#Randomization) option, [`ptrace_scope`](https://www.kernel.org/doc/html/latest/admin-guide/LSM/Yama.html) control, and automatic reboot/Wi-Fi/Bluetooth [timeout options](https://grapheneos.org/features).
!!! warning
DivestOS firmware update [status](https://gitlab.com/divested-mobile/firmware-empty/-/blob/master/STATUS) and quality control varies across the devices it supports. We still recommend GrapheneOS or CalyxOS depending on your device's compatibility. For other devices, DivestOS is a good alternative.
DivestOS firmware update [status](https://gitlab.com/divested-mobile/firmware-empty/-/blob/master/STATUS) and quality control varies across the devices it supports. We still recommend GrapheneOS depending on your device's compatibility. For other devices, DivestOS is a good alternative.
Not all of the supported devices have verified boot, and some perform it better than others.
## Android Devices
When purchasing a device, we recommend getting one as new as possible. The software and firmware of mobile devices are only supported for a limited time, so buying new extends that lifespan as much as possible.
Avoid buying phones from mobile network operators. These often have a **locked bootloader** and do not support [OEM unlocking](https://source.android.com/devices/bootloader/locking_unlocking). These phone variants will prevent you from installing any kind of alternative Android distribution.
Be very **careful** about buying second hand phones from online marketplaces. Always check the reputation of the seller. If the device is stolen there's a possibility of [IMEI blacklisting](https://www.gsma.com/security/resources/imei-blacklisting/). There is also a risk involved with you being associated with the activity of the previous owner.
Be very **careful** about buying second hand phones from online marketplaces. Always check the reputation of the seller. If the device is stolen, there's a possibility of [IMEI blacklisting](https://www.gsma.com/security/resources/imei-blacklisting/). There is also a risk involved with you being associated with the activity of the previous owner.
A few more tips regarding Android devices and operating system compatibility:
- Do not buy devices that have reached or are near their end-of-life, additional firmware updates must be provided by the manufacturer.
- Do not buy preloaded LineageOS or /e/ OS phones or any Android phones without proper [Verified Boot](https://source.android.com/security/verifiedboot) support and firmware updates. These devices also have no way for you to check whether they've been tampered with.
- In short, if a device or Android distribution is not listed here, there is probably a good reason, so check our [discussions](https://github.com/privacyguides/privacyguides.org/discussions) page.
- In short, if a device or Android distribution is not listed here, there is probably a good reason. Check out our [forum](https://discuss.privacyguides.org/) to find details!
### Google Pixel
Google Pixel phones are the **only** devices we recommend for purchase. Pixel phones have stronger hardware security than any other Android devices currently on the market, due to proper AVB support for third-party operating systems and Google's custom [Titan](https://security.googleblog.com/2021/10/pixel-6-setting-new-standard-for-mobile.html) security chips acting as the Secure Element.
!!! recommendation
![Google Pixel 6](assets/img/android/google-pixel.png){ align=right }
@ -92,9 +99,11 @@ A few more tips regarding Android devices and operating system compatibility:
Beginning with the **Pixel 6** and **6 Pro**, Pixel devices receive a minimum of 5 years of guaranteed security updates, ensuring a much longer lifespan compared to the 2-4 years competing OEMs typically offer.
[Store](https://store.google.com/category/phones){ .md-button .md-button--primary }
[:material-shopping: Store](https://store.google.com/category/phones){ .md-button .md-button--primary }
Unless you have a need for specific [CalyxOS features](https://calyxos.org/features/) that are unavailable on GrapheneOS, we strongly recommend GrapheneOS over other operating system choices on Pixel devices.
Secure Elements like the Titan M2 are more limited than the processor's Trusted Execution Environment used by most other phones as they are only used for secrets storage, hardware attestation, and rate limiting, not for running "trusted" programs. Phones without a Secure Element have to use the TEE for *all* of those functions, resulting in a larger attack surface.
Google Pixel phones use a TEE OS called Trusty which is [open-source](https://source.android.com/security/trusty#whyTrusty), unlike many other phones.
The installation of GrapheneOS on a Pixel phone is easy with their [web installer](https://grapheneos.org/install/web). If you don't feel comfortable doing it yourself and are willing to spend a bit of extra money, check out the [NitroPhone](https://shop.nitrokey.com/shop) as they come preloaded with GrapheneOS from the reputable [Nitrokey](https://www.nitrokey.com/about) company.
@ -105,64 +114,9 @@ A few more tips for purchasing a Google Pixel:
- Look at online community bargain sites in your country. These can alert you to good sales.
- Google provides a list showing the [support cycle](https://support.google.com/nexus/answer/4457705) for each one of their devices. The price per day for a device can be calculated as: $\text{Cost} \over \text {EOL Date }-\text{ Current Date}$, meaning that the longer use of the device the lower cost per day.
### Other Devices
!!! important
Google Pixel phones are the **only** devices we recommend for purchase. Pixel phones have stronger hardware security than any other Android devices currently on the market, due to proper AVB support for third party operating systems and Google's custom [Titan](https://security.googleblog.com/2021/10/pixel-6-setting-new-standard-for-mobile.html) security chips acting as the Secure Element.
Secure Elements are more limited than the processor's Trusted Execution Environment used by most other phones as they are only used for secrets storage, hardware attestation and rate limiting but not running "trusted" programs. Phones without a Secure Element have to use the TEE for secrets storage, rate limiting, *and* trusted computing, which results in a larger attack surface.
The following OEMs are only mentioned as they have phones compatible with the operating systems recommended by us. If you are purchasing a new device, we only recommend purchasing a Google Pixel.
When purchasing a device, we recommend getting one as new as possible. The software and firmware of mobile devices are only supported for a limited time, so buying new extends that lifespan as much as possible.
#### OnePlus
If you are unable to obtain a Google Pixel, recent OnePlus devices are the next best option if you want to run a custom OS without privileged Play Services. OnePlus 8 and later devices will receive 4 years of security updates from their initial launch date. CalyxOS has [experimental support](https://calyxos.org/news/2022/04/01/fairphone4-oneplus8t-oneplus9-test-builds/) for the **OnePlus 8T** and **9**.
DivestOS has support for most OnePlus devices up to the **OnePlus 7T Pro**, with varying levels of support.
#### Fairphone
!!! danger
The Fairphone 3 and 4 are not secure by default, as the [stock bootloader trusts the public AVB signing key](https://forum.fairphone.com/t/bootloader-avb-keys-used-in-roms-for-fairphone-3-4/83448/11). This breaks verified boot on a stock Fairphone device, as the system will boot alternative Android operating systems such (such as /e/) [without any warning](https://source.android.com/security/verifiedboot/boot-flow#locked-devices-with-custom-root-of-trust) about custom operating system usage.
This problem is somewhat mitigated when you install a custom operating system such as CalyxOS or DivestOS and trust the developer's signing keys rather than the stock system keys, however a vulnerability in CalyxOS or DivestOS's recovery environments could still potentially allow an attacker to bypass AVB. **To reiterate, you must install a custom operating system with custom boot keys to use Fairphone devices in a secure manner.**
CalyxOS has [experimental support](https://calyxos.org/news/2022/04/01/fairphone4-oneplus8t-oneplus9-test-builds/) for the **Fairphone 4**. DivestOS has builds available for the **Fairphone 3**.
Fairphone markets their devices as receiving 6 years of support. However, the SoC (Qualcomm Snapdragon 750G on the Fairphone 4) has a considerably shorter EOL date. This means that firmware security updates from Qualcomm for the Fairphone 4 will end in September 2023, regardless of whether Fairphone continues to release software security updates.
## General Apps
### Orbot
!!! recommendation
![Orbot logo](assets/img/android/orbot.svg){ align=right }
**Orbot** is a free proxy app that routes your connections through the Tor Network.
[Homepage](https://orbot.app/){ .md-button .md-button--primary }
??? downloads
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=org.torproject.android)
- [:pg-f-droid: F-Droid](https://guardianproject.info/fdroid)
- [:fontawesome-brands-github: Source](https://github.com/guardianproject/orbot)
- [:fontawesome-brands-gitlab: Source](https://gitlab.com/guardianproject/orbot)
Orbot can proxy individual apps if they support SOCKS or HTTP proxying. It can also proxy all your network connections using [VpnService](https://developer.android.com/reference/android/net/VpnService) and can be used with the VPN killswitch in :gear: **Settings****Network & internet****VPN** → :gear: → **Block connections without VPN**.
For resistance against traffic analysis attacks, consider enabling *Isolate Destination Address* in :material-menu: → **Settings****Connectivity**. This will use a completely different Tor Circuit (different middle relay and exit nodes) for every domain you connect to.
!!! tip
Orbot is often outdated on the Guardian Project's [F-Droid repository](https://guardianproject.info/fdroid) and [Google Play](https://play.google.com/store/apps/details?id=org.torproject.android) so consider downloading directly from the [GitHub repository](https://github.com/guardianproject/orbot) instead.
All versions are signed using the same signature so they should be compatible with each other.
We recommend a wide variety of Android apps throughout this site. The apps listed here are Android-exclusive and specifically enhance or replace key system functionality.
### Shelter
@ -170,25 +124,24 @@ For resistance against traffic analysis attacks, consider enabling *Isolate Dest
![Shelter logo](assets/img/android/shelter.svg){ align=right }
**Shelter** is an app that helps you leverage the Android work profile to isolate other apps.
**Shelter** is an app that helps you leverage Android's Work Profile functionality to isolate or duplicate apps on your device.
Shelter supports blocking contact search cross profiles and sharing files across profiles via the default file manager ([DocumentsUI](https://source.android.com/devices/architecture/modular-system/documentsui)).
[Project Info](https://gitea.angry.im/PeterCxy/Shelter#shelter){ .md-button .md-button--primary }
[:octicons-repo-16: Repository](https://gitea.angry.im/PeterCxy/Shelter#shelter){ .md-button .md-button--primary }
[:octicons-code-16:](https://gitea.angry.im/PeterCxy/Shelter){ .card-link title="Source Code" }
[:octicons-heart-16:](https://www.patreon.com/PeterCxy){ .card-link title=Contribute }
??? downloads
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=net.typeblog.shelter)
- [:pg-f-droid: F-Droid](https://f-droid.org/en/packages/net.typeblog.shelter)
- [:fontawesome-brands-github: Source](https://github.com/PeterCxy/Shelter)
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=net.typeblog.shelter)
- [:simple-fdroid: F-Droid](https://f-droid.org/en/packages/net.typeblog.shelter)
!!! warning
As CalyxOS includes a device controller, we recommend using their built in work profile instead.
Shelter is recommended over [Insular](https://secure-system.gitlab.io/Insular/) and [Island](https://github.com/oasisfeng/island) as it supports [contact search blocking](https://secure-system.gitlab.io/Insular/faq.html).
When using Shelter, you are placing complete trust in its developer as Shelter would be acting as a [Device Admin](https://developer.android.com/guide/topics/admin/device-admin) for the work profile and has extensive access to the data stored within it.
When using Shelter, you are placing complete trust in its developer, as Shelter acts as a [Device Admin](https://developer.android.com/guide/topics/admin/device-admin) to create the Work Profile, and it has extensive access to the data stored within the Work Profile.
### Auditor
@ -197,14 +150,19 @@ For resistance against traffic analysis attacks, consider enabling *Isolate Dest
![Auditor logo](assets/img/android/auditor.svg#only-light){ align=right }
![Auditor logo](assets/img/android/auditor-dark.svg#only-dark){ align=right }
**Auditor** is an app which leverages hardware security features to provide device integrity monitoring for [supported devices](https://attestation.app/about#device-support). Currently it works with GrapheneOS and the device's stock operating system.
**Auditor** is an app which leverages hardware security features to provide device integrity monitoring for [supported devices](https://attestation.app/about#device-support). Currently, it only works with GrapheneOS and the device's stock operating system.
[Website](https://attestation.app){ .md-button .md-button--primary }
[:octicons-home-16: Homepage](https://attestation.app){ .md-button .md-button--primary }
[:octicons-eye-16:](https://attestation.app/privacy-policy){ .card-link title="Privacy Policy" }
[:octicons-info-16:](https://attestation.app/about){ .card-link title=Documentation}
[:octicons-code-16:](https://attestation.app/source){ .card-link title="Source Code" }
[:octicons-heart-16:](https://attestation.app/donate){ .card-link title=Contribute }
??? downloads
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.attestation.auditor)
- [:fontawesome-brands-github: Source](https://github.com/GrapheneOS/Auditor)
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=app.attestation.auditor)
- [:simple-github: GitHub](https://github.com/GrapheneOS/Auditor/releases)
- [:material-cube-outline: GrapheneOS App Store](https://github.com/GrapheneOS/Apps/releases)
Auditor performs attestation and intrusion detection by:
@ -216,7 +174,7 @@ Auditor performs attestation and intrusion detection by:
No personally identifiable information is submitted to the attestation service. We recommend that you sign up with an anonymous account and enable remote attestation for continuous monitoring.
If your [threat model](basics/threat-modeling.md) requires privacy you could consider using Orbot or a VPN to hide your IP address from the attestation service.
If your [threat model](basics/threat-modeling.md) requires privacy, you could consider using [Orbot](tor.md#orbot) or a VPN to hide your IP address from the attestation service.
To make sure that your hardware and operating system is genuine, [perform local attestation](https://grapheneos.org/install/web#verifying-installation) immediately after the device has been installed and prior to any internet connection.
### Secure Camera
@ -226,14 +184,18 @@ To make sure that your hardware and operating system is genuine, [perform local
![Secure camera logo](assets/img/android/secure_camera.svg#only-light){ align=right }
![Secure camera logo](assets/img/android/secure_camera-dark.svg#only-dark){ align=right }
**Secure Camera** is an camera app focused on privacy and security which can capture images, videos, and QR codes. CameraX vendor extensions (Portrait, HDR, Night Sight, Face Retouch, and Auto) are also supported on available devices.
**Secure Camera** is a camera app focused on privacy and security which can capture images, videos and QR codes. CameraX vendor extensions (Portrait, HDR, Night Sight, Face Retouch, and Auto) are also supported on available devices.
[Source Code](https://github.com/GrapheneOS/Camera){ .md-button .md-button--primary }
[:octicons-repo-16: Repository](https://github.com/GrapheneOS/Camera){ .md-button .md-button--primary }
[:octicons-info-16:](https://grapheneos.org/usage#camera){ .card-link title=Documentation}
[:octicons-code-16:](https://github.com/GrapheneOS/Camera){ .card-link title="Source Code" }
[:octicons-heart-16:](https://grapheneos.org/donate){ .card-link title=Contribute }
??? downloads
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.camera.play)
- [:fontawesome-brands-github: Source](https://github.com/GrapheneOS/Camera/releases)
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.camera.play)
- [:simple-github: GitHub](https://github.com/GrapheneOS/Camera/releases)
- [:material-cube-outline: GrapheneOS App Store](https://github.com/GrapheneOS/Apps/releases)
Main privacy features include:
@ -245,7 +207,7 @@ Main privacy features include:
Metadata is not currently deleted from video files but that is planned.
The image orientation metadata is not deleted. If you enable location (in Secure Camera) that **won't** be deleted either. If you want to delete that later you will need to use an external app such as [Scrambled Exif](https://gitlab.com/juanitobananas/scrambled-exif/).
The image orientation metadata is not deleted. If you enable location (in Secure Camera) that **won't** be deleted either. If you want to delete that later you will need to use an external app such as [ExifEraser](data-redaction.md#exiferaser).
### Secure PDF Viewer
@ -258,32 +220,15 @@ Main privacy features include:
[Content-Security-Policy](https://en.wikipedia.org/wiki/Content_Security_Policy) is used to enforce that the JavaScript and styling properties within the WebView are entirely static content.
[App Info](https://github.com/GrapheneOS/PdfViewer#readme){ .md-button .md-button--primary }
[:octicons-repo-16: Repository](https://github.com/GrapheneOS/PdfViewer){ .md-button .md-button--primary }
[:octicons-code-16:](https://github.com/GrapheneOS/PdfViewer){ .card-link title="Source Code" }
[:octicons-heart-16:](https://grapheneos.org/donate){ .card-link title=Contribute }
??? downloads
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.pdfviewer.play)
- [:fontawesome-brands-github: Source](https://github.com/GrapheneOS/PdfViewer/releases)
### PrivacyBlur
!!! recommendation
![PrivacyBlur logo](assets/img/android/privacyblur.svg){ align=right }
**PrivacyBlur** is a free app which can blur sensitive portions of pictures before sharing them online.
[Website](https://privacyblur.app/){ .md-button .md-button--primary }
??? downloads
- [:fontawesome-brands-google-play: Google Play](https://play.google.com/store/apps/details?id=de.mathema.privacyblur)
- [:pg-f-droid: F-Droid](https://f-droid.org/en/packages/de.mathema.privacyblur/)
- [:fontawesome-brands-github: Source](https://github.com/MATHEMA-GmbH/privacyblur)
!!! warning
You should **never** use blur to redact [text in images](https://bishopfox.com/blog/unredacter-tool-never-pixelation). If you want to redact text in an image, draw a box over the text. For this we suggest [Pocket Paint](https://github.com/Catrobat/Paintroid) or [Imagepipe](https://codeberg.org/Starfish/Imagepipe).
- [:simple-googleplay: Google Play](https://play.google.com/store/apps/details?id=app.grapheneos.pdfviewer.play)
- [:simple-github: GitHub](https://github.com/GrapheneOS/PdfViewer/releases)
- [:material-cube-outline: GrapheneOS App Store](https://github.com/GrapheneOS/Apps/releases)
## Obtaining Applications
@ -293,51 +238,41 @@ GrapheneOS's app store is available on [GitHub](https://github.com/GrapheneOS/Ap
### Aurora Store
The Google Play Store requires a Google account to login which is not great for privacy. The [Aurora Store](https://auroraoss.com/download/AuroraStore/) (a Google Play Store proxy) does not, and works most of the time.
### F-Droid
F-Droid is often recommended as an alternative to Google Play, particularly in the privacy community. The option to add third party repositories and not be confined to Google's walled garden has led to its popularity. F-Droid additionally has [reproducible builds](https://f-droid.org/en/docs/Reproducible_Builds/) for some applications, and is dedicated to free and open source software. However, there are problems with the official F-Droid client, their quality control, and how they build, sign and deliver packages, outlined in this [post](https://wonderfall.dev/fdroid-issues/).
Sometimes the official F-Droid repository may fall behind on updates. F-Droid maintainers reuse package IDs while signing apps with their own keys, which is not ideal as it does give the F-Droid team ultimate trust. The Google Play version of some apps may contain unwanted telemetry or lack features that are available in the F-Droid version.
We have these general tips:
- Check if the app developers have their own F-Droid repository first, e.g. [Bitwarden](https://bitwarden.com/), [Samourai Wallet](https://www.samouraiwallet.com/), or [Newpipe](https://newpipe.net/), which have their own repositories with less telemetry, additional features or faster updates. This is the ideal situation and you should be using these repositories if possible.
- Check if an app is available on the [IzzyOnDroid](https://apt.izzysoft.de/fdroid/) repository. The IzzyOnDroid repository pulls builds directly from GitHub and is the next best thing to the developers' own repositories. We recommend that you download the GitHub builds and install them manually first, then use IzzyOnDroid for any subsequent updates. This will ensure that the signature of the applications you get from IzzyOnDroid matches that of the developer and the packages have not been tampered with.
- Check if there are any differences between the F-Droid version and the Google Play Store version. Some applications like [IVPN](https://www.ivpn.net/) do not include certain features (eg [AntiTracker](https://www.ivpn.net/knowledgebase/general/antitracker-faq/)) in their Google Play Store build out of fear of censorship by Google.
Evaluate whether the additional features in the F-Droid build are worth the slower updates. Also think about whether faster updates from the Google Play Store are worth the potential privacy issues in your [threat model](basics/threat-modeling.md).
#### Neo Store
<small><i>Neo Store is a recent rebrand of Droid-ify.</i></small>
The official F-Droid client targets a [low API level](https://wonderfall.dev/fdroid-issues/#3-low-target-api-level-sdk-for-client--apps) and does not utilize the [seamless updates](https://www.androidcentral.com/google-will-finally-bring-seamless-app-updates-alternative-app-stores-android-12) feature introduced in Android 12. Targeting lower API levels means that the F-Droid client cannot take advantage of the new improvements in the application sandboxes that comes with higher API levels. For automatic updates to work, the F-Droid client requires that the [Privileged Extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged/) be included in the operating system, granting it more privileges than what a normal app would have, which is not great for security.
To mitigate these problems, we recommend [Neo Store](https://github.com/NeoApplications/Neo-Store) as it supports seamless updates on Android 12 and above without needing any special privileges and targets a higher API level.
The Google Play Store requires a Google account to login which is not great for privacy. You can get around this by using an alternative client, such as Aurora Store.
!!! recommendation
![Neo Store logo](assets/img/android/neo-store.png){ align=right }
![Aurora Store logo](assets/img/android/aurora-store.webp){ align=right }
**Neo Store** is a modern F-Droid client made with MaterialUI, forked from [Foxy Droid](https://github.com/kitsunyan/foxy-droid).
**Aurora Store** is a Google Play Store client which does not require a Google Account, Google Play Services, or microG to download apps.
Unlike the official F-Droid client, Neo Store supports seamless updates on Android 12 and above without the need for a privileged extension. If your Android distribution is on Android 12 or above and does not include the [F-Droid privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged/), it is highly recommended that you use Neo Store instead of the official client.
[:octicons-home-16: Homepage](https://auroraoss.com/){ .md-button .md-button--primary }
[:octicons-code-16:](https://gitlab.com/AuroraOSS/AuroraStore){ .card-link title="Source Code" }
??? downloads
- [:fontawesome-brands-android: APK Download](https://android.izzysoft.de/repo/apk/com.looker.droidify)
- [:fontawesome-brands-github: Source](https://github.com/NeoApplications/Neo-Store)
- [:simple-fdroid: F-Droid](https://f-droid.org/en/packages/com.aurora.store/)
- [:simple-gitlab: GitLab](https://gitlab.com/AuroraOSS/AuroraStore/-/releases)
Aurora Store does not allow you to download paid apps with their anonymous account feature. You can optionally log in with your Google account with Aurora Store to download apps you have purchased, which does give access to the list of apps you've installed to Google, however you still benefit from not requiring the full Google Play client and Google Play Services or microG on your device.
### Manually with RSS Notifications
If an app is released on a platform like GitHub, you may be able to add an RSS feed to your [news aggregator](/news-aggregators) that will help you be aware of new releases. Using [Secure Camera](#secure-camera) as an example, you would navigate to its [releases page](https://github.com/GrapheneOS/Camera/releases) on GitHub and append `.atom` to the URL:
For apps that are released on platforms like GitHub and GitLab, you may be able to add an RSS feed to your [news aggregator](/news-aggregators) that will help you keep track of new releases.
![RSS APK](./assets/img/android/rss-apk-light.png#only-light) ![RSS APK](./assets/img/android/rss-apk-dark.png#only-dark) ![APK Changes](./assets/img/android/rss-changes-light.png#only-light) ![APK Changes](./assets/img/android/rss-changes-dark.png#only-dark)
#### GitHub
On GitHub, using [Secure Camera](#secure-camera) as an example, you would navigate to its [releases page](https://github.com/GrapheneOS/Camera/releases) and append `.atom` to the URL:
`https://github.com/GrapheneOS/Camera/releases.atom`
![RSS Feed](./assets/img/android/gfeeds-light.png#only-light)
![RSS Feed](./assets/img/android/gfeeds-dark.png#only-dark)
#### GitLab
On GitLab, using [Aurora Store](#aurora-store) as an example, you would navigate to its [project repository](https://gitlab.com/AuroraOSS/AuroraStore) and append `/-/tags?format=atom` to the URL:
`https://gitlab.com/AuroraOSS/AuroraStore/-/tags?format=atom`
#### Verifying APK Fingerprints
@ -370,4 +305,18 @@ If you download APK files to install manually, you can verify their signature wi
Signer #1 certificate MD5 digest: dbbcd0cac71bd6fa2102a0297c6e0dd3
```
--8<-- "includes/abbreviations.en.md"
### F-Droid
![F-Droid logo](assets/img/android/f-droid.svg){ align=right width=120px }
==We do **not** currently recommend F-Droid as a way to obtain apps.== F-Droid is often recommended as an alternative to Google Play, particularly in the privacy community. The option to add third-party repositories and not be confined to Google's walled garden has led to its popularity. F-Droid additionally has [reproducible builds](https://f-droid.org/en/docs/Reproducible_Builds/) for some applications and is dedicated to free and open-source software. However, there are [notable problems](https://wonderfall.dev/fdroid-issues/) with the official F-Droid client, their quality control, and how they build, sign, and deliver packages.
Due to their process of building apps, apps in the official F-Droid repository often fall behind on updates. F-Droid maintainers also reuse package IDs while signing apps with their own keys, which is not ideal as it gives the F-Droid team ultimate trust.
Other popular third-party repositories such as [IzzyOnDroid](https://apt.izzysoft.de/fdroid/) alleviate some of these concerns. The IzzyOnDroid repository pulls builds directly from GitHub and is the next best thing to the developers' own repositories. However, it is not something that we can recommend, as apps are typically [removed](https://github.com/vfsfitvnm/ViMusic/issues/240#issuecomment-1225564446) from that respository when they make it to the main F-droid repository. While that makes sense (since the goal of that particular repository is to host apps before they're accepted into the main F-Droid repository), it can leave you with installed apps which no longer receive updates.
That said, the [F-droid](https://f-droid.org/en/packages/) and [IzzyOnDroid](https://apt.izzysoft.de/fdroid/) repositories are home to countless apps, so they can be a useful tool to search for and discover open-source apps that you can then download through Play Store, Aurora Store, or by getting the APK directly from the developer. It is important to keep in mind that some apps in these repositories have not been updated in years and may rely on unsupported libraries, among other things, posing a potential security risk. You should use your best judgement when looking for new apps via this method.
!!! note
In some rare cases, the developer of an app will only distribute it through F-droid ([Gadgetbridge](https://gadgetbridge.org/) is one example of this). If you really need an app like that, we recommend using [Neo Store](https://github.com/NeoApplications/Neo-Store/) instead of the official F-droid app to obtain it.

View File

@ -1,44 +1,65 @@
---
title: "GrapheneOS vs CalyxOS"
title: "GrapheneOS or CalyxOS?"
icon: 'material/cellphone-cog'
---
## Profiles
CalyxOS includes a device controller app so there is no need to install a third party app like Shelter.
GrapheneOS and CalyxOS are often compared as similar options for people looking for an alternative Android OS for their Pixel devices. Below are some of the reasons why we recommend GrapheneOS over CalyxOS.
GrapheneOS extends the user profile feature, allowing you to end a current session. To do this, select *End Session* which will clear the encryption key from memory. There are plans to add a [cross profile notifications system](https://github.com/GrapheneOS/os-issue-tracker/issues/88) in the future. GrapheneOS plans to introduce nested profile support with better isolation in the future.
## Update Frequency
CalyxOS has a track record of being slower to apply security and feature updates to its OS and core applications than other custom Android operating systems. Timely security updates are one of the most important factors to consider when determining whether an OS is secure enough for regular use, which is a requirement for privacy.
In contrast to that, GrapheneOS manages to stay close to upstream and in some cases even [deliver updates before the stock OS does](https://grapheneos.org/features#more-complete-patching).
As an example, [GrapheneOS's first Android 12 release](https://grapheneos.org/releases#2021102020) was in October 2021, whereas [CalyxOS moved to Android 12](https://calyxos.org/news/2022/01/19/android-12-changelog/) in January 2022.
## Sandboxed Google Play vs Privileged microG
When Google Play services are used on GrapheneOS, they run as a user app and are contained within a user or work profile.
When Google Play Services are used on GrapheneOS, they are confined using the highly restrictive, default [`untrusted_app`](https://source.android.com/security/selinux/concepts) [SELinux](https://en.wikipedia.org/wiki/Security-Enhanced_Linux) domain. As a result, you have full control as to what these apps can access via permissions, just like any other app you install. Additionally, you can selectively choose which profile(s) to install the Sandboxed Google Play in.
Sandboxed Google Play is confined using the highly restrictive, default [`untrusted_app`](https://source.android.com/security/selinux/concepts) domain provided by [SELinux](https://en.wikipedia.org/wiki/Security-Enhanced_Linux). Permissions for apps to use Google Play Services can be revoked at any time.
microG is a partially open-source re-implementation of Google Play Services.[^1] On CalyxOS, it runs in the highly privileged [`system_app`](https://source.android.com/security/selinux/concepts) SELinux domain like regular Google Play Services, and it uses [signature spoofing](https://github.com/microg/GmsCore/wiki/Signature-Spoofing) to masquerade as Google Play Services. This is less secure than Sandboxed Google Play's approach, which does not need access to sensitive system APIs.
microG is an open-source re-implementation of Google Play Services. This means it needs to be updated every time Android has a major version update (or the Android API changes). It also needs to run in the highly privileged [`system_app`](https://source.android.com/security/selinux/concepts) SELinux domain like regular Google Play Services, and it requires an operating system that allows [signature spoofing](https://github.com/microg/GmsCore/wiki/Signature-Spoofing), which allows system apps to insecurely masquerade as other apps. This is less secure than Sandboxed Google Play's approach, which does not need access to sensitive system APIs.
When using Sandboxed Play Services, you have the option to reroute location requests to the Play Services API back to the OS location API which uses satellite based location services. With microG, you have the option to either not use a network location backend at all, *shift trust* to another location backend like Mozilla, or use [DejaVu](https://github.com/n76/DejaVu), a location backend that locally collects and saves RF-based location data to an offline database which can be used when GPS is not available.
When using Sandboxed Google Play, you have the option to reroute location requests to the Play Services API back to the OS location API, which uses satellite based location services. With microG, you have the option to choose between different backend location providers, including *shifting trust* to another location backend, like Mozilla; using [DejaVu](https://github.com/n76/DejaVu), a location backend that locally collects and saves RF-based location data to an offline database which can be used when GPS is not available; or to simply not use a network location backend at all.
Network location providers like Play Services or Mozilla rely the on the MAC addresses of surrounding WiFi access points and Bluetooth devices being submitted for location approximation. Choosing a network location like Mozilla to use with microG provides little to no privacy benefit over Google because you are still submitting the same data and trusting them to not profile you.
Local RF location backends like DejaVu require that the phone has a working GPS first for the local RF data collected to be useful. This makes them ineffective as location providers, as the job of a location provider is to assist location approximation when satellite based services are not working.
Local RF location backends like DejaVu require that the phone has a working GPS first for the local RF data collected to be useful. This makes them less effective as location providers, as the job of a location provider is to assist location approximation when satellite based services are not working.
If your threat model requires protecting your location or the MAC addresses of nearby devices, rerouting location requests to the OS location API is probably the best option. The benefit brought by microG's custom location backend is minimal at best when compared to Sandboxed Play Services.
If your [threat model](../basics/threat-modeling.md) requires protecting your location or the MAC addresses of nearby devices, rerouting location requests to the OS location API is probably the best option. The benefit brought by microG's custom location backend is minimal at best when compared to Sandboxed Google Play.
In terms of application compatibility, Sandboxed Google Play outperforms microG due to its support for many services which microG has not yet implemented, like [Google Play Games](https://play.google.com/googleplaygames) and [In-app Billing API](https://android-doc.github.io/google/play/billing/api.html). Authentication using [FIDO](security/multi-factor-authentication#fido-fast-identity-online) with online services on Android also relies on Play Services, and the feature is not yet implemented in microG.
In terms of application compatibility, ==Sandboxed Google Play on GrapheneOS is always going to be more compatible== as it is the same code as what is released by Google. microG is a reimplementation of these services. As a result, it only supports the various parts that have been reimplemented, meaning some things such as [Google Play Games](https://play.google.com/googleplaygames) and [In-app Billing API](https://android-doc.github.io/google/play/billing/api.html) are not yet supported.
Larger apps, especially games, require [Play Asset Delivery](https://android-developers.googleblog.com/2020/06/introducing-google-play-asset-delivery.html) to be installed, which is currently not implemented in microG. Authentication using [FIDO](../basics/multi-factor-authentication.md#fido-fast-identity-online) with online services on Android also relies on Play Services, and does not currently work with microG.
[^1]: It should be noted that microG still uses proprietary Google binaries for some of its components such as DroidGuard. Push notifications, if enabled, still go through Google's servers just like with Play Services. Outside of default microG setups like on CalyxOS, it is possible to run microG in the unprivileged [`untrusted app`](https://source.android.com/security/selinux/concepts) SELinux domain and without the signature spoofing patch. However, microG's functionality and compatibility, which is already not nearly as broad as Sandboxed Google Play, will greatly diminish.
## Privileged eSIM Activation Application
Currently, eSIM activation is tied to a privileged proprietary application by Google. The app has the `READ_PRIVILEGED_PHONE_STATE` permission, giving Google access to your hardware identifiers such as the IMEI.
On GrapheneOS, the app comes disabled and you can *optionally* enable it after installing Sandboxed Google Play.
On CalyxOS, the app comes installed by default (regardless of whether you choose to have microG or not) and you cannot opt-out. This means that Google still has access to your hardware identifiers regardless of whether or not you need eSIM activation and they can be accessed persistently.
## Privileged App Extensions
Android 12 comes with special support for seamless app updates with [third party app stores](https://android-developers.googleblog.com/2020/09/listening-to-developer-feedback-to.html). The popular Free and Open Source Software (FOSS) repository [F-Droid](https://f-droid.org) doesn't implement this feature and requires a [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged) to be included with the Android distribution in order to have unattended app installation.
Android 12 comes with special support for seamless app updates with [third-party app stores](https://android-developers.googleblog.com/2020/09/listening-to-developer-feedback-to.html). The popular Free and Open-Source Software (FOSS) repository [F-Droid](https://f-droid.org) doesn't implement this feature and requires a [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged) to be included with the Android distribution in order to have unattended app updates.
GrapheneOS does not include F-Droid, because all updates have to be manually installed, which poses a security risk. However, you can use the [Neo Store](../android.md#neo-store) client for F-Droid which does support seamless (background) app updates in Android 12. GrapheneOS officially recommends [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play) instead. Many FOSS Android apps are also in Google Play but sometimes they are not (like [NewPipe](../video-streaming.md)).
CalyxOS includes the [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged), which may lower device security.
CalyxOS includes the [privileged extension](https://f-droid.org/en/packages/org.fdroid.fdroid.privileged), which may lower device security. Seamless app updates should be possible with [Aurora Store](https://auroraoss.com) in Android 12.
On the other hand, GrapheneOS officially recommends [Sandboxed Google Play](https://grapheneos.org/usage#sandboxed-google-play) instead. Many FOSS Android apps are also in Google's Play Store but sometimes they are not (like [NewPipe](../frontends.md#newpipe-android)). In those cases, you can [keep up with updates using RSS](../android.md#manually-with-rss-notifications).
## Additional hardening
## Profiles
GrapheneOS significantly improves [user profiles](overview.md#user-profiles) in [multiple ways](https://grapheneos.org/features#improved-user-profiles), such as increasing the limit of how many profiles you can create (32 instead of the standard 4), allowing you to log out of user profiles, disabling app installation, and notification forwarding. All of these improvements make it so user profiles can be daily driven without sacrificing too much usability.
CalyxOS doesn't feature any improvements to user profiles over AOSP, and instead includes a device controller app so that the [work profile](overview.md#work-profile) can be used without needing to download a third party app such as [Shelter](../android.md#shelter). However, work profiles are not nearly as flexible (as you're limited to only one) and don't provide the same amount of isolation and security.
## Additional Hardening
GrapheneOS improves upon [AOSP](https://source.android.com/) security with:
- **Hardened WebView:** Vanadium WebView requires [64-bit](https://en.wikipedia.org/wiki/64-bit_computing) processes on the [WebView](https://developer.android.com/reference/android/webkit/WebView) process and disables legacy [32-bit](https://en.wikipedia.org/wiki/32-bit_computing) processes. It uses hardened compiler options such as [`-fwrapv`](https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html) and [`-fstack-protector-strong`](https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/Optimize-Options.html), which can help protect against [stack buffer overflows](https://en.wikipedia.org/wiki/Stack_buffer_overflow). [API](https://en.wikipedia.org/wiki/API)s such as the [battery status API](https://chromestatus.com/feature/4537134732017664) are disabled for privacy reasons. All system apps on GrapheneOS use the Vanadium WebView which means that apps which use WebView will also benefit from Vanadium's hardening. The [Vanadium patch set](https://github.com/GrapheneOS/Vanadium/tree/12/patches) is a lot more comprehensive than CalyxOS's [Chromium patch set](https://gitlab.com/CalyxOS/chromium-patches) which is derived from it.
- **Hardened WebView:** Vanadium WebView requires [64-bit](https://en.wikipedia.org/wiki/64-bit_computing) processes on the [WebView](https://developer.android.com/reference/android/webkit/WebView) process and disables legacy [32-bit](https://en.wikipedia.org/wiki/32-bit_computing) processes. It uses hardened compiler options such as [`-fwrapv`](https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html) and [`-fstack-protector-strong`](https://gcc.gnu.org/onlinedocs/gcc-4.9.3/gcc/Optimize-Options.html), which can help protect against [stack buffer overflows](https://en.wikipedia.org/wiki/Stack_buffer_overflow). [API](https://en.wikipedia.org/wiki/API)s such as the [battery status API](https://chromestatus.com/feature/4537134732017664) are disabled for privacy reasons. All system apps on GrapheneOS use the Vanadium WebView which means that apps which use WebView will also benefit from Vanadium's hardening. The [Vanadium patch set](https://github.com/GrapheneOS/Vanadium) is a lot more comprehensive than CalyxOS's [Chromium patch set](https://gitlab.com/CalyxOS/chromium-patches) which is derived from it.
- **Hardened Kernel:** GrapheneOS kernel includes some hardening from the [linux-hardened](https://github.com/GrapheneOS/linux-hardened) project and the [Kernel Self Protection Project (KSPP)](https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project). CalyxOS uses the [same kernel](https://calyxos.org/docs/development/build/kernel/) as regular Android with some minor modifications.
- **Hardened Memory Allocator:** GrapheneOS uses the [hardened malloc](https://github.com/GrapheneOS/hardened_malloc) subproject as its memory allocator. This focuses on hardening against [memory heap corruption](https://en.wikipedia.org/wiki/Memory_corruption). CalyxOS uses the default AOSP [Scudo Malloc](https://source.android.com/devices/tech/debug/scudo), which is generally [less effective](https://twitter.com/danielmicay/status/1033671709197398016). Hardened Malloc has uncovered vulnerabilities in AOSP which have been [fixed](https://github.com/GrapheneOS/platform_system_core/commit/be11b59725aa6118b0e1f0712572e835c3d50746) by GrapheneOS such as [CVE-2021-0703](https://nvd.nist.gov/vuln/detail/CVE-2021-0703).
- **Secure Exec Spawning:** GrapheneOS [spawns](https://en.wikipedia.org/wiki/Spawn_(computing)) fresh processes as opposed to using the [Zygote model](https://ayusch.com/android-internals-the-android-os-boot-process) used by AOSP and CalyxOS. The Zygote model weakens [Address Space Layout Randomization](https://en.wikipedia.org/wiki/Address_space_layout_randomization) (ASLR) and is considered [less secure](https://wenke.gtisc.gatech.edu/papers/morula.pdf). Creating [fresh processes](https://grapheneos.org/usage#exec-spawning) is safer but will have some performance penalty when launching a new application. These penalties are not really noticeable unless you have an [old device](https://support.google.com/nexus/answer/4457705) with slow storage such as the Pixel 3a/3a XL as it has [eMMC](https://en.wikipedia.org/wiki/MultiMediaCard#eMMC).

View File

@ -6,19 +6,19 @@ Android is a secure operating system that has strong [app sandboxing](https://so
## Choosing an Android Distribution
When you buy an Android phone, the device's default operating system often comes with invasive integration with apps and services that are not part of the [Android Open Source Project](https://source.android.com/). An example of such is Google Play Services, which has unrevokable privileges to access your files, contacts storage, call logs, SMS messages, location, camera, microphone, hardware identifiers, and so on. These apps and services increase the attack surface of your device and are the source of various privacy concerns with Android.
When you buy an Android phone, the device's default operating system often comes with invasive integration with apps and services that are not part of the [Android Open-Source Project](https://source.android.com/). An example of such is Google Play Services, which has irrevocable privileges to access your files, contacts storage, call logs, SMS messages, location, camera, microphone, hardware identifiers, and so on. These apps and services increase the attack surface of your device and are the source of various privacy concerns with Android.
This problem could be solved by using a custom Android distribution that does not come with such invasive integration. Unfortunately, many custom Android distributions often violate the Android security model by not supporting critical security features such as AVB, rollback protection, firmware updates, and so on. Some distributions also ship [`userdebug`](https://source.android.com/setup/build/building#choose-a-target) builds which expose root via [ADB](https://developer.android.com/studio/command-line/adb) and require [more permissive](https://github.com/LineageOS/android_system_sepolicy/search?q=userdebug&type=code) SELinux policies to accomodate debugging features, resulting in a further increased attack surface and weakened security model.
This problem could be solved by using a custom Android distribution that does not come with such invasive integration. Unfortunately, many custom Android distributions often violate the Android security model by not supporting critical security features such as AVB, rollback protection, firmware updates, and so on. Some distributions also ship [`userdebug`](https://source.android.com/setup/build/building#choose-a-target) builds which expose root via [ADB](https://developer.android.com/studio/command-line/adb) and require [more permissive](https://github.com/LineageOS/android_system_sepolicy/search?q=userdebug&type=code) SELinux policies to accommodate debugging features, resulting in a further increased attack surface and weakened security model.
Ideally, when choosing a custom Android distribution, you should make sure that it upholds the Android security model. At the very least, the distribution should have production builds, support for AVB, rollback protection, timely firmware and operating system updates, and SELinux in [enforcing mode](https://source.android.com/security/selinux/concepts#enforcement_levels). All of our recommended Android distributions satisfy these criteria.
[Our Android System Recommendations :material-arrow-right:](../android.md){ .md-button }
[Our Android System Recommendations :material-arrow-right-drop-circle:](../android.md){ .md-button }
## Avoid Rooting
[Rooting](https://en.wikipedia.org/wiki/Rooting_(Android)) Android phones can decrease security significantly as it weakens the complete [Android security model](https://en.wikipedia.org/wiki/Android_(operating_system)#Security_and_privacy). This can decrease privacy should there be an exploit that is assisted by the decreased security. Common rooting methods involve directly tampering with the boot partition, making it impossible to perform successful Verified Boot. Apps that require root will also modify the system partition meaning that Verified Boot would have to remain disabled. Having root exposed directly in the user interface also increases the [attack surface](https://en.wikipedia.org/wiki/Attack_surface) of your device and may assist in [privilege escalation](https://en.wikipedia.org/wiki/Privilege_escalation) vulnerabilities and SELinux policy bypasses.
Adblockers which modify the [hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) (AdAway) and firewalls (AFWall+) which require root access persistently are dangerous and should not be used. They are also not the correct way to solve their intended purposes. For Adblocking we suggest encrypted [DNS](../dns.md) or [VPN](../vpn.md) server blocking solutions instead. RethinkDNS, TrackerControl and AdAway in non-root mode will take up the VPN slot (by using a local loopback VPN) preventing you from using privacy enhancing services such as Orbot or a real VPN server.
Adblockers, which modify the [hosts file](https://en.wikipedia.org/wiki/Hosts_(file)) (AdAway) and firewalls (AFWall+) which require root access persistently are dangerous and should not be used. They are also not the correct way to solve their intended purposes. For Adblocking we suggest encrypted [DNS](../dns.md) or [VPN](../vpn.md) server blocking solutions instead. RethinkDNS, TrackerControl and AdAway in non-root mode will take up the VPN slot (by using a local loopback VPN) preventing you from using privacy enhancing services such as Orbot or a real VPN server.
AFWall+ works based on the [packet filtering](https://en.wikipedia.org/wiki/Firewall_(computing)#Packet_filter) approach and may be bypassable in some situations.
@ -30,39 +30,47 @@ We do not believe that the security sacrifices made by rooting a phone are worth
Android 10 and above has moved away from full-disk encryption to more flexible [file-based encryption](https://source.android.com/security/encryption/file-based). Your data is encrypted using unique encryption keys, and the operating system files are left unencrypted.
Verified Boot ensures the integrity of the operating system files, thereby preventing an adversary with physical access from tampering or installing malware on the device. In the unlikely case that malware is able to exploit other parts of the system and gain higher privileged access, Verified Boot will prevent and revert changes to the system partition upon rebooting device.
Verified Boot ensures the integrity of the operating system files, thereby preventing an adversary with physical access from tampering or installing malware on the device. In the unlikely case that malware is able to exploit other parts of the system and gain higher privileged access, Verified Boot will prevent and revert changes to the system partition upon rebooting the device.
Unfortunately, OEMs are only obliged to support Verified Boot on their stock Android distribution. Only a few OEMs such as Google support custom AVB key enrollment on their devices. Additionally, some AOSP derivatives such as LineageOS or /e/ OS do not support Verified Boot even on hardware with Verified Boot support for third party operating systems. We recommend that you check for support **before** purchasing a new device. AOSP derivatives which do not support Verified Boot are **not** recommended.
Unfortunately, OEMs are only obliged to support Verified Boot on their stock Android distribution. Only a few OEMs such as Google support custom AVB key enrollment on their devices. Additionally, some AOSP derivatives such as LineageOS or /e/ OS do not support Verified Boot even on hardware with Verified Boot support for third-party operating systems. We recommend that you check for support **before** purchasing a new device. AOSP derivatives which do not support Verified Boot are **not** recommended.
Many OEMs also have broken implementation of Verified Boot that you have to be aware of beyond their marketing. For example, the Fairphone 3 and 4 are not secure by default, as the [stock bootloader trusts the public AVB signing key](https://forum.fairphone.com/t/bootloader-avb-keys-used-in-roms-for-fairphone-3-4/83448/11). This breaks verified boot on a stock Fairphone device, as the system will boot alternative Android operating systems such (such as /e/) [without any warning](https://source.android.com/security/verifiedboot/boot-flow#locked-devices-with-custom-root-of-trust) about custom operating system usage.
## Firmware Updates
Firmware updates are critical for maintaining security and without them your device cannot be secure. OEMs have support agreements with their partners to provide the closed source components for a limited support period. These are detailed in the monthly [Android Security Bulletins](https://source.android.com/security/bulletin).
Firmware updates are critical for maintaining security and without them your device cannot be secure. OEMs have support agreements with their partners to provide the closed-source components for a limited support period. These are detailed in the monthly [Android Security Bulletins](https://source.android.com/security/bulletin).
As the components of the phone such as the processor and radio technologies rely on closed source components, the updates must be provided by the respective manufacturers. Therefore it is important that you purchase a device within an active support cycle. [Qualcomm](https://www.qualcomm.com/news/releases/2020/12/16/qualcomm-and-google-announce-collaboration-extend-android-os-support-and) and [Samsung](https://news.samsung.com/us/samsung-galaxy-security-extending-updates-knox/) support their devices for 4 years, while cheaper products often have shorter support cycles. With the introduction of the [Pixel 6](https://support.google.com/pixelphone/answer/4457705), Google now makes their own SoC and they will provide a minimum of 5 years of support.
As the components of the phone, such as the processor and radio technologies rely on closed-source components, the updates must be provided by the respective manufacturers. Therefore, it is important that you purchase a device within an active support cycle. [Qualcomm](https://www.qualcomm.com/news/releases/2020/12/16/qualcomm-and-google-announce-collaboration-extend-android-os-support-and) and [Samsung](https://news.samsung.com/us/samsung-galaxy-security-extending-updates-knox/) support their devices for 4 years, while cheaper products often have shorter support cycles. With the introduction of the [Pixel 6](https://support.google.com/pixelphone/answer/4457705), Google now makes their own SoC and they will provide a minimum of 5 years of support.
EOL devices which are no longer supported by the SoC manufacturer cannot receive firmware updates from OEM vendors or after market Android distributors. This means that security issues with those devices will remain unfixed.
Fairphone, for example, markets their devices as receiving 6 years of support. However, the SoC (Qualcomm Snapdragon 750G on the Fairphone 4) has a considerably shorter EOL date. This means that firmware security updates from Qualcomm for the Fairphone 4 will end in September 2023, regardless of whether Fairphone continues to release software security updates.
## Android Versions
It's important to not use an [end-of-life](https://endoflife.date/android) version of Android. Newer versions of Android not only receive security updates for the operating system but also important privacy enhancing updates too. For example, [prior to Android 10](https://developer.android.com/about/versions/10/privacy/changes), any apps with the [`READ_PHONE_STATE`](https://developer.android.com/reference/android/Manifest.permission#READ_PHONE_STATE) permission could access sensitive and unique serial numbers of your phone such as [IMEI](https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity), [MEID](https://en.wikipedia.org/wiki/Mobile_equipment_identifier), your SIM card's [IMSI](https://en.wikipedia.org/wiki/International_mobile_subscriber_identity), whereas now they must be system apps to do so. System apps are only provided by the OEM or Android distribution.
## Android Permissions
[Permissions on Android](https://developer.android.com/guide/topics/permissions/overview) grant you control over what apps are allowed to access. Google regularly makes [improvements](https://developer.android.com/about/versions/11/privacy/permissions) on the permission system in each successive version. All apps you install are strictly [sandboxed](https://source.android.com/security/app-sandbox), therefore there is no need to install any antivirus apps. The savings you make from not purchasing or subscribing to security apps is better spent on paying for a supported device in the future.
[Permissions on Android](https://developer.android.com/guide/topics/permissions/overview) grant you control over what apps are allowed to access. Google regularly makes [improvements](https://developer.android.com/about/versions/11/privacy/permissions) on the permission system in each successive version. All apps you install are strictly [sandboxed](https://source.android.com/security/app-sandbox), therefore, there is no need to install any antivirus apps. A smartphone with the latest version of Android will always be more secure than an old smartphone with an antivirus that you have paid for. It's better not to pay for antivirus software and to save money to buy a new smartphone such as a Google Pixel.
Should you want to run an app that you're unsure about, consider using a user or work [profile](android/#android-security-privacy).
Should you want to run an app that you're unsure about, consider using a user or work profile.
## Media Access
Quite a few applications allows you to "share" a file with them for media upload. If you want to, for example, tweet a picture to Twitter, do not grant Twitter access to your "media and photos", because it will have access to all of your pictures then. Instead, go to your file manager (documentsUI), hold onto the picture, then share it with Twitter.
## User Profiles
Multiple user profiles can be found in **Settings****System****Multiple users** and are the simplest way to isolate in Android.
With user profiles, you can impose restrictions on a specific profile, such as: making calls, using SMS, or installing apps on the device. Each profile is encrypted using its own encryption key and cannot access the data of any other profiles. Even the device owner cannot view the data of other profiles without knowing their password. Multiple user profiles is a more secure method of isolation.
With user profiles, you can impose restrictions on a specific profile, such as: making calls, using SMS, or installing apps on the device. Each profile is encrypted using its own encryption key and cannot access the data of any other profiles. Even the device owner cannot view the data of other profiles without knowing their password. Multiple user profiles are a more secure method of isolation.
## Work Profile
[Work Profiles](https://support.google.com/work/android/answer/6191949) are another way to isolate individual apps and may be more convenient than separate user profiles.
A **device controller** such as [Shelter](#recommended-apps) is required, unless you're using CalyxOS which includes one.
A **device controller** app such as [Shelter](#recommended-apps) is required to create a Work Profile without an enterprise MDM, unless you're using a custom Android OS which includes one.
The work profile is dependent on a device controller to function. Features such as *File Shuttle* and *contact search blocking* or any kind of isolation features must be implemented by the controller. You must also fully trust the device controller app, as it has full access to your data inside of the work profile.
@ -70,7 +78,7 @@ This method is generally less secure than a secondary user profile; however, it
## VPN Killswitch
Android 7 and above supports a VPN killswitch and it is available without the need to install third party apps. This feature can prevent leaks if the VPN is disconnected. It can be found in (:gear: **Settings****Network & internet****VPN** → :gear: → **Block connections without VPN**).
Android 7 and above supports a VPN killswitch and it is available without the need to install third-party apps. This feature can prevent leaks if the VPN is disconnected. It can be found in :gear: **Settings****Network & internet****VPN** → :gear: → **Block connections without VPN**.
## Global Toggles
@ -86,8 +94,8 @@ If you have a Google account we suggest enrolling in the [Advanced Protection Pr
The Advanced Protection Program provides enhanced threat monitoring and enables:
- Stricter two factor authentication; e.g. that [FIDO](../basics/multi-factor-authentication.md#fido-fast-identity-online) **must** be used and disallows the use of [SMS OTPs](../basics/multi-factor-authentication.md#sms-or-email-mfa), [TOTP](../basics/multi-factor-authentication.md#time-based-one-time-password-totp), and [OAuth](https://en.wikipedia.org/wiki/OAuth)
- Only Google and verified third party apps can access account data
- Stricter two factor authentication; e.g. that [FIDO](../basics/multi-factor-authentication.md#fido-fast-identity-online) **must** be used and disallows the use of [SMS OTPs](../basics/multi-factor-authentication.md#sms-or-email-mfa), [TOTP](../basics/multi-factor-authentication.md#time-based-one-time-password-totp) and [OAuth](https://en.wikipedia.org/wiki/OAuth)
- Only Google and verified third-party apps can access account data
- Scanning of incoming emails on Gmail accounts for [phishing](https://en.wikipedia.org/wiki/Phishing#Email_phishing) attempts
- Stricter [safe browser scanning](https://www.google.com/chrome/privacy/whitepaper.html#malware) with Google Chrome
- Stricter recovery process for accounts with lost credentials
@ -119,8 +127,6 @@ You will either be given the option to delete your advertising ID or to *Opt out
### SafetyNet and Play Integrity API
[SafetyNet](https://developer.android.com/training/safetynet/attestation) and the [Play Integrity APIs](https://developer.android.com/google/play/integrity) are generally used for [banking apps](https://grapheneos.org/usage#banking-apps). Many banking apps will work fine in GrapheneOS with sandboxed Play services, however some non-financal apps have their own crude anti-tampering mechanisms which might fail. GrapheneOS passes the `basicIntegrity` check, but not the certification check `ctsProfileMatch`. Devices with Android 8 or later have hardware attestation support which cannot be bypassed without leaked keys or serious vulnerabilities.
[SafetyNet](https://developer.android.com/training/safetynet/attestation) and the [Play Integrity APIs](https://developer.android.com/google/play/integrity) are generally used for [banking apps](https://grapheneos.org/usage#banking-apps). Many banking apps will work fine in GrapheneOS with sandboxed Play services, however some non-financial apps have their own crude anti-tampering mechanisms which might fail. GrapheneOS passes the `basicIntegrity` check, but not the certification check `ctsProfileMatch`. Devices with Android 8 or later have hardware attestation support which cannot be bypassed without leaked keys or serious vulnerabilities.
As for Google Wallet, we don't recommend this due to their [privacy policy](https://payments.google.com/payments/apis-secure/get_legal_document?ldo=0&ldt=privacynotice&ldl=en), which states you must opt-out if you don't want your credit rating and personal information shared with affiliate marketing services.
--8<-- "includes/abbreviations.en.md"

12
docs/articles.en.md Normal file
View File

@ -0,0 +1,12 @@
---
title: Curated Articles from Around the Web
hide:
- navigation
- feedback
---
<script>
window.location.href = "https://discuss.privacyguides.org/c/blog/10";
</script>
{% for article in articles %}
- **{{ article.date }}**: [{{ article.name }}]({{ article.url }}) from *{{ article.publisher }}*
{% endfor %}

1
docs/assets/brand Submodule

Submodule docs/assets/brand added at e598b2e81f

View File

@ -2,7 +2,7 @@
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/assets/img/layout/mstile-150x150.png"/>
<square150x150logo src="/assets/brand/PNG/Favicon/mstile-150x150.png"/>
<TileColor>#ffd06f</TileColor>
</tile>
</msapplication>

View File

@ -3,12 +3,12 @@
"short_name": "Privacy Guides",
"icons": [
{
"src": "/assets/img/layout/android-chrome-192x192.png",
"src": "/assets/brand/PNG/Favicon/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/assets/img/layout/android-chrome-512x512.png",
"src": "/assets/brand/PNG/Favicon/android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}

View File

@ -1,93 +0,0 @@
Copyright (c) 2015 Sebastien Sanfilippo (www.love-letters.be)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@ -1,93 +0,0 @@
Copyright 2020 The DM Mono Project Authors (https://www.github.com/googlefonts/dm-mono)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@ -1,16 +0,0 @@
@font-face {
font-family: 'DM Mono';
src: url('DMMono-Regular.woff2') format('woff2');
font-weight: normal;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'DM Mono';
src: url('DMMono-Medium.woff2') format('woff2');
font-weight: 500;
font-style: normal;
font-display: swap;
}

View File

@ -1,113 +0,0 @@
## License for USWDSs Modified Version
This font combines Libre Franklin (the “Original Version”) and these GSA modifications into a piece of font software called Public Sans, which is a “Modified Version” of Libre Franklin.
As a work of the United States Government, the font software modifications made by GSA are not subject to copyright within the United States. Additionally, GSA waives copyright and related rights in its font software modifications worldwide through the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/).
The Original Version (as defined in the SIL Open Font License, Version 1.1) remains subject to copyright under the SIL Open Font License, Version 1.1.
This Modified Version (Public Sans) contains both software under the SIL Open Font License, Version 1.1 and software modifications by GSA released as CC0. As a work of the United States Government, the software modifications made by GSA are not subject to copyright within the United States. Additionally, GSA waives copyright and related rights in its software modifications worldwide through the [CC0 1.0 Universal Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/). It is a “joint work” made of the original software and modifications combined into a single work.
**In practice, users of this Modified Version (Public Sans) should use Public Sans according to the terms of the SIL Open Font License, Version 1.1, below.** This is because this font is a combination of work subject to copyright and work not subject to copyright, so the more restrictive requirements apply to using the combined work.
## License of project USWDSs Modified Version is based on
- Libre Franklin is licensed under the SIL Open Font License, Version 1.1 (<http://scripts.sil.org/OFL>)
- To view the copyright and specific terms and conditions of Libre Franklin, please refer to [OFL.txt](https://github.com/impallari/Libre-Franklin/blob/master/OFL.txt)
## SIL Open Font License, Version 1.1
Copyright 2015 The Public Sans Project Authors (https://github.com/uswds/public-sans)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at http://scripts.sil.org/OFL
```
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.43429 0 0 .43429 -102.24 -35.595)" stroke-width=".26458"><path d="m313.4 119.93c-7.7343 13.52-22.298 22.631-38.991 22.631-16.692 0-31.256-9.1114-38.991-22.631 7.7346-13.521 22.299-22.632 38.991-22.632 16.693 0 31.257 9.1115 38.991 22.632" fill="#9acc01"/><path d="m298.61 144.6-6.8334-12.569c2.364-3.4422 3.7478-7.6102 3.7478-12.101 0-11.819-9.5811-21.4-21.4-21.4-11.819 0-21.4 9.5806-21.4 21.4 0 11.819 9.5811 21.4 21.4 21.4 4.4736 0 8.6265-1.3727 12.061-3.7206l12.422 6.9937z" fill="#231f20"/><path d="m284.91 125.24c0 5.7915-4.7106 10.502-10.502 10.502-5.7915 0-10.502-4.7106-10.502-10.502v-12.917c0-0.80301 0.65352-1.456 1.4565-1.456 0.80275 0 1.456 0.65299 1.456 1.456v7.8192c0 0.4236 0.34263 0.76623 0.76702 0.76623 8e-3 0 0.0167-2e-3 0.0257-2e-3s0.0164 2e-3 0.0251 2e-3c0.4236 0 0.7665-0.34263 0.7665-0.76623v-11.856c0-0.80354 0.65299-1.4571 1.4565-1.4571s1.4565 0.65352 1.4565 1.4571v11.166c0 0.42387 0.34343 0.76624 0.76677 0.76624 0.42254 0 0.76623-0.34264 0.76623-0.76624v-13.875c0-0.80301 0.65378-1.4555 1.4563-1.4555 0.80354 0 1.4568 0.65246 1.4568 1.4555v13.773c0 0.42413 0.34317 0.76703 0.7665 0.76703 0.42307 0 0.7665-0.34317 0.7665-0.76703v-11.37c0-0.80327 0.65352-1.4565 1.4565-1.4565 0.80327 0 1.456 0.65352 1.456 1.4565v14.555c-1.7436 0.16219-5.8518 1.0464-7.543 5.7222-0.14366 0.39793 0.0622 0.83767 0.46038 0.9824 0.0857 0.031 0.1741 0.0455 0.26009 0.0455 0.31379 0 0.60748-0.19474 0.72125-0.50536 1.7732-4.903 6.6273-4.7546 6.8313-4.7464l0.80354 0.0386v-8.0939c0-0.80301 0.7112-1.4565 1.5843-1.4565 0.87392 0 1.5841 0.65352 1.5841 1.4565v9.2625zm-1.5841-12.253c-0.57864 0-1.1192 0.15557-1.5843 0.41963v-5.4277c0-1.6486-1.3409-2.9901-2.9895-2.9901-0.53314 0-1.0327 0.14261-1.4666 0.38761-0.10398-1.555-1.3991-2.789-2.98-2.789-1.6484 0-2.9893 1.3409-2.9893 2.989v0.10001c-0.4318-0.2413-0.92763-0.381-1.4565-0.381-1.6481 0-2.9893 1.3409-2.9893 2.9901v1.4594c-0.44344-0.26035-0.95752-0.41222-1.5079-0.41222-1.6486 0-2.99 1.3404-2.99 2.9893v12.917c0 6.636 5.3991 12.035 12.036 12.035 6.636 0 12.035-5.3991 12.035-12.035v-9.2631c0-1.6484-1.3981-2.9893-3.1171-2.9893" fill="#9acc01"/></g></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="48" height="48" viewBox="0 0 48.000001 48.000001" id="svg4230" version="1.1" inkscape:version="0.91 r13725" sodipodi:docname="fdroid-logo.svg">
<defs id="defs4232">
<linearGradient inkscape:collect="always" id="linearGradient5212">
<stop style="stop-color:#ffffff;stop-opacity:0.09803922" offset="0" id="stop5214"/>
<stop style="stop-color:#ffffff;stop-opacity:0" offset="1" id="stop5216"/>
</linearGradient>
<radialGradient inkscape:collect="always" xlink:href="#linearGradient5212" id="radialGradient5220" cx="-98.23381" cy="3.4695871" fx="-98.23381" fy="3.4695871" r="22.671185" gradientTransform="matrix(0,1.9747624,-2.117225,3.9784049e-8,8.677247,1199.588)" gradientUnits="userSpaceOnUse"/>
<filter inkscape:collect="always" style="color-interpolation-filters:sRGB" id="filter4175" x="-0.023846937" width="1.0476939" y="-0.02415504" height="1.0483101">
<feGaussianBlur inkscape:collect="always" stdDeviation="0.45053152" id="feGaussianBlur4177"/>
</filter>
</defs>
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="11.313708" inkscape:cx="6.4184057" inkscape:cy="25.737489" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" units="px" inkscape:window-width="1920" inkscape:window-height="1009" inkscape:window-x="0" inkscape:window-y="34" inkscape:window-maximized="1" gridtolerance="10000"/>
<metadata id="metadata4235">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
<cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/"/>
</cc:Work>
<cc:License rdf:about="http://creativecommons.org/licenses/by-sa/3.0/">
<cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
<cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Notice"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#Attribution"/>
<cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
<cc:requires rdf:resource="http://creativecommons.org/ns#ShareAlike"/>
</cc:License>
</rdf:RDF>
</metadata>
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(0,-1004.3622)">
<path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#263238;fill-opacity:0.4;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter4175);color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 2.613462,1006.3488 a 1.250125,1.250125 0 0 0 -1.01172,2.0293 l 3.60351,4.6641 c -0.12699,0.3331 -0.20312,0.6915 -0.20312,1.0703 l 0,4 0,2.8652 0,0.1348 c 0,1.662 1.338,3 3,3 l 32,0 c 1.662,0 3,-1.338 3,-3 l 0,-4 0,-2.8652 0,-0.1348 c 0,-0.3803 -0.0771,-0.74 -0.20508,-1.0742 l 3.60156,-4.6602 a 1.250125,1.250125 0 0 0 -1.04882,-2.0273 1.250125,1.250125 0 0 0 -0.92969,0.498 l -3.43164,4.4414 c -0.31022,-0.1079 -0.63841,-0.1777 -0.98633,-0.1777 l -32,0 c -0.34857,0 -0.67757,0.069 -0.98828,0.1777 l -3.4336,-4.4414 a 1.250125,1.250125 0 0 0 -0.96679,-0.5 z m 5.38867,18.7637 c -0.20775,0 -0.40983,0.021 -0.60547,0.061 -1.36951,0.2761 -2.39453,1.4698 -2.39453,2.9101 l 0,0.029 0,19.7793 0,0.029 0,0.1914 c 0,1.662 1.338,3 3,3 l 32,0 c 1.662,0 3,-1.338 3,-3 l 0,-20 0,-0.029 c 0,-1.4403 -1.02502,-2.634 -2.39453,-2.9101 -0.19565,-0.039 -0.39772,-0.061 -0.60547,-0.061 l -32,0 z" id="path4192" inkscape:connector-curvature="0"/>
<g id="g5012">
<g id="g4179" transform="matrix(-1,0,0,1,47.999779,0)">
<path style="fill:#8ab000;fill-opacity:1;fill-rule:evenodd;stroke:#769616;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 2.5889342,1006.8622 4.25,5.5" id="path4181" inkscape:connector-curvature="0" sodipodi:nodetypes="cc"/>
<path sodipodi:nodetypes="cccccc" inkscape:connector-curvature="0" id="path4183" d="m 2.6113281,1005.6094 c -0.4534623,0.012 -0.7616975,0.189 -0.9807462,0.4486 2.0269314,2.4089 2.368401,2.7916 5.1354735,6.2214 1.0195329,1.319 2.0816026,0.6373 1.0620696,-0.6817 l -4.25,-5.5 c -0.2289894,-0.3056 -0.5850813,-0.478 -0.9667969,-0.4883 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:0.29803923;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
<path sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" id="path4185" d="m 1.6220992,1006.0705 c -0.1238933,0.1479 -0.561176,0.8046 -0.02249,1.5562 l 4.25,5.5 c 1.0195329,1.319 1.1498748,-0.6123 1.1498748,-0.6123 0,0 -3.7344514,-4.51 -5.3773848,-6.4439 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#263238;fill-opacity:0.2;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
<path sodipodi:nodetypes="cscccc" inkscape:connector-curvature="0" id="path4187" d="m 2.3378905,1005.8443 c -0.438175,0 -0.959862,0.1416 -0.8242183,0.7986 0.103561,0.5016 4.6608262,6.0744 4.6608262,6.0744 1.0195329,1.319 2.4934721,0.6763 1.4739391,-0.6425 l -4.234375,-5.4727 c -0.2602394,-0.29 -0.6085188,-0.7436 -1.076172,-0.7578 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#8ab000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
<g id="g4955">
<path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path4945" d="m 2.5889342,1006.8622 4.25,5.5" style="fill:#8ab000;fill-opacity:1;fill-rule:evenodd;stroke:#769616;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
<path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:0.29803923;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 2.6113281,1005.6094 c -0.4534623,0.012 -0.7616975,0.189 -0.9807462,0.4486 2.0269314,2.4089 2.368401,2.7916 5.1354735,6.2214 1.0195329,1.319 2.0816026,0.6373 1.0620696,-0.6817 l -4.25,-5.5 c -0.2289894,-0.3056 -0.5850813,-0.478 -0.9667969,-0.4883 z" id="path4947" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccc"/>
<path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#263238;fill-opacity:0.2;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 1.6220992,1006.0705 c -0.1238933,0.1479 -0.561176,0.8046 -0.02249,1.5562 l 4.25,5.5 c 1.0195329,1.319 1.1498748,-0.6123 1.1498748,-0.6123 0,0 -3.7344514,-4.51 -5.3773848,-6.4439 z" id="path4951" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc"/>
<path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#8ab000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 2.3378905,1005.8443 c -0.438175,0 -0.959862,0.1416 -0.8242183,0.7986 0.103561,0.5016 4.6608262,6.0744 4.6608262,6.0744 1.0195329,1.319 2.4934721,0.6763 1.4739391,-0.6425 l -4.234375,-5.4727 c -0.2602394,-0.29 -0.6085188,-0.7436 -1.076172,-0.7578 z" id="path4925" inkscape:connector-curvature="0" sodipodi:nodetypes="cscccc"/>
</g>
<g transform="translate(42,0)" id="g4967">
<rect style="opacity:1;fill:#aeea00;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect4144" width="38" height="13" x="-37" y="1010.3622" rx="3" ry="3"/>
<rect ry="3" rx="3" y="1013.3622" x="-37" height="10" width="38" id="rect4961" style="opacity:1;fill:#263238;fill-opacity:0.2;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
<rect ry="3" rx="3" y="1010.3622" x="-37" height="10" width="38" id="rect4963" style="opacity:1;fill:#ffffff;fill-opacity:0.29803923;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
<rect ry="2.5384617" rx="3" y="1011.3622" x="-37" height="11" width="38" id="rect4965" style="opacity:1;fill:#aeea00;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
</g>
<g id="g4979">
<rect style="opacity:1;fill:#1976d2;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect4146" width="38" height="26" x="5" y="1024.3622" rx="3" ry="3"/>
<rect ry="3" rx="3" y="1037.3622" x="5" height="13" width="38" id="rect4973" style="opacity:1;fill:#263238;fill-opacity:0.2;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
<rect ry="3" rx="3" y="1024.3622" x="5" height="13" width="38" id="rect4975" style="opacity:1;fill:#ffffff;fill-opacity:0.2;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
<rect ry="2.7692308" rx="3" y="1025.3622" x="5" height="24" width="38" id="rect4977" style="opacity:1;fill:#1976d2;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
</g>
<g transform="translate(0,1013.3622)" id="g4211">
<path style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0d47a1;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" d="m 24,17.75 c -2.880662,0 -5.319789,1.984685 -6.033203,4.650391 l 3.212891,0 C 21.734004,21.415044 22.774798,20.75 24,20.75 c 1.812692,0 3.25,1.437308 3.25,3.25 0,1.812693 -1.437308,3.25 -3.25,3.25 -1.307381,0 -2.411251,-0.75269 -2.929688,-1.849609 l -3.154296,0 C 18.558263,28.166146 21.04791,30.25 24,30.25 c 3.434013,0 6.25,-2.815987 6.25,-6.25 0,-3.434012 -2.815987,-6.25 -6.25,-6.25 z" id="path4161" inkscape:connector-curvature="0"/>
<circle style="opacity:1;fill:none;fill-opacity:0.40392157;stroke:#0d47a1;stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="path4209" cx="24" cy="24" r="9.5500002"/>
</g>
<g id="g4989" transform="translate(0,0.50001738)">
<ellipse cy="1016.4872" cx="14.375" id="circle4985" style="opacity:1;fill:#263238;fill-opacity:0.2;stroke:none;stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.69721117" rx="3.375" ry="3.875"/>
<circle style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.69721117" id="path4859" cx="14.375" cy="1016.9872" r="3.375"/>
</g>
<g transform="translate(19.5,0.50001738)" id="g4171">
<ellipse ry="3.875" rx="3.375" style="opacity:1;fill:#263238;fill-opacity:0.2;stroke:none;stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.69721117" id="ellipse4175" cx="14.375" cy="1016.4872"/>
<circle r="3.375" cy="1016.9872" cx="14.375" id="circle4177" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.89999998;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.69721117"/>
</g>
</g>
<path inkscape:connector-curvature="0" id="path5128" d="m 2.613462,1005.5987 a 1.250125,1.250125 0 0 0 -1.01172,2.0293 l 3.60351,4.6641 c -0.12699,0.3331 -0.20312,0.6915 -0.20312,1.0703 l 0,4 0,2.8652 0,0.1348 c 0,1.662 1.338,3 3,3 l 32,0 c 1.662,0 3,-1.338 3,-3 l 0,-4 0,-2.8652 0,-0.1348 c 0,-0.3803 -0.0771,-0.74 -0.20508,-1.0742 l 3.60156,-4.6602 a 1.250125,1.250125 0 0 0 -1.04882,-2.0273 1.250125,1.250125 0 0 0 -0.92969,0.498 l -3.43164,4.4414 c -0.31022,-0.1079 -0.63841,-0.1777 -0.98633,-0.1777 l -32,0 c -0.34857,0 -0.67757,0.069 -0.98828,0.1777 l -3.4336,-4.4414 a 1.250125,1.250125 0 0 0 -0.96679,-0.5 z m 5.38867,18.7637 c -0.20775,0 -0.40983,0.021 -0.60547,0.061 -1.36951,0.2761 -2.39453,1.4698 -2.39453,2.9101 l 0,0.029 0,19.7793 0,0.029 0,0.1914 c 0,1.662 1.338,3 3,3 l 32,0 c 1.662,0 3,-1.338 3,-3 l 0,-20 0,-0.029 c 0,-1.4403 -1.02502,-2.634 -2.39453,-2.9101 -0.19565,-0.039 -0.39772,-0.061 -0.60547,-0.061 l -32,0 z" style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#radialGradient5220);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

View File

@ -1,2 +1 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg fill="#ffffff" version="1.1" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg"><g transform="scale(5.3333)"><path d="m0 0h24v24h-24z" fill="none"/><circle cx="12" cy="12" r="3"/><path d="m20 4h-3.17l-1.24-1.35c-0.37-0.41-0.91-0.65-1.47-0.65h-4.24c-0.56 0-1.1 0.24-1.48 0.65l-1.23 1.35h-3.17c-1.1 0-2 0.9-2 2v12c0 1.1 0.9 2 2 2h16c1.1 0 2-0.9 2-2v-12c0-1.1-0.9-2-2-2zm-8 13c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" version="1.1" viewBox="0 0 128 128"><g transform="scale(5.3333)"><path fill="none" d="m0 0h24v24h-24z"/><circle cx="12" cy="12" r="3"/><path d="m20 4h-3.17l-1.24-1.35c-0.37-0.41-0.91-0.65-1.47-0.65h-4.24c-0.56 0-1.1 0.24-1.48 0.65l-1.23 1.35h-3.17c-1.1 0-2 0.9-2 2v12c0 1.1 0.9 2 2 2h16c1.1 0 2-0.9 2-2v-12c0-1.1-0.9-2-2-2zm-8 13c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5z"/></g></svg>

Before

Width:  |  Height:  |  Size: 490 B

After

Width:  |  Height:  |  Size: 447 B

View File

@ -1,2 +1 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.33952 0 0 .33952 .19935 -2.3417e-7)" fill="none"><path d="m49.287 0c-15.406 0-33.988 3.5766-49.287 11.449 0 17.002-0.21115 59.36 49.287 88.301 49.499-28.941 49.289-71.299 49.289-88.301-15.299-7.8723-33.882-11.449-49.289-11.449z" fill="#68bc71"/><path d="m49.236 99.721c-49.447-28.941-49.236-71.275-49.236-88.272 15.282-7.8638 33.841-11.441 49.236-11.449z" fill="#67b279"/><path d="m47.489 66.556 29.805-39.658c-2.184-1.7283-4.0997-0.50849-5.1543 0.43585l-0.03848 3e-3 -24.851 25.522-9.3632-11.124c-4.4668-5.095-10.539-1.2087-11.958-0.1816l21.56 25.003" fill="#fff"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33.867 33.867"><g fill="none"><path fill="#68bc71" d="M16.933 0C11.703 0 5.393 1.214.2 3.887c0 5.773-.071 20.154 16.734 29.98C33.74 24.041 33.668 9.66 33.668 3.887 28.474 1.214 22.164 0 16.933 0z"/><path fill="#67b279" d="M16.916 33.857C.128 24.031.199 9.658.199 3.887 5.388 1.217 11.69.003 16.916 0z"/><path fill="#fff" d="m16.323 22.597 10.12-13.465c-.742-.586-1.393-.172-1.75.148l-.014.001-8.437 8.666-3.18-3.777c-1.516-1.73-3.577-.41-4.06-.062l7.32 8.49"/></g></svg>

Before

Width:  |  Height:  |  Size: 745 B

After

Width:  |  Height:  |  Size: 523 B

View File

@ -1,2 +1 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1" viewBox="0 0 128 128" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><linearGradient id="a" x2="235.8" y1="119.6" y2="119.6" gradientTransform="scale(.9229 1.084)" gradientUnits="userSpaceOnUse"><stop stop-color="#F50" offset="0"/><stop stop-color="#F50" offset=".4099"/><stop stop-color="#FF2000" offset=".582"/><stop stop-color="#FF2000" offset="1"/></linearGradient><linearGradient id="c" x1="11.3" x2="100.5" y1="46.23" y2="46.23" gradientTransform="scale(1.981 .5049)" gradientUnits="userSpaceOnUse"><stop stop-color="#FF452A" offset="0"/><stop stop-color="#FF2000" offset="1"/></linearGradient><path id="b" d="m170.3 25.34-22.3-25.34h-78.34l-22.3 25.34s-19.58-5.447-28.83 3.813c0 0 26.11-2.36 35.09 12.26 0 0 24.21 4.63 27.47 4.63s10.34-2.724 16.86-4.902c6.528-2.179 10.88-2.195 10.88-2.195s4.352 0.016 10.88 2.195c6.528 2.178 13.6 4.902 16.86 4.902s27.47-4.63 27.47-4.63c8.976-14.62 35.09-12.26 35.09-12.26-9.248-9.26-28.83-3.813-28.83-3.813"/></defs><g transform="matrix(.50101 0 0 .50101 9.4745 .0060121)" fill-rule="evenodd"><path d="m210 61.28 5.984-14.71s-7.616-8.17-16.86-17.43c-9.248-9.259-28.83-3.812-28.83-3.812l-22.3-25.34h-78.34l-22.3 25.34s-19.58-5.447-28.83 3.813-16.86 17.43-16.86 17.43l5.984 14.71-7.616 21.79s22.4 84.95 25.02 95.32c5.168 20.42 8.704 28.32 23.39 38.67s41.34 28.32 45.7 31.05c4.352 2.724 9.792 7.363 14.69 7.363s10.34-4.64 14.69-7.363 31.01-20.7 45.7-31.05 18.22-18.25 23.39-38.67c2.624-10.37 25.02-95.32 25.02-95.32z" fill="url(#a)"/><path d="m164 41.4s28.69 34.72 28.69 42.14c0 7.421-3.608 9.38-7.237 13.24l-21.51 22.87c-2.036 2.164-6.273 5.445-3.78 11.35 2.492 5.905 6.168 13.42 2.08 21.04-4.089 7.62-11.09 12.71-15.58 11.87-4.489-0.842-15.03-6.357-18.9-8.876-3.876-2.52-16.16-12.66-16.16-16.54s12.7-10.85 15.04-12.43c2.347-1.583 13.05-7.712 13.27-10.12 0.219-2.406 0.136-3.111-3.022-9.055s-8.845-13.88-7.898-19.15c0.946-5.277 10.12-8.02 16.66-10.5 6.545-2.474 19.15-7.148 20.72-7.875 1.575-0.727 1.168-1.42-3.601-1.872-4.768-0.452-18.3-2.251-24.4-0.548-6.1 1.702-16.52 4.293-17.37 5.667-0.844 1.373-1.589 1.42-0.722 6.158 0.867 4.739 5.33 27.48 5.764 31.52 0.433 4.039 1.28 6.709-3.068 7.705-4.35 0.995-11.67 2.724-14.19 2.724s-9.838-1.729-14.19-2.724c-4.35-0.996-3.503-3.666-3.07-7.705 0.434-4.039 4.898-26.78 5.765-31.52s0.122-4.785-0.722-6.158c-0.844-1.374-11.27-3.965-17.37-5.667-6.1-1.703-19.63 0.096-24.4 0.548-4.769 0.453-5.176 1.145-3.602 1.872 1.575 0.727 14.18 5.4 20.72 7.875 6.546 2.475 15.72 5.22 16.66 10.5 0.946 5.278-4.741 13.21-7.899 19.15-3.158 5.944-3.241 6.65-3.022 9.055s10.92 8.534 13.27 10.12 15.04 8.552 15.04 12.43c0 3.882-12.28 14.03-16.16 16.54-3.876 2.52-14.42 8.034-18.9 8.876-4.488 0.84-11.49-4.246-15.58-11.87-4.089-7.621-0.412-15.14 2.08-21.04 2.491-5.905-1.745-9.186-3.78-11.35l-21.51-22.87c-3.629-3.858-7.237-5.817-7.237-13.24 0-7.422 28.69-42.14 28.69-42.14s24.21 4.63 27.47 4.63 10.34-2.724 16.86-4.902c6.528-2.179 10.88-2.195 10.88-2.195s4.352 0.016 10.88 2.195c6.528 2.178 13.6 4.902 16.86 4.902s27.47-4.63 27.47-4.63zm-21.51 132.8c1.775 1.113 0.692 3.212-0.925 4.357-1.618 1.145-23.36 18-25.47 19.86-2.11 1.864-5.21 4.94-7.318 4.94s-5.209-3.076-7.318-4.94c-2.11-1.863-23.85-18.72-25.47-19.86s-2.7-3.244-0.925-4.357c1.777-1.113 7.333-3.922 15-7.894 7.665-3.972 17.22-7.349 18.71-7.349s11.04 3.377 18.71 7.349 13.22 6.781 15 7.894z" fill="#fff"/><use width="100%" height="100%" fill="url(#c)" xlink:href="#b"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 128 128"><defs><linearGradient id="a" x2="235.8" y1="119.6" y2="119.6" gradientTransform="scale(.9229 1.084)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#F50"/><stop offset=".41" stop-color="#F50"/><stop offset=".582" stop-color="#FF2000"/><stop offset="1" stop-color="#FF2000"/></linearGradient><linearGradient id="c" x1="11.3" x2="100.5" y1="46.23" y2="46.23" gradientTransform="scale(1.981 .5049)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FF452A"/><stop offset="1" stop-color="#FF2000"/></linearGradient><path id="b" d="m170.3 25.34-22.3-25.34h-78.34l-22.3 25.34s-19.58-5.447-28.83 3.813c0 0 26.11-2.36 35.09 12.26 0 0 24.21 4.63 27.47 4.63s10.34-2.724 16.86-4.902c6.528-2.179 10.88-2.195 10.88-2.195s4.352 0.016 10.88 2.195c6.528 2.178 13.6 4.902 16.86 4.902s27.47-4.63 27.47-4.63c8.976-14.62 35.09-12.26 35.09-12.26-9.248-9.26-28.83-3.813-28.83-3.813"/></defs><g fill-rule="evenodd" transform="matrix(.50101 0 0 .50101 9.4745 .0060121)"><path fill="url(#a)" d="m210 61.28 5.984-14.71s-7.616-8.17-16.86-17.43c-9.248-9.259-28.83-3.812-28.83-3.812l-22.3-25.34h-78.34l-22.3 25.34s-19.58-5.447-28.83 3.813-16.86 17.43-16.86 17.43l5.984 14.71-7.616 21.79s22.4 84.95 25.02 95.32c5.168 20.42 8.704 28.32 23.39 38.67s41.34 28.32 45.7 31.05c4.352 2.724 9.792 7.363 14.69 7.363s10.34-4.64 14.69-7.363 31.01-20.7 45.7-31.05 18.22-18.25 23.39-38.67c2.624-10.37 25.02-95.32 25.02-95.32z"/><path fill="#fff" d="m164 41.4s28.69 34.72 28.69 42.14c0 7.421-3.608 9.38-7.237 13.24l-21.51 22.87c-2.036 2.164-6.273 5.445-3.78 11.35 2.492 5.905 6.168 13.42 2.08 21.04-4.089 7.62-11.09 12.71-15.58 11.87-4.489-0.842-15.03-6.357-18.9-8.876-3.876-2.52-16.16-12.66-16.16-16.54s12.7-10.85 15.04-12.43c2.347-1.583 13.05-7.712 13.27-10.12 0.219-2.406 0.136-3.111-3.022-9.055s-8.845-13.88-7.898-19.15c0.946-5.277 10.12-8.02 16.66-10.5 6.545-2.474 19.15-7.148 20.72-7.875 1.575-0.727 1.168-1.42-3.601-1.872-4.768-0.452-18.3-2.251-24.4-0.548-6.1 1.702-16.52 4.293-17.37 5.667-0.844 1.373-1.589 1.42-0.722 6.158 0.867 4.739 5.33 27.48 5.764 31.52 0.433 4.039 1.28 6.709-3.068 7.705-4.35 0.995-11.67 2.724-14.19 2.724s-9.838-1.729-14.19-2.724c-4.35-0.996-3.503-3.666-3.07-7.705 0.434-4.039 4.898-26.78 5.765-31.52s0.122-4.785-0.722-6.158c-0.844-1.374-11.27-3.965-17.37-5.667-6.1-1.703-19.63 0.096-24.4 0.548-4.769 0.453-5.176 1.145-3.602 1.872 1.575 0.727 14.18 5.4 20.72 7.875 6.546 2.475 15.72 5.22 16.66 10.5 0.946 5.278-4.741 13.21-7.899 19.15-3.158 5.944-3.241 6.65-3.022 9.055s10.92 8.534 13.27 10.12 15.04 8.552 15.04 12.43c0 3.882-12.28 14.03-16.16 16.54-3.876 2.52-14.42 8.034-18.9 8.876-4.488 0.84-11.49-4.246-15.58-11.87-4.089-7.621-0.412-15.14 2.08-21.04 2.491-5.905-1.745-9.186-3.78-11.35l-21.51-22.87c-3.629-3.858-7.237-5.817-7.237-13.24 0-7.422 28.69-42.14 28.69-42.14s24.21 4.63 27.47 4.63 10.34-2.724 16.86-4.902c6.528-2.179 10.88-2.195 10.88-2.195s4.352 0.016 10.88 2.195c6.528 2.178 13.6 4.902 16.86 4.902s27.47-4.63 27.47-4.63zm-21.51 132.8c1.775 1.113 0.692 3.212-0.925 4.357-1.618 1.145-23.36 18-25.47 19.86-2.11 1.864-5.21 4.94-7.318 4.94s-5.209-3.076-7.318-4.94c-2.11-1.863-23.85-18.72-25.47-19.86s-2.7-3.244-0.925-4.357c1.777-1.113 7.333-3.922 15-7.894 7.665-3.972 17.22-7.349 18.71-7.349s11.04 3.377 18.71 7.349 13.22 6.781 15 7.894z"/><use width="100%" height="100%" fill="url(#c)" xlink:href="#b"/></g></svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.866 33.866" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(1.9999 0 0 1.9999 -.00028793 -560.11)"><g transform="matrix(.1411 0 0 .1411 -22.448 274.09)"><g transform="matrix(6.5975,0,0,6.5975,-881.57,-908.75)"><path d="m166.76 148.57v2.8e-4c-0.0731 1e-3 -0.14646 3e-3 -0.21965 6e-3 -2.0814 0.0983-3.9695 1.2488-5.0113 3.0532-0.27591 0.47789-0.47972 0.97776-0.61543 1.4866 1.8658 0.19779 3.5534 0.93382 4.9049 2.0531 2.7603 1.8081 5.5017 1.1662 7.0499 0.51897 0.40336-2.4423-0.70912-4.988-2.9792-6.2988-0.95179-0.54962-2.0328-0.83212-3.1292-0.81971z" fill="#d0f6ed" stroke-width=".14568"/><path d="m166.59 152.15c-1.5641 9.9e-4 -2.9951 0.51259-3.7051 1.324 0.94324 0.3021 1.8146 0.75292 2.5877 1.3259-1.2e-4 -3.9e-4 -1.6e-4 -1e-3 -2.9e-4 -1e-3 1.3493-0.74086 3.1114-1.2154 4.6422-1.5091-0.75982-0.70753-2.0913-1.1376-3.5245-1.1388v-5.6e-4z" fill="#4de564" stroke-width=".27973"/><path d="m172.56 152.93c-1.6055 0.16301-4.8923 0.66396-7.0864 1.8687 0.12815 0.095 0.25361 0.19321 0.37621 0.29474 2.6929 1.7639 5.3671 1.1376 6.8778 0.50616 0.14847-0.89893 0.0864-1.8121-0.16739-2.6696z" fill="#06c23c" stroke-width=".38858"/><path d="m170.2 144.17c-0.297-8e-3 -0.58809 0.14301-0.74764 0.41937l-0.15266 0.26436c-0.23207 0.40197-0.0953 0.91236 0.30665 1.1444l0.0712 0.0411-0.6784 1.175c-0.68491-0.19996-1.3964-0.30489-2.1144-0.30964l-3e-4 -2.9e-4c-0.13829-9.1e-4 -0.27683 2e-3 -0.41545 8e-3 -2.6278 0.12414-5.0122 1.5767-6.3272 3.8551-2.1338 3.6958-0.86761 8.4218 2.8282 10.556 3.696 2.1338 8.4218 0.86727 10.556-2.8288 1.8213-3.155 1.1646-7.0602-1.3656-9.463l0.67518-1.1694 0.0706 0.0407c0.40198 0.23207 0.91244 0.0953 1.1445-0.30665l0.15259-0.26436c0.23207-0.40197 0.0953-0.91243-0.30665-1.1445l-3.2996-1.905c-0.12562-0.0725-0.26181-0.10907-0.3968-0.11272zm-3.434 4.6336c1.0696-0.0121 2.1243 0.26346 3.0528 0.79964 2.2146 1.2787 3.1576 3.6198 2.7641 6.0024-1.5104 0.63142-4.0427 1.1156-6.7355-0.6483-1.3185-1.0919-2.8225-1.6679-4.6427-1.8609 0.13239-0.49643 0.33106-0.98387 0.60022-1.4501 1.0163-1.7604 2.7165-2.7406 4.7469-2.8365 0.0714-3e-3 0.14275-5e-3 0.21406-6e-3z" fill="#25935e" stroke-width=".28021"/></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.866 33.866"><path fill="#46a546" stroke-width=".275" d="m3.2563 0.90164h27.353c1.804 0 3.2563 1.4523 3.2563 3.2563v1.001e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-27.353c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1.001e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z"/><path fill="#f89406" stroke-width=".259" d="m3.2563 9.4185h23.546c1.804 0 3.2563 1.4523 3.2563 3.2563v1e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-23.546c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z"/><path fill="#c43c35" stroke-width=".269" d="m3.2563 17.935h25.95c1.804 0 3.2563 1.4523 3.2563 3.2563v1.01e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-25.95c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1.01e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z"/><path fill="#999" stroke-width=".212" d="m3.2563 26.452h13.726c1.804 0 3.2563 1.4523 3.2563 3.2563v1e-4c0 1.804-1.4523 3.2563-3.2563 3.2563h-13.726c-1.804 0-3.2563-1.4523-3.2563-3.2563v-1e-4c0-1.804 1.4523-3.2563 3.2563-3.2563z"/></svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><g transform="scale(.71111)"><rect width="47.494" height="47.494" x=".066" y=".066" style="-inkscape-stroke:none;fill-rule:evenodd;fill:#0277bd;font-variation-settings:normal;stop-color:#000;stroke-width:.13102;stroke:#0277bd"/><g transform="matrix(.11719 0 0 .11736 26.539 14.264)" style="fill:#fff;stroke:#fff"><circle cx="-22.301" cy="79.286" r="153.93" style="opacity:0;paint-order:markers stroke fill;stroke-width:2.84"/><g style="fill:#fff;stroke:#fff"><path d="m130.21 77.865v1.4199c0 69.032-46.356 129.44-113.04 147.31s-137.03-11.271-171.54-71.055l-0.70898-1.2305-2.459 1.4199 0.70899 1.2305c35.152 60.884 106.83 90.575 174.74 72.379s115.14-79.749 115.14-150.05v-1.4199z" style="color-rendering:auto;color:#000;dominant-baseline:auto;fill:#fff;font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;image-rendering:auto;isolation:auto;mix-blend-mode:normal;paint-order:markers stroke fill;shape-padding:0;shape-rendering:auto;solid-color:#000;stroke-linecap:square;stroke-linejoin:round;stroke-width:20.386;stroke:#fff;text-decoration-color:#000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path d="m131.62 66.176 11.36 19.653h-22.72z" style="fill-rule:evenodd;fill:#fff;stroke-width:20.386;stroke:#fff"/></g><g style="fill:#fff;stroke:#fff"><path d="m130.21 77.865v1.4199c0 69.032-46.356 129.44-113.04 147.31s-137.03-11.271-171.54-71.055l-0.70898-1.2305-2.459 1.4199 0.70899 1.2305c35.152 60.884 106.83 90.575 174.74 72.379s115.14-79.749 115.14-150.05v-1.4199z" transform="rotate(180 -22.116 79.492)" style="color-rendering:auto;color:#000;dominant-baseline:auto;fill:#fff;font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;image-rendering:auto;isolation:auto;mix-blend-mode:normal;paint-order:markers stroke fill;shape-padding:0;shape-rendering:auto;solid-color:#000;stroke-linecap:square;stroke-linejoin:round;stroke-width:20.386;stroke:#fff;text-decoration-color:#000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path d="m131.62 66.176 11.36 19.653h-22.72z" transform="rotate(180 -22.116 79.492)" style="fill-rule:evenodd;fill:#fff;stroke-width:20.386;stroke:#fff"/></g></g><g style="fill:#fff"><path d="m5.0271 0.79375h-0.26458v-0.52917h-0.52917v0.52917h-2.1167v-0.52917h-0.52917v0.52917h-0.26458a0.52917 0.52917 0 0 0-0.52917 0.52917v3.7042a0.52917 0.52917 0 0 0 0.52917 0.52917h3.7042c0.29104 0 0.52917-0.23812 0.52917-0.52917v-3.7042c0-0.29104-0.23812-0.52917-0.52917-0.52917zm-1.8521 0.79375c0.43921 0 0.79375 0.35454 0.79375 0.79375s-0.35454 0.79375-0.79375 0.79375-0.79375-0.35454-0.79375-0.79375 0.35454-0.79375 0.79375-0.79375zm1.5875 3.175h-3.175v-0.26458c0-0.52917 1.0583-0.82021 1.5875-0.82021s1.5875 0.29104 1.5875 0.82021z" transform="matrix(4.4012 0 0 4.4076 9.7615 10.587)" style="fill:#fff;stroke-width:.26458"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="SVGID_00000094620430057427565900000015311327790582914980_" x1="796.82" x2="203.77" y1="249.42" y2="1067.3" gradientTransform="matrix(.035694 0 0 -.035694 5.0337e-7 30.979)" gradientUnits="userSpaceOnUse"><stop stop-color="#C8E8FF" offset="0"/><stop stop-color="#BDAEFF" offset=".3075"/><stop stop-color="#6D4AFF" offset="1"/></linearGradient><radialGradient id="SVGID_1_" cx="169.05" cy="788.91" r="1" gradientTransform="matrix(-16.88 45.338 60.416 22.494 -44786 -25421)" gradientUnits="userSpaceOnUse"><stop stop-color="#54B7FF" stop-opacity="0" offset=".5561"/><stop stop-color="#54B7FF" offset=".9944"/></radialGradient></defs><g stroke-width=".035694"><path class="st0" d="m5.0337e-7 6.425c0-1.9346 1.567-3.5016 3.5016-3.5016h26.853c1.9346 0 3.5016 1.567 3.5016 3.5016v21.017c0 1.9346-1.567 3.5016-3.5016 3.5016h-26.853c-1.9346 0-3.5016-1.567-3.5016-3.5016z" fill="#6851f6"/><path class="st1" d="m0.0071394 6.425c0-1.9346 1.5705-3.5016 3.5052-3.5016h26.853c1.9346 0 3.5016 1.567 3.5016 3.5016v21.017c0 1.9346-1.567 3.5016-3.5016 3.5016h-26.853c-1.9346 0-3.5016-1.567-3.5016-3.5016v-21.017z" fill="url(#SVGID_1_)"/><path class="st2" d="m15.373 29.312c0-0.83168 0.29626-1.6384 0.83524-2.2702l6.168-7.2388 0.19632 11.14h-7.1995z" fill="#bfd8ff"/><path d="m3.5016 2.9234c-1.9346 0-3.5016 1.567-3.5016 3.5016v0.68176h23.933c1.5063 0 2.7235 1.2207 2.7235 2.7235v13.914h7.1995v-17.319c0-1.9346-1.567-3.5016-3.5016-3.5016z" clip-rule="evenodd" fill="url(#SVGID_00000094620430057427565900000015311327790582914980_)" fill-rule="evenodd"/><path class="st4" d="m21.406 22.38c0-2.1488 1.7419-3.8907 3.8907-3.8907h8.563v12.454h-12.454z" fill="#fff"/><path class="st5" d="m24.811 26.496h1.2315c0.04997 0.21416 0.1749 0.40334 0.35337 0.53541 0.1749 0.13207 0.39264 0.19989 0.61394 0.18918 0.55683 0 0.92448-0.30697 0.92448-0.75672s-0.38193-0.69961-1.1386-0.69961h-0.48901v-1.0137h0.42476c0.73173 0 1.0316-0.26771 1.0316-0.67462 0-0.40334-0.32482-0.68176-0.77456-0.68176-0.19989-0.01071-0.39978 0.05354-0.54969 0.18561-0.15348 0.13207-0.24629 0.31768-0.26414 0.51757h-1.1886c0.04283-0.70674 0.59966-1.7205 1.9953-1.7205 1.1208 0 1.8954 0.63893 1.8954 1.5384 0 0.28912-0.08924 0.57111-0.26057 0.80312-0.17133 0.23201-0.41048 0.40691-0.68533 0.49258v0.01785c0.32125 0.05711 0.61037 0.22844 0.81383 0.48187 0.20346 0.25343 0.31054 0.57111 0.29983 0.89949 0 0.97445-0.89236 1.6169-2.0453 1.6169-1.2243 0.0071-2.0988-0.6889-2.1881-1.7312z" fill="#6d4aff"/><path class="st5" d="m31.197 22.473h0.89592v5.6718h-1.1565v-4.3511l-1.1137 0.75672v-1.1458z" fill="#6d4aff"/></g></svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><path id="XMLID_107_" d="m16.959 5.8379c-3.5104 0-6.4858 2.3798-7.408 5.6042-0.80146-1.7103-2.5382-2.9085-4.5387-2.9085-2.7511 0-5.0126 2.2615-5.0126 5.0126 0 2.7511 2.2615 5.0137 5.0126 5.0137 2.0005 0 3.7373-1.1989 4.5387-2.9095 0.92217 3.2246 3.8975 5.6053 7.408 5.6053 3.4845 0 6.4447-2.3447 7.3904-5.533 0.81627 1.6717 2.5316 2.8372 4.5036 2.8372 2.7511 0 5.0137-2.2625 5.0137-5.0137 0-2.7511-2.2625-5.0126-5.0137-5.0126-1.9721 0-3.6874 1.1647-4.5036 2.8362-0.94575-3.188-3.9059-5.532-7.3904-5.532zm0 2.9425c2.65 0 4.7669 2.1159 4.7669 4.7659 0 2.65-2.1169 4.7669-4.7669 4.7669-2.65 0-4.7659-2.1169-4.7659-4.7669 0-2.65 2.1159-4.7659 4.7659-4.7659zm-11.947 2.6958c1.161 0 2.0711 0.90908 2.0711 2.0701 0 1.161-0.91012 2.0711-2.0711 2.0711-1.161 0-2.0701-0.91012-2.0701-2.0711 0-1.161 0.90909-2.0701 2.0701-2.0701zm23.841 0c1.161 0 2.0711 0.90908 2.0711 2.0701 0 1.161-0.91012 2.0711-2.0711 2.0711-1.161 0-2.0701-0.91012-2.0701-2.0711 0-1.161 0.90909-2.0701 2.0701-2.0701z" color="#000000" color-rendering="auto" fill="#0082c9" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/><g transform="matrix(.13987 0 0 .13987 3.3867 17.958)" fill="#0082c9"><path id="XMLID_121_" d="m37.67 48.9c5.9 0 9.2 4.2 9.2 10.5 0 0.6-0.5 1.1-1.1 1.1h-15.9c0.1 5.6 4 8.8 8.5 8.8 2.8 0 4.8-1.2 5.8-2 0.6-0.4 1.1-0.3 1.4 0.3l0.3 0.5c0.3 0.5 0.2 1-0.3 1.4-1.2 0.9-3.8 2.4-7.3 2.4-6.5 0-11.5-4.7-11.5-11.5 0.1-7.2 4.9-11.5 10.9-11.5zm6.1 9.4c-0.2-4.6-3-6.9-6.2-6.9-3.7 0-6.9 2.4-7.6 6.9z"/><path id="XMLID_119_" d="m76.9 52.1v-7.7c0-0.7 0.4-1.1 1.1-1.1h0.8c0.7 0 1 0.4 1 1.1v5.2h4.5c0.7 0 1.1 0.4 1.1 1.1v0.3c0 0.7-0.4 1-1.1 1h-4.5v11c0 5.1 3.1 5.7 4.8 5.8 0.9 0.1 1.2 0.3 1.2 1.1v0.6c0 0.7-0.3 1-1.2 1-4.8 0-7.7-2.9-7.7-8.1z"/><path id="XMLID_117_" d="m99.8 48.9c3.8 0 6.2 1.6 7.3 2.5 0.5 0.4 0.6 0.9 0.1 1.5l-0.3 0.5c-0.4 0.6-0.9 0.6-1.5 0.2-1-0.7-2.9-2-5.5-2-4.8 0-8.6 3.6-8.6 8.9 0 5.2 3.8 8.8 8.6 8.8 3.1 0 5.2-1.4 6.2-2.3 0.6-0.4 1-0.3 1.4 0.3l0.3 0.4c0.3 0.6 0.2 1-0.3 1.5-1.1 0.9-3.8 2.8-7.8 2.8-6.5 0-11.5-4.7-11.5-11.5 0.1-6.8 5.1-11.6 11.6-11.6z"/><path id="XMLID_115_" d="m113.1 41.8c0-0.7-0.4-1.1 0.3-1.1h0.8c0.7 0 1.8 0.4 1.8 1.1v23.9c0 2.8 1.3 3.1 2.3 3.2 0.5 0 0.9 0.3 0.9 1v0.7c0 0.7-0.3 1.1-1.1 1.1-1.8 0-5-0.6-5-5.4z"/><path id="XMLID_112_" d="m133.6 48.9c6.4 0 11.6 4.9 11.6 11.4 0 6.6-5.2 11.6-11.6 11.6s-11.6-5-11.6-11.6c0-6.5 5.2-11.4 11.6-11.4zm0 20.4c4.7 0 8.5-3.8 8.5-9 0-5-3.8-8.7-8.5-8.7s-8.6 3.8-8.6 8.7c0.1 5.1 3.9 9 8.6 9z"/><path id="XMLID_109_" d="m183.5 48.9c5.3 0 7.2 4.4 7.2 4.4h0.1s-0.1-0.7-0.1-1.7v-9.9c0-0.7-0.3-1.1 0.4-1.1h0.8c0.7 0 1.8 0.4 1.8 1.1v28.5c0 0.7-0.3 1.1-1 1.1h-0.7c-0.7 0-1.1-0.3-1.1-1v-1.7c0-0.8 0.2-1.4 0.2-1.4h-0.1s-1.9 4.6-7.6 4.6c-5.9 0-9.6-4.7-9.6-11.5-0.2-6.8 3.9-11.4 9.7-11.4zm0.1 20.4c3.7 0 7.1-2.6 7.1-8.9 0-4.5-2.3-8.8-7-8.8-3.9 0-7.1 3.2-7.1 8.8 0.1 5.4 2.9 8.9 7 8.9z"/><path id="XMLID_103_" d="m1 71.4h0.8c0.7 0 1.1-0.4 1.1-1.1v-21.472c0-3.4 3.7-5.8277 7.9-5.8277s7.9 2.4277 7.9 5.8277v21.472c0 0.7 0.4 1.1 1.1 1.1h0.8c0.7 0 1-0.4 1-1.1v-21.6c0-5.7-5.7-8.5-10.9-8.5-5 0-10.7 2.8-10.7 8.5v21.6c0 0.7 0.3 1.1 1 1.1z"/><path id="XMLID_102_" d="m167.9 49.4h-0.8c-0.7 0-1.1 0.4-1.1 1.1v12.1c0 3.4-2.2 6.5-6.5 6.5-4.2 0-6.5-3.1-6.5-6.5v-12.1c0-0.7-0.4-1.1-1.1-1.1h-0.8c-0.7 0-1 0.4-1 1.1v12.9c0 5.7 4.2 8.5 9.4 8.5s9.4-2.8 9.4-8.5v-12.9c0.1-0.7-0.3-1.1-1-1.1z"/><path d="m68.908 49.236c-0.24494 0.0391-0.4801 0.20259-0.70508 0.4707l-4.0469 4.8242-3.0293 3.6094-4.5859-5.4668-2.4883-2.9668c-0.22498-0.26812-0.47975-0.41472-0.74414-0.4375-0.26439-0.02278-0.53852 0.07775-0.80664 0.30273l-0.61328 0.51367c-0.53623 0.44995-0.50854 0.94814-0.05859 1.4844l4.0488 4.8242 3.3574 4-4.916 5.8574c-0.0037 0.0044-0.0061 0.0093-0.0098 0.01367l-2.4805 2.9551c-0.44995 0.53623-0.39953 1.1008 0.13672 1.5508l0.61328 0.51172c0.53623 0.44995 1.0227 0.33701 1.4727-0.19922l4.0469-4.8242 3.0293-3.6094 4.5859 5.4668c3e-3 0.0036 0.0067 0.0062 0.0098 0.0098l2.4805 2.957c0.44995 0.53623 1.0126 0.58474 1.5488 0.13476l0.61328-0.51367c0.53623-0.44995 0.50854-0.94814 0.05859-1.4844l-4.0488-4.8242-3.3574-4 4.916-5.8574c0.0037-0.0044 0.0061-0.0093 0.0098-0.01367l2.4805-2.9551c0.44995-0.53623 0.39953-1.1008-0.13672-1.5508l-0.61328-0.51367c-0.26812-0.22498-0.52264-0.30864-0.76758-0.26953z"/></g></svg>

Before

Width:  |  Height:  |  Size: 4.5 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><path fill-rule="evenodd" d="m16.955 3.3333e-7c7.3719 0 13.643 4.712 15.968 11.289l-9.6579-7e-5c-1.5501-1.732-3.8027-2.822-6.3098-2.822-4.6754 0-8.4656 3.7906-8.4656 8.4667 0 4.676 3.7902 8.4667 8.4656 8.4667 2.5071 0 4.7597-1.09 6.3098-2.822h9.6579c-2.3243 6.5768-8.5958 11.289-15.968 11.289-9.3509 0-16.931-7.5813-16.931-16.933 0-9.352 7.5804-16.933 16.931-16.933zm8.3962 18.07 8.4908-5e-5a16.843 16.843 0 0 1-0.30125 2.2497h-8.8186a8.3638 8.3638 0 0 0 0.62898-2.2497zm8.1896-4.5237a16.844 16.844 0 0 1 0.30125 2.2497l-8.4908-5e-5a8.3641 8.3641 0 0 0-0.62895-2.2497z" style="fill:#fff;stroke-width:.02419"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1398 1400"><path fill="#F5F5F5" fill-rule="evenodd" d="M699.914 0C1004.659 0 1263.915 194.786 1360 466.662l-399.246-.003C896.674 395.059 803.556 350 699.914 350c-193.276 0-349.957 156.7-349.957 350s156.681 350 349.957 350c103.641 0 196.76-45.059 260.84-116.658L1360 933.34C1263.915 1205.214 1004.659 1400 699.914 1400 313.362 1400 0 1086.6 0 700S313.362 0 699.914 0Zm347.087 747.002L1398 747a696.274 696.274 0 0 1-12.453 93H1021a345.75 345.75 0 0 0 26.001-92.998ZM1385.547 560A696.3 696.3 0 0 1 1398 653l-351-.002A345.762 345.762 0 0 0 1021 560h364.547Z"/></svg>

Before

Width:  |  Height:  |  Size: 722 B

After

Width:  |  Height:  |  Size: 615 B

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><path fill-rule="evenodd" d="m16.955 3.3333e-7c7.3719 0 13.643 4.712 15.968 11.289l-9.6579-7e-5c-1.5501-1.732-3.8027-2.822-6.3098-2.822-4.6754 0-8.4656 3.7906-8.4656 8.4667 0 4.676 3.7902 8.4667 8.4656 8.4667 2.5071 0 4.7597-1.09 6.3098-2.822h9.6579c-2.3243 6.5768-8.5958 11.289-15.968 11.289-9.3509 0-16.931-7.5813-16.931-16.933 0-9.352 7.5804-16.933 16.931-16.933zm8.3962 18.07 8.4908-5e-5a16.843 16.843 0 0 1-0.30125 2.2497h-8.8186a8.3638 8.3638 0 0 0 0.62898-2.2497zm8.1896-4.5237a16.844 16.844 0 0 1 0.30125 2.2497l-8.4908-5e-5a8.3641 8.3641 0 0 0-0.62895-2.2497z" style="stroke-width:.02419"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1398 1400"><path fill="#222" fill-rule="nonzero" d="M699.914 0C1004.659 0 1263.915 194.786 1360 466.662l-399.246-.003C896.674 395.059 803.556 350 699.914 350c-193.276 0-349.957 156.7-349.957 350s156.681 350 349.957 350c103.641 0 196.76-45.059 260.84-116.658L1360 933.34C1263.915 1205.214 1004.659 1400 699.914 1400 313.362 1400 0 1086.6 0 700S313.362 0 699.914 0Zm347.087 747.002L1398 747a696.274 696.274 0 0 1-12.453 93H1021a345.75 345.75 0 0 0 26.001-92.998ZM1385.547 560A696.3 696.3 0 0 1 1398 653l-351-.002A345.762 345.762 0 0 0 1021 560h364.547Z"/></svg>

Before

Width:  |  Height:  |  Size: 712 B

After

Width:  |  Height:  |  Size: 612 B

View File

@ -1,2 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="SVGID_00000019652434788841659490000008021016220503567533_" x1="-12.632" x2="1173" y1="1195.6" y2="-107.33" gradientTransform="matrix(.035706 0 0 -.035706 -1.6667e-6 30.985)" gradientUnits="userSpaceOnUse"><stop stop-color="#6D4AFF" offset="0"/><stop stop-color="#AE8CFF" offset=".3593"/><stop stop-color="#F8CCFF" offset="1"/></linearGradient><radialGradient id="SVGID_1_" cx="169.06" cy="788.93" r="1" gradientTransform="matrix(-21.468 43.868 68.249 33.399 -50186 -33775)" gradientUnits="userSpaceOnUse"><stop stop-color="#FF62C0" stop-opacity="0" offset=".5561"/><stop stop-color="#FF62C0" offset=".9944"/></radialGradient></defs><g stroke-width=".035705"><path class="st0" d="m-1.6667e-6 27.447v-21.023c0-1.9352 1.5675-3.5027 3.5027-3.5027h6.5698c0.66412 0 1.3104 0.21066 1.8424 0.60342l2.1994 1.6139c0.53559 0.39276 1.1819 0.60343 1.8424 0.60343h14.404c1.9352 0 3.5027 1.5675 3.5027 3.5027v18.199c0 1.9352-1.5675 3.5027-3.5027 3.5027h-26.858c-1.9352 4e-3 -3.5027-1.5639-3.5027-3.4991z" fill="#6851f6"/><path class="st1" d="m-1.6667e-6 27.447v-21.023c0-1.9352 1.5675-3.5027 3.5027-3.5027h6.5698c0.66412 0 1.3104 0.21066 1.8424 0.60342l2.1994 1.6139c0.53559 0.39276 1.1819 0.60343 1.8424 0.60343h14.404c1.9352 0 3.5027 1.5675 3.5027 3.5027v18.199c0 1.9352-1.5675 3.5027-3.5027 3.5027h-26.858c-1.9352 4e-3 -3.5027-1.5639-3.5027-3.4991z" fill="url(#SVGID_1_)"/><path d="m15.96 5.7414h14.404c1.9352 0 3.5027 1.5675 3.5027 3.5027v18.199c0 1.9352-1.5675 3.5027-3.5027 3.5027h-3.6991v-18.278c0-1.5103-1.2283-2.735-2.7422-2.7243l-13.265 0.075c-0.57129 4e-3 -1.1283-0.17138-1.596-0.50344l-2.9528-2.0995c-0.4606-0.32849-1.014-0.50345-1.5782-0.50345h-4.531v-0.48916c0-1.9352 1.5675-3.5027 3.5027-3.5027h6.5698c0.66412 0 1.3104 0.21066 1.8424 0.60342l2.1994 1.6139c0.53559 0.39276 1.1819 0.60343 1.846 0.60343z" clip-rule="evenodd" fill="url(#SVGID_00000019652434788841659490000008021016220503567533_)" fill-rule="evenodd"/></g></svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.866 33.866"><g transform="matrix(-.49803 0 0 .49803 16.933 28.886)"><path fill="#fff" d="m64 30.117-5.6465 16.941h3.7637v62.117h3.7656v-62.117h3.7637l-5.6465-16.941z" color="#000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" transform="matrix(-.53125 0 0 .53125 34 -58)" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path fill="#fff" d="m83.75 57.334-11.309 13.82 3.5195 1.3418-13.719 36.012 3.5156 1.3379 13.719-36.012 3.5195 1.3418 0.75391-17.842z" color="#000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" transform="matrix(-.53125 0 0 .53125 34 -58)" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path fill="#fff" d="m44.25 57.334 0.75391 17.842 3.5195-1.3418 13.719 36.012 3.5156-1.3379-13.719-36.012 3.5195-1.3418-11.309-13.82z" color="#000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" transform="matrix(-.53125 0 0 .53125 34 -58)" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><circle r="10" fill="red"/><g fill="#fff"><circle cy="-50" r="8" class="storage"/><circle cx="-14" cy="-35" r="8" class="storage"/><circle cx="14" cy="-35" r="8" class="storage"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.866 33.866"><g transform="matrix(-.49803 0 0 .49803 16.933 28.886)"><path d="m64 30.117-5.6465 16.941h3.7637v62.117h3.7656v-62.117h3.7637l-5.6465-16.941z" color="#000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" transform="matrix(-.53125 0 0 .53125 34 -58)" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path d="m83.75 57.334-11.309 13.82 3.5195 1.3418-13.719 36.012 3.5156 1.3379 13.719-36.012 3.5195 1.3418 0.75391-17.842z" color="#000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" transform="matrix(-.53125 0 0 .53125 34 -58)" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><path d="m44.25 57.334 0.75391 17.842 3.5195-1.3418 13.719 36.012 3.5156-1.3379-13.719-36.012 3.5195-1.3418-11.309-13.82z" color="#000" color-rendering="auto" dominant-baseline="auto" image-rendering="auto" shape-rendering="auto" solid-color="#000000" transform="matrix(-.53125 0 0 .53125 34 -58)" style="font-feature-settings:normal;font-variant-alternates:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-position:normal;isolation:auto;mix-blend-mode:normal;shape-padding:0;text-decoration-color:#000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-orientation:mixed;text-transform:none;white-space:normal"/><circle r="10" fill="red"/><g><circle cy="-50" r="8" class="storage"/><circle cx="-14" cy="-35" r="8" class="storage"/><circle cx="14" cy="-35" r="8" class="storage"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="vector" version="1.1" viewBox="0 0 128 128"><g id="group" transform="matrix(2.5666 0 0 2.5666 -73.625 -74.595)"><path id="path" fill="#fff" d="m28.686 54c0-6.611 2.629-12.958 7.304-17.632 4.674-4.675 11.021-7.304 17.632-7.304s12.958 2.629 17.633 7.304c4.674 4.674 7.303 11.021 7.303 17.632s-2.629 12.958-7.303 17.632c-4.675 4.675-11.022 7.304-17.633 7.304s-12.958-2.629-17.632-7.304c-4.675-4.674-7.304-11.021-7.304-17.632"/><path fill="#009688" d="m48.42 40.201v21.793h21.795v-21.793zm2.8184 2.8184h16.156v11.051l-4.1621-4.0703-4.9883 5.3047-3.1465-3.0469-3.8594 4.1738zm6.4609 1.9727c-1.1964 0.01026-2.4063 1.0128-2.334 2.2812-0.0012 0.186 0.02158 0.37225 0.06641 0.55273 0.27682 1.4976 2.226 2.1821 3.4512 1.3633 1.3815-0.81242 1.3037-3.0455-0.04102-3.8496-0.34791-0.2441-0.74378-0.35108-1.1426-0.34766z"/><path fill="#00675b" d="m43.2 48.735c-0.807 0-1.461-0.654-1.461-1.461v-6.667c0-3.679 2.993-6.673 6.672-6.673s6.7339 2.5864 6.7339 6.2654l-2.9045 0.01627c0-2.068-1.7614-3.3587-3.8294-3.3587s-3.75 1.682-3.75 3.75v6.667c0 0.807-0.654 1.461-1.461 1.461zm0-6.787-7.013 6.818v20.141h14.026v-20.141zm0 7.429c-1.143 0-2.07-0.927-2.07-2.07s0.927-2.07 2.07-2.07 2.07 0.927 2.07 2.07-0.927 2.07-2.07 2.07z"/></g></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

View File

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 33.867 33.867"><g fill="none"><path fill="#68bc71" d="M16.933 0C11.703 0 5.393 1.214.2 3.887c0 5.773-.071 20.154 16.734 29.98C33.74 24.041 33.668 9.66 33.668 3.887 28.474 1.214 22.164 0 16.933 0z"/><path fill="#67b279" d="M16.916 33.857C.128 24.031.199 9.658.199 3.887 5.388 1.217 11.69.003 16.916 0z"/><path fill="#fff" d="m16.323 22.597 10.12-13.465c-.742-.586-1.393-.172-1.75.148l-.014.001-8.437 8.666-3.18-3.777c-1.516-1.73-3.577-.41-4.06-.062l7.32 8.49"/></g></svg>

After

Width:  |  Height:  |  Size: 523 B

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="color-1" x2="0" gradientUnits="userSpaceOnUse"><stop stop-opacity=".3" offset="0"/><stop stop-opacity="0" offset="1"/></linearGradient></defs><g transform="matrix(.7697 0 0 .7697 -1.5394 -1.5394)" font-family="none" font-size="none" font-weight="none" stroke-miterlimit="10" text-anchor="none" style="mix-blend-mode:normal"><path d="m7 43c-1.1046 0-2-0.89543-2-2v-34c0-1.1046 0.89543-2 2-2h34c1.1046 0 2 0.89543 2 2v34c0 1.1046-0.89543 2-2 2z" fill="#039be5"/><path d="m31.816 16.184h-15.632c-1.0796 0-1.9442 0.87442-1.9442 1.954l-0.0098 11.724c0 1.0796 0.87442 1.954 1.954 1.954h15.632c1.0796 0 1.954-0.87442 1.954-1.954v-11.724c0-1.0796-0.87442-1.954-1.954-1.954zm0 3.908-7.8161 4.885-7.8161-4.885v-1.954l7.8161 4.885 7.8161-4.885z" fill="none" stroke-width="0"/><path d="m33.77 18.138v11.724c0 1.0796-0.87442 1.954-1.954 1.954h-15.632c-1.0796 0-1.954-0.87442-1.954-1.954l0.0098-11.724c0-1.0796 0.86465-1.954 1.9442-1.954h15.632c1.0796 0 1.954 0.87442 1.954 1.954zm-1.954 0-7.8161 4.885-7.8161-4.885v1.954l7.8161 4.885 7.8161-4.885z" fill="#fff" stroke-width="0"/><g fill="none"><path d="m2 24c0-12.15 9.8497-22 22-22s22 9.8497 22 22-9.8497 22-22 22-22-9.8497-22-22z"/><rect x="2" y="2" width="44" height="22"/><path d="m2 24v-22h44v22z"/><path d="m2 24v-22h44v22z"/><path d="m2 24v-22h44v22z"/><path d="m2 24v-22h44v22z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@ -1,2 +1 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="384" height="128" version="1.1" viewBox="0 0 101.6 33.867" xmlns="http://www.w3.org/2000/svg"><g transform="matrix(.05357 0 0 .05357 -2.7694 6.1687)"><path class="st0" d="m107.8 179.5c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l37-28.9c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-37 28.9c-1.8 1.5-3.9 2.4-6.1 2.7z" fill="#3ae7e1"/><path class="st1" d="m71.9 207.7c-4.6 0.7-9.5-1-12.6-4.9-4.5-5.8-3.5-14.1 2.3-18.7l3.5-2.7c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-3.5 2.7c-1.8 1.4-3.9 2.3-6.1 2.6z" fill="#f5f7fa"/><path class="st0" d="m67.1 283.6c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l81.2-63.4c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.1-2.3 18.7l-81.2 63.5c-1.9 1.4-4 2.3-6.1 2.6z" fill="#3ae7e1"/><path class="st1" d="m182.8 193.6c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l12.9-10.1c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-12.9 10.1c-1.9 1.4-4 2.3-6.1 2.7z" fill="#f5f7fa"/><path class="st0" d="m175.7 271.1c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l66.6-52c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.1-2.3 18.7l-66.6 52c-1.8 1.5-3.9 2.4-6.1 2.7z" fill="#3ae7e1"/><path class="st1" d="m139.3 300c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.2 2.3-18.7l4.7-3.7c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.2-2.3 18.7l-4.7 3.7c-1.9 1.5-4 2.4-6.1 2.7z" fill="#f5f7fa"/><path class="st0" d="m475 40.4h-308.8c-11.5 0-22.2 7.1-25.6 18.1-1.6 5.1-1.5 10.3 0 15 1.5 4.8 4.5 9.2 8.7 12.5 0 0 118.3 91.9 147.3 111.9 10.4 6.7 20.5 4.4 26.5-0.2l150.1-116.8v201.9c0 19.7-16 35.7-35.7 35.7h-283.7c-7.3 0-13.2 5.9-13.2 13.2 0 7.4 6 13.4 13.4 13.4h283.4c34.4 0 62.3-27.9 62.3-62.3v-217.7c0.1-13.6-11-24.7-24.7-24.7zm-213.6 110.1 0.1-0.7 0.4 0.6zm48.3 24-137.5-107.5h275.5z" fill="#3ae7e1"/><g fill="#3ae7e1"><path class="st0" d="m791.7 281.8c2.4 6.5 0 9.8-6.8 9.8h-15.5c-12.2 0-16.1-1.8-18.4-8.9l-13.7-38.4h-82.1l-14 38.4c-2.4 7.1-6.2 8.9-18.4 8.9h-13.7c-6.8 0-9.2-3.3-6.8-9.8l74.3-193.3c2.7-6.8 5.4-8.3 12.5-8.3h15.8c7.1 0 10.1 1.8 12.5 8zm-87.4-130.8c-3.6-10.7-5.9-24.4-6.8-31.2l-0.3-5.1h-2.1c0 11.3-2.1 23.2-6.5 36l-22.9 63h61.3z"/><path class="st0" d="m881.8 133.2c41.6 0 61.8 21.4 61.8 59.8v89.5c0 6.8-2.4 9.2-9.2 9.2h-16.4c-6.8 0-8.9-2.4-8.9-9.2v-88.6c0-19.3-10.7-29.1-32.4-29.1-9.5 0-19 1.2-28.5 3.9-1.5 0.6-2.1 1.5-2.1 3v110.9c0 6.8-2.1 9.2-8.9 9.2h-16.4c-6.8 0-9.2-2.4-9.2-9.2v-122.4c0-9.5 2.1-13.1 11.6-16.9 17-6.9 36.3-10.1 58.6-10.1z"/><path class="st0" d="m971.6 192.6c0-37.2 24.7-59.5 68.4-59.5 44 0 68.7 22.3 68.7 59.5v44c0 37.2-24.7 59.5-68.7 59.5-43.7 0-68.4-22.3-68.4-59.5zm102.6 0c0-18.1-12.5-28.2-34.2-28.2s-33.9 10.1-33.9 28.2v44c0 17.8 12.2 28.2 33.9 28.2s34.2-10.4 34.2-28.2z"/><path class="st0" d="m1207.7 133.2c41.6 0 61.8 21.4 61.8 59.8v89.5c0 6.8-2.4 9.2-9.2 9.2h-16.4c-6.8 0-8.9-2.4-8.9-9.2v-88.6c0-19.3-10.7-29.1-32.4-29.1-9.5 0-19 1.2-28.5 3.9-1.5 0.6-2.1 1.5-2.1 3v110.9c0 6.8-2.1 9.2-8.9 9.2h-16.4c-6.8 0-9.2-2.4-9.2-9.2v-122.4c0-9.5 2.1-13.1 11.6-16.9 16.9-6.9 36.3-10.1 58.6-10.1z"/></g><g fill="#f5f7fa"><path class="st1" d="m1477.7 281.8c2.4 6.5 0 9.8-6.8 9.8h-15.5c-12.2 0-16.1-1.8-18.4-8.9l-13.7-38.4h-82.1l-14 38.4c-2.4 7.1-6.2 8.9-18.4 8.9h-13.7c-6.8 0-9.2-3.3-6.8-9.8l74.3-193.3c2.7-6.8 5.4-8.3 12.5-8.3h15.8c7.1 0 10.1 1.8 12.5 8zm-87.5-130.8c-3.6-10.7-5.9-24.4-6.8-31.2l-0.3-5.1h-2.1c0 11.3-2.1 23.2-6.5 36l-22.9 63h61.3z"/><path class="st1" d="m1490.7 195.3c0-40.4 20.8-62.1 62.1-62.1 9.2 0 20.8 1.2 35.4 3.9v-56.3c0-6.8 2.1-9.2 8.9-9.2h16.4c6.8 0 9.2 2.4 9.2 9.2v189.4c0 9.5-2.4 12.5-11.9 16.4-16.9 6.2-35.4 9.5-55.6 9.5-43.1 0-64.5-19.9-64.5-60.1zm97.6-26.7c-11.9-2.7-21.4-3.9-28.8-3.9-22.9 0-34.2 10.4-34.2 31.5v38.7c0 19.9 11 29.7 33.3 29.7 10.4 0 19.6-1.2 27.4-3.3 1.5-0.6 2.4-1.8 2.4-3.3v-89.4z"/><path class="st1" d="m1651.9 195.3c0-40.4 20.8-62.1 62.1-62.1 9.2 0 20.8 1.2 35.4 3.9v-56.3c0-6.8 2.1-9.2 8.9-9.2h16.4c6.8 0 9.2 2.4 9.2 9.2v189.4c0 9.5-2.4 12.5-11.9 16.4-16.9 6.2-35.4 9.5-55.6 9.5-43.1 0-64.5-19.9-64.5-60.1zm97.5-26.7c-11.9-2.7-21.4-3.9-28.8-3.9-22.9 0-34.2 10.4-34.2 31.5v38.7c0 19.9 11 29.7 33.3 29.7 10.4 0 19.6-1.2 27.4-3.3 1.5-0.6 2.4-1.8 2.4-3.3v-89.4z"/><path class="st1" d="m1939.1 137.6c6.8 0 9.2 2.1 9.2 8.9v150.2c0 40.7-20.5 64.8-65.4 64.8-29.4 0-50.3-9.5-61.8-28.5-4.2-6.5-3-11.6 3.9-14.9l11.3-6.2c7.1-3.6 10.4-2.7 14.9 3.6 6.2 10.1 16.6 15.2 31.2 15.2 21.1 0 31.5-10.7 31.5-32.1v-14c-12.2 2.7-24.1 4.2-35.4 4.2-41.6 0-62.1-21.4-62.1-59.8v-82.4c0-6.8 2.4-8.9 9.2-8.9h16.4c6.8 0 8.9 2.1 8.9 8.9v81.2c0 19.6 10.7 29.4 32.4 29.4 9.8 0 19.9-1.5 30.6-4.2v-106.5c0-6.8 2.4-8.9 9.2-8.9z"/></g></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 91 62"><g fill="none" fill-rule="nonzero"><path fill="#3AE7E1" d="M11.36 28.163a2.704 2.704 0 0 1-2.085-4.799l7.492-5.85a2.704 2.704 0 0 1 3.786.465 2.704 2.704 0 0 1-.466 3.786l-7.491 5.852c-.365.304-.79.486-1.235.546Z"/><path fill="#F5F7FA" d="M4.092 33.873a2.736 2.736 0 0 1-2.551-.992 2.704 2.704 0 0 1 .466-3.786l.708-.547a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-.709.547c-.364.283-.79.465-1.235.526Z"/><path fill="#3AE7E1" d="M3.12 49.24a2.704 2.704 0 0 1-2.085-4.799l16.44-12.836c1.175-.91 2.875-.708 3.787.466a2.704 2.704 0 0 1-.466 3.786L4.356 48.714c-.385.284-.81.466-1.236.527Z"/><path fill="#F5F7FA" d="M26.546 31.018a2.704 2.704 0 0 1-2.085-4.799l2.611-2.044a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-2.612 2.045c-.385.283-.81.465-1.235.546Z"/><path fill="#3AE7E1" d="M25.108 46.71a2.704 2.704 0 0 1-2.085-4.799l13.484-10.528c1.175-.911 2.876-.709 3.787.465a2.704 2.704 0 0 1-.466 3.787L26.344 46.163c-.365.304-.79.486-1.236.547Z"/><path fill="#F5F7FA" d="M17.739 52.561a2.706 2.706 0 0 1-2.552-1.012c-.91-1.175-.708-2.875.466-3.786l.952-.75c1.174-.91 2.875-.708 3.786.466s.709 2.875-.466 3.786l-.951.75a2.59 2.59 0 0 1-1.235.546Z"/><path fill="#3AE7E1" d="M85.708 0H23.185c-2.328 0-4.495 1.438-5.183 3.665a5.014 5.014 0 0 0 0 3.037 5.21 5.21 0 0 0 1.761 2.53S43.715 27.84 49.587 31.89c2.106 1.356 4.15.89 5.365-.04L85.343 8.2v40.879a7.232 7.232 0 0 1-7.228 7.228h-57.44a2.67 2.67 0 0 0-2.673 2.672 2.713 2.713 0 0 0 2.713 2.713h57.38c6.965 0 12.614-5.649 12.614-12.613V5C90.729 2.247 88.48 0 85.708 0ZM52.239 27.151 24.4 5.386H80.18L52.24 27.15Z"/></g></svg>

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="384" height="128" version="1.1" viewBox="0 0 101.6 33.867"><g id="XMLID_1_" transform="matrix(.05357 0 0 .05357 -2.7694 6.1687)"><g id="XMLID_29_"><path id="XMLID_41_" fill="#3ae7e1" d="m107.8 179.5c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l37-28.9c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-37 28.9c-1.8 1.5-3.9 2.4-6.1 2.7z" class="st0"/></g><g id="XMLID_30_"><path id="XMLID_40_" fill="#7b8794" d="m71.9 207.7c-4.6 0.7-9.5-1-12.6-4.9-4.5-5.8-3.5-14.1 2.3-18.7l3.5-2.7c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-3.5 2.7c-1.8 1.4-3.9 2.3-6.1 2.6z" class="st1"/></g><g id="XMLID_31_"><path id="XMLID_39_" fill="#3ae7e1" d="m67.1 283.6c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l81.2-63.4c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.1-2.3 18.7l-81.2 63.5c-1.9 1.4-4 2.3-6.1 2.6z" class="st0"/></g><g id="XMLID_34_"><path id="XMLID_38_" fill="#7b8794" d="m182.8 193.6c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l12.9-10.1c5.8-4.5 14.1-3.5 18.7 2.3 4.5 5.8 3.5 14.1-2.3 18.7l-12.9 10.1c-1.9 1.4-4 2.3-6.1 2.7z" class="st1"/></g><g id="XMLID_32_"><path id="XMLID_37_" fill="#3ae7e1" d="m175.7 271.1c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.1 2.3-18.7l66.6-52c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.1-2.3 18.7l-66.6 52c-1.8 1.5-3.9 2.4-6.1 2.7z" class="st0"/></g><path id="XMLID_36_" fill="#7b8794" d="m139.3 300c-4.6 0.7-9.5-1-12.6-5-4.5-5.8-3.5-14.2 2.3-18.7l4.7-3.7c5.8-4.5 14.2-3.5 18.7 2.3s3.5 14.2-2.3 18.7l-4.7 3.7c-1.9 1.5-4 2.4-6.1 2.7z" class="st1"/><path id="XMLID_44_" fill="#3ae7e1" d="m475 40.4h-308.8c-11.5 0-22.2 7.1-25.6 18.1-1.6 5.1-1.5 10.3 0 15 1.5 4.8 4.5 9.2 8.7 12.5 0 0 118.3 91.9 147.3 111.9 10.4 6.7 20.5 4.4 26.5-0.2l150.1-116.8v201.9c0 19.7-16 35.7-35.7 35.7h-283.7c-7.3 0-13.2 5.9-13.2 13.2 0 7.4 6 13.4 13.4 13.4h283.4c34.4 0 62.3-27.9 62.3-62.3v-217.7c0.1-13.6-11-24.7-24.7-24.7zm-213.6 110.1 0.1-0.7 0.4 0.6zm48.3 24-137.5-107.5h275.5z" class="st0"/><g id="XMLID_81_"><g id="XMLID_4_" fill="#3ae7e1"><path id="XMLID_25_" d="m791.7 281.8c2.4 6.5 0 9.8-6.8 9.8h-15.5c-12.2 0-16.1-1.8-18.4-8.9l-13.7-38.4h-82.1l-14 38.4c-2.4 7.1-6.2 8.9-18.4 8.9h-13.7c-6.8 0-9.2-3.3-6.8-9.8l74.3-193.3c2.7-6.8 5.4-8.3 12.5-8.3h15.8c7.1 0 10.1 1.8 12.5 8zm-87.4-130.8c-3.6-10.7-5.9-24.4-6.8-31.2l-0.3-5.1h-2.1c0 11.3-2.1 23.2-6.5 36l-22.9 63h61.3z" class="st0"/><path id="XMLID_28_" d="m881.8 133.2c41.6 0 61.8 21.4 61.8 59.8v89.5c0 6.8-2.4 9.2-9.2 9.2h-16.4c-6.8 0-8.9-2.4-8.9-9.2v-88.6c0-19.3-10.7-29.1-32.4-29.1-9.5 0-19 1.2-28.5 3.9-1.5 0.6-2.1 1.5-2.1 3v110.9c0 6.8-2.1 9.2-8.9 9.2h-16.4c-6.8 0-9.2-2.4-9.2-9.2v-122.4c0-9.5 2.1-13.1 11.6-16.9 17-6.9 36.3-10.1 58.6-10.1z" class="st0"/><path id="XMLID_65_" d="m971.6 192.6c0-37.2 24.7-59.5 68.4-59.5 44 0 68.7 22.3 68.7 59.5v44c0 37.2-24.7 59.5-68.7 59.5-43.7 0-68.4-22.3-68.4-59.5zm102.6 0c0-18.1-12.5-28.2-34.2-28.2s-33.9 10.1-33.9 28.2v44c0 17.8 12.2 28.2 33.9 28.2s34.2-10.4 34.2-28.2z" class="st0"/><path id="XMLID_68_" d="m1207.7 133.2c41.6 0 61.8 21.4 61.8 59.8v89.5c0 6.8-2.4 9.2-9.2 9.2h-16.4c-6.8 0-8.9-2.4-8.9-9.2v-88.6c0-19.3-10.7-29.1-32.4-29.1-9.5 0-19 1.2-28.5 3.9-1.5 0.6-2.1 1.5-2.1 3v110.9c0 6.8-2.1 9.2-8.9 9.2h-16.4c-6.8 0-9.2-2.4-9.2-9.2v-122.4c0-9.5 2.1-13.1 11.6-16.9 16.9-6.9 36.3-10.1 58.6-10.1z" class="st0"/></g><g id="XMLID_24_" fill="#7b8794"><path id="XMLID_70_" d="m1477.7 281.8c2.4 6.5 0 9.8-6.8 9.8h-15.5c-12.2 0-16.1-1.8-18.4-8.9l-13.7-38.4h-82.1l-14 38.4c-2.4 7.1-6.2 8.9-18.4 8.9h-13.7c-6.8 0-9.2-3.3-6.8-9.8l74.3-193.3c2.7-6.8 5.4-8.3 12.5-8.3h15.8c7.1 0 10.1 1.8 12.5 8zm-87.5-130.8c-3.6-10.7-5.9-24.4-6.8-31.2l-0.3-5.1h-2.1c0 11.3-2.1 23.2-6.5 36l-22.9 63h61.3z" class="st1"/><path id="XMLID_73_" d="m1490.7 195.3c0-40.4 20.8-62.1 62.1-62.1 9.2 0 20.8 1.2 35.4 3.9v-56.3c0-6.8 2.1-9.2 8.9-9.2h16.4c6.8 0 9.2 2.4 9.2 9.2v189.4c0 9.5-2.4 12.5-11.9 16.4-16.9 6.2-35.4 9.5-55.6 9.5-43.1 0-64.5-19.9-64.5-60.1zm97.6-26.7c-11.9-2.7-21.4-3.9-28.8-3.9-22.9 0-34.2 10.4-34.2 31.5v38.7c0 19.9 11 29.7 33.3 29.7 10.4 0 19.6-1.2 27.4-3.3 1.5-0.6 2.4-1.8 2.4-3.3v-89.4z" class="st1"/><path id="XMLID_76_" d="m1651.9 195.3c0-40.4 20.8-62.1 62.1-62.1 9.2 0 20.8 1.2 35.4 3.9v-56.3c0-6.8 2.1-9.2 8.9-9.2h16.4c6.8 0 9.2 2.4 9.2 9.2v189.4c0 9.5-2.4 12.5-11.9 16.4-16.9 6.2-35.4 9.5-55.6 9.5-43.1 0-64.5-19.9-64.5-60.1zm97.5-26.7c-11.9-2.7-21.4-3.9-28.8-3.9-22.9 0-34.2 10.4-34.2 31.5v38.7c0 19.9 11 29.7 33.3 29.7 10.4 0 19.6-1.2 27.4-3.3 1.5-0.6 2.4-1.8 2.4-3.3v-89.4z" class="st1"/><path id="XMLID_79_" d="m1939.1 137.6c6.8 0 9.2 2.1 9.2 8.9v150.2c0 40.7-20.5 64.8-65.4 64.8-29.4 0-50.3-9.5-61.8-28.5-4.2-6.5-3-11.6 3.9-14.9l11.3-6.2c7.1-3.6 10.4-2.7 14.9 3.6 6.2 10.1 16.6 15.2 31.2 15.2 21.1 0 31.5-10.7 31.5-32.1v-14c-12.2 2.7-24.1 4.2-35.4 4.2-41.6 0-62.1-21.4-62.1-59.8v-82.4c0-6.8 2.4-8.9 9.2-8.9h16.4c6.8 0 8.9 2.1 8.9 8.9v81.2c0 19.6 10.7 29.4 32.4 29.4 9.8 0 19.9-1.5 30.6-4.2v-106.5c0-6.8 2.4-8.9 9.2-8.9z" class="st1"/></g></g></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 91 62"><g fill="none" fill-rule="nonzero"><path fill="#3AE7E1" d="M11.36 28.163a2.704 2.704 0 0 1-2.085-4.799l7.492-5.85a2.704 2.704 0 0 1 3.786.465 2.704 2.704 0 0 1-.466 3.786l-7.491 5.852c-.365.304-.79.486-1.235.546Z"/><path fill="#7B8794" d="M4.092 33.873a2.736 2.736 0 0 1-2.551-.992 2.704 2.704 0 0 1 .466-3.786l.708-.547a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-.709.547c-.364.283-.79.465-1.235.526Z"/><path fill="#3AE7E1" d="M3.12 49.24a2.704 2.704 0 0 1-2.085-4.799l16.44-12.836c1.175-.91 2.875-.708 3.787.466a2.704 2.704 0 0 1-.466 3.786L4.356 48.714c-.385.284-.81.466-1.236.527Z"/><path fill="#7B8794" d="M26.546 31.018a2.704 2.704 0 0 1-2.085-4.799l2.611-2.044a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-2.612 2.045c-.385.283-.81.465-1.235.546Z"/><path fill="#3AE7E1" d="M25.108 46.71a2.704 2.704 0 0 1-2.085-4.799l13.484-10.528c1.175-.911 2.876-.709 3.787.465a2.704 2.704 0 0 1-.466 3.787L26.344 46.163c-.365.304-.79.486-1.236.547Z"/><path fill="#7B8794" d="M17.739 52.561a2.706 2.706 0 0 1-2.552-1.012c-.91-1.175-.708-2.875.466-3.786l.952-.75c1.174-.91 2.875-.708 3.786.466s.709 2.875-.466 3.786l-.951.75a2.59 2.59 0 0 1-1.235.546Z"/><path fill="#3AE7E1" d="M85.708 0H23.185c-2.328 0-4.495 1.438-5.183 3.665a5.014 5.014 0 0 0 0 3.037 5.21 5.21 0 0 0 1.761 2.53S43.715 27.84 49.587 31.89c2.106 1.356 4.15.89 5.365-.04L85.343 8.2v40.879a7.232 7.232 0 0 1-7.228 7.228h-57.44a2.67 2.67 0 0 0-2.673 2.672 2.713 2.713 0 0 0 2.713 2.713h57.38c6.965 0 12.614-5.649 12.614-12.613V5C90.729 2.247 88.48 0 85.708 0ZM52.239 27.151 24.4 5.386H80.18L52.24 27.15Z"/></g></svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 298 B

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 91 62"><g fill="none" fill-rule="nonzero"><path fill="#3AE7E1" d="M11.36 28.163a2.704 2.704 0 0 1-2.085-4.799l7.492-5.85a2.704 2.704 0 0 1 3.786.465 2.704 2.704 0 0 1-.466 3.786l-7.491 5.852c-.365.304-.79.486-1.235.546Z"/><path fill="#F5F7FA" d="M4.092 33.873a2.736 2.736 0 0 1-2.551-.992 2.704 2.704 0 0 1 .466-3.786l.708-.547a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-.709.547c-.364.283-.79.465-1.235.526Z"/><path fill="#3AE7E1" d="M3.12 49.24a2.704 2.704 0 0 1-2.085-4.799l16.44-12.836c1.175-.91 2.875-.708 3.787.466a2.704 2.704 0 0 1-.466 3.786L4.356 48.714c-.385.284-.81.466-1.236.527Z"/><path fill="#F5F7FA" d="M26.546 31.018a2.704 2.704 0 0 1-2.085-4.799l2.611-2.044a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-2.612 2.045c-.385.283-.81.465-1.235.546Z"/><path fill="#3AE7E1" d="M25.108 46.71a2.704 2.704 0 0 1-2.085-4.799l13.484-10.528c1.175-.911 2.876-.709 3.787.465a2.704 2.704 0 0 1-.466 3.787L26.344 46.163c-.365.304-.79.486-1.236.547Z"/><path fill="#F5F7FA" d="M17.739 52.561a2.706 2.706 0 0 1-2.552-1.012c-.91-1.175-.708-2.875.466-3.786l.952-.75c1.174-.91 2.875-.708 3.786.466s.709 2.875-.466 3.786l-.951.75a2.59 2.59 0 0 1-1.235.546Z"/><path fill="#3AE7E1" d="M85.708 0H23.185c-2.328 0-4.495 1.438-5.183 3.665a5.014 5.014 0 0 0 0 3.037 5.21 5.21 0 0 0 1.761 2.53S43.715 27.84 49.587 31.89c2.106 1.356 4.15.89 5.365-.04L85.343 8.2v40.879a7.232 7.232 0 0 1-7.228 7.228h-57.44a2.67 2.67 0 0 0-2.673 2.672 2.713 2.713 0 0 0 2.713 2.713h57.38c6.965 0 12.614-5.649 12.614-12.613V5C90.729 2.247 88.48 0 85.708 0ZM52.239 27.151 24.4 5.386H80.18L52.24 27.15Z"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 91 62"><g fill="none" fill-rule="nonzero"><path fill="#3AE7E1" d="M11.36 28.163a2.704 2.704 0 0 1-2.085-4.799l7.492-5.85a2.704 2.704 0 0 1 3.786.465 2.704 2.704 0 0 1-.466 3.786l-7.491 5.852c-.365.304-.79.486-1.235.546Z"/><path fill="#7B8794" d="M4.092 33.873a2.736 2.736 0 0 1-2.551-.992 2.704 2.704 0 0 1 .466-3.786l.708-.547a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-.709.547c-.364.283-.79.465-1.235.526Z"/><path fill="#3AE7E1" d="M3.12 49.24a2.704 2.704 0 0 1-2.085-4.799l16.44-12.836c1.175-.91 2.875-.708 3.787.466a2.704 2.704 0 0 1-.466 3.786L4.356 48.714c-.385.284-.81.466-1.236.527Z"/><path fill="#7B8794" d="M26.546 31.018a2.704 2.704 0 0 1-2.085-4.799l2.611-2.044a2.704 2.704 0 0 1 3.787.466 2.704 2.704 0 0 1-.466 3.786l-2.612 2.045c-.385.283-.81.465-1.235.546Z"/><path fill="#3AE7E1" d="M25.108 46.71a2.704 2.704 0 0 1-2.085-4.799l13.484-10.528c1.175-.911 2.876-.709 3.787.465a2.704 2.704 0 0 1-.466 3.787L26.344 46.163c-.365.304-.79.486-1.236.547Z"/><path fill="#7B8794" d="M17.739 52.561a2.706 2.706 0 0 1-2.552-1.012c-.91-1.175-.708-2.875.466-3.786l.952-.75c1.174-.91 2.875-.708 3.786.466s.709 2.875-.466 3.786l-.951.75a2.59 2.59 0 0 1-1.235.546Z"/><path fill="#3AE7E1" d="M85.708 0H23.185c-2.328 0-4.495 1.438-5.183 3.665a5.014 5.014 0 0 0 0 3.037 5.21 5.21 0 0 0 1.761 2.53S43.715 27.84 49.587 31.89c2.106 1.356 4.15.89 5.365-.04L85.343 8.2v40.879a7.232 7.232 0 0 1-7.228 7.228h-57.44a2.67 2.67 0 0 0-2.673 2.672 2.713 2.713 0 0 0 2.713 2.713h57.38c6.965 0 12.614-5.649 12.614-12.613V5C90.729 2.247 88.48 0 85.708 0ZM52.239 27.151 24.4 5.386H80.18L52.24 27.15Z"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 86 78"><path fill="#76BC21" fill-rule="nonzero" d="M52.597 44.165 85.369 21.72V0H7.923S-.003 0-.003 7.924v.217l52.6 36.024ZM7.923 77.151h77.446V33.243L54.677 54.168c-2.183 1.487-4.358-.01-4.358-.01L-.003 19.539v49.69s0 7.923 7.926 7.923"/></svg>

Before

Width:  |  Height:  |  Size: 298 B

View File

@ -1,15 +0,0 @@
<svg width="979" height="785" viewBox="0 0 979 785" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 22.5541C0 3.48617 22.2124 -6.94596 36.8738 5.23613L424.677 327.46C462.177 358.619 516.546 358.619 554.046 327.46L941.85 5.23618C956.511 -6.94591 978.723 3.48621 978.723 22.5541V683.7C978.723 739.646 933.393 785 877.476 785H101.247C45.3299 785 0 739.646 0 683.7V22.5541Z" fill="#6D4AFF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M621.492 271.42L621.546 271.464L426.244 444.071C392.975 473.475 343.246 474.216 309.116 445.817L0 188.604V22.5541C0 3.48617 22.2124 -6.94596 36.8738 5.23613L424.677 327.46C462.177 358.619 516.546 358.619 554.046 327.46L621.492 271.42Z" fill="url(#paint0_linear_6150_150885)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M770.604 147.526V785H877.476C933.393 785 978.723 739.642 978.723 683.699V22.5548C978.723 3.4868 956.51 -6.94715 941.849 5.23724L770.604 147.526Z" fill="url(#paint1_linear_6150_150885)"/>
<defs>
<linearGradient id="paint0_linear_6150_150885" x1="738.261" y1="384.02" x2="514.95" y2="-568.829" gradientUnits="userSpaceOnUse">
<stop stop-color="#E2DBFF"/>
<stop offset="1" stop-color="#6D4AFF"/>
</linearGradient>
<linearGradient id="paint1_linear_6150_150885" x1="1276.84" y1="1301.35" x2="514.868" y2="-325.532" gradientUnits="userSpaceOnUse">
<stop offset="0.271019" stop-color="#E2DBFF"/>
<stop offset="1" stop-color="#6D4AFF"/>
</linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 59"><defs><linearGradient id="a" x1="0%" x2="99.995%" y1="50%" y2="50%"><stop offset="0%" stop-color="#ED2E7C"/><stop offset="100%" stop-color="#A8288F"/></linearGradient></defs><path fill="url(#a)" fill-rule="nonzero" d="M96.523 0H25.005l-.903.933-.153.169a41.263 41.263 0 0 1-2.126 2.057A45.808 45.808 0 0 1 2.6 13.883c-.207.061-.406.107-.612.168l-.903.222-.206.903c-.077.329-.138.658-.207 1.002A38.1 38.1 0 0 0 0 23.223a37.415 37.415 0 0 0 22.343 34.244c.153.077.329.153.497.222.375.168.75.314 1.124.467l.452.168.06.015.031-.015a.26.26 0 0 0 .108.015h71.893a2.805 2.805 0 0 0 2.807-2.807V2.784A2.767 2.767 0 0 0 96.523 0Zm-4.857 4.483-29.93 26.09a1.628 1.628 0 0 1-2.143-.015l-9.76-8.651a35.554 35.554 0 0 0-.673-6.196 36.48 36.48 0 0 1-.092-.527l-.206-.903-.903-.237c-.222-.046-.436-.107-.658-.153a44.69 44.69 0 0 1-13.898-6.54l-3.235-2.86h61.498v-.008ZM51.378 29.105l-2.455 2.172c.282-1.243.502-2.499.658-3.763l1.797 1.59Zm-26.84 26.06a36.184 36.184 0 0 1-2.715-1.247 34.66 34.66 0 0 1-18.817-30.68c-.003-2.18.207-4.355.627-6.494a48.582 48.582 0 0 0 18.19-9.34A43.137 43.137 0 0 0 25.02 4.56 48.67 48.67 0 0 0 42.68 15.566a40.75 40.75 0 0 0 3.626 1.14c.138.78.268 1.575.344 2.37.144 1.28.218 2.568.222 3.856 0 .704-.015 1.407-.076 2.111a33.775 33.775 0 0 1-2.142 10.013 34.551 34.551 0 0 1-20.117 20.109Zm8.728-1.155A37.48 37.48 0 0 0 45.71 40.02l8.98-7.932 4.873 4.36c.616.543 1.54.543 2.157 0l4.964-4.406 24.92 21.937-58.338.03Zm36.807-24.92L95.008 6.93l.046 44.189-24.981-22.03ZM31.269 46.842a24.6 24.6 0 0 0 3.312-2.922l-3.312 2.922Zm11.114-25.686a31.669 31.669 0 0 0-.283-1.874 34.74 34.74 0 0 1-2.906-.933.015.015 0 0 1-.016-.015c-.252-.077-.482-.184-.734-.283a25.363 25.363 0 0 1-1.637-.72 19.24 19.24 0 0 1-1.14-.542 10.245 10.245 0 0 1-.81-.42 35.255 35.255 0 0 1-2.532-1.485 25.548 25.548 0 0 1-1.5-1.002.275.275 0 0 1-.107-.076c-.527-.36-1.047-.75-1.56-1.14a43.023 43.023 0 0 1-2.952-2.486c-.406-.36-.811-.734-1.201-1.124a54.541 54.541 0 0 1-3.182 2.845 38.333 38.333 0 0 1-14.006 7.42 27.794 27.794 0 0 0-.497 5.232A28.301 28.301 0 0 0 21.83 49.19c.905.496 1.837.94 2.792 1.33a31.993 31.993 0 0 0 1.698-.718c.452-.207.903-.42 1.346-.658.407-.203.803-.428 1.186-.673.13-.065.255-.14.375-.222.206-.122.405-.252.596-.375a.368.368 0 0 0 .123-.091c.35-.217.69-.452 1.017-.704a1.3 1.3 0 0 0 .314-.237l3.312-2.922c.03 0 .03 0 .03-.015a28.385 28.385 0 0 0 6.946-12.239 27.624 27.624 0 0 0 1.002-7.374 30.795 30.795 0 0 0-.184-3.136ZM26.26 37.205l-2.547 2.547h-.015l-10.54-10.54 3.235-3.266 7.32 7.32 2.547-2.547 8.888-8.904 3.251 3.251-12.139 12.139Z"/></svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56"><g fill="none" fill-rule="nonzero"><path fill="#6573FF" d="M55.73 9.844V5.297A5.275 5.275 0 0 0 50.453.022H5.284A5.275 5.275 0 0 0 .007 5.297v4.461c2.097 2.006 21.3 20.222 27.956 20.222 7.043 0 25.592-18.003 27.767-20.136h-.002Z"/><path fill="#e5e8ff" d="M45.804 26.455c-7.608 6.855-13.613 10.332-17.849 10.332C18.347 36.787 2.08 22.23 0 20.34v30.128a5.276 5.276 0 0 0 5.275 5.275h45.17a5.275 5.275 0 0 0 5.276-5.275V16.43a133.421 133.421 0 0 1-9.918 10.023l.001.002Z"/></g></svg>

Before

Width:  |  Height:  |  Size: 540 B

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 56"><g fill="none" fill-rule="nonzero"><path fill="#6573FF" d="M55.73 9.844V5.297A5.275 5.275 0 0 0 50.453.022H5.284A5.275 5.275 0 0 0 .007 5.297v4.461c2.097 2.006 21.3 20.222 27.956 20.222 7.043 0 25.592-18.003 27.767-20.136h-.002Z"/><path fill="#202945" d="M45.804 26.455c-7.608 6.855-13.613 10.332-17.849 10.332C18.347 36.787 2.08 22.23 0 20.34v30.128a5.276 5.276 0 0 0 5.275 5.275h45.17a5.275 5.275 0 0 0 5.276-5.275V16.43a133.421 133.421 0 0 1-9.918 10.023l.001.002Z"/></g></svg>

Before

Width:  |  Height:  |  Size: 540 B

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 257 237"><defs><path id="a" d="M22.875.003C10.235.003 0 10.249 0 22.875v211.23c0 .801.046 1.608.123 2.388 8.5-3.167 17.524-6.629 27.054-10.436 66.336-26.48 120.57-48.994 120.62-74.415 0-.814-.056-1.636-.172-2.458-3.43-25.098-63.407-32.879-63.324-44.381.007-.611.18-1.25.548-1.889 7.205-12.619 35.743-12.015 46.253-12.907 10.519-.913 35.206-.724 36.399-8.244.035-.232.057-.463.057-.695.028-6.987-16.977-9.726-16.977-9.726s20.635 3.083 20.579 11.11c0 .393-.048.8-.158 1.214-2.222 8.624-20.379 10.246-32.386 10.835-11.356.569-28.648 1.861-28.707 7.408-.007.323.049.66.165 1.004 2.71 8.11 66.09 12.015 106.64 33.061 23.335 12.099 34.94 32.422 40.263 53.418V22.872C256.977 10.246 246.734 0 234.108 0H22.878l-.003.003Z"/></defs><use xlink:href="#a" fill="#A01E20" fill-rule="evenodd"/></svg>

Before

Width:  |  Height:  |  Size: 881 B

View File

@ -1,25 +1 @@
<svg width="4611" height="785" viewBox="0 0 4611 785" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3393.77 628.366V148.75H3518.26L3634.96 436.342C3645.32 460.412 3654.25 485.07 3661.71 510.19H3662.9C3670.4 485.085 3679.33 460.429 3689.65 436.342L3806.35 148.75H3930.84V628.366H3840.6V307.01C3840.5 296.426 3841 285.846 3842.09 275.318H3840.6C3837.85 286.656 3834.08 297.724 3829.35 308.392L3700.02 622.739H3625.48L3495.75 308.392C3491.08 297.627 3487.09 286.581 3483.8 275.318H3482.42C3483.42 285.852 3483.88 296.429 3483.8 307.01V628.366H3393.77Z" fill="#6D4AFF"/>
<path d="M4239.47 311.946C4265.6 325.654 4287.2 346.641 4301.66 372.367C4317.16 400.305 4325 431.846 4324.37 463.788V628.367H4245.39L4239.76 579.003C4229.46 596.899 4214.34 611.54 4196.12 621.258C4176.6 631.406 4154.84 636.465 4132.84 635.969C4104.75 636.251 4077.14 628.732 4053.07 614.249C4028.72 599.465 4008.88 578.296 3995.71 553.038C3981.32 525.239 3974.1 494.293 3974.68 462.999C3974.29 432.197 3982.16 401.855 3997.49 375.131C4012.47 349.157 4034.24 327.756 4060.47 313.23C4087.63 298.137 4118.26 290.379 4149.33 290.72C4180.67 290.176 4211.66 297.473 4239.47 311.946V311.946ZM4210.54 533.391C4227.72 517.002 4236.21 493.9 4236.21 463.097C4237.29 437.923 4228.46 413.327 4211.62 394.581C4203.61 386.204 4193.97 379.537 4183.31 374.982C4172.65 370.428 4161.17 368.079 4149.57 368.079C4137.98 368.079 4126.5 370.428 4115.84 374.982C4105.17 379.537 4095.54 386.204 4087.52 394.581C4071.51 413.783 4062.74 437.995 4062.74 462.999C4062.74 488.002 4071.51 512.214 4087.52 531.417C4095.43 539.974 4105.06 546.75 4115.78 551.295C4126.51 555.84 4138.08 558.05 4149.72 557.777C4160.97 557.965 4172.15 555.905 4182.59 551.718C4193.03 547.53 4202.54 541.299 4210.54 533.391V533.391Z" fill="#6D4AFF"/>
<path d="M4373.04 229.311C4367.73 224.46 4363.5 218.538 4360.64 211.935C4357.78 205.333 4356.35 198.199 4356.45 191.005C4356.37 183.756 4357.81 176.569 4360.66 169.905C4363.52 163.242 4367.73 157.247 4373.04 152.304C4383.53 141.862 4397.73 136 4412.53 136C4427.33 136 4441.53 141.862 4452.02 152.304C4457.29 157.267 4461.48 163.268 4464.32 169.928C4467.15 176.589 4468.58 183.765 4468.51 191.005C4468.6 198.189 4467.18 205.312 4464.34 211.911C4461.5 218.511 4457.3 224.439 4452.02 229.311C4441.41 239.519 4427.25 245.221 4412.53 245.221C4397.8 245.221 4383.65 239.519 4373.04 229.311ZM4457.05 628.366H4368.2V297.828H4457.05V628.366Z" fill="#6D4AFF"/>
<path d="M4610.68 628.366H4521.82V148.75H4610.68V628.366Z" fill="#6D4AFF"/>
<path d="M1549.54 147.559H1328V627.471H1415.77V508.406C1415.77 496.78 1420.39 485.631 1428.61 477.41C1436.83 469.19 1447.98 464.571 1459.6 464.571H1549.54C1591.44 464.571 1631.62 447.929 1661.24 418.305C1690.86 388.681 1707.51 348.502 1707.51 306.608C1707.65 285.773 1703.67 265.115 1695.8 245.824C1687.92 226.534 1676.31 208.992 1661.63 194.208C1646.94 179.425 1629.48 167.692 1610.25 159.686C1591.01 151.68 1570.38 147.558 1549.54 147.559ZM1618.65 305.522C1618.57 325.352 1610.63 344.341 1596.56 358.317C1582.49 372.293 1563.45 380.113 1543.62 380.061H1415.27V230.094H1543.62C1553.46 230.094 1563.2 232.033 1572.3 235.798C1581.39 239.564 1589.65 245.084 1596.61 252.042C1603.56 259 1609.08 267.261 1612.85 276.352C1616.62 285.444 1618.55 295.188 1618.55 305.028L1618.65 305.522Z" fill="#1B1340"/>
<path d="M1721.33 627.476V437.13C1721.33 359.432 1766.74 297.53 1857.47 297.53C1872.06 297.319 1886.63 298.944 1900.81 302.367V380.757C1890.45 380.066 1881.07 380.066 1877.41 380.066C1829.33 380.066 1808.3 401.983 1808.3 446.707V627.476H1721.33Z" fill="#1B1340"/>
<path d="M1926.88 465.96C1926.88 370.392 1999.05 297.531 2099.46 297.531C2199.86 297.531 2271.93 370.194 2271.93 465.96C2271.93 561.725 2199.76 635.079 2099.46 635.079C1999.15 635.079 1926.88 561.527 1926.88 465.96ZM2186.04 465.96C2186.04 411.66 2149.61 373.156 2099.46 373.156C2049.3 373.156 2012.77 411.66 2012.77 465.96C2012.77 520.26 2049.2 558.763 2099.46 558.763C2149.71 558.763 2186.04 520.951 2186.04 465.96Z" fill="#1B1340"/>
<path d="M2524.87 373.845H2430.78V494.094C2430.78 536.053 2445.89 555.305 2489.13 555.305C2493.28 555.305 2503.64 555.305 2516.68 554.614V625.401C2500.15 630.24 2483.05 632.797 2465.83 633.003C2392.97 633.003 2343.41 588.971 2343.41 505.843V373.845H2285.06V304.736H2299.58C2311.2 304.736 2322.35 300.117 2330.57 291.897C2338.79 283.676 2343.41 272.526 2343.41 260.901V195.148H2430.78V304.439H2524.87V373.845Z" fill="#1B1340"/>
<path d="M2551.03 465.96C2551.03 370.392 2623.2 297.531 2723.51 297.531C2823.81 297.531 2896.08 370.194 2896.08 465.96C2896.08 561.725 2823.91 635.079 2723.51 635.079C2623.1 635.079 2551.03 561.527 2551.03 465.96ZM2810.19 465.96C2810.19 411.66 2773.76 373.156 2723.51 373.156C2673.26 373.156 2636.92 411.66 2636.92 465.96C2636.92 520.26 2673.35 558.763 2723.51 558.763C2773.66 558.763 2810.19 520.951 2810.19 465.96Z" fill="#1B1340"/>
<path d="M2941.4 627.477V443.944C2941.4 358.742 2995.7 297.531 3092.65 297.531C3189.6 297.531 3243.21 358.742 3243.21 443.944V627.477H3156.63V450.854C3156.63 403.367 3135.3 373.847 3092.65 373.847C3050 373.847 3028.77 403.465 3028.77 450.854V627.477H2941.4Z" fill="#1B1340"/>
<path d="M0 22.5541C0 3.48617 22.2124 -6.94596 36.8738 5.23613L424.677 327.46C462.177 358.619 516.546 358.619 554.046 327.46L941.85 5.23618C956.511 -6.94591 978.723 3.48621 978.723 22.5541V683.7C978.723 739.646 933.393 785 877.476 785H101.247C45.3299 785 0 739.646 0 683.7V22.5541Z" fill="#6D4AFF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M621.492 271.42L621.546 271.464L426.244 444.071C392.975 473.475 343.246 474.216 309.116 445.817L0 188.604V22.5541C0 3.48617 22.2124 -6.94596 36.8738 5.23613L424.677 327.46C462.177 358.619 516.546 358.619 554.046 327.46L621.492 271.42Z" fill="url(#paint0_linear_6138_150267)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M770.604 147.526V785H877.476C933.393 785 978.723 739.642 978.723 683.699V22.5548C978.723 3.4868 956.51 -6.94715 941.849 5.23724L770.604 147.526Z" fill="url(#paint1_linear_6138_150267)"/>
<defs>
<linearGradient id="paint0_linear_6138_150267" x1="738.261" y1="384.02" x2="514.95" y2="-568.829" gradientUnits="userSpaceOnUse">
<stop stop-color="#E2DBFF"/>
<stop offset="1" stop-color="#6D4AFF"/>
</linearGradient>
<linearGradient id="paint1_linear_6138_150267" x1="1276.84" y1="1301.35" x2="514.868" y2="-325.532" gradientUnits="userSpaceOnUse">
<stop offset="0.271019" stop-color="#E2DBFF"/>
<stop offset="1" stop-color="#6D4AFF"/>
</linearGradient>
</defs>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="979" height="785" fill="none" viewBox="0 0 979 785"><path fill="#6D4AFF" d="M0 22.5541C0 3.48617 22.2124 -6.94596 36.8738 5.23613L424.677 327.46C462.177 358.619 516.546 358.619 554.046 327.46L941.85 5.23618C956.511 -6.94591 978.723 3.48621 978.723 22.5541V683.7C978.723 739.646 933.393 785 877.476 785H101.247C45.3299 785 0 739.646 0 683.7V22.5541Z"/><path fill="url(#paint0_linear_6150_150885)" fill-rule="evenodd" d="M621.492 271.42L621.546 271.464L426.244 444.071C392.975 473.475 343.246 474.216 309.116 445.817L0 188.604V22.5541C0 3.48617 22.2124 -6.94596 36.8738 5.23613L424.677 327.46C462.177 358.619 516.546 358.619 554.046 327.46L621.492 271.42Z" clip-rule="evenodd"/><path fill="url(#paint1_linear_6150_150885)" fill-rule="evenodd" d="M770.604 147.526V785H877.476C933.393 785 978.723 739.642 978.723 683.699V22.5548C978.723 3.4868 956.51 -6.94715 941.849 5.23724L770.604 147.526Z" clip-rule="evenodd"/><defs><linearGradient id="paint0_linear_6150_150885" x1="738.261" x2="514.95" y1="384.02" y2="-568.829" gradientUnits="userSpaceOnUse"><stop stop-color="#E2DBFF"/><stop offset="1" stop-color="#6D4AFF"/></linearGradient><linearGradient id="paint1_linear_6150_150885" x1="1276.84" x2="514.868" y1="1301.35" y2="-325.532" gradientUnits="userSpaceOnUse"><stop offset=".271" stop-color="#E2DBFF"/><stop offset="1" stop-color="#6D4AFF"/></linearGradient></defs></svg>

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 540 B

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 540 B

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 384 128"><defs><clipPath id="b"><use width="1280" height="800" overflow="visible" xlink:href="#a"/></clipPath><path id="a" d="m155.5 222.8c-12.64 0-22.875 10.246-22.875 22.872v211.23c0 0.801 0.046 1.608 0.123 2.388 8.5-3.167 17.524-6.629 27.054-10.436 66.336-26.48 120.57-48.994 120.62-74.415 0-0.814-0.056-1.636-0.172-2.458-3.43-25.098-63.407-32.879-63.324-44.381 7e-3 -0.611 0.18-1.25 0.548-1.889 7.205-12.619 35.743-12.015 46.253-12.907 10.519-0.913 35.206-0.724 36.399-8.244 0.035-0.232 0.057-0.463 0.057-0.695 0.028-6.987-16.977-9.726-16.977-9.726s20.635 3.083 20.579 11.11c0 0.393-0.048 0.8-0.158 1.214-2.222 8.624-20.379 10.246-32.386 10.835-11.356 0.569-28.648 1.861-28.707 7.408-7e-3 0.323 0.049 0.66 0.165 1.004 2.71 8.11 66.09 12.015 106.64 33.061 23.335 12.099 34.94 32.422 40.263 53.418v-166.52c0-12.626-10.243-22.872-22.869-22.872h-211.23z"/></defs><path fill="#fff" stroke-width=".364" d="m131.6 49.002h-15.548v-2.9432h34.296v2.9432h-15.548v44.406h-3.1992v-44.406zm17.914 35.192v-24.378h3.0714v23.994c0 5.119 2.2396 7.6139 7.3583 7.6139 4.6711 0 8.5738-2.4312 12.733-6.3983v-25.21h3.0714v33.592h-3.0714v-5.5662c-3.7112 3.5185-8.0622 6.2705-12.989 6.2705-6.9744-3.6e-4 -10.174-3.8394-10.174-9.918zm39.734 1.7276v-23.355h-5.8867v-2.7512h5.8867v-12.221h3.0713v12.221h8.7658v2.7512h-8.7658v22.907c0 3.5834 1.2159 5.631 5.4388 5.631 1.28 0 2.5593-0.12818 3.5193-0.44792v2.8791c-1.0878 0.19191-2.3674 0.3201-3.7749 0.3201-5.5669 0-8.2545-2.2396-8.2545-7.934zm18.554-0.25601c0-6.3983 5.4388-11.198 23.099-14.141v-2.0477c0-5.1187-2.6875-7.678-7.2942-7.678-5.567 0-9.2781 2.1755-13.053 5.5669l-1.7913-1.9195c4.1591-3.839 8.4456-6.3346 14.908-6.3346 6.9744 0 10.302 3.9672 10.302 10.174v15.804c0 4.0954 0.25601 6.5902 0.95993 8.3178h-3.2632c-0.44792-1.4075-0.76766-3.0713-0.76766-4.9908-4.095 3.5193-8.5742 5.567-13.629 5.567-6.1427 0-9.4697-3.1992-9.4697-8.3182zm23.098-0.25601v-11.581c-16.38 2.8794-20.027 6.9103-20.027 11.645 0 3.7753 2.4956 5.823 6.6543 5.823 4.9912 3.6e-4 9.5338-2.1755 13.373-5.8867zm13.566 7.9981v-33.784h5.5666v5.0549c2.9435-2.8794 7.1667-5.7585 12.669-5.7585 6.4624 0 9.9817 3.7112 9.9817 10.11v24.378h-5.5029v-23.162c0-4.4788-1.9195-6.5906-6.2064-6.5906-4.0309 0-7.4224 2.1114-10.942 5.4388v24.314h-5.5666zm36.278-16.892c0-11.645 7.4224-17.596 15.741-17.596 8.2541 0 15.676 5.9508 15.676 17.596 0 11.581-7.4224 17.596-15.676 17.596s-15.741-6.0149-15.741-17.596zm25.85 0c0-7.0385-3.3914-12.861-10.11-12.861-6.4624 0-10.174 5.2468-10.174 12.861 0 7.1664 3.3274 12.925 10.174 12.925 6.3983 0 10.11-5.1831 10.11-12.925zm16.379 8.702v-21.051h-5.8867v-4.5429h5.8867v-12.029h5.5025v12.029h8.7661v4.5429h-8.7661v19.836c0 3.5834 1.1518 5.375 5.2468 5.375 1.2156 0 2.5593-0.19191 3.4552-0.44792v4.5429c-0.95993 0.19191-3.0717 0.38419-4.7989 0.38419-7.1023-7.3e-4 -9.4056-2.7516-9.4056-8.6387zm20.219 0.19191c0-6.8466 5.8222-11.709 22.586-14.077v-1.5357c0-4.2232-2.2392-6.2705-6.3983-6.2705-5.119 0-8.8939 2.2396-12.221 5.1187l-2.8794-3.4552c3.9031-3.583 8.958-6.2705 15.676-6.2705 8.0622 0 11.261 4.2232 11.261 11.261v14.908c0 4.0954 0.25601 6.5902 0.95993 8.3178h-5.6307c-0.44756-1.4075-0.76766-2.7512-0.76766-4.6708-3.7749 3.5193-7.9981 5.1828-13.053 5.1828-5.823 3.6e-4 -9.5338-3.0706-9.5338-8.5098zm22.586-0.76765v-9.4697c-12.861 2.0477-17.148 5.1828-17.148 9.4059 0 3.2633 2.1755 4.9912 5.6948 4.9912 4.4788-3.6e-4 8.3182-1.8561 11.453-4.9275zm4.3018-37.48c0-3.8769 3.0954-7.0021 6.9719-7.0021s6.942 3.1252 6.942 7.0021c0 3.9067-3.0655 7.032-6.942 7.032s-6.9719-3.1256-6.9719-7.032zm13.102 0c0-3.3958-2.7349-6.2206-6.1303-6.2206s-6.1303 2.8248-6.1303 6.2206c0 3.4257 2.7349 6.2203 6.1303 6.2203s6.1303-2.7946 6.1303-6.2203zm-8.6547-4.0269h2.6147c1.7425 0 2.7043 0.78149 2.7043 2.1034 0 1.2622-0.69081 1.8929-1.7425 2.1034l1.9829 3.6059h-0.99161l-1.9232-3.4858h-1.7731v3.4858h-0.87144zm2.5845 3.5156c1.142 0 1.863-0.3303 1.863-1.3824 0-0.96175-0.72104-1.292-1.8933-1.292h-1.6828v2.6744z"/><g fill="#a01e20" transform="translate(-132.63 -331.29)"><clipPath><use width="1280" height="800" overflow="visible" xlink:href="#a"/></clipPath><path d="m132.63 222.8h256.98v236.49h-256.98z" clip-path="url(#b)" transform="matrix(.36416 0 0 .36416 84.331 271.09)"/></g></svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 384 128"><defs><clipPath id="b"><use width="1280" height="800" overflow="visible" xlink:href="#a"/></clipPath><path id="a" d="m155.5 222.8c-12.64 0-22.875 10.246-22.875 22.872v211.23c0 0.801 0.046 1.608 0.123 2.388 8.5-3.167 17.524-6.629 27.054-10.436 66.336-26.48 120.57-48.994 120.62-74.415 0-0.814-0.056-1.636-0.172-2.458-3.43-25.098-63.407-32.879-63.324-44.381 7e-3 -0.611 0.18-1.25 0.548-1.889 7.205-12.619 35.743-12.015 46.253-12.907 10.519-0.913 35.206-0.724 36.399-8.244 0.035-0.232 0.057-0.463 0.057-0.695 0.028-6.987-16.977-9.726-16.977-9.726s20.635 3.083 20.579 11.11c0 0.393-0.048 0.8-0.158 1.214-2.222 8.624-20.379 10.246-32.386 10.835-11.356 0.569-28.648 1.861-28.707 7.408-7e-3 0.323 0.049 0.66 0.165 1.004 2.71 8.11 66.09 12.015 106.64 33.061 23.335 12.099 34.94 32.422 40.263 53.418v-166.52c0-12.626-10.243-22.872-22.869-22.872h-211.23z"/></defs><path stroke-width=".364" d="m131.6 49.002h-15.548v-2.9432h34.296v2.9432h-15.548v44.406h-3.1992v-44.406zm17.914 35.192v-24.378h3.0714v23.994c0 5.119 2.2396 7.6139 7.3583 7.6139 4.6711 0 8.5738-2.4312 12.733-6.3983v-25.21h3.0714v33.592h-3.0714v-5.5662c-3.7112 3.5185-8.0622 6.2705-12.989 6.2705-6.9744-3.6e-4 -10.174-3.8394-10.174-9.918zm39.734 1.7276v-23.355h-5.8867v-2.7512h5.8867v-12.221h3.0713v12.221h8.7658v2.7512h-8.7658v22.907c0 3.5834 1.2159 5.631 5.4388 5.631 1.28 0 2.5593-0.12818 3.5193-0.44792v2.8791c-1.0878 0.19191-2.3674 0.3201-3.7749 0.3201-5.5669 0-8.2545-2.2396-8.2545-7.934zm18.554-0.25601c0-6.3983 5.4388-11.198 23.099-14.141v-2.0477c0-5.1187-2.6875-7.678-7.2942-7.678-5.567 0-9.2781 2.1755-13.053 5.5669l-1.7913-1.9195c4.1591-3.839 8.4456-6.3346 14.908-6.3346 6.9744 0 10.302 3.9672 10.302 10.174v15.804c0 4.0954 0.25601 6.5902 0.95993 8.3178h-3.2632c-0.44792-1.4075-0.76766-3.0713-0.76766-4.9908-4.095 3.5193-8.5742 5.567-13.629 5.567-6.1427 0-9.4697-3.1992-9.4697-8.3182zm23.098-0.25601v-11.581c-16.38 2.8794-20.027 6.9103-20.027 11.645 0 3.7753 2.4956 5.823 6.6543 5.823 4.9912 3.6e-4 9.5338-2.1755 13.373-5.8867zm13.566 7.9981v-33.784h5.5666v5.0549c2.9435-2.8794 7.1667-5.7585 12.669-5.7585 6.4624 0 9.9817 3.7112 9.9817 10.11v24.378h-5.5029v-23.162c0-4.4788-1.9195-6.5906-6.2064-6.5906-4.0309 0-7.4224 2.1114-10.942 5.4388v24.314h-5.5666zm36.278-16.892c0-11.645 7.4224-17.596 15.741-17.596 8.2541 0 15.676 5.9508 15.676 17.596 0 11.581-7.4224 17.596-15.676 17.596s-15.741-6.0149-15.741-17.596zm25.85 0c0-7.0385-3.3914-12.861-10.11-12.861-6.4624 0-10.174 5.2468-10.174 12.861 0 7.1664 3.3274 12.925 10.174 12.925 6.3983 0 10.11-5.1831 10.11-12.925zm16.379 8.702v-21.051h-5.8867v-4.5429h5.8867v-12.029h5.5025v12.029h8.7661v4.5429h-8.7661v19.836c0 3.5834 1.1518 5.375 5.2468 5.375 1.2156 0 2.5593-0.19191 3.4552-0.44792v4.5429c-0.95993 0.19191-3.0717 0.38419-4.7989 0.38419-7.1023-7.3e-4 -9.4056-2.7516-9.4056-8.6387zm20.219 0.19191c0-6.8466 5.8222-11.709 22.586-14.077v-1.5357c0-4.2232-2.2392-6.2705-6.3983-6.2705-5.119 0-8.8939 2.2396-12.221 5.1187l-2.8794-3.4552c3.9031-3.583 8.958-6.2705 15.676-6.2705 8.0622 0 11.261 4.2232 11.261 11.261v14.908c0 4.0954 0.25601 6.5902 0.95993 8.3178h-5.6307c-0.44756-1.4075-0.76766-2.7512-0.76766-4.6708-3.7749 3.5193-7.9981 5.1828-13.053 5.1828-5.823 3.6e-4 -9.5338-3.0706-9.5338-8.5098zm22.586-0.76765v-9.4697c-12.861 2.0477-17.148 5.1828-17.148 9.4059 0 3.2633 2.1755 4.9912 5.6948 4.9912 4.4788-3.6e-4 8.3182-1.8561 11.453-4.9275zm4.3018-37.48c0-3.8769 3.0954-7.0021 6.9719-7.0021 3.8765 0 6.942 3.1252 6.942 7.0021 0 3.9067-3.0655 7.032-6.942 7.032-3.8765 0-6.9719-3.1256-6.9719-7.032zm13.102 0c0-3.3958-2.7349-6.2206-6.1303-6.2206s-6.1303 2.8248-6.1303 6.2206c0 3.4257 2.7349 6.2203 6.1303 6.2203s6.1303-2.7946 6.1303-6.2203zm-8.6547-4.0269h2.6147c1.7425 0 2.7043 0.78149 2.7043 2.1034 0 1.2622-0.69081 1.8929-1.7425 2.1034l1.9829 3.6059h-0.99161l-1.9232-3.4858h-1.7731v3.4858h-0.87144zm2.5845 3.5156c1.142 0 1.863-0.3303 1.863-1.3824 0-0.96175-0.72104-1.292-1.8933-1.292h-1.6828v2.6744z"/><g fill="#a01e20" transform="translate(-132.63 -331.29)"><clipPath><use width="1280" height="800" overflow="visible" xlink:href="#a"/></clipPath><path d="m132.63 222.8h256.98v236.49h-256.98z" clip-path="url(#b)" transform="matrix(.36416 0 0 .36416 84.331 271.09)"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 257 237"><defs><path id="a" d="M22.875.003C10.235.003 0 10.249 0 22.875v211.23c0 .801.046 1.608.123 2.388 8.5-3.167 17.524-6.629 27.054-10.436 66.336-26.48 120.57-48.994 120.62-74.415 0-.814-.056-1.636-.172-2.458-3.43-25.098-63.407-32.879-63.324-44.381.007-.611.18-1.25.548-1.889 7.205-12.619 35.743-12.015 46.253-12.907 10.519-.913 35.206-.724 36.399-8.244.035-.232.057-.463.057-.695.028-6.987-16.977-9.726-16.977-9.726s20.635 3.083 20.579 11.11c0 .393-.048.8-.158 1.214-2.222 8.624-20.379 10.246-32.386 10.835-11.356.569-28.648 1.861-28.707 7.408-.007.323.049.66.165 1.004 2.71 8.11 66.09 12.015 106.64 33.061 23.335 12.099 34.94 32.422 40.263 53.418V22.872C256.977 10.246 246.734 0 234.108 0H22.878l-.003.003Z"/></defs><use xlink:href="#a" fill="#A01E20" fill-rule="evenodd"/></svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 881 B

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" version="1.1" viewBox="0 0 33.867 33.867"><g stroke-width=".033"><path id="Background" fill="#175ddc" d="m33.867 28.575c0 2.9236-2.368 5.2917-5.2917 5.2917h-23.283c-2.9236 0-5.2917-2.368-5.2917-5.2917v-23.283c0-2.9236 2.368-5.2917 5.2917-5.2917h23.283c2.9236 0 5.2917 2.368 5.2917 5.2917z" class="st0"/><path id="Identity" fill="#fff" d="m27.444 4.2532c-0.21497-0.21497-0.46964-0.32081-0.76068-0.32081h-19.5c-0.29435 0-0.5457 0.10583-0.76068 0.32081s-0.32081 0.46964-0.32081 0.76068v13.001c0 0.96904 0.18852 1.9315 0.56555 2.8873 0.37703 0.9525 0.84667 1.7992 1.4056 2.54 0.55893 0.73753 1.2237 1.4585 1.9976 2.1597 0.77391 0.70115 1.4883 1.2799 2.1398 1.7429 0.65484 0.46302 1.3361 0.89958 2.0472 1.313 0.71107 0.41341 1.2171 0.69122 1.5147 0.83674s0.53909 0.26128 0.71768 0.33734c0.1356 0.06615 0.28112 0.10253 0.43987 0.10253s0.30427-0.03307 0.43987-0.10253c0.1819-0.07937 0.42003-0.19182 0.72099-0.33734 0.29766-0.14552 0.80367-0.42664 1.5147-0.83674 0.71107-0.41341 1.3924-0.84997 2.0472-1.313 0.65484-0.46302 1.3692-1.0451 2.1431-1.7429 0.77391-0.70115 1.4387-1.4188 1.9976-2.1597 0.55893-0.74083 1.0253-1.5842 1.4056-2.54 0.37703-0.9525 0.56555-1.9149 0.56555-2.8873v-12.998c0.0033-0.29435-0.10583-0.54901-0.32081-0.76398zm-2.5135 13.884c0 4.7063-7.997 8.761-7.997 8.761v-20.181h7.997v11.42z" class="st1"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Some files were not shown because too many files have changed in this diff Show More