@grove-dev/astro 0.2.20 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -75
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +11 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/display.d.ts +1 -26
  7. package/dist/lib/display.d.ts.map +1 -1
  8. package/dist/lib/display.js +1 -103
  9. package/dist/lib/display.js.map +1 -1
  10. package/dist/lib/format.d.ts +1 -28
  11. package/dist/lib/format.d.ts.map +1 -1
  12. package/dist/lib/format.js +1 -71
  13. package/dist/lib/format.js.map +1 -1
  14. package/dist/lib/lenses.d.ts +1 -57
  15. package/dist/lib/lenses.d.ts.map +1 -1
  16. package/dist/lib/lenses.js +1 -198
  17. package/dist/lib/lenses.js.map +1 -1
  18. package/dist/lib/repo.d.ts +1 -19
  19. package/dist/lib/repo.d.ts.map +1 -1
  20. package/dist/lib/repo.js +1 -30
  21. package/dist/lib/repo.js.map +1 -1
  22. package/dist/lib/scores.d.ts +1 -36
  23. package/dist/lib/scores.d.ts.map +1 -1
  24. package/dist/lib/scores.js +1 -75
  25. package/dist/lib/scores.js.map +1 -1
  26. package/dist/lib/search.d.ts +1 -113
  27. package/dist/lib/search.d.ts.map +1 -1
  28. package/dist/lib/search.js +1 -379
  29. package/dist/lib/search.js.map +1 -1
  30. package/dist/lib/taxonomy-counts.d.ts +1 -10
  31. package/dist/lib/taxonomy-counts.d.ts.map +1 -1
  32. package/dist/lib/taxonomy-counts.js +1 -21
  33. package/dist/lib/taxonomy-counts.js.map +1 -1
  34. package/package.json +22 -10
  35. package/src/components/ContributorsGrid.astro +3 -3
  36. package/src/components/CurationGrid.astro +2 -2
  37. package/src/components/DirectoryIndexClient.astro +240 -0
  38. package/src/components/FilterGroupMenu.astro +8 -4
  39. package/src/components/FinalCta.astro +41 -0
  40. package/src/components/Hero.astro +15 -18
  41. package/src/components/Icon.astro +99 -27
  42. package/src/components/RefinePanel.astro +7 -7
  43. package/src/components/SmartLensTabs.astro +5 -4
  44. package/src/components/StackGrid.astro +1 -1
  45. package/src/components/SubmissionClient.astro +133 -0
  46. package/src/index.ts +11 -1
  47. package/src/layouts/BaseLayout.astro +19 -1
  48. package/src/layouts/Footer.astro +25 -56
  49. package/src/layouts/Header.astro +33 -15
  50. package/src/layouts/ThemeToggle.astro +7 -3
  51. package/src/lib/display.ts +1 -111
  52. package/src/lib/format.ts +1 -64
  53. package/src/lib/lenses.ts +1 -220
  54. package/src/lib/repo.ts +1 -32
  55. package/src/lib/scores.ts +1 -90
  56. package/src/lib/search.ts +1 -418
  57. package/src/lib/taxonomy-counts.ts +1 -26
  58. package/{templates/default/src/data/records.ts → src/server/directory.ts} +90 -8
  59. package/src/server/index.ts +2 -0
  60. package/src/server/models.ts +432 -0
  61. package/dist/theme.test.d.ts +0 -2
  62. package/dist/theme.test.d.ts.map +0 -1
  63. package/dist/theme.test.js +0 -55
  64. package/dist/theme.test.js.map +0 -1
  65. package/src/theme.test.ts +0 -67
  66. package/templates/default/.github/ISSUE_TEMPLATE/bug_report.md +0 -33
  67. package/templates/default/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  68. package/templates/default/.github/ISSUE_TEMPLATE/record_submission.md +0 -48
  69. package/templates/default/.github/pull_request_template.md +0 -27
  70. package/templates/default/.github/workflows/build.yml +0 -55
  71. package/templates/default/.github/workflows/cleanup-stale-records.yml +0 -48
  72. package/templates/default/.github/workflows/daily-refresh.yml +0 -53
  73. package/templates/default/.github/workflows/sync-contributors.yml +0 -53
  74. package/templates/default/.github/workflows/sync-github-metadata.yml +0 -58
  75. package/templates/default/.github/workflows/validate-data.yml +0 -35
  76. package/templates/default/astro.config.mjs +0 -25
  77. package/templates/default/content/pages/about.md +0 -66
  78. package/templates/default/content/pages/methodology.md +0 -103
  79. package/templates/default/data/records/.gitkeep +0 -0
  80. package/templates/default/data/records/coolify.yml +0 -46
  81. package/templates/default/data/records/gitea.yml +0 -46
  82. package/templates/default/data/records/hoppscotch.yml +0 -47
  83. package/templates/default/data/records/inventree.yml +0 -47
  84. package/templates/default/data/records/label-studio.yml +0 -46
  85. package/templates/default/data/records/logseq.yml +0 -48
  86. package/templates/default/data/records/private-gpt.yml +0 -47
  87. package/templates/default/data/records/wakapi.yml +0 -44
  88. package/templates/default/data/taxonomy/categories.yml +0 -47
  89. package/templates/default/data/taxonomy/distribution-channels.yml +0 -43
  90. package/templates/default/data/taxonomy/platforms.yml +0 -27
  91. package/templates/default/data/taxonomy/stacks.yml +0 -41
  92. package/templates/default/grove.config.ts +0 -36
  93. package/templates/default/package.json +0 -38
  94. package/templates/default/public/icons/platforms/android.svg +0 -1
  95. package/templates/default/public/icons/platforms/apple-dark.svg +0 -1
  96. package/templates/default/public/icons/platforms/apple-light.svg +0 -1
  97. package/templates/default/public/icons/platforms/chrome.svg +0 -1
  98. package/templates/default/public/icons/platforms/chromeos.svg +0 -5
  99. package/templates/default/public/icons/platforms/desktop.svg +0 -4
  100. package/templates/default/public/icons/platforms/embedded.svg +0 -5
  101. package/templates/default/public/icons/platforms/ios.svg +0 -1
  102. package/templates/default/public/icons/platforms/linux.svg +0 -1
  103. package/templates/default/public/icons/platforms/macos.svg +0 -1
  104. package/templates/default/public/icons/platforms/ubuntu.svg +0 -1
  105. package/templates/default/public/icons/platforms/web.svg +0 -5
  106. package/templates/default/public/icons/platforms/windows.svg +0 -6
  107. package/templates/default/public/icons/stacks/android.svg +0 -1
  108. package/templates/default/public/icons/stacks/apple-dark.svg +0 -1
  109. package/templates/default/public/icons/stacks/apple-light.svg +0 -1
  110. package/templates/default/public/icons/stacks/bun.svg +0 -1
  111. package/templates/default/public/icons/stacks/capacitor.svg +0 -14
  112. package/templates/default/public/icons/stacks/clojure.svg +0 -1
  113. package/templates/default/public/icons/stacks/clojurescript.svg +0 -1
  114. package/templates/default/public/icons/stacks/dart.svg +0 -1
  115. package/templates/default/public/icons/stacks/deno.svg +0 -1
  116. package/templates/default/public/icons/stacks/django.svg +0 -1
  117. package/templates/default/public/icons/stacks/docker.svg +0 -1
  118. package/templates/default/public/icons/stacks/firebase.svg +0 -1
  119. package/templates/default/public/icons/stacks/flutter.svg +0 -1
  120. package/templates/default/public/icons/stacks/go.svg +0 -1
  121. package/templates/default/public/icons/stacks/graphql.svg +0 -1
  122. package/templates/default/public/icons/stacks/ionic.svg +0 -4
  123. package/templates/default/public/icons/stacks/java.svg +0 -1
  124. package/templates/default/public/icons/stacks/javascript.svg +0 -1
  125. package/templates/default/public/icons/stacks/kotlin.svg +0 -1
  126. package/templates/default/public/icons/stacks/llm.svg +0 -1
  127. package/templates/default/public/icons/stacks/mongodb.svg +0 -1
  128. package/templates/default/public/icons/stacks/node.js.svg +0 -1
  129. package/templates/default/public/icons/stacks/nodejs.svg +0 -1
  130. package/templates/default/public/icons/stacks/python.svg +0 -1
  131. package/templates/default/public/icons/stacks/rag.svg +0 -7
  132. package/templates/default/public/icons/stacks/react-native.svg +0 -1
  133. package/templates/default/public/icons/stacks/react.svg +0 -1
  134. package/templates/default/public/icons/stacks/rust.svg +0 -1
  135. package/templates/default/public/icons/stacks/solidity.svg +0 -1
  136. package/templates/default/public/icons/stacks/sveltekit.svg +0 -1
  137. package/templates/default/public/icons/stacks/swift.svg +0 -1
  138. package/templates/default/public/icons/stacks/tensorflow.svg +0 -1
  139. package/templates/default/public/icons/stacks/typescript.svg +0 -1
  140. package/templates/default/public/icons/stacks/vue.svg +0 -1
  141. package/templates/default/public/llms-full.txt +0 -206
  142. package/templates/default/public/llms.txt +0 -112
  143. package/templates/default/public/og-image.svg +0 -48
  144. package/templates/default/public/robots.txt +0 -53
  145. package/templates/default/public/sitemap.xml +0 -63
  146. package/templates/default/scripts/build-llms.mjs +0 -123
  147. package/templates/default/scripts/build-records-json.mjs +0 -27
  148. package/templates/default/scripts/build-sitemap.mjs +0 -20
  149. package/templates/default/scripts/cleanup-stale-records.mjs +0 -20
  150. package/templates/default/scripts/enrich-github-metadata.mjs +0 -99
  151. package/templates/default/scripts/fetch-icons.mjs +0 -137
  152. package/templates/default/scripts/migrate-legacy-to-schema-v1.mjs +0 -86
  153. package/templates/default/scripts/parse-legacy-readme.mjs +0 -59
  154. package/templates/default/scripts/refresh-records-activity.mjs +0 -24
  155. package/templates/default/scripts/repair-license-format.mjs +0 -72
  156. package/templates/default/scripts/report-cleanup-candidates.mjs +0 -21
  157. package/templates/default/scripts/seed-from-github.mjs +0 -62
  158. package/templates/default/scripts/sync-contributors.mjs +0 -145
  159. package/templates/default/scripts/sync-github-metadata.mjs +0 -28
  160. package/templates/default/scripts/validate-records.mjs +0 -27
  161. package/templates/default/src/pages/404.astro +0 -64
  162. package/templates/default/src/pages/[slug]/[recordSlug].astro +0 -689
  163. package/templates/default/src/pages/[slug]/index.astro +0 -278
  164. package/templates/default/src/pages/about.astro +0 -182
  165. package/templates/default/src/pages/apps/[recordSlug].astro +0 -33
  166. package/templates/default/src/pages/contributors.astro +0 -175
  167. package/templates/default/src/pages/index.astro +0 -225
  168. package/templates/default/src/pages/sitemap.xml.ts +0 -89
  169. package/templates/default/src/pages/submit.astro +0 -281
  170. package/templates/default/src/styles/global.css +0 -33
  171. package/templates/default/wrangler.jsonc +0 -28
@@ -1,47 +0,0 @@
1
- kind: project
2
- name: InvenTree
3
- slug: inventree
4
- description: Open-source inventory management system with parts, stock, and purchase orders.
5
- category: Mobile
6
- tags:
7
- - inventory
8
- - stock
9
- - mobile
10
- - dart
11
- - flutter
12
- stack: Flutter
13
- stacks:
14
- - Flutter
15
- - Dart
16
- platforms:
17
- - ios
18
- - android
19
- - web
20
- projectType: real-app
21
- difficulty: intermediate
22
- codebaseSize: large
23
- repoUrl: https://github.com/inventree/InvenTree
24
- links:
25
- github: https://github.com/inventree/InvenTree
26
- website: https://inventree.org
27
- bestFor:
28
- - Inventory tracking
29
- - Manufacturing
30
- - Hardware projects
31
- whyListed:
32
- - Production-grade mobile + web stack
33
- - Strong community
34
- - Cleanly factored Dart codebase
35
- caveats: []
36
- distribution:
37
- channels: []
38
- source:
39
- type: manual
40
- curation:
41
- reviewed: true
42
- reviewedBy: grove-bot
43
- reviewedAt: "2026-06-13"
44
- labels:
45
- - mature
46
- lenses: []
47
- visibility: keep
@@ -1,46 +0,0 @@
1
- kind: project
2
- name: Label Studio
3
- slug: label-studio
4
- description: Open-source data labeling platform — annotate images, text, audio, video, and time series for ML training.
5
- category: AI/ML
6
- tags:
7
- - labeling
8
- - ml-ops
9
- - annotation
10
- - python
11
- stack: Python
12
- stacks:
13
- - Python
14
- - Django
15
- - React
16
- platforms:
17
- - web
18
- - self-host
19
- projectType: real-app
20
- difficulty: intermediate
21
- codebaseSize: large
22
- repoUrl: https://github.com/HumanSignal/label-studio
23
- links:
24
- github: https://github.com/HumanSignal/label-studio
25
- website: https://labelstud.io
26
- bestFor:
27
- - ML dataset labeling
28
- - Multi-modal annotation
29
- - Active learning pipelines
30
- whyListed:
31
- - Mature, production-grade
32
- - Strong ML backend
33
- - Active commercial + community backing
34
- caveats: []
35
- distribution:
36
- channels: []
37
- source:
38
- type: manual
39
- curation:
40
- reviewed: true
41
- reviewedBy: grove-bot
42
- reviewedAt: "2026-06-13"
43
- labels:
44
- - mature
45
- lenses: []
46
- visibility: keep
@@ -1,48 +0,0 @@
1
- kind: project
2
- name: Logseq
3
- slug: logseq
4
- description: Privacy-first, open-source knowledge base that works on top of plain text Markdown and Org-mode files.
5
- category: Web
6
- tags:
7
- - notes
8
- - knowledge-base
9
- - productivity
10
- - clojure
11
- stack: ClojureScript
12
- stacks:
13
- - ClojureScript
14
- - Clojure
15
- - JavaScript
16
- platforms:
17
- - web
18
- - desktop
19
- projectType: real-app
20
- difficulty: intermediate
21
- codebaseSize: huge
22
- repoUrl: https://github.com/logseq/logseq
23
- links:
24
- github: https://github.com/logseq/logseq
25
- website: https://logseq.com
26
- bestFor:
27
- - PKM (personal knowledge management)
28
- - Local-first note taking
29
- - Graph-based outliner
30
- whyListed:
31
- - Local-first with sync
32
- - Active community
33
- - Strong plugin ecosystem
34
- caveats:
35
- - Mobile app still maturing
36
- distribution:
37
- channels: []
38
- source:
39
- type: manual
40
- curation:
41
- reviewed: true
42
- reviewedBy: grove-bot
43
- reviewedAt: "2026-06-13"
44
- labels:
45
- - hot
46
- - mature
47
- lenses: []
48
- visibility: keep
@@ -1,47 +0,0 @@
1
- kind: project
2
- name: PrivateGPT
3
- slug: private-gpt
4
- description: Interact privately with your documents using LLMs — 100% private, no data leaves your execution environment.
5
- category: AI/ML
6
- tags:
7
- - llm
8
- - rag
9
- - privacy
10
- - python
11
- stack: Python
12
- stacks:
13
- - Python
14
- - LLM
15
- - RAG
16
- platforms:
17
- - linux
18
- - macos
19
- - self-host
20
- projectType: real-app
21
- difficulty: intermediate
22
- codebaseSize: medium
23
- repoUrl: https://github.com/zylon-ai/private-gpt
24
- links:
25
- github: https://github.com/zylon-ai/private-gpt
26
- bestFor:
27
- - Private document Q&A
28
- - Local LLM experimentation
29
- - Enterprise privacy use cases
30
- whyListed:
31
- - Strict no-network mode
32
- - Pluggable LLM providers
33
- - Clean ingestion pipeline
34
- caveats:
35
- - GPU recommended for best results
36
- distribution:
37
- channels: []
38
- source:
39
- type: manual
40
- curation:
41
- reviewed: true
42
- reviewedBy: grove-bot
43
- reviewedAt: "2026-06-13"
44
- labels:
45
- - hot
46
- lenses: []
47
- visibility: keep
@@ -1,44 +0,0 @@
1
- kind: project
2
- name: Wakapi
3
- slug: wakapi
4
- description: Open-source time tracker for developers — coding stats, language breakdowns, and project-level metrics.
5
- category: Mobile
6
- tags:
7
- - time-tracking
8
- - analytics
9
- - mobile
10
- - kotlin
11
- stack: Kotlin
12
- stacks:
13
- - Kotlin
14
- - Android
15
- platforms:
16
- - android
17
- projectType: real-app
18
- difficulty: beginner
19
- codebaseSize: medium
20
- repoUrl: https://github.com/muety/wakapi
21
- links:
22
- github: https://github.com/muety/wakapi
23
- website: https://wakapi.dev
24
- bestFor:
25
- - Personal coding stats
26
- - WakaTime alternative
27
- - Privacy-first telemetry
28
- whyListed:
29
- - Self-host friendly
30
- - Companion mobile app
31
- - Clean MVVM architecture
32
- caveats: []
33
- distribution:
34
- channels: []
35
- source:
36
- type: manual
37
- curation:
38
- reviewed: true
39
- reviewedBy: grove-bot
40
- reviewedAt: "2026-06-13"
41
- labels:
42
- - new
43
- lenses: []
44
- visibility: keep
@@ -1,47 +0,0 @@
1
- - id: productivity
2
- name: Productivity
3
-
4
- - id: finance
5
- name: Finance
6
-
7
- - id: education
8
- name: Education
9
-
10
- - id: tools
11
- name: Tools
12
-
13
- - id: communication
14
- name: Communication
15
-
16
- - id: health-and-fitness
17
- name: Health and Fitness
18
-
19
- - id: business
20
- name: Business
21
-
22
- - id: games
23
- name: Games
24
-
25
- - id: media
26
- name: Media
27
-
28
- - id: entertainment
29
- name: Entertainment
30
-
31
- - id: social-network
32
- name: Social Network
33
-
34
- - id: shopping
35
- name: Shopping
36
-
37
- - id: news
38
- name: News and Magazine
39
-
40
- - id: travel
41
- name: Travel
42
-
43
- - id: lifestyle
44
- name: Lifestyle
45
-
46
- - id: personalization
47
- name: Personalization
@@ -1,43 +0,0 @@
1
- - id: app-store
2
- name: App Store
3
- platforms: [ios, macos]
4
-
5
- - id: play-store
6
- name: Play Store
7
- platforms: [android]
8
-
9
- - id: fdroid
10
- name: F-Droid
11
- platforms: [android]
12
-
13
- - id: github-releases
14
- name: GitHub Releases
15
- platforms: [android, ios, macos, windows, linux]
16
-
17
- - id: apk
18
- name: APK download
19
- platforms: [android]
20
-
21
- - id: testflight
22
- name: TestFlight
23
- platforms: [ios]
24
-
25
- - id: website
26
- name: Website download
27
- platforms: [web, ios, android, macos, windows, linux]
28
-
29
- - id: snapcraft
30
- name: Snapcraft
31
- platforms: [linux]
32
-
33
- - id: flathub
34
- name: Flathub
35
- platforms: [linux]
36
-
37
- - id: microsoft-store
38
- name: Microsoft Store
39
- platforms: [windows]
40
-
41
- - id: other
42
- name: Other
43
- platforms: []
@@ -1,27 +0,0 @@
1
- - id: ios
2
- name: iOS
3
- icon: ios
4
-
5
- - id: android
6
- name: Android
7
- icon: android
8
-
9
- - id: web
10
- name: Web
11
- icon: web
12
-
13
- - id: macos
14
- name: macOS
15
- icon: macos
16
-
17
- - id: windows
18
- name: Windows
19
- icon: windows
20
-
21
- - id: linux
22
- name: Linux
23
- icon: linux
24
-
25
- - id: desktop
26
- name: Desktop
27
- icon: desktop
@@ -1,41 +0,0 @@
1
- - id: flutter
2
- name: Flutter
3
- family: cross-platform
4
- languages: [dart]
5
- platforms: [ios, android, web, macos, windows, linux]
6
- icon: flutter
7
-
8
- - id: react-native
9
- name: React Native
10
- family: cross-platform
11
- languages: [typescript, javascript]
12
- platforms: [ios, android]
13
- icon: react-native
14
-
15
- - id: ios
16
- name: Native iOS
17
- family: native
18
- languages: [swift, objective-c]
19
- platforms: [ios]
20
- icon: swift
21
-
22
- - id: android
23
- name: Native Android
24
- family: native
25
- languages: [kotlin, java]
26
- platforms: [android]
27
- icon: android
28
-
29
- - id: capacitor
30
- name: Capacitor
31
- family: hybrid
32
- languages: [typescript, javascript]
33
- platforms: [ios, android, web]
34
- icon: capacitor
35
-
36
- - id: kmp
37
- name: Kotlin Multiplatform
38
- family: cross-platform
39
- languages: [kotlin]
40
- platforms: [ios, android, desktop]
41
- icon: kotlin
@@ -1,36 +0,0 @@
1
- import { defineConfig } from "@grove-dev/core";
2
-
3
- /**
4
- * Default template config — the smallest viable project-directory
5
- * showcase. Consumers (created via `grove new`) override this
6
- * with their own branding, taxonomy, and integrations.
7
- */
8
- export default defineConfig({
9
- blueprint: "project-directory",
10
-
11
- site: {
12
- name: "Grove Directory",
13
- tagline: "A curated, health-aware developer directory.",
14
- description:
15
- "A curated, health-aware developer directory powered by Grove.",
16
- url: "https://example.com",
17
- repoUrl: "https://github.com/tortuvshin/grove",
18
- },
19
-
20
- nav: [
21
- { label: "Home", href: "/" },
22
- { label: "Browse", href: "/projects" },
23
- { label: "About", href: "/about" },
24
- ],
25
-
26
- facets: ["category", "stacks", "platforms", "tags"],
27
-
28
- integrations: {},
29
-
30
- theme: {
31
- primaryColor: "#1f6feb",
32
- radius: "soft",
33
- density: "comfortable",
34
- containerWidth: "72rem",
35
- },
36
- });
@@ -1,38 +0,0 @@
1
- {
2
- "name": "grove-site",
3
- "type": "module",
4
- "version": "0.1.0",
5
- "private": true,
6
- "description": "A static, health-aware developer directory powered by Grove.",
7
- "license": "MIT",
8
- "packageManager": "pnpm@10.12.1",
9
- "engines": {
10
- "node": ">=20"
11
- },
12
- "scripts": {
13
- "validate:data": "grove validate",
14
- "build:data": "grove generate",
15
- "build:sitemap": "grove sitemap",
16
- "build:llms": "node scripts/build-llms.mjs",
17
- "build": "pnpm run build:data && pnpm run build:sitemap && pnpm run build:llms && astro build",
18
- "dev": "pnpm run build:data && astro dev",
19
- "start": "astro dev",
20
- "preview": "astro preview",
21
- "astro": "astro",
22
- "check": "astro check",
23
- "sync:github": "grove sync github",
24
- "cleanup": "grove cleanup stale"
25
- },
26
- "dependencies": {
27
- "@astrojs/check": "^0.9.9",
28
- "@grove-dev/astro": "0.2.18",
29
- "@grove-dev/cli": "0.2.16",
30
- "@grove-dev/core": "0.2.16",
31
- "@tailwindcss/vite": "^4.3.0",
32
- "astro": "^6.4.4",
33
- "marked": "^18.0.0",
34
- "sanitize-html": "^2.17.5",
35
- "tailwindcss": "^4.3.0",
36
- "yaml": "^2.9.0"
37
- }
38
- }
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" viewBox="0 0 256 150"><path fill="#34A853" d="M255.285 143.47c-.084-.524-.164-1.042-.251-1.56a128.1 128.1 0 0 0-12.794-38.288 128.8 128.8 0 0 0-23.45-31.86 129.2 129.2 0 0 0-22.713-18.005c.049-.08.09-.168.14-.25 2.582-4.461 5.172-8.917 7.755-13.38l7.576-13.068c1.818-3.126 3.632-6.26 5.438-9.386a11.78 11.78 0 0 0 .662-10.484 11.67 11.67 0 0 0-4.823-5.536 11.85 11.85 0 0 0-5.004-1.61 12 12 0 0 0-2.218.018 11.74 11.74 0 0 0-8.968 5.798c-1.814 3.127-3.628 6.26-5.438 9.386l-7.576 13.069c-2.583 4.462-5.173 8.918-7.755 13.38-.282.487-.567.973-.848 1.467q-.586-.237-1.172-.462c-14.24-5.43-29.688-8.4-45.836-8.4-.442 0-.879 0-1.324.006-14.357.143-28.152 2.64-41.022 7.12a119 119 0 0 0-4.42 1.642c-.262-.455-.532-.911-.79-1.367-2.583-4.462-5.173-8.918-7.755-13.38l-7.576-13.07a3915 3915 0 0 1-5.439-9.386A11.74 11.74 0 0 0 48.5.048a11.7 11.7 0 0 0-5.01 1.612 11.7 11.7 0 0 0-4.077 4.063c-.281.474-.532.967-.742 1.473a11.8 11.8 0 0 0-.365 8.188c.259.786.594 1.554 1.023 2.296a3973 3973 0 0 1 5.439 9.386c2.53 4.357 5.054 8.713 7.58 13.069 2.582 4.462 5.168 8.918 7.75 13.38.02.038.046.075.065.112A129 129 0 0 0 45.32 64.38a129.7 129.7 0 0 0-22.2 24.015 128 128 0 0 0-9.34 15.24 128.2 128.2 0 0 0-10.843 28.764 131 131 0 0 0-1.951 9.524c-.087.518-.167 1.042-.247 1.56A125 125 0 0 0 0 149.118h256a130 130 0 0 0-.734-5.636z"/><path fill="#202124" d="M194.59 113.712c5.122-3.41 5.867-11.3 1.661-17.62-4.203-6.323-11.763-8.682-16.883-5.273-5.122 3.41-5.868 11.3-1.662 17.621 4.203 6.322 11.764 8.682 16.883 5.272Zm-116.072-5.25c4.206-6.321 3.46-14.21-1.662-17.62-5.123-3.41-12.68-1.05-16.886 5.27-4.203 6.323-3.458 14.212 1.662 17.622 5.122 3.41 12.683 1.05 16.886-5.272"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 814 1000"><path d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.9 40.8s-105.6-57-155.5-127C46.7 790.7 0 663 0 541.8c0-194.4 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.5 0 130.9 2.6 198.3 99.2m-234-181.5c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.5 32.4-55.1 83.6-55.1 135.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.5-71.3"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 814 1000"><path fill="#fff" d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.9 40.8s-105.6-57-155.5-127C46.7 790.7 0 663 0 541.8c0-194.4 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.5 0 130.9 2.6 198.3 99.2m-234-181.5c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.5 32.4-55.1 83.6-55.1 135.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.5-71.3"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 100 100"><g clip-path="url(#a)"><path fill="#fff" d="M50 74.99c13.807 0 25-11.193 25-25s-11.193-25-25-25-25 11.192-25 25 11.193 25 25 25"/><path fill="url(#b)" d="M50 25h43.294a49.988 49.988 0 0 0-86.591.006L28.35 62.501l.02-.005A24.969 24.969 0 0 1 50 25"/><path fill="#1A73E8" d="M50 69.792c10.93 0 19.792-8.86 19.792-19.791S60.93 30.209 50 30.209s-19.792 8.86-19.792 19.792c0 10.93 8.861 19.791 19.792 19.791"/><path fill="url(#c)" d="M71.649 62.507 50.002 100A49.98 49.98 0 0 0 93.3 75.004a49.99 49.99 0 0 0-.01-49.997H49.999l-.005.02a24.97 24.97 0 0 1 21.655 37.48"/><path fill="url(#d)" d="M28.351 62.507 6.704 25.013A49.988 49.988 0 0 0 50.005 100l21.647-37.493-.014-.015a24.97 24.97 0 0 1-43.287.015"/></g><defs><linearGradient id="b" x1="6.703" x2="93.294" y1="31.25" y2="31.25" gradientUnits="userSpaceOnUse"><stop stop-color="#D93025"/><stop offset="1" stop-color="#EA4335"/></linearGradient><linearGradient id="c" x1="43.171" x2="86.466" y1="99.332" y2="24.341" gradientUnits="userSpaceOnUse"><stop stop-color="#FCC934"/><stop offset="1" stop-color="#FBBC04"/></linearGradient><linearGradient id="d" x1="55.413" x2="12.117" y1="96.879" y2="21.888" gradientUnits="userSpaceOnUse"><stop stop-color="#1E8E3E"/><stop offset="1" stop-color="#34A853"/></linearGradient><clipPath id="a"><path fill="#fff" d="M0 0h100v100H0z"/></clipPath></defs></svg>
@@ -1,5 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">
2
- <circle cx="12" cy="12" r="10"/>
3
- <circle cx="12" cy="12" r="3.5" fill="currentColor" stroke="none"/>
4
- <path d="M12 2v6M12 16v6M2 12h6M16 12h6"/>
5
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">
2
- <rect x="2" y="4" width="20" height="13" rx="1.5"/>
3
- <path d="M9 21h6M12 17v4"/>
4
- </svg>
@@ -1,5 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">
2
- <rect x="5" y="5" width="14" height="14" rx="1.5"/>
3
- <rect x="9" y="9" width="6" height="6" fill="currentColor" stroke="none"/>
4
- <path d="M2 9v6M22 9v6M9 12H4M20 12h-5M12 4V2M12 22v-2"/>
5
- </svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 814 1000"><path d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.9 40.8s-105.6-57-155.5-127C46.7 790.7 0 663 0 541.8c0-194.4 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.5 0 130.9 2.6 198.3 99.2m-234-181.5c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.5 32.4-55.1 83.6-55.1 135.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.5-71.3"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="4.31 0.8 249.38 282.43"><defs><linearGradient id="b" x1="48.548%" x2="51.047%" y1="115.276%" y2="41.364%"><stop offset="0%" stop-color="#FFEED7"/><stop offset="100%" stop-color="#BDBFC2"/></linearGradient><linearGradient id="c" x1="54.407%" x2="46.175%" y1="2.404%" y2="90.542%"><stop offset="0%" stop-color="#FFF" stop-opacity=".8"/><stop offset="100%" stop-color="#FFF" stop-opacity="0"/></linearGradient><linearGradient id="d" x1="51.86%" x2="47.947%" y1="88.248%" y2="9.748%"><stop offset="0%" stop-color="#FFEED7"/><stop offset="100%" stop-color="#BDBFC2"/></linearGradient><linearGradient id="e" x1="49.925%" x2="49.924%" y1="85.49%" y2="13.811%"><stop offset="0%" stop-color="#FFEED7"/><stop offset="100%" stop-color="#BDBFC2"/></linearGradient><linearGradient id="f" x1="53.901%" x2="45.956%" y1="3.102%" y2="93.895%"><stop offset="0%" stop-color="#FFF" stop-opacity=".65"/><stop offset="100%" stop-color="#FFF" stop-opacity="0"/></linearGradient><linearGradient id="g" x1="45.593%" x2="54.811%" y1="5.475%" y2="93.524%"><stop offset="0%" stop-color="#FFF" stop-opacity=".65"/><stop offset="100%" stop-color="#FFF" stop-opacity="0"/></linearGradient><linearGradient id="h" x1="49.984%" x2="49.984%" y1="89.845%" y2="40.632%"><stop offset="0%" stop-color="#FFEED7"/><stop offset="100%" stop-color="#BDBFC2"/></linearGradient><linearGradient id="i" x1="53.505%" x2="42.746%" y1="99.975%" y2="23.545%"><stop offset="0%" stop-color="#FFEED7"/><stop offset="100%" stop-color="#BDBFC2"/></linearGradient><linearGradient id="j" x1="49.841%" x2="50.241%" y1="13.229%" y2="94.673%"><stop offset="0%" stop-color="#FFF" stop-opacity=".8"/><stop offset="100%" stop-color="#FFF" stop-opacity="0"/></linearGradient><linearGradient id="k" x1="49.927%" x2="50.727%" y1="37.327%" y2="92.782%"><stop offset="0%" stop-color="#FFF" stop-opacity=".65"/><stop offset="100%" stop-color="#FFF" stop-opacity="0"/></linearGradient><linearGradient id="l" x1="49.876%" x2="49.876%" y1="2.299%" y2="81.204%"><stop offset="0%" stop-color="#FFF" stop-opacity=".65"/><stop offset="100%" stop-color="#FFF" stop-opacity="0"/></linearGradient><linearGradient id="m" x1="49.833%" x2="49.824%" y1="2.272%" y2="71.799%"><stop offset="0%" stop-color="#FFF" stop-opacity=".65"/><stop offset="100%" stop-color="#FFF" stop-opacity="0"/></linearGradient><linearGradient id="n" x1="53.467%" x2="38.949%" y1="48.921%" y2="98.1%"><stop offset="0%" stop-color="#FFA63F"/><stop offset="100%" stop-color="#FF0"/></linearGradient><linearGradient id="o" x1="52.373%" x2="47.579%" y1="143.009%" y2="-64.622%"><stop offset="0%" stop-color="#FFEED7"/><stop offset="100%" stop-color="#BDBFC2"/></linearGradient><linearGradient id="p" x1="30.581%" x2="65.887%" y1="34.024%" y2="89.175%"><stop offset="0%" stop-color="#FFA63F"/><stop offset="100%" stop-color="#FF0"/></linearGradient><linearGradient id="q" x1="59.572%" x2="48.361%" y1="-17.216%" y2="66.118%"><stop offset="0%" stop-color="#FFF" stop-opacity=".65"/><stop offset="100%" stop-color="#FFF" stop-opacity="0"/></linearGradient><linearGradient id="r" x1="47.769%" x2="51.373%" y1="1.565%" y2="104.313%"><stop offset="0%" stop-color="#FFF" stop-opacity=".65"/><stop offset="100%" stop-color="#FFF" stop-opacity="0"/></linearGradient><linearGradient id="s" x1="43.55%" x2="57.114%" y1="4.533%" y2="92.827%"><stop offset="0%" stop-color="#FFF" stop-opacity=".65"/><stop offset="100%" stop-color="#FFF" stop-opacity="0"/></linearGradient><linearGradient id="t" x1="49.733%" x2="50.558%" y1="17.609%" y2="99.385%"><stop offset="0%" stop-color="#FFA63F"/><stop offset="100%" stop-color="#FF0"/></linearGradient><linearGradient id="u" x1="50.17%" x2="49.68%" y1="2.89%" y2="94.17%"><stop offset="0%" stop-color="#FFF" stop-opacity=".65"/><stop offset="100%" stop-color="#FFF" stop-opacity="0"/></linearGradient><filter id="a" width="200%" height="200%" x="-50%" y="-50%" filterUnits="objectBoundingBox"><feOffset in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur in="shadowOffsetOuter1" result="shadowBlurOuter1" stdDeviation="6.5"/></filter></defs><g fill="none"><path fill="#000" fill-opacity=".2" d="M235.125 249.359c0 17.355-52.617 31.497-117.54 31.497S.044 266.806.044 249.359c0-17.356 52.618-31.498 117.54-31.498 64.924 0 117.45 14.142 117.541 31.498" filter="url(#a)" transform="translate(10)"/><path fill="#000" d="M63.213 215.474c-11.387-16.346-13.591-69.606 12.947-102.39C89.292 97.383 92.69 86.455 93.7 71.67c.734-16.805-11.846-66.851 35.537-70.616 48.027-3.857 45.364 43.526 45.088 68.596-.183 21.12 15.52 33.15 26.355 49.68 19.927 30.303 18.274 82.461-3.765 110.745-27.916 35.354-51.791 20.018-67.678 21.304-29.752 1.745-30.762 17.54-66.024-35.905"/><path fill="url(#b)" d="M169.1 122.451c8.265 7.622 29.661 41.69-4.224 62.995-11.937 7.438 10.653 35.721 21.488 22.039 19.193-24.61 6.98-63.913-4.591-77.963-7.714-9.917-19.651-13.774-12.672-7.07" transform="translate(10)"/><path fill="#000" stroke="#000" stroke-width=".977" d="M176.805 117.86c13.59 11.02 38.292 49.587 2.204 74.748-11.846 7.806 10.468 32.508 23.049 19.927 43.618-43.894-1.102-94.308-16.53-111.664-13.774-15.151-25.987 3.49-8.723 16.989z"/><path fill="url(#c)" d="M147.245 25.02c-.459 12.581-14.325 23.51-30.946 24.52S86.639 41 87.097 28.419c.46-12.581 14.326-23.509 30.947-24.519 16.62-.918 29.66 8.54 29.201 21.12" transform="translate(10)"/><path fill="url(#d)" d="M107.483 54.957c.46 8.173-3.397 15.06-8.723 15.335s-10.01-6.06-10.469-14.233 3.398-15.06 8.724-15.335 10.01 6.06 10.468 14.233" transform="translate(10)"/><path fill="url(#e)" d="M117.125 55.6c.184 9.458 6.337 16.988 13.683 16.805 7.346-.184 13.131-7.99 12.948-17.54-.184-9.458-6.336-16.988-13.683-16.804-7.346.183-13.223 8.08-12.948 17.539" transform="translate(10)"/><path fill="#000" d="M133.186 57.712c-.092 5.234 2.48 9.458 5.877 9.458 3.306 0 6.153-4.224 6.245-9.366.091-5.234-2.48-9.459-5.878-9.459-3.397 0-6.152 4.225-6.244 9.367m-21.212.092c.459 4.316-1.194 7.989-3.582 8.356-2.387.276-4.683-2.938-5.142-7.254s1.194-7.99 3.581-8.357c2.388-.275 4.684 2.939 5.143 7.255"/><path fill="url(#f)" d="M124.564 54.773c-.276 2.939 1.102 5.326 3.03 5.51s3.765-2.112 4.04-4.959c.276-2.938-1.102-5.326-3.03-5.51-1.928-.183-3.765 2.113-4.04 4.96" transform="translate(10)"/><path fill="url(#g)" d="M99.953 55.508c.276 2.388-.734 4.5-2.203 4.683-1.47.184-2.847-1.653-3.123-4.132-.275-2.388.735-4.5 2.204-4.683 1.47-.184 2.847 1.744 3.122 4.132" transform="translate(10)"/><path fill="url(#h)" d="M71.027 145.684c6.52-14.785 20.386-40.772 20.662-60.883 0-15.978 47.843-19.835 51.7-3.856 3.856 15.978 13.59 39.853 19.834 51.424 6.245 11.478 24.335 48.118 5.051 80.074-17.356 28.284-69.973 50.69-98.073-3.856-9.55-18.917-7.806-42.333.826-62.903" transform="translate(10)"/><path fill="url(#i)" d="M65.15 134.664c-5.601 10.56-17.172 38.293 11.112 53.445 30.395 16.162 30.303 49.312-6.245 33.517-33.425-14.233-18.641-71.902-9.274-85.676 6.06-9.642 15.243-21.488 4.407-1.286" transform="translate(10)"/><path fill="#000" stroke="#000" stroke-width="1.25" d="M79.925 122.727c-8.907 14.509-30.211 48.669-1.652 66.484 38.384 23.6 27.548 47.108-7.53 25.895-49.404-29.568-5.97-89.257 13.774-112.03 22.59-25.529 4.316 4.683-4.592 19.65z"/><path fill="url(#j)" d="M156.428 151.285c0 16.162-15.519 37.1-42.15 36.916-27.456.183-39.118-20.754-39.118-36.916s18.182-29.293 40.588-29.293c22.498.092 40.68 13.132 40.68 29.293" transform="translate(10)"/><path fill="url(#k)" d="M141.92 100.504c-.276 16.713-11.204 20.662-24.978 20.662s-23.784-2.48-24.978-20.662c0-11.387 11.203-17.998 24.978-17.998 13.774-.092 24.977 6.52 24.977 17.998" transform="translate(10)"/><path fill="url(#l)" d="M58.63 126.216c9-13.682 28.008-34.711 3.582 2.939-19.835 31.038-7.346 50.965-.918 56.474 18.549 16.53 17.814 27.64 3.214 18.917-31.314-18.641-24.794-50.047-5.878-78.33" transform="translate(10)"/><path fill="url(#m)" d="M188.936 131.818c-7.806-16.07-32.6-56.842 1.193-9.459 30.763 42.884 9.183 72.729 5.326 75.667-3.856 2.939-16.804 8.908-13.04-1.469 3.858-10.377 22.958-30.028 6.52-64.74" transform="translate(10)"/><path fill="url(#n)" stroke="#E68C3F" stroke-width="6.25" d="M51.835 258.542c-20.57-10.928-50.414 2.112-39.578-27.457 2.204-6.704-3.214-16.805.275-23.325 4.133-7.989 13.04-6.244 18.366-11.57 5.234-5.51 8.54-15.06 18.366-13.59 9.734 1.468 16.254 13.406 23.049 28.099 5.05 10.468 22.865 25.253 21.672 37.007-1.47 17.998-21.948 21.396-42.15 10.836z" transform="translate(10)"/><path fill="url(#o)" d="M201.608 189.119c-3.122 5.877-16.162 15.335-24.886 12.856-8.815-2.388-12.856-15.795-11.111-25.988 1.653-11.386 11.111-12.03 23.05-6.336 12.855 6.336 16.712 11.662 12.947 19.468" transform="translate(10)"/><path fill="url(#p)" stroke="#E68C3F" stroke-width="6.251" d="M194.445 253.49c15.06-18.273 48.578-14.508 25.988-39.577-4.775-5.418-3.306-16.989-9.183-21.947-6.887-6.061-14.509-1.102-21.488-4.224-6.979-3.398-14.325-9.918-22.865-5.327-8.54 4.684-9.459 16.805-10.285 32.783-.735 11.479-11.203 30.671-5.602 41.231 8.081 16.346 29.11 14.142 43.435-2.938z" transform="translate(10)"/><path fill="url(#q)" d="M187.925 229.064c23.325-34.435 5.97-34.16.092-36.823-5.877-2.755-12.03-8.173-18.916-4.408-6.888 3.857-7.255 13.775-7.439 26.814-.275 9.367-8.08 25.07-3.397 33.793 5.693 10.193 19.467-4.591 29.66-19.376" transform="translate(10)"/><path fill="url(#r)" d="M47.06 234.023c-34.895-22.59-18.55-30.303-13.315-33.885 6.336-4.591 6.428-13.407 14.233-12.58 7.806.826 12.397 10.468 17.631 22.406 3.857 8.54 17.264 19.927 16.254 29.753-1.285 11.57-19.743 3.948-34.803-5.694" transform="translate(10)"/><path fill="#000" d="M209.588 188.843c-2.755 4.776-13.958 12.306-21.396 10.285-7.622-1.928-11.112-12.672-9.55-20.753 1.377-9.183 9.55-9.642 19.834-5.05 10.928 4.958 14.326 9.182 11.112 15.518"/><path fill="url(#s)" d="M192.058 186.18c-1.745 3.306-9.091 8.54-14.234 7.163-5.142-1.377-7.713-8.815-6.887-14.417.735-6.336 6.244-6.704 13.223-3.581 7.53 3.49 9.918 6.428 7.898 10.835" transform="translate(10)"/><path fill="url(#t)" stroke="#E68C3F" stroke-width="3.75" d="M97.107 66.344c3.673-3.398 12.58-13.774 29.477-2.939 3.122 2.02 5.693 2.204 11.662 4.775 12.03 4.96 6.336 16.897-6.52 20.937-5.51 1.745-10.468 8.449-20.386 7.806-8.54-.46-10.744-6.06-15.978-9.091-9.275-5.234-10.652-12.305-5.602-16.07 5.051-3.765 6.98-5.143 7.347-5.418z" transform="translate(10)"/><path stroke="#E68C3F" stroke-width="2.5" d="M148.43 75.986c-5.05.275-15.979 11.203-27.457 11.203s-18.366-10.652-20.11-10.652"/><path fill="url(#u)" d="M102.8 65.426c1.837-1.653 7.622-6.153 15.244-1.562 1.653.919 3.306 1.929 5.693 3.306 4.867 2.847 2.48 6.98-3.398 9.55-2.663 1.102-7.07 3.49-10.376 3.306-3.673-.367-6.153-2.755-8.54-4.316-4.5-2.938-4.224-5.418-2.112-7.346 1.56-1.47 3.305-2.847 3.49-2.938" transform="translate(10)"/></g></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 814 1000"><path fill="#fff" d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.9 40.8s-105.6-57-155.5-127C46.7 790.7 0 663 0 541.8c0-194.4 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.5 0 130.9 2.6 198.3 99.2m-234-181.5c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.5 32.4-55.1 83.6-55.1 135.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.5-71.3"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 100 100"><path fill="#FF6309" d="M11.728 59.736c5.373 0 9.728-4.355 9.728-9.728s-4.355-9.728-9.728-9.728S2 44.635 2 50.008s4.355 9.728 9.728 9.728"/><path fill="#FFB515" d="M81.485 100c5.373 0 9.728-4.355 9.728-9.728s-4.355-9.73-9.728-9.73-9.73 4.357-9.73 9.73S76.113 100 81.486 100"/><path fill="#C90016" d="M81.476 19.457c5.373 0 9.728-4.356 9.728-9.728C91.204 4.356 86.85 0 81.476 0s-9.728 4.356-9.728 9.729 4.356 9.728 9.728 9.728"/><path fill="#FF6309" d="M58.23 25.936c12.115 0 22.165 8.995 23.83 20.656h16.666c-.758-9.163-4.556-17.704-10.908-24.439-4.068 2.071-9.07 2.111-13.319-.341-4.252-2.456-6.719-6.81-6.956-11.374A41 41 0 0 0 58.23 9.37c-6.082 0-11.959 1.327-17.304 3.845l8.346 14.452a23.9 23.9 0 0 1 8.959-1.731"/><path fill="#FFB515" d="M34.16 50.008c0-7.67 3.605-14.51 9.208-18.922l-8.343-14.45a41 41 0 0 0-5.532 4.636c-4.828 4.828-8.29 10.658-10.195 17.02 3.839 2.486 6.38 6.802 6.38 11.716s-2.541 9.23-6.38 11.715c1.905 6.362 5.367 12.191 10.195 17.02a41.3 41.3 0 0 0 5.528 4.636l8.344-14.453c-5.602-4.41-9.205-11.251-9.205-18.918"/><path fill="#C90016" d="M82.06 53.414C80.4 65.078 70.348 74.078 58.231 74.078c-3.166 0-6.192-.616-8.962-1.733L40.924 86.8c5.343 2.519 11.224 3.847 17.307 3.847 3.177 0 6.3-.367 9.32-1.07.233-4.57 2.7-8.931 6.955-11.388 4.25-2.454 9.254-2.416 13.322-.34 6.346-6.736 10.141-15.275 10.896-24.434z"/></svg>
@@ -1,5 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">
2
- <circle cx="12" cy="12" r="10"/>
3
- <ellipse cx="12" cy="12" rx="4" ry="10"/>
4
- <path d="M2 12h20"/>
5
- </svg>
@@ -1,6 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round">
2
- <rect x="2" y="3" width="9" height="9"/>
3
- <rect x="13" y="3" width="9" height="9"/>
4
- <rect x="2" y="13" width="9" height="9"/>
5
- <rect x="13" y="13" width="9" height="9"/>
6
- </svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid" viewBox="0 0 256 150"><path fill="#34A853" d="M255.285 143.47c-.084-.524-.164-1.042-.251-1.56a128.1 128.1 0 0 0-12.794-38.288 128.8 128.8 0 0 0-23.45-31.86 129.2 129.2 0 0 0-22.713-18.005c.049-.08.09-.168.14-.25 2.582-4.461 5.172-8.917 7.755-13.38l7.576-13.068c1.818-3.126 3.632-6.26 5.438-9.386a11.78 11.78 0 0 0 .662-10.484 11.67 11.67 0 0 0-4.823-5.536 11.85 11.85 0 0 0-5.004-1.61 12 12 0 0 0-2.218.018 11.74 11.74 0 0 0-8.968 5.798c-1.814 3.127-3.628 6.26-5.438 9.386l-7.576 13.069c-2.583 4.462-5.173 8.918-7.755 13.38-.282.487-.567.973-.848 1.467q-.586-.237-1.172-.462c-14.24-5.43-29.688-8.4-45.836-8.4-.442 0-.879 0-1.324.006-14.357.143-28.152 2.64-41.022 7.12a119 119 0 0 0-4.42 1.642c-.262-.455-.532-.911-.79-1.367-2.583-4.462-5.173-8.918-7.755-13.38l-7.576-13.07a3915 3915 0 0 1-5.439-9.386A11.74 11.74 0 0 0 48.5.048a11.7 11.7 0 0 0-5.01 1.612 11.7 11.7 0 0 0-4.077 4.063c-.281.474-.532.967-.742 1.473a11.8 11.8 0 0 0-.365 8.188c.259.786.594 1.554 1.023 2.296a3973 3973 0 0 1 5.439 9.386c2.53 4.357 5.054 8.713 7.58 13.069 2.582 4.462 5.168 8.918 7.75 13.38.02.038.046.075.065.112A129 129 0 0 0 45.32 64.38a129.7 129.7 0 0 0-22.2 24.015 128 128 0 0 0-9.34 15.24 128.2 128.2 0 0 0-10.843 28.764 131 131 0 0 0-1.951 9.524c-.087.518-.167 1.042-.247 1.56A125 125 0 0 0 0 149.118h256a130 130 0 0 0-.734-5.636z"/><path fill="#202124" d="M194.59 113.712c5.122-3.41 5.867-11.3 1.661-17.62-4.203-6.323-11.763-8.682-16.883-5.273-5.122 3.41-5.868 11.3-1.662 17.621 4.203 6.322 11.764 8.682 16.883 5.272Zm-116.072-5.25c4.206-6.321 3.46-14.21-1.662-17.62-5.123-3.41-12.68-1.05-16.886 5.27-4.203 6.323-3.458 14.212 1.662 17.622 5.122 3.41 12.683 1.05 16.886-5.272"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 814 1000"><path d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.9 40.8s-105.6-57-155.5-127C46.7 790.7 0 663 0 541.8c0-194.4 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.5 0 130.9 2.6 198.3 99.2m-234-181.5c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.5 32.4-55.1 83.6-55.1 135.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.5-71.3"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 814 1000"><path fill="#fff" d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.9 40.8s-105.6-57-155.5-127C46.7 790.7 0 663 0 541.8c0-194.4 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.5 0 130.9 2.6 198.3 99.2m-234-181.5c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.5 32.4-55.1 83.6-55.1 135.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.5-71.3"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="none"><circle cx="50" cy="50" r="44" fill="#F9F1E1"/><path fill="#000000" d="M50 16c-18.8 0-34 15.2-34 34s15.2 34 34 34 34-15.2 34-34S68.8 16 50 16zm-9 18c0-1.7 1.3-3 3-3s3 1.3 3 3v8c0 4.4 3.6 8 8 8h2c1.7 0 3 1.3 3 3s-1.3 3-3 3h-2c-7.7 0-14-6.3-14-14v-8zm22 22c-1.7 0-3-1.3-3-3s1.3-3 3-3h2c4.4 0 8-3.6 8-8v-2c0-1.7 1.3-3 3-3s3 1.3 3 3v2c0 7.7-6.3 14-14 14h-2z"/></svg>
@@ -1,14 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
2
- <!-- Capacitor brand: dark navy background, white capacitor symbol -->
3
- <rect width="100" height="100" rx="20" fill="#142B45"/>
4
- <g fill="none" stroke="#FFFFFF" stroke-width="6" stroke-linecap="round" stroke-linejoin="round">
5
- <!-- Left plate (vertical line) -->
6
- <line x1="34" y1="30" x2="34" y2="70"/>
7
- <!-- Right plate (vertical line) -->
8
- <line x1="66" y1="30" x2="66" y2="70"/>
9
- <!-- Left arc connecting top and bottom of left plate -->
10
- <path d="M34 30 C20 34 20 66 34 70"/>
11
- <!-- Right arc connecting top and bottom of right plate -->
12
- <path d="M66 30 C80 34 80 66 66 70"/>
13
- </g>
14
- </svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="none"><circle cx="50" cy="50" r="42" fill="#5881D8"/><path fill="#FFFFFF" d="M50 18c-9 0-15 5-19 13l-3 7 4 5c3 4 7 6 11 6h14c4 0 8-2 11-6l4-5-3-7c-4-8-10-13-19-13z"/><circle cx="50" cy="50" r="12" fill="#FFFFFF"/><circle cx="50" cy="50" r="6" fill="#5881D8"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="none"><circle cx="50" cy="50" r="42" fill="#5881D8"/><path fill="#FFFFFF" d="M50 18c-9 0-15 5-19 13l-3 7 4 5c3 4 7 6 11 6h14c4 0 8-2 11-6l4-5-3-7c-4-8-10-13-19-13z"/><text x="50" y="55" font-family="ui-sans-serif, system-ui, sans-serif" font-size="14" font-weight="700" fill="#FFFFFF" text-anchor="middle">CLJS</text></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 100 100"><g clip-path="url(#a)"><path fill="#00C4B3" d="m26.878 27.059-6.425-6.426v46.335l.09 2.172c0 .995.181 2.172.543 3.348l50.86 17.919 12.67-5.61z"/><path fill="#22D3C5" d="m84.615 84.796-12.67 5.61-50.769-17.918c.996 3.71 3.077 7.874 5.43 10.227l16.561 16.47 36.923.09z"/><path fill="#0075C9" d="M20.634 20.633.905 50.497c-1.629 1.72-.814 5.34 1.81 8.055l11.403 11.493 7.149 2.534c-.271-1.177-.543-2.353-.543-3.349l-.09-2.172z"/><path fill="#0075C9" d="M72.308 21.176a26 26 0 0 0-3.349-.543l-2.262-.09H20.453l64.162 64.163 5.611-12.67z"/><path fill="#00A8E1" d="M82.534 26.606c-2.353-2.353-6.425-4.525-10.226-5.43l17.918 50.86-5.61 12.67L98.37 80.27V42.534z"/><path fill="#00C4B3" d="M69.774 14.117 58.28 2.715C55.656.09 52.036-.725 50.226.905L20.362 20.633h46.244l2.263.09c.995 0 2.172.182 3.348.544z"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h100v100H0z"/></clipPath></defs></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="none"><circle cx="50" cy="50" r="42" fill="#000000"/><path fill="#FFFFFF" d="M62 28c-3 0-6 1-8 3-1-2-3-3-6-3-5 0-9 4-9 9 0 1 0 3 1 4-3 1-5 4-5 7 0 4 3 7 7 7h22c5 0 9-4 9-9 0-4-2-7-5-8 0-1 0-2 0-3 0-4-3-7-6-7z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="none"><rect width="100" height="100" rx="14" fill="#092E20"/><path fill="#FFFFFF" d="M30 30h40v40H30z"/><path fill="#44B78B" d="M30 30h40v8H30zM30 62h40v8H30zM30 38h8v24h-8zM62 38h8v24h-8z"/><text x="50" y="56" font-family="Arial, sans-serif" font-size="11" font-weight="700" fill="#092E20" text-anchor="middle">django</text></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="none"><rect x="15" y="20" width="70" height="60" rx="6" fill="#2496ED"/><rect x="15" y="20" width="70" height="12" rx="6" fill="#1D7FB8"/><circle cx="25" cy="26" r="2" fill="#FFFFFF"/><circle cx="33" cy="26" r="2" fill="#FFFFFF"/><circle cx="41" cy="26" r="2" fill="#FFFFFF"/><path fill="#FFFFFF" d="M30 50h40v8H30zM30 64h40v4H30z"/></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 100 100"><path fill="#FFA000" d="m61.405 36.118-10 9.312-9.284-18.733 4.796-10.771c1.212-2.149 3.194-2.177 4.407 0z"/><path fill="#F57F17" d="M51.409 45.426 14 80.22l28.126-53.523z"/><path fill="#FFCA28" d="M72.371 21.877c1.792-1.707 3.636-1.131 4.103 1.293l9.725 56.58-32.257 19.365c-1.13.632-4.13.88-4.13.88s-2.729-.333-3.774-.909L14 80.22z"/><path fill="#FFA000" d="M42.126 26.697 14 80.22 26.535 1.989c.47-2.424 1.844-2.672 3.084-.523z"/></svg>