openpilot v0.11.1 release

date: 2026-06-04T09:49:56
master commit: c0ab3550eca2e9daf197c46b7e4b24aa9637cf2e
This commit is contained in:
Vehicle Researcher
2026-06-04 09:50:05 -07:00
commit 6adb63b915
3381 changed files with 1044370 additions and 0 deletions
View File
+2
View File
@@ -0,0 +1,2 @@
fonts/*.fnt
fonts/*.png
+20
View File
@@ -0,0 +1,20 @@
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
<file alias="bootstrap-icons.svg">@BOOTSTRAP_ICONS_SVG@</file>
<file>images/button_continue_triangle.svg</file>
<file>icons/circled_check.svg</file>
<file>icons/circled_slash.svg</file>
<file>icons/eye_open.svg</file>
<file>icons/eye_closed.svg</file>
<file>icons/close.svg</file>
<file>icons/lock_closed.svg</file>
<file>icons/checkmark.svg</file>
<file>icons/warning.png</file>
<file>icons/wifi_strength_low.svg</file>
<file>icons/wifi_strength_medium.svg</file>
<file>icons/wifi_strength_high.svg</file>
<file>icons/wifi_strength_full.svg</file>
<file alias="languages.json">../ui/translations/languages.json</file>
</qresource>
</RCC>
Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

+7
View File
@@ -0,0 +1,7 @@
#!/usr/bin/env bash
echo "compressing training guide images"
optipng -o7 -strip all training/*
# This can sometimes provide smaller images
# mogrify -quality 100 -format jpg training/*
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+136
View File
@@ -0,0 +1,136 @@
#!/usr/bin/env python3
from pathlib import Path
import json
import pyray as rl
FONT_DIR = Path(__file__).resolve().parent
SELFDRIVE_DIR = FONT_DIR.parents[1]
TRANSLATIONS_DIR = SELFDRIVE_DIR / "ui" / "translations"
LANGUAGES_FILE = TRANSLATIONS_DIR / "languages.json"
GLYPH_PADDING = 6
EXTRA_CHARS = "–‑✓×°§•X⚙✕◀▶✔⌫⇧␣○●↳çêüñ–‑✓×°§•€£¥"
UNIFONT_LANGUAGES = {"th", "zh-CHT", "zh-CHS", "ko", "ja"}
def _languages():
if not LANGUAGES_FILE.exists():
return {}
with LANGUAGES_FILE.open(encoding="utf-8") as f:
return json.load(f)
def _char_sets():
base = set(map(chr, range(32, 127))) | set(EXTRA_CHARS)
unifont = set(base)
for language, code in _languages().items():
unifont.update(language)
po_path = TRANSLATIONS_DIR / f"app_{code}.po"
try:
chars = set(po_path.read_text(encoding="utf-8"))
except FileNotFoundError:
continue
(unifont if code in UNIFONT_LANGUAGES else base).update(chars)
return tuple(sorted(ord(c) for c in base)), tuple(sorted(ord(c) for c in unifont))
def _glyph_metrics(glyphs, rects, glyph_count: int):
entries = []
min_offset_y, max_extent = None, 0
for idx in range(glyph_count):
glyph = glyphs[idx]
rect = rects[idx]
width = int(round(rect.width))
height = int(round(rect.height))
offset_y = int(round(glyph.offsetY))
min_offset_y = offset_y if min_offset_y is None else min(min_offset_y, offset_y)
max_extent = max(max_extent, offset_y + height)
entries.append({
"id": glyph.value,
"x": int(round(rect.x)),
"y": int(round(rect.y)),
"width": width,
"height": height,
"xoffset": int(round(glyph.offsetX)),
"yoffset": offset_y,
"xadvance": int(round(glyph.advanceX)),
})
if min_offset_y is None:
raise RuntimeError("No glyphs were generated")
line_height = int(round(max_extent - min_offset_y))
base = int(round(max_extent))
return entries, line_height, base
def _write_bmfont(path: Path, font_size: int, face: str, atlas_name: str, line_height: int, base: int, atlas_size, entries):
# TODO: why doesn't raylib calculate these metrics correctly?
if line_height != font_size:
print("using font size for line height", atlas_name)
line_height = font_size
lines = [
f"info face=\"{face}\" size=-{font_size} bold=0 italic=0 charset=\"\" unicode=1 stretchH=100 smooth=0 aa=1 padding=0,0,0,0 spacing=0,0 outline=0",
f"common lineHeight={line_height} base={base} scaleW={atlas_size[0]} scaleH={atlas_size[1]} pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4",
f"page id=0 file=\"{atlas_name}\"",
f"chars count={len(entries)}",
]
for entry in entries:
lines.append(
("char id={id:<4} x={x:<5} y={y:<5} width={width:<5} height={height:<5} " +
"xoffset={xoffset:<5} yoffset={yoffset:<5} xadvance={xadvance:<5} page=0 chnl=15").format(**entry)
)
path.write_text("\n".join(lines) + "\n")
def _process_font(font_path: Path, codepoints: tuple[int, ...]):
print(f"Processing {font_path.name}...")
font_size = {
"unifont.otf": 16, # unifont is only 16x8 or 16x16 pixels per glyph
}.get(font_path.name, 200)
data = font_path.read_bytes()
file_buf = rl.ffi.new("unsigned char[]", data)
cp_buffer = rl.ffi.new("int[]", codepoints)
cp_ptr = rl.ffi.cast("int *", cp_buffer)
glyph_count = rl.ffi.new("int *", len(codepoints))
glyphs = rl.load_font_data(
rl.ffi.cast("unsigned char *", file_buf), len(data), font_size, cp_ptr, len(codepoints),
rl.FontType.FONT_DEFAULT, glyph_count
)
if glyphs == rl.ffi.NULL:
raise RuntimeError("raylib failed to load font data")
rects_ptr = rl.ffi.new("Rectangle **")
image = rl.gen_image_font_atlas(glyphs, rects_ptr, glyph_count[0], font_size, GLYPH_PADDING, 0)
if image.width == 0 or image.height == 0:
raise RuntimeError("raylib returned an empty atlas")
rects = rects_ptr[0]
atlas_name = f"{font_path.stem}.png"
atlas_path = FONT_DIR / atlas_name
entries, line_height, base = _glyph_metrics(glyphs, rects, glyph_count[0])
if not rl.export_image(image, atlas_path.as_posix()):
raise RuntimeError("Failed to export atlas image")
_write_bmfont(FONT_DIR / f"{font_path.stem}.fnt", font_size, font_path.stem, atlas_name, line_height, base, (image.width, image.height), entries)
def main():
base_cp, unifont_cp = _char_sets()
fonts = sorted(FONT_DIR.glob("*.ttf")) + sorted(FONT_DIR.glob("*.otf"))
for font in fonts:
if "emoji" in font.name.lower():
continue
glyphs = unifont_cp if font.stem.lower().startswith("unifont") else base_cp
_process_font(font, glyphs)
return 0
if __name__ == "__main__":
raise SystemExit(main())
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

+3
View File
@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="112" height="80" fill="none" viewBox="0 0 56 40">
<path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="7" d="M52.3 4 19.8 35.7 4 19.9"/>
</svg>

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" fill="none">
<path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="7" d="M76.3 36 43.8 67.7 28 51.9"/>
<path stroke="#fff" stroke-width="5" d="M52 101.5c27.338 0 49.5-22.162 49.5-49.5S79.338 2.5 52 2.5 2.5 24.662 2.5 52s22.162 49.5 49.5 49.5Z"/>
</svg>

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

+3
View File
@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="104" height="104" fill="none">
<path stroke="#696969" stroke-width="12" d="M52 98c25.405 0 46-20.595 46-46S77.405 6 52 6 6 26.595 6 52s20.595 46 46 46ZM19 85l66-66"/>
</svg>

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

+3
View File
@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="63.238" height="63.238" fill="none">
<path fill="#000" d="m55.718 63.238 7.52-7.52L39.12 31.6 63.219 7.5 55.737.02l-24.099 24.1L7.52 0 0 7.52l24.118 24.118L.02 55.738l7.482 7.481L31.6 39.12Z"/>
</svg>

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 64 64">
<path fill="#fff" fill-rule="evenodd" d="M10.929 42.075.703 52.371a1 1 0 0 0 .002 1.412l9.517 9.51a1 1 0 0 0 1.414 0L63.292 11.67a1 1 0 0 0 0-1.415L53.737.706a1 1 0 0 0-1.413 0z" clip-rule="evenodd"/>
<path fill="#fff" fill-rule="evenodd" d="M10.929 21.925.703 11.629a1 1 0 0 1 .002-1.412l9.517-9.51a1 1 0 0 1 1.414 0L63.292 52.33a1 1 0 0 1 0 1.415l-9.555 9.549a1 1 0 0 1-1.413 0z" clip-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 513 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

+3
View File
@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300">
<path d="M278.364 122.673c3.765 3.872 6.054 9.391 6.136 14.792v63.097c-.081 5.401-2.371 10.918-6.136 14.79-3.872 3.767-9.392 6.055-14.793 6.136h-4.309v16.929c-.134 2.754-1.837 5.703-4.155 7.197-2.452 1.261-5.858 1.26-8.311-.001-2.316-1.493-4.019-4.442-4.153-7.196v-16.929H57.357v16.929c-.134 2.754-1.838 5.704-4.154 7.197-2.453 1.261-5.859 1.261-8.311 0-2.317-1.494-4.02-4.443-4.154-7.197v-16.929h-4.311c-5.4-.081-10.919-2.369-14.791-6.136-3.765-3.872-6.054-9.391-6.136-14.792v-63.097c.081-5.401 2.371-10.918 6.136-14.79 3.872-3.767 9.393-6.055 14.793-6.137h4.309V87.024c-.312-8.305 2.696-16.753 8.212-22.996 5.629-6.141 13.868-10.042 22.181-10.587l157.851.003c8.313.545 16.439 4.444 22.068 10.584 5.516 6.244 8.524 14.691 8.212 22.996v29.512h4.311c5.401.082 10.919 2.37 14.791 6.137M60.911 75.581c-2.764 3.201-3.979 7.036-3.561 11.244l.007 31.531c3.434 1.537 6.286 3.666 8.758 7.067 2.397 3.454 3.801 7.833 3.861 12.037v29.554h160.048v-29.548c.06-4.204 1.464-8.589 3.86-12.043 2.473-3.402 5.324-5.531 8.759-7.067V86.988c.417-4.209-.791-8.206-3.554-11.407-2.651-3.298-6.138-5.149-10.304-5.522H71.215c-4.166.374-7.652 2.224-10.304 5.522M33.383 203.605c.858.967 1.757 1.339 3.048 1.265h16.926v-67.405c.075-1.291-.297-2.187-1.264-3.045-.857-.966-1.757-1.34-3.047-1.265H36.429c-1.29-.075-2.134.351-3.047 1.264-.912.913-1.338 1.757-1.263 3.047v63.094c-.075 1.291.297 2.187 1.264 3.045m36.593 1.265h160.048v-21.239H69.976zm197.905-67.405c.075-1.291-.297-2.187-1.263-3.046-.86-.966-1.758-1.339-3.048-1.264h-12.617c-1.29-.075-2.187.297-3.045 1.264-.967.858-1.34 1.757-1.265 3.047v67.404h16.928c1.291.074 2.188-.298 3.045-1.264.967-.858 1.34-1.757 1.265-3.047z" style="stroke-width:4px;vector-effect:non-scaling-stroke;fill-opacity:.4"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="532" height="532">
<path d="M532 265.984C532 412.926 412.922 532 265.992 532 119.098 532 0 412.926 0 265.984 0 119.078 119.09 0 265.992 0 412.922-.008 532 119.074 532 265.984M265.992 28.804C135 28.805 28.81 135.013 28.81 265.985c0 131.004 106.191 237.18 237.183 237.18 131.004 0 237.18-106.18 237.18-237.18.008-130.98-106.176-237.18-237.18-237.18m0 0" style="stroke:none;fill-rule:nonzero;fill:#fff;fill-opacity:1"/>
<path d="M230.453 197.395c3.774 0 7.55-1.262 10.067-3.778l37.75-37.754c5.66-5.035 5.035-13.843 0-19.504-5.036-5.664-13.844-5.664-19.504 0l-14.473 14.477V65.652c0-7.547-6.293-13.843-13.844-13.843-7.547 0-13.844 6.293-13.844 13.843l-.003 85.176-14.47-14.469c-5.034-5.664-13.843-5.664-19.503 0-5.664 5.032-5.664 13.844 0 19.504l37.754 37.754c3.148 2.516 6.293 3.778 10.07 3.778m185.125 69.94h-.004c-4.054.571-8.219 1.161-12.086 1.161-2.515 0-5.035 0-7.547-.629-14.48-2.894-16.699-8.988-17.941-12.394q-.158-.445-.305-.82c-3.148-16.36-9.437-38.383-27.687-49.708l58.726-136.824c1.887-4.406 6.922-6.293 11.325-4.406l42.511 54.363 45.758 57.61c5.04 2.519 6.926 8.808 4.41 13.214L467.04 274.16c-6.922-6.293-16.36-9.433-27.055-9.433-1.925.191-3.91.378-5.898.574-4.512.433-9.05.87-12.98 1.308-1.793.2-3.649.461-5.528.727m13.707 136.442c-4.406 8.813-10.066 14.473-17.617 16.993-15.102 5.035-33.348-3.774-68.582-21.395-10.07-5.031-21.395-10.695-34.61-16.988-8.515-3.989-17.925-8.317-27.761-12.84l-.02-.008h-.004l-.015-.008c-13.418-6.172-27.625-12.703-41.414-19.234C209.688 337.082 182 323.87 166.27 316.32c-25.168-12.582-57.262-35.234-64.184-58.511-2.512-8.809-1.887-17.622 2.516-25.168 18.164-31.32 41.324-22.73 80.02-8.375l.523.195c15.101 5.66 30.199 9.434 45.3 10.695l.336 1.828c1.239 6.778 2.867 15.696 3.442 21.453 0 2.512 1.886 3.774 4.406 3.774h8.18c2.515 0 4.406-1.887 4.406-4.406-.625-6.297-1.887-15.73-3.149-22.653l1.621-.18c5.231-.574 10.93-1.199 16.625-2.335 1.887 11.324 3.149 20.136 3.778 26.426 0 2.515 1.887 3.777 4.406 3.777l7.55-.633c2.517 0 4.411-2.516 3.778-4.406-.476-6.207-1.68-14.223-2.781-21.578v-.004l-.004-.024c-.348-2.332-.687-4.593-.992-6.71 3.637-.989 7.273-1.81 10.543-2.544h.004l.004-.004c2.953-.664 5.609-1.261 7.695-1.859 2.516 16.992 3.777 27.055 3.777 32.09 0 2.516 1.887 3.773 4.407 3.773h8.18c2.515 0 4.406-1.886 4.406-4.406-.63-8.18-1.887-20.137-4.407-36.492 6.293-1.887 14.473-3.148 21.39.625 0 0 .63 0 .63.629 9.437 5.035 15.73 16.992 19.504 37.754 3.148 15.73 14.472 25.168 33.976 28.949 10.63 1.86 21.48.352 31.324-1.012 13.47-1.87 25.055-3.476 31.598 4.157 5.035 5.043 8.813 11.335 8.813 21.402 0 22.7-20.336 63.344-30.688 84.027l-.773 1.547Zm-133.394-69.21c-11.325-5.66-39.641-17.618-39.641-17.618-20.137-8.18-40.27-16.988-60.406-27.054-16.36-8.18-29.574-15.73-40.27-23.282-15.734-10.695-26.43-20.136-32.09-28.312-.21.422-.421.773-.632 1.125-.418.699-.84 1.394-1.254 2.648-1.891 3.149-1.891 6.297-.63 10.07 5.036 16.36 32.09 35.868 54.743 47.192 6.918 3.32 16.156 7.617 26.793 12.57h.004c13.539 6.297 29.351 13.656 45.558 21.406l.63.625c23.91 10.7 48.449 22.028 68.581 31.461 4.512 2.11 8.88 4.215 13.102 6.25h.004c4.61 2.223 9.05 4.364 13.324 6.336l8.809 4.407c2.656 1.296 5.23 2.562 7.726 3.789l.028.015c22.914 11.266 38.984 19.164 46.359 16.332.625 0 3.144-1.257 6.293-7.55l3.144-6.293c-22.644-9.446-88.082-39.02-120.18-54.118Zm-72.989 75.503c9.438 4.407 20.133.63 24.54-8.808 4.402-9.438.628-20.137-8.81-24.54L86.364 304.364c-9.437-4.406-20.136-.625-24.543 8.809-4.406 9.437-.625 20.133 8.809 24.539Zm-100.675-30.828-35.239 74.246 28.172 31.477 42.3-88.735Zm0 0" style="stroke:none;fill-rule:evenodd;fill:#fff;fill-opacity:1"/>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

+10
View File
@@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" fill="none">
<path fill="url(#a)" d="M182.019 181.218c-58.59 58.612-114.476 77.551-127.095 64.025-3.606-3.607-3.606-9.017-3.606-13.526 0-24.347 23.437-71.236 73.013-117.228 5.409-4.509 5.409-12.625.902-18.035-4.508-5.41-12.621-5.41-18.029-.901-11.717 10.82-21.633 21.641-30.647 32.463C51.318 89.242 45.91 61.286 54.02 52.27c9.916-9.919 46.873-1.803 90.141 30.66 13.521 9.918 27.041 21.64 39.661 34.266 9.915 9.919 19.831 20.74 27.944 31.561-9.013 11.723-18.929 21.642-29.746 32.463zm64-127.143c9.014 9.018 2.705 37.875-20.732 74.843-8.113-9.919-16.225-18.936-25.239-28.855-9.014-9.018-18.929-18.036-28.844-26.15 37.86-24.348 65.802-28.855 74.815-19.838m18.029-18.035c-20.732-20.74-64.001-11.722-113.577 22.544C100.894 24.317 56.724 15.301 35.995 36.04 15.263 56.78 24.277 99.162 59.43 149.66c-20.73 29.757-33.35 58.612-33.35 82.058 0 16.231 6.31 26.15 10.817 31.56C45.009 271.394 54.924 275 67.543 275c37.86 0 91.04-33.365 132.506-74.843 9.014-9.017 18.028-18.937 25.239-28.856 24.337 37.875 29.746 65.827 20.732 74.843-7.211 7.213-27.944 4.509-52.281-8.116-6.309-2.706-13.521-.901-17.126 5.41-3.605 6.312-.901 13.527 5.409 17.133 18.929 9.919 36.957 14.428 50.479 14.428 12.62 0 22.535-3.608 30.647-11.722 20.732-20.74 11.718-64.025-22.536-113.62 31.551-44.184 45.971-90.172 23.438-113.617z"/>
<path fill="#E11C1C" d="M175.414 154.169c0 17.431-14.124 31.56-31.548 31.56-17.425 0-31.549-14.129-31.549-31.56s14.124-31.56 31.549-31.56 31.548 14.129 31.548 31.56"/>
<defs>
<radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="rotate(90 0 150)scale(125)" gradientUnits="userSpaceOnUse">
<stop offset=".135" stop-color="#E11C1C"/>
<stop offset="1" stop-color="#FF8C22"/>
</radialGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" fill="none">
<path fill="#000" fill-opacity=".36" d="M182.019 181.218c-58.59 58.612-114.476 77.551-127.095 64.025-3.606-3.607-3.606-9.017-3.606-13.526 0-24.347 23.437-71.236 73.013-117.228 5.409-4.509 5.409-12.625.902-18.035-4.508-5.41-12.621-5.41-18.029-.901-11.717 10.82-21.633 21.641-30.647 32.463C51.318 89.242 45.91 61.286 54.02 52.27c9.916-9.919 46.873-1.803 90.141 30.66 13.521 9.918 27.041 21.64 39.661 34.266 9.915 9.919 19.831 20.74 27.944 31.561-9.013 11.723-18.929 21.642-29.746 32.463zm64-127.143c9.014 9.018 2.705 37.875-20.732 74.843-8.113-9.919-16.225-18.936-25.239-28.855-9.014-9.018-18.929-18.036-28.844-26.15 37.86-24.348 65.802-28.855 74.815-19.838m18.029-18.035c-20.732-20.74-64.001-11.722-113.577 22.544C100.894 24.317 56.724 15.301 35.995 36.04 15.263 56.78 24.277 99.162 59.43 149.66c-20.73 29.757-33.35 58.612-33.35 82.058 0 16.231 6.31 26.15 10.817 31.56C45.009 271.394 54.924 275 67.543 275c37.86 0 91.04-33.365 132.506-74.843 9.014-9.017 18.028-18.937 25.239-28.856 24.337 37.875 29.746 65.827 20.732 74.843-7.211 7.213-27.944 4.509-52.281-8.116-6.309-2.706-13.521-.901-17.126 5.41-3.605 6.312-.901 13.527 5.409 17.133 18.929 9.919 36.957 14.428 50.479 14.428 12.62 0 22.535-3.608 30.647-11.722 20.732-20.74 11.718-64.025-22.536-113.62 31.551-44.184 45.971-90.172 23.438-113.617z"/>
<path fill="#000" fill-opacity=".36" d="M175.414 154.169c0 17.431-14.124 31.56-31.548 31.56-17.425 0-31.549-14.129-31.549-31.56s14.124-31.56 31.549-31.56 31.548 14.129 31.548 31.56"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" fill="none">
<path fill="#fff" d="M182.019 181.218c-58.59 58.612-114.476 77.551-127.095 64.025-3.606-3.607-3.606-9.017-3.606-13.526 0-24.347 23.437-71.236 73.013-117.228 5.409-4.509 5.409-12.625.902-18.035-4.508-5.41-12.621-5.41-18.029-.901-11.717 10.82-21.633 21.641-30.647 32.463C51.318 89.242 45.91 61.286 54.02 52.27c9.916-9.919 46.873-1.803 90.141 30.66 13.521 9.918 27.041 21.64 39.661 34.266 9.915 9.919 19.831 20.74 27.944 31.561-9.013 11.723-18.929 21.642-29.746 32.463zm64-127.143c9.014 9.018 2.705 37.875-20.732 74.843-8.113-9.919-16.225-18.936-25.239-28.855-9.014-9.018-18.929-18.036-28.844-26.15 37.86-24.348 65.802-28.855 74.815-19.838m18.029-18.035c-20.732-20.74-64.001-11.722-113.577 22.544C100.894 24.317 56.724 15.301 35.995 36.04 15.263 56.78 24.277 99.162 59.43 149.66c-20.73 29.757-33.35 58.612-33.35 82.058 0 16.231 6.31 26.15 10.817 31.56C45.009 271.394 54.924 275 67.543 275c37.86 0 91.04-33.365 132.506-74.843 9.014-9.017 18.028-18.937 25.239-28.856 24.337 37.875 29.746 65.827 20.732 74.843-7.211 7.213-27.944 4.509-52.281-8.116-6.309-2.706-13.521-.901-17.126 5.41-3.605 6.312-.901 13.527 5.409 17.133 18.929 9.919 36.957 14.428 50.479 14.428 12.62 0 22.535-3.608 30.647-11.722 20.732-20.74 11.718-64.025-22.536-113.62 31.551-44.184 45.971-90.172 23.438-113.617z"/>
<path fill="#fff" d="M175.414 154.169c0 17.431-14.124 31.56-31.548 31.56-17.425 0-31.549-14.129-31.549-31.56s14.124-31.56 31.549-31.56 31.548 14.129 31.548 31.56"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

+5
View File
@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="81" height="54" fill="none">
<path fill="#BDBDBD" fill-rule="evenodd" d="M56.485 7.63C51.79 6.02 46.567 5 40.852 5c-17.55 0-30.315 9.499-37.577 16.356-3.389 3.165-3.389 8.123 0 11.288 2.222 2.098 4.96 4.444 8.192 6.69l4.561-3.213c-4.206-2.816-7.52-5.7-9.549-7.591-.847-.844-.847-2.005 0-2.849C11.684 20.723 25.481 9.33 40.852 9.33c3.702 0 7.314.667 10.736 1.75zm13.852 7.124-4.709 3.316a75 75 0 0 1 9.596 7.717c.726.738.726 1.793 0 2.532-5.204 4.958-18.88 16.457-34.372 16.457-3.707 0-7.31-.652-10.717-1.711l-4.78 3.367A48 48 0 0 0 40.852 49c17.549 0 30.435-9.499 37.697-16.567 3.268-3.165 3.268-7.912 0-10.971-2.22-2.097-4.967-4.45-8.212-6.708" clip-rule="evenodd"/>
<path fill="#BDBDBD" fill-rule="evenodd" d="M46.147 14.91a11.8 11.8 0 0 0-5.28-1.243c-6.775 0-12.267 5.73-12.267 12.8q0 .395.022.785zm-9.51 23.576c1.319.505 2.743.78 4.23.78 6.643 0 12.054-5.511 12.26-12.392z" clip-rule="evenodd"/>
<path stroke="#BDBDBD" stroke-linecap="round" stroke-width="6" d="M73.275 4.18 7.18 50.725"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

+4
View File
@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="81" height="44" fill="none">
<ellipse cx="40.866" cy="21.467" fill="#BDBDBD" rx="12.267" ry="12.8"/>
<path fill="#BDBDBD" d="M40.852 44c-17.55 0-30.315-9.499-37.577-16.356-3.389-3.165-3.389-8.123 0-11.288C10.537 9.499 23.302 0 40.852 0s30.435 9.604 37.697 16.462c3.268 3.059 3.268 7.806 0 10.971C71.287 34.501 58.401 44 40.852 44M6.479 20.681c-.847.844-.847 2.005 0 2.849 5.205 4.852 18.88 16.246 34.373 16.246 15.491 0 29.168-11.5 34.372-16.457.726-.739.726-1.794 0-2.532C70.02 15.829 56.222 4.33 40.852 4.33S11.684 15.723 6.479 20.68"/>
</svg>

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 931 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

+3
View File
@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="49" viewBox="211 182 40 49">
<path fill="#696969" d="m246.225 201.73-.603-.011-.006-6.628c-.006-7.221-6.65-13.096-14.817-13.091s-14.811 5.88-14.805 13.101l.012 6.629h-.536c-2.808.005-4.476 2.019-4.47 4.501v20.273c0 2.483 1.675 4.496 4.482 4.496l31.657-.015c2.807 0 3.867-2.015 3.861-4.497v-20.279c0-2.94-1.632-4.49-4.775-4.479m-24.762 0-.013-6.629c0-4.56 4.19-8.271 9.349-8.276 5.158 0 9.354 3.71 9.354 8.266l.012 6.628z"/>
</svg>

After

Width:  |  Height:  |  Size: 492 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

+3
View File
@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="75.759" height="89.154">
<path d="M38.009.003c-1.673-.071-3.242 1.107-4.104 3.081L.638 79.512c-1.852 4.24.591 9.619 3.959 9.642s28.148-24.38 33.91-24.38 29.946 24.38 32.625 24.38 3.25-1.351 4.021-3.232c.772-1.88.864-4.29-.063-6.41L58.457 41.298 41.823 3.084c-.81-1.852-2.246-3.012-3.814-3.081" style="fill:#ccc;stroke-width:9.76952076"/>
</svg>

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="68" height="68" fill="none">
<path fill="#fff" d="M34 8.636c-12.172 0-23.256 4.624-31.688 12.172-.748.68-.816 1.836-.204 2.584l2.652 3.06a1.83 1.83 0 0 0 2.584.136c7.072-6.392 16.388-10.268 26.588-10.268s19.516 3.876 26.588 10.268a1.83 1.83 0 0 0 2.584-.136l2.652-3.06c.68-.748.544-1.904-.204-2.584C57.256 13.26 46.172 8.636 34 8.636"/>
<path fill="#fff" d="M34 22.032c-8.84 0-16.932 3.4-22.984 8.908-.748.68-.816 1.768-.136 2.516l2.516 2.924c.68.816 1.836.816 2.652.136 4.76-4.352 11.084-7.004 18.02-7.004s13.26 2.652 18.02 7.004c.748.68 1.972.68 2.652-.136l2.516-2.924c.612-.748.612-1.904-.136-2.516-6.188-5.576-14.28-8.908-23.12-8.908"/>
<path fill="#fff" d="M34 35.36a20.55 20.55 0 0 0-14.347 5.78c-.68.68-.748 1.768-.068 2.516l2.38 2.788c.68.816 1.904.816 2.652.136A13.32 13.32 0 0 1 34 42.772c3.672 0 6.936 1.428 9.384 3.808.748.748 1.972.68 2.652-.136l2.38-2.788c.612-.748.612-1.836-.068-2.516A20.55 20.55 0 0 0 34 35.36m0 13.328a7.34 7.34 0 0 0-5.643 2.652 1.77 1.77 0 0 0 0 2.38l4.284 4.964c.748.816 2.04.816 2.787 0l4.285-4.964c.611-.68.611-1.7 0-2.38-1.428-1.632-3.468-2.652-5.712-2.652"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="68" height="68" fill="none">
<path fill="#3D3D3D" d="M34 8.636c-12.172 0-23.256 4.624-31.688 12.172-.748.68-.816 1.836-.204 2.584l2.652 3.06a1.83 1.83 0 0 0 2.584.136c7.072-6.392 16.388-10.268 26.588-10.268s19.516 3.876 26.588 10.268a1.83 1.83 0 0 0 2.584-.136l2.652-3.06c.68-.748.544-1.904-.204-2.584C57.256 13.26 46.172 8.636 34 8.636"/>
<path fill="#fff" d="M34 22.032c-8.84 0-16.932 3.4-22.984 8.908-.748.68-.816 1.768-.136 2.516l2.516 2.924c.68.816 1.836.816 2.652.136 4.76-4.352 11.084-7.004 18.02-7.004s13.26 2.652 18.02 7.004c.748.68 1.972.68 2.652-.136l2.516-2.924c.612-.748.612-1.904-.136-2.516-6.188-5.576-14.28-8.908-23.12-8.908"/>
<path fill="#fff" d="M34 35.36a20.55 20.55 0 0 0-14.347 5.78c-.68.68-.748 1.768-.068 2.516l2.38 2.788c.68.816 1.904.816 2.652.136A13.32 13.32 0 0 1 34 42.772c3.672 0 6.936 1.428 9.384 3.808.748.748 1.972.68 2.652-.136l2.38-2.788c.612-.748.612-1.836-.068-2.516A20.55 20.55 0 0 0 34 35.36m0 13.328a7.34 7.34 0 0 0-5.643 2.652 1.77 1.77 0 0 0 0 2.38l4.284 4.964c.748.816 2.04.816 2.787 0l4.285-4.964c.611-.68.611-1.7 0-2.38-1.428-1.632-3.468-2.652-5.712-2.652"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="68" height="68" fill="none">
<path fill="#3D3D3D" d="M34 8.636c-12.172 0-23.256 4.624-31.688 12.172-.748.68-.816 1.836-.204 2.584l2.652 3.06a1.83 1.83 0 0 0 2.584.136c7.072-6.392 16.388-10.268 26.588-10.268s19.516 3.876 26.588 10.268a1.83 1.83 0 0 0 2.584-.136l2.652-3.06c.68-.748.544-1.904-.204-2.584C57.256 13.26 46.172 8.636 34 8.636"/>
<path fill="#3D3D3D" d="M34 22.032c-8.84 0-16.932 3.4-22.984 8.908-.748.68-.816 1.768-.136 2.516l2.516 2.924c.68.816 1.836.816 2.652.136 4.76-4.352 11.084-7.004 18.02-7.004s13.26 2.652 18.02 7.004c.748.68 1.972.68 2.652-.136l2.516-2.924c.612-.748.612-1.904-.136-2.516-6.188-5.576-14.28-8.908-23.12-8.908"/>
<path fill="#3D3D3D" d="M34 35.36a20.55 20.55 0 0 0-14.347 5.78c-.68.68-.748 1.768-.068 2.516l2.38 2.788c.68.816 1.904.816 2.652.136A13.32 13.32 0 0 1 34 42.772c3.672 0 6.936 1.428 9.384 3.808.748.748 1.972.68 2.652-.136l2.38-2.788c.612-.748.612-1.836-.068-2.516A20.55 20.55 0 0 0 34 35.36"/>
<path fill="#fff" d="M34 48.688a7.34 7.34 0 0 0-5.643 2.652 1.77 1.77 0 0 0 0 2.38l4.284 4.964c.748.816 2.04.816 2.787 0l4.285-4.964c.611-.68.611-1.7 0-2.38-1.428-1.632-3.468-2.652-5.712-2.652"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="68" height="68" fill="none">
<path fill="#3D3D3D" d="M34 8.636c-12.172 0-23.256 4.624-31.688 12.172-.748.68-.816 1.836-.204 2.584l2.652 3.06a1.83 1.83 0 0 0 2.584.136c7.072-6.392 16.388-10.268 26.588-10.268s19.516 3.876 26.588 10.268a1.83 1.83 0 0 0 2.584-.136l2.652-3.06c.68-.748.544-1.904-.204-2.584C57.256 13.26 46.172 8.636 34 8.636"/>
<path fill="#3D3D3D" d="M34 22.032c-8.84 0-16.932 3.4-22.984 8.908-.748.68-.816 1.768-.136 2.516l2.516 2.924c.68.816 1.836.816 2.652.136 4.76-4.352 11.084-7.004 18.02-7.004s13.26 2.652 18.02 7.004c.748.68 1.972.68 2.652-.136l2.516-2.924c.612-.748.612-1.904-.136-2.516-6.188-5.576-14.28-8.908-23.12-8.908"/>
<path fill="#fff" d="M34 35.36a20.55 20.55 0 0 0-14.347 5.78c-.68.68-.748 1.768-.068 2.516l2.38 2.788c.68.816 1.904.816 2.652.136A13.32 13.32 0 0 1 34 42.772c3.672 0 6.936 1.428 9.384 3.808.748.748 1.972.68 2.652-.136l2.38-2.788c.612-.748.612-1.836-.068-2.516A20.55 20.55 0 0 0 34 35.36m0 13.328a7.34 7.34 0 0 0-5.643 2.652 1.77 1.77 0 0 0 0 2.38l4.284 4.964c.748.816 2.04.816 2.787 0l4.285-4.964c.611-.68.611-1.7 0-2.38-1.428-1.632-3.468-2.652-5.712-2.652"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="68" height="68" fill="none">
<path fill="#465BEA" d="M34 8.636c-12.172 0-23.256 4.624-31.688 12.172-.748.68-.816 1.836-.204 2.584l2.652 3.06a1.83 1.83 0 0 0 2.584.136c7.072-6.392 16.388-10.268 26.588-10.268s19.516 3.876 26.588 10.268a1.83 1.83 0 0 0 2.584-.136l2.652-3.06c.68-.748.544-1.904-.204-2.584C57.256 13.26 46.172 8.636 34 8.636"/>
<path fill="#465BEA" d="M34 22.032c-8.84 0-16.932 3.4-22.984 8.908-.748.68-.816 1.768-.136 2.516l2.516 2.924c.68.816 1.836.816 2.652.136 4.76-4.352 11.084-7.004 18.02-7.004s13.26 2.652 18.02 7.004c.748.68 1.972.68 2.652-.136l2.516-2.924c.612-.748.612-1.904-.136-2.516-6.188-5.576-14.28-8.908-23.12-8.908"/>
<path fill="#465BEA" d="M34 35.36a20.55 20.55 0 0 0-14.347 5.78c-.68.68-.748 1.768-.068 2.516l2.38 2.788c.68.816 1.904.816 2.652.136A13.32 13.32 0 0 1 34 42.772c3.672 0 6.936 1.428 9.384 3.808.748.748 1.972.68 2.652-.136l2.38-2.788c.612-.748.612-1.836-.068-2.516A20.55 20.55 0 0 0 34 35.36m0 13.328a7.34 7.34 0 0 0-5.643 2.652 1.77 1.77 0 0 0 0 2.38l4.284 4.964c.748.816 2.04.816 2.787 0l4.285-4.964c.611-.68.611-1.7 0-2.38-1.428-1.632-3.468-2.652-5.712-2.652"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

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