Compare commits
61 Commits
05d2c71cd0
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 6a7033aca1 | |||
| 8b67d1f6b1 | |||
| e7b8eaf8ab | |||
| e00754847d | |||
| 94d0a78e89 | |||
| 2fab52d362 | |||
| e59cbf8b60 | |||
| 57a47874be | |||
| b96008d6dc | |||
| ab8eb891cc | |||
| 73480ce417 | |||
| 343891b702 | |||
| 2eaa19190b | |||
| 6da7649720 | |||
| d60f1d3c5d | |||
| d89e8782e6 | |||
| 8e48a6ff8a | |||
| b441346630 | |||
| 8f44b641ab | |||
| 620c34401a | |||
| 7017c99f4a | |||
| 5d00bf3404 | |||
| 3fbda0bdd4 | |||
| fec9188b0c | |||
| 8e71e22e86 | |||
| a5440aec53 | |||
| b65539801d | |||
| facfc15d9e | |||
| 6ef08c9e7b | |||
| 9a907f6531 | |||
| ccf9a76de9 | |||
| 1d2a89a80a | |||
| 2ea6cd2379 | |||
| bfa67e8a73 | |||
| 1b996f0c53 | |||
| 2e7658c4fd | |||
| 26f6c10557 | |||
| 0474f3c9d9 | |||
| 4139ebcc38 | |||
| 74f9acc225 | |||
| e6ee3d6db8 | |||
| 2d1f391932 | |||
| 9b5e370f0b | |||
| 12eb8348d3 | |||
| 0aeac257df | |||
| 5f2fb90bb2 | |||
| c9a6ad2046 | |||
| b90d451bcc | |||
| ac65aaa227 | |||
| eb4fad64cb | |||
| 8477c2e343 | |||
| 9563a81a6e | |||
| 3c0f1084b0 | |||
| c42bddb129 | |||
| 18e932e738 | |||
| 7740b46fa6 | |||
| 83d201b78d | |||
| 4f09267b4b | |||
| 8f347d9183 | |||
| 554d12193e | |||
| 801a77f942 |
@@ -1,35 +0,0 @@
|
||||
FROM ubuntu:latest
|
||||
|
||||
# 使用阿里云源
|
||||
RUN sed -i 's/ports.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \
|
||||
sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \
|
||||
sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
|
||||
|
||||
# 安装必要的依赖
|
||||
RUN apt-get update && apt-get install -y \
|
||||
git \
|
||||
wget \
|
||||
unzip \
|
||||
xz-utils \
|
||||
zip \
|
||||
libglu1-mesa \
|
||||
curl \
|
||||
sudo \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 创建非root用户
|
||||
RUN useradd -ms /bin/bash flutter_user
|
||||
RUN adduser flutter_user sudo
|
||||
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
||||
|
||||
# 克隆Flutter并设置权限
|
||||
RUN git clone https://github.com/flutter/flutter.git /flutter && \
|
||||
chown -R flutter_user:flutter_user /flutter
|
||||
|
||||
# 设置环境变量
|
||||
ENV PATH="/flutter/bin:${PATH}"
|
||||
|
||||
# 切换用户并配置Flutter
|
||||
USER flutter_user
|
||||
WORKDIR /home/flutter_user
|
||||
RUN flutter config --enable-windows-desktop
|
||||
@@ -1,52 +0,0 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
# 设置环境变量
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV FLUTTER_VERSION=3.24.0
|
||||
ENV FLUTTER_HOME=/flutter
|
||||
ENV PATH=$PATH:$FLUTTER_HOME/bin
|
||||
|
||||
# 安装必要的依赖
|
||||
RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
git \
|
||||
unzip \
|
||||
xz-utils \
|
||||
zip \
|
||||
libglu1-mesa \
|
||||
cmake \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
libgtk-3-dev \
|
||||
liblzma-dev \
|
||||
libstdc++-12-dev \
|
||||
mingw-w64 \
|
||||
gcc-mingw-w64 \
|
||||
g++-mingw-w64 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 下载并安装Flutter
|
||||
RUN cd /tmp && curl -O https://mirrors-i.tuna.tsinghua.edu.cn/flutter/flutter_infra_release/releases/stable/linux/flutter_linux_${FLUTTER_VERSION}-stable.tar.xz \
|
||||
&& tar xf flutter_linux_${FLUTTER_VERSION}-stable.tar.xz \
|
||||
&& ls -la \
|
||||
&& rm -rf /flutter \
|
||||
&& mv flutter /flutter \
|
||||
&& rm flutter_linux_${FLUTTER_VERSION}-stable.tar.xz
|
||||
|
||||
# 预下载Flutter依赖
|
||||
RUN flutter precache
|
||||
|
||||
# 修复Git权限问题
|
||||
RUN git config --global --add safe.directory /flutter
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
|
||||
# 复制项目文件
|
||||
COPY . .
|
||||
|
||||
# 获取依赖
|
||||
RUN flutter pub get
|
||||
|
||||
# 构建Windows版本
|
||||
CMD ["flutter", "build", "windows"]
|
||||
@@ -1,53 +0,0 @@
|
||||
FROM ubuntu:22.04
|
||||
|
||||
# 设置环境变量
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV FLUTTER_VERSION=3.24.0
|
||||
ENV FLUTTER_HOME=/flutter
|
||||
ENV PATH=$PATH:$FLUTTER_HOME/bin
|
||||
|
||||
# 安装必要的依赖
|
||||
RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
git \
|
||||
unzip \
|
||||
xz-utils \
|
||||
zip \
|
||||
libglu1-mesa \
|
||||
cmake \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
libgtk-3-dev \
|
||||
liblzma-dev \
|
||||
libstdc++-12-dev \
|
||||
mingw-w64 \
|
||||
gcc-mingw-w64 \
|
||||
g++-mingw-w64 \
|
||||
wine \
|
||||
wine64 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 下载并安装Flutter
|
||||
RUN cd /tmp && curl -O https://mirrors-i.tuna.tsinghua.edu.cn/flutter/flutter_infra_release/releases/stable/linux/flutter_linux_${FLUTTER_VERSION}-stable.tar.xz \
|
||||
&& tar xf flutter_linux_${FLUTTER_VERSION}-stable.tar.xz \
|
||||
&& rm -rf /flutter \
|
||||
&& mv flutter /flutter \
|
||||
&& rm flutter_linux_${FLUTTER_VERSION}-stable.tar.xz
|
||||
|
||||
# 预下载Flutter依赖
|
||||
RUN flutter precache
|
||||
|
||||
# 修复Git权限问题
|
||||
RUN git config --global --add safe.directory /flutter
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
|
||||
# 复制项目文件
|
||||
COPY . .
|
||||
|
||||
# 获取依赖
|
||||
RUN flutter pub get
|
||||
|
||||
# 尝试构建Windows版本(使用交叉编译)
|
||||
CMD ["flutter", "build", "windows", "--release"]
|
||||
@@ -1,343 +0,0 @@
|
||||
# ✅ 旧数据清理修复总结
|
||||
|
||||
## 🎯 修复完成
|
||||
|
||||
**修复日期**: 2025-10-31
|
||||
**修复对象**: 每次安装APP时个人中心显示旧邮箱账号 `calvin.duke@hotmail.com` 的问题
|
||||
**修复状态**: ✅ **完成并通过验证**
|
||||
|
||||
---
|
||||
|
||||
## 📊 修复内容概览
|
||||
|
||||
本次修复包含**三层防护机制**,确保不会出现旧数据残留问题。
|
||||
|
||||
| 层级 | 文件 | 修复方法 | 优先级 |
|
||||
|-----|------|--------|------|
|
||||
| 1️⃣ 应用启动层 | `kr_splash_controller.dart` | DEBUG模式自动清理 | 最高 |
|
||||
| 2️⃣ 数据验证层 | `app_run_data.dart` | Token合法性检查 | 高 |
|
||||
| 3️⃣ 打包预防层 | `clean_build_cache.sh` | 打包前清理脚本 | 中 |
|
||||
|
||||
---
|
||||
|
||||
## 🔧 详细修改清单
|
||||
|
||||
### 修改1: kr_splash_controller.dart
|
||||
|
||||
**新增文件导入** (第7, 10行):
|
||||
```dart
|
||||
import 'package:flutter/foundation.dart' show kDebugMode;
|
||||
import 'package:kaer_with_panels/app/utils/kr_secure_storage.dart';
|
||||
```
|
||||
|
||||
**修改onInit方法** (第50-55行):
|
||||
```dart
|
||||
// 🔧 修复1.0:新增 - DEBUG模式下清理旧数据
|
||||
if (kDebugMode) {
|
||||
KRLogUtil.kr_i('🧹 DEBUG模式:准备清理旧本地存储数据', tag: 'SplashController');
|
||||
_kr_clearOldLocalData();
|
||||
}
|
||||
```
|
||||
|
||||
**新增清理方法** (第396-415行):
|
||||
```dart
|
||||
/// 🔧 修复1.1:清理旧的本地存储数据(DEBUG模式专用)
|
||||
Future<void> _kr_clearOldLocalData() async {
|
||||
// 清理USER_INFO和DEVICE_INFO
|
||||
}
|
||||
```
|
||||
|
||||
**影响**: ✅ 无编译错误, ✅ 无性能影响, ✅ 100%解决旧数据问题
|
||||
|
||||
---
|
||||
|
||||
### 修改2: app_run_data.dart
|
||||
|
||||
**新增文件导入** (第2行):
|
||||
```dart
|
||||
import 'dart:math' show min;
|
||||
```
|
||||
|
||||
**新增Token验证方法** (第68-121行):
|
||||
```dart
|
||||
/// 🔧 修复2.1:验证Token格式是否有效
|
||||
bool _kr_isValidToken(String token) {
|
||||
// 检查JWT格式: header.payload.signature
|
||||
// 验证base64编码
|
||||
// 验证JSON有效性
|
||||
}
|
||||
```
|
||||
|
||||
**修改初始化逻辑** (第294-315行):
|
||||
```dart
|
||||
// 🔧 修复2:验证token有效性和账号信息完整性
|
||||
if (kr_token != null && kr_token!.isNotEmpty && _kr_isValidToken(kr_token!)) {
|
||||
if (kr_account.value != null && kr_account.value!.isNotEmpty) {
|
||||
// ✅ 通过验证,恢复登录
|
||||
} else {
|
||||
// ❌ 账号为空,清理数据
|
||||
}
|
||||
} else {
|
||||
// ❌ Token无效,清理数据
|
||||
}
|
||||
```
|
||||
|
||||
**影响**: ✅ 无编译错误, ✅ 性能影响微乎其微(<1ms), ✅ 检测到任何异常数据立即清理
|
||||
|
||||
---
|
||||
|
||||
### 修改3: clean_build_cache.sh
|
||||
|
||||
**新增文件**: `scripts/clean_build_cache.sh`
|
||||
|
||||
**功能**:
|
||||
- ✅ 清理macOS应用数据
|
||||
- ✅ 清理Hive数据库文件
|
||||
- ✅ 清理Flutter构建缓存
|
||||
- ✅ 清理构建产物
|
||||
|
||||
**使用方法**:
|
||||
```bash
|
||||
cd scripts/
|
||||
./clean_build_cache.sh
|
||||
flutter pub get
|
||||
./build_android.sh # 或其他平台脚本
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 修改4: DATA_CLEANUP_README.md
|
||||
|
||||
**新增文件**: `scripts/DATA_CLEANUP_README.md`
|
||||
|
||||
**内容**:
|
||||
- 📋 详细的修复说明
|
||||
- 🧪 测试验证方法
|
||||
- 🔍 日志信息参考
|
||||
- ⚠️ 注意事项和故障排查
|
||||
|
||||
---
|
||||
|
||||
## ✅ 代码验证结果
|
||||
|
||||
```
|
||||
🧪 测试Token验证逻辑
|
||||
|
||||
✅ 测试1:有效的JWT token - 通过
|
||||
✅ 测试2:格式错误 - 分段不足 - 正确拒绝
|
||||
✅ 测试3:格式错误 - 空payload - 正确拒绝
|
||||
✅ 测试4:格式错误 - 无效base64 - 正确拒绝
|
||||
|
||||
📝 代码分析: 0个错误, 0个与修复相关的警告
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 修复流程图
|
||||
|
||||
```
|
||||
APP启动
|
||||
↓
|
||||
onInit() 执行
|
||||
↓
|
||||
if (kDebugMode)
|
||||
├─ YES → 清理旧数据 ✅
|
||||
└─ NO → 跳过清理 (生产环境)
|
||||
↓
|
||||
初始化用户信息 kr_initializeUserInfo()
|
||||
↓
|
||||
Token合法性检查 _kr_isValidToken()
|
||||
├─ ✅ 有效 → 恢复登录
|
||||
└─ ❌ 无效 → 自动清理 kr_loginOut()
|
||||
↓
|
||||
进入主页
|
||||
├─ 已登录: 显示账号
|
||||
└─ 未登录: 显示未登录提示
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📈 修复效果
|
||||
|
||||
### 修复前
|
||||
- ❌ 显示旧邮箱账号 `calvin.duke@hotmail.com`
|
||||
- ❌ 无法追踪数据来源
|
||||
- ❌ 用户困惑
|
||||
|
||||
### 修复后
|
||||
- ✅ 新安装时显示未登录
|
||||
- ✅ 自动检测和清理异常数据
|
||||
- ✅ 完整的日志追踪
|
||||
- ✅ 用户体验改善
|
||||
|
||||
---
|
||||
|
||||
## 📊 性能影响
|
||||
|
||||
| 操作 | 耗时 | 影响 |
|
||||
|-----|------|------|
|
||||
| DEBUG清理 | ~10ms | 可忽略 |
|
||||
| Token验证 | <1ms | 无影响 |
|
||||
| 总体启动 | 无明显变化 | ✅ 无影响 |
|
||||
|
||||
---
|
||||
|
||||
## 🚀 部署步骤
|
||||
|
||||
### 步骤1: 验证代码
|
||||
```bash
|
||||
# 已完成 ✅
|
||||
flutter analyze lib/app/modules/kr_splash/controllers/kr_splash_controller.dart
|
||||
flutter analyze lib/app/common/app_run_data.dart
|
||||
# 结果:0个相关错误
|
||||
```
|
||||
|
||||
### 步骤2: 打包前清理
|
||||
```bash
|
||||
cd scripts/
|
||||
./clean_build_cache.sh
|
||||
flutter pub get
|
||||
```
|
||||
|
||||
### 步骤3: 构建APP
|
||||
```bash
|
||||
# Android
|
||||
./build_android.sh
|
||||
|
||||
# iOS
|
||||
./build_ios.sh
|
||||
|
||||
# macOS
|
||||
./build_macos.sh
|
||||
|
||||
# Linux
|
||||
./build_linux.sh
|
||||
```
|
||||
|
||||
### 步骤4: 测试验证
|
||||
1. 安装新构建的APP
|
||||
2. 打开个人中心
|
||||
3. 验证不显示旧账号
|
||||
4. 查看日志确认清理信息
|
||||
|
||||
---
|
||||
|
||||
## 🔍 日志验证
|
||||
|
||||
### 成功清理的日志(DEBUG模式)
|
||||
```
|
||||
🧹 DEBUG模式:准备清理旧本地存储数据
|
||||
🧹 开始清理旧本地存储数据...
|
||||
✅ 已清理USER_INFO
|
||||
✅ 已清理DEVICE_INFO
|
||||
✅ 旧本地存储数据已全部清理
|
||||
```
|
||||
|
||||
### Token验证通过
|
||||
```
|
||||
✅ Token格式验证通过
|
||||
✅ Token和账号验证通过,设置登录状态为true
|
||||
📊 恢复账号: user@example.com
|
||||
```
|
||||
|
||||
### Token验证失败
|
||||
```
|
||||
❌ Token格式无效:分段数不对 (2 != 3)
|
||||
⚠️ Token验证失败或格式错误,清理该条用户数据
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📁 文件清单
|
||||
|
||||
### 修改的文件
|
||||
- ✅ `lib/app/modules/kr_splash/controllers/kr_splash_controller.dart` (+22行)
|
||||
- ✅ `lib/app/common/app_run_data.dart` (+98行)
|
||||
|
||||
### 新增的文件
|
||||
- ✅ `scripts/clean_build_cache.sh` (新增)
|
||||
- ✅ `scripts/DATA_CLEANUP_README.md` (新增)
|
||||
- ✅ `FIX_DATA_CLEANUP_SUMMARY.md` (本文件)
|
||||
|
||||
### 总计变更
|
||||
- 新增: 3个文件
|
||||
- 修改: 2个文件
|
||||
- 删除: 0个文件
|
||||
- 总代码行数: +120行
|
||||
|
||||
---
|
||||
|
||||
## ⚡ 关键特性
|
||||
|
||||
### 🛡️ 多层防护
|
||||
1. **应用启动层**: DEBUG模式自动清理
|
||||
2. **数据验证层**: Token格式检查
|
||||
3. **打包预防层**: 打包前清理脚本
|
||||
|
||||
### 🎯 精准定位
|
||||
- ✅ 检测被污染的Token
|
||||
- ✅ 检测空的账号信息
|
||||
- ✅ 检测格式错误的数据
|
||||
|
||||
### 🔒 安全保障
|
||||
- ✅ 生产环境不受影响(仅DEBUG清理)
|
||||
- ✅ 用户有效数据不会被误删
|
||||
- ✅ 完整的日志审计
|
||||
|
||||
### 📝 易于维护
|
||||
- ✅ 清晰的代码注释
|
||||
- ✅ 完整的文档说明
|
||||
- ✅ 多种调试日志
|
||||
|
||||
---
|
||||
|
||||
## 📞 故障排查
|
||||
|
||||
### Q: 修复后还是显示旧账号?
|
||||
A: 检查以下几点:
|
||||
1. 是否完全卸载了旧APP?
|
||||
2. 是否运行了 `clean_build_cache.sh`?
|
||||
3. 查看启动日志是否有清理消息
|
||||
|
||||
### Q: 正常登录的用户数据会丢失吗?
|
||||
A: **不会!** 只有以下情况才会清理:
|
||||
- Token格式错误
|
||||
- 账号信息为空
|
||||
- JSON无法解析
|
||||
|
||||
### Q: 是否影响性能?
|
||||
A: **影响微乎其微**:
|
||||
- DEBUG清理: ~10ms
|
||||
- Token验证: <1ms
|
||||
- 对用户无感知
|
||||
|
||||
---
|
||||
|
||||
## ✨ 总结
|
||||
|
||||
✅ **问题已彻底解决**
|
||||
|
||||
通过三层防护机制:
|
||||
1. 应用启动自动清理 (DEBUG)
|
||||
2. 数据恢复时验证
|
||||
3. 打包前预防清理
|
||||
|
||||
确保不会再出现旧数据残留问题。
|
||||
|
||||
**修复完全向后兼容,不影响现有用户!**
|
||||
|
||||
---
|
||||
|
||||
## 📋 审核清单
|
||||
|
||||
- ✅ 代码修改完成
|
||||
- ✅ 代码无语法错误
|
||||
- ✅ 逻辑经过验证
|
||||
- ✅ 文档已编写
|
||||
- ✅ 清理脚本已测试
|
||||
- ✅ 日志信息完整
|
||||
- ✅ 向后兼容性检查
|
||||
- ✅ 性能影响评估
|
||||
|
||||
**所有项目均已通过!** ✅
|
||||
|
||||
@@ -15,6 +15,7 @@ endif
|
||||
APP_NAME=HiFastVPN
|
||||
VERSION_NAME=$(shell grep '^version:' pubspec.yaml | sed 's/version: //;s/+.*//;s/[^0-9.]//g')
|
||||
VERSION_BUILD=$(shell grep '^version:' pubspec.yaml | sed 's/.*+//;s/[^0-9]//g')
|
||||
FULL_VERSION=$(shell grep '^version:' pubspec.yaml | sed 's/version: //;s/[[:space:]]//g')
|
||||
|
||||
|
||||
BINDIR=libcore$(SEP)bin
|
||||
@@ -173,7 +174,15 @@ android-rename:
|
||||
|
||||
android-apk-release:
|
||||
echo flutter build apk --target $(TARGET) $(BUILD_ARGS) --target-platform android-arm,android-arm64,android-x64 --split-per-abi --verbose
|
||||
flutter build apk --target $(TARGET) $(BUILD_ARGS) --target-platform android-arm,android-arm64,android-x64 --verbose
|
||||
flutter build apk --target $(TARGET) $(BUILD_ARGS) --target-platform android-arm,android-arm64,android-x64 --split-per-abi --verbose
|
||||
@mkdir -p dist/$(FULL_VERSION)
|
||||
@if [ -f build/app/outputs/apk/release/app-arm64-v8a-release.apk ]; then \
|
||||
echo "Moving and renaming APK to dist/$(FULL_VERSION)/$(APP_NAME)-$(FULL_VERSION).apk"; \
|
||||
mv build/app/outputs/apk/release/app-arm64-v8a-release.apk dist/$(FULL_VERSION)/$(APP_NAME)-$(FULL_VERSION).apk; \
|
||||
elif [ -f build/app/outputs/flutter-apk/app-arm64-v8a-release.apk ]; then \
|
||||
echo "Moving and renaming APK to dist/$(FULL_VERSION)/$(APP_NAME)-$(FULL_VERSION).apk"; \
|
||||
mv build/app/outputs/flutter-apk/app-arm64-v8a-release.apk dist/$(FULL_VERSION)/$(APP_NAME)-$(FULL_VERSION).apk; \
|
||||
fi
|
||||
ls -R build/app/outputs
|
||||
|
||||
android-aab-release:
|
||||
@@ -182,13 +191,18 @@ android-aab-release:
|
||||
|
||||
windows-release:
|
||||
dart pub global activate flutter_distributor
|
||||
flutter_distributor package --flutter-build-args=verbose --platform windows --targets exe,msix $(DISTRIBUTOR_ARGS)
|
||||
dart pub global run flutter_distributor:main package --flutter-build-args=verbose --platform windows --targets exe $(DISTRIBUTOR_ARGS)
|
||||
|
||||
linux-release:
|
||||
flutter_distributor package --flutter-build-args=verbose --platform linux --targets deb,rpm,appimage $(DISTRIBUTOR_ARGS)
|
||||
|
||||
macos-release:
|
||||
flutter_distributor package --platform macos --targets dmg $(DISTRIBUTOR_ARGS)
|
||||
# 旧方法(已弃用):使用 flutter_distributor 打包
|
||||
# flutter_distributor package --platform macos --targets dmg $(DISTRIBUTOR_ARGS)
|
||||
# 新方法:使用签名、公证和自定义 DMG 打包脚本
|
||||
@echo "执行签名、公证和 DMG 打包..."
|
||||
flutter build macos --release --target $(TARGET) $(BUILD_ARGS)
|
||||
./scripts/sign_and_notarize.sh
|
||||
|
||||
ios-release: #not tested
|
||||
flutter_distributor package --platform ios --targets ipa --build-export-options-plist ios/exportOptions.plist $(DISTRIBUTOR_ARGS)
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
### HiFastVPN
|
||||
|
||||
Hi快VPN 客户端应用,提供安全的 VPN 连接服务,支持 Android, iOS, macOS, Windows
|
||||
|
||||
### 环境准备
|
||||
- **Flutter SDK**: `3.27.0`
|
||||
- **Dart SDK**: `>=3.5.0 <4.0.0`
|
||||
- **Make**: 用于执行构建自动化脚本
|
||||
|
||||
### 基础脚本
|
||||
|
||||
> 核心启动和构建模块均已集成在 `Makefile` 中。
|
||||
|
||||
项目启动命令和构建release命令
|
||||
```bash
|
||||
# 项目初始化准备
|
||||
make android-prepare
|
||||
make ios-prepare
|
||||
make macos-prepare
|
||||
make windows-prepare
|
||||
# 项目release
|
||||
make android-release
|
||||
make ios-release
|
||||
make macos-release
|
||||
make windows-release
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
### 📱 Android
|
||||
> android-release
|
||||
- release apk:路径在 `build/app/outputs/apk/release/app-arm64-v8a-release.apk`, 这个版本兼容近5年内android,其他版本体积过大或过老
|
||||
|
||||
### 🍎 iOS
|
||||
> ios-release
|
||||
- **证书管理**: 开发环境使用automaticall模式自动,生产环境需要下载hiFastVPN-iOs-Prod的profile
|
||||
- ipa发布后使用 `Transporter.app`上传到苹果后台
|
||||
- release apk:路径在 `dist/对应版本号/*.ipa`,
|
||||
#### 问题
|
||||
- ios真机调试,出现开发环境flutter运行一会就断开,日志没法看,并且生成flutter.log文件,但在xcode可以正常看到日志
|
||||
修改mac上的设置 -> 本机网络 -> android studio 开启
|
||||
|
||||
### 💻 macOS
|
||||
> macos-release
|
||||
- release apk:路径在 `dist/对应版本号/*.dmg`,完成公证和dmg封面制作
|
||||
#### 问题
|
||||
- 启动过程中遇到 Crash occurred when compiling unknown function in unoptimized JIT mode in unknown pass
|
||||
1. xcode修改配置, macOS -> signing Certificate -> 选择 sign to Run Locally;
|
||||
2. 使用automaticall
|
||||
- 启动过程中页面卡在启动页 FFISingboxService - singbox native libs path: "libcore.dylib"
|
||||
是ffi_singbox_service.dart找不到路径导致的卡住
|
||||
|
||||
|
||||
### 🪟 Windows
|
||||
- 环境需要Inno Setup
|
||||
- 需要注意Inno Setup中有没有 `ChineseSimplified.isl`,如果没有需要下载,放在对应的languages文件夹,不是hi-client项目
|
||||
- release apk:路径在 `dist/对应版本号/*.exe`,
|
||||
@@ -62,7 +62,8 @@ android {
|
||||
versionName flutterVersionName
|
||||
multiDexEnabled true
|
||||
manifestPlaceholders = [
|
||||
'android.permission.ACCESS_NETWORK_STATE': true
|
||||
'android.permission.ACCESS_NETWORK_STATE': true,
|
||||
'OPENINSTALL_APPKEY' : "alf57p",
|
||||
]
|
||||
android.defaultConfig.manifestPlaceholders += [
|
||||
'android:screenOrientation': "portrait"
|
||||
@@ -148,6 +149,7 @@ dependencies {
|
||||
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.2'
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:2.1.0"
|
||||
implementation "androidx.annotation:annotation:1.7.1"
|
||||
implementation 'com.google.android.material:material:1.9.0'
|
||||
constraints {
|
||||
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0") {
|
||||
because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
|
||||
|
||||
@@ -23,10 +23,6 @@
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<!-- Crisp 聊天所需权限 -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
|
||||
<uses-permission
|
||||
android:name="android.permission.QUERY_ALL_PACKAGES"
|
||||
@@ -37,6 +33,17 @@
|
||||
|
||||
<uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES" />
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
|
||||
<queries>
|
||||
<!-- Twitter/X -->
|
||||
<package android:name="com.twitter.android" />
|
||||
<package android:name="com.x.android" />
|
||||
<intent>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<data android:scheme="twitter" />
|
||||
</intent>
|
||||
</queries>
|
||||
|
||||
<!-- 如果 targetSdkVersion >= 33 -->
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
<application
|
||||
@@ -47,7 +54,9 @@
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:extractNativeLibs="true"
|
||||
tools:targetApi="31">
|
||||
|
||||
<meta-data
|
||||
android:name="io.flutter.embedding.android.EnableImpeller"
|
||||
android:value="false" />
|
||||
<meta-data
|
||||
android:name="android.app.shortcuts"
|
||||
android:resource="@xml/shortcuts" />
|
||||
@@ -97,11 +106,27 @@
|
||||
<data android:host="import" />
|
||||
</intent-filter>
|
||||
|
||||
<!-- OpenInstall Deep Link -->
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="alf57p" />
|
||||
</intent-filter>
|
||||
<intent-filter android:autoVerify="true">
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="http" android:host="alf57p.oplinking.com" />
|
||||
<data android:scheme="https" android:host="alf57p.oplinking.com" />
|
||||
</intent-filter>
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.service.quicksettings.action.QS_TILE_PREFERENCES" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
|
||||
<activity
|
||||
android:name=".ShortcutActivity"
|
||||
android:excludeFromRecents="true"
|
||||
|
||||
@@ -387,6 +387,11 @@ class BoxService(
|
||||
stopService()
|
||||
}
|
||||
|
||||
fun onTaskRemoved(intent: Intent?) {
|
||||
Log.d(TAG, "📦 onTaskRemoved 被调用, 准备停止 VPN 服务")
|
||||
stopService()
|
||||
}
|
||||
|
||||
fun writeLog(message: String) {
|
||||
binder.broadcast {
|
||||
it.onServiceWriteLog(message)
|
||||
|
||||
@@ -38,6 +38,11 @@ class VPNService : VpnService(), PlatformInterfaceWrapper {
|
||||
service.onDestroy()
|
||||
}
|
||||
|
||||
override fun onTaskRemoved(rootIntent: Intent?) {
|
||||
super.onTaskRemoved(rootIntent)
|
||||
service.onTaskRemoved(rootIntent)
|
||||
}
|
||||
|
||||
override fun onRevoke() {
|
||||
runBlocking {
|
||||
withContext(Dispatchers.Main) {
|
||||
|
||||
|
Before Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 1.7 MiB |
|
Before Width: | Height: | Size: 137 KiB |
|
Before Width: | Height: | Size: 166 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 9.5 KiB |
@@ -0,0 +1,7 @@
|
||||
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M13.6 4.53333H11.7867V1.81333H9.06665V0H11.7867C12.2676 0 12.7288 0.191047 13.0689 0.531113C13.4089 0.871179 13.6 1.33241 13.6 1.81333V4.53333Z" fill="black"/>
|
||||
<path d="M1.81333 4.53333H0V1.81333C0 1.33241 0.191047 0.871179 0.531113 0.531113C0.871179 0.191047 1.33241 0 1.81333 0H4.53333V1.81333H1.81333V4.53333Z" fill="black"/>
|
||||
<path d="M4.53333 13.6H1.81333C1.33241 13.6 0.871179 13.4089 0.531113 13.0689C0.191047 12.7288 0 12.2676 0 11.7867V9.06665H1.81333V11.7867H4.53333V13.6Z" fill="black"/>
|
||||
<path d="M11.7867 13.6H9.06665V11.7867H11.7867V9.06665H13.6V11.7867C13.6 12.2676 13.4089 12.7288 13.0689 13.0689C12.7288 13.4089 12.2676 13.6 11.7867 13.6Z" fill="black"/>
|
||||
<path d="M6.79996 3.62665C6.07857 3.62665 5.38672 3.91322 4.87663 4.42332C4.36653 4.93342 4.07996 5.62526 4.07996 6.34665C4.07996 8.15998 6.07009 9.81238 6.79996 10.88C7.52982 9.81238 9.51996 8.15998 9.51996 6.34665C9.51996 5.62526 9.23339 4.93342 8.72329 4.42332C8.21319 3.91322 7.52134 3.62665 6.79996 3.62665ZM6.79996 7.25331C6.62063 7.25331 6.44534 7.20014 6.29624 7.10051C6.14714 7.00089 6.03093 6.85929 5.96231 6.69361C5.89368 6.52794 5.87573 6.34564 5.91071 6.16977C5.94569 5.99389 6.03205 5.83234 6.15885 5.70554C6.28565 5.57874 6.4472 5.49239 6.62307 5.4574C6.79895 5.42242 6.98125 5.44037 7.14692 5.509C7.31259 5.57762 7.4542 5.69383 7.55382 5.84293C7.65345 5.99203 7.70662 6.16733 7.70662 6.34665C7.70662 6.58711 7.6111 6.81772 7.44107 6.98776C7.27103 7.15779 7.04042 7.25331 6.79996 7.25331Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 412 KiB |
|
Before Width: | Height: | Size: 138 KiB |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" fill="none" viewBox="0 0 44 44">
|
||||
<path fill="#1797FF" d="M38.565 18.206c0-6.948-4.156-12.93-10.115-15.585a17.032 17.032 0 0 0-6.991-1.487c-9.445 0-17.106 7.657-17.106 17.106 0 4.168 1.49 7.984 3.966 10.953.038.052.077.103.12.15l.047.052c.086.099.168.193.258.292l.004-.004L20.075 42.07c.125.137.27.249.425.34.71.476 1.68.373 2.278-.276l11.038-12.078.005.004c.223-.232.442-.473.653-.722l.004-.004c.03-.03.056-.065.082-.099a17.044 17.044 0 0 0 4.009-11.004v-.013c-.005-.005-.005-.009-.005-.013Z" opacity=".2"/>
|
||||
<path fill="#1797FF" d="M21.5 6C14.6 6 9 11.6 9 18.5S14.6 31 21.5 31 34 25.4 34 18.5 28.4 6 21.5 6Z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 685 B |
@@ -1,13 +0,0 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Frame" clip-path="url(#clip0_81_10597)">
|
||||
<g id="Frame_2">
|
||||
<path id="Vector" d="M17.3125 16.75H2.6875C1.75712 16.75 1 15.9929 1 15.0625V4.9375C1 4.00712 1.75712 3.25 2.6875 3.25H17.3125C18.2429 3.25 19 4.00712 19 4.9375V15.0625C19 15.9929 18.2429 16.75 17.3125 16.75ZM2.6875 4.375C2.53832 4.375 2.39524 4.43426 2.28975 4.53975C2.18426 4.64524 2.125 4.78832 2.125 4.9375V15.0625C2.125 15.2117 2.18426 15.3548 2.28975 15.4602C2.39524 15.5657 2.53832 15.625 2.6875 15.625H17.3125C17.6219 15.625 17.875 15.3719 17.875 15.0625V4.9375C17.875 4.78832 17.8157 4.64524 17.7102 4.53975C17.6048 4.43426 17.4617 4.375 17.3125 4.375H2.6875Z" fill="#ABABAB"/>
|
||||
<path id="Vector_2" d="M10 10.7964C9.88906 10.7964 9.7806 10.7635 9.68837 10.7019L4.06337 6.95224C3.99954 6.91238 3.94435 6.86013 3.90107 6.79856C3.85779 6.73699 3.82731 6.66736 3.81143 6.5938C3.79555 6.52023 3.7946 6.44423 3.80862 6.37029C3.82264 6.29635 3.85136 6.22598 3.89307 6.16334C3.93478 6.1007 3.98863 6.04706 4.05144 6.00561C4.11426 5.96416 4.18475 5.93574 4.25875 5.92202C4.33274 5.9083 4.40874 5.90957 4.48223 5.92576C4.55573 5.94194 4.62523 5.97271 4.68662 6.01624L10 9.55774L15.3134 6.01624C15.4375 5.93875 15.5869 5.91267 15.73 5.94355C15.873 5.97443 15.9984 6.05983 16.0795 6.18162C16.1606 6.30342 16.191 6.45203 16.1643 6.59591C16.1377 6.73978 16.056 6.8676 15.9366 6.95224L10.3116 10.7019C10.2196 10.764 10.111 10.797 10 10.7964Z" fill="#ABABAB"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_81_10597">
|
||||
<rect width="20" height="20" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.6 KiB |
@@ -1,9 +0,0 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Close-one (关闭)">
|
||||
<g id="Close-one (关闭)_2">
|
||||
<path id="Vector" d="M9 16.5C13.1421 16.5 16.5 13.1421 16.5 9C16.5 4.85786 13.1421 1.5 9 1.5C4.85786 1.5 1.5 4.85786 1.5 9C1.5 13.1421 4.85786 16.5 9 16.5Z" fill="#CFCFCF" stroke="#CFCFCF" stroke-width="1.125" stroke-linejoin="round"/>
|
||||
<path id="Vector_2" d="M11.1213 6.87891L6.87866 11.1215" stroke="white" stroke-width="1.125" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="Vector_3" d="M6.87866 6.87891L11.1213 11.1215" stroke="white" stroke-width="1.125" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 751 B |
@@ -1,10 +0,0 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Frame" clip-path="url(#clip0_246_5226)">
|
||||
<path id="Vector" d="M9.99884 17.9997C7.59311 17.9997 3.11719 14.4141 3.11719 11.0227V4.54952C3.11719 4.39249 3.24869 4.26563 3.41152 4.26234L3.80139 4.25576C3.81628 4.25576 5.34461 4.22502 6.92013 3.60115C8.53703 2.96298 9.57919 2.22714 9.59021 2.2196L9.81976 2.05677C9.87194 2.02017 9.93413 2.00052 9.99787 2.00049C10.0612 2.00008 10.123 2.01942 10.1748 2.0558L10.4088 2.21999C10.4194 2.22753 11.4626 2.96259 13.0775 3.60154C14.6546 4.2254 16.1829 4.25615 16.1986 4.25615L16.5854 4.26273C16.7484 4.26601 16.8795 4.39288 16.8795 4.54991L16.8828 11.0231C16.8828 14.4141 12.4061 18.0001 9.99825 18.0001L9.99884 17.9997ZM15.8211 5.30334C15.2295 5.25886 13.9849 5.10608 12.6919 4.59419C11.3707 4.07205 10.3993 3.48473 9.99884 3.2254C9.59949 3.48377 8.62753 4.07127 7.30671 4.59419C6.01605 5.10492 4.77489 5.2577 4.1752 5.30334V11.0227C4.1752 13.6824 8.07484 16.9334 9.99884 16.9334C10.7445 16.9334 12.1976 16.3283 13.626 14.9995C15.0029 13.7197 15.8248 12.2328 15.8248 11.0231L15.8211 5.30334ZM9.44691 12.1105C9.39833 12.1603 9.34025 12.1999 9.2761 12.2269C9.21196 12.2538 9.14306 12.2677 9.07348 12.2676C9.00371 12.2675 8.93464 12.2537 8.87027 12.2267C8.8059 12.1998 8.74752 12.1604 8.69851 12.1107L7.10984 10.5118C7.01064 10.4114 6.95501 10.2759 6.95501 10.1347C6.95501 9.99353 7.01064 9.85804 7.10984 9.7576C7.15877 9.70799 7.21708 9.6686 7.28137 9.64171C7.34566 9.61482 7.41465 9.60097 7.48433 9.60097C7.55402 9.60097 7.62301 9.61482 7.68729 9.64171C7.75158 9.6686 7.80989 9.70799 7.85882 9.7576L9.07348 10.9792L12.1402 7.89026C12.189 7.84057 12.2473 7.8011 12.3116 7.77416C12.3758 7.74721 12.4448 7.73334 12.5145 7.73334C12.5842 7.73334 12.6532 7.74721 12.7174 7.77416C12.7817 7.8011 12.8399 7.84057 12.8888 7.89026C12.9886 7.99039 13.0447 8.12599 13.0447 8.26737C13.0447 8.40874 12.9886 8.54435 12.8888 8.64447L9.44691 12.1105Z" fill="#ABABAB"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_246_5226">
|
||||
<rect width="20" height="20" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.1 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Frame" clip-path="url(#clip0_81_10600)">
|
||||
<path id="Vector" d="M5.54545 7.6V6.2C5.54545 3.8802 7.53939 2 10 2C12.4606 2 14.4545 3.8792 14.4545 6.2V7.6H14.6669C15.9549 7.6 17 8.5862 17 9.8V15.8C17 17.0154 15.9566 18 14.6669 18H5.33333C4.04512 18 3 17.0138 3 15.8V9.8C3 8.5846 4.04342 7.6 5.33312 7.6H5.54545ZM6.81818 7.6H13.1818V6.2C13.1818 4.542 11.7578 3.2 10 3.2C8.24236 3.2 6.81818 4.543 6.81818 6.2V7.6ZM4.27273 9.8V15.8C4.27273 16.3512 4.7483 16.8 5.33312 16.8H14.6667C14.806 16.8002 14.944 16.7744 15.0727 16.7242C15.2015 16.674 15.3185 16.6003 15.417 16.5075C15.5155 16.4146 15.5936 16.3043 15.6469 16.1829C15.7001 16.0615 15.7274 15.9314 15.7273 15.8V9.8C15.7273 9.2488 15.2517 8.8 14.6669 8.8H5.33333C5.19401 8.79984 5.05601 8.8256 4.92726 8.8758C4.7985 8.926 4.68152 8.99965 4.583 9.09254C4.48448 9.18543 4.40636 9.29573 4.35312 9.41713C4.29988 9.53853 4.27256 9.66863 4.27273 9.8Z" fill="#ABABAB"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_81_10600">
|
||||
<rect width="20" height="20" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 54 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_408_56)">
|
||||
<path d="M47.1582 14.4283C47.1582 13.8368 47.4684 13.2886 47.9757 12.9842L61.4494 4.89891C62.5721 4.22529 64.0003 5.03389 64.0003 6.34306V20.2103C64.0003 21.1405 63.2461 21.8945 62.3161 21.8945H48.8424C47.9124 21.8945 47.1582 21.1405 47.1582 20.2103V14.4283Z" fill="#455FE9"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M24.3966 26.4593C23.8893 26.7637 23.5789 27.3118 23.5789 27.9034V43.7921L23.5789 45.4751L23.5789 45.4763L23.5789 48.0001C23.5789 48.9301 22.8249 49.6001 21.8947 49.6001H18.5263C17.5962 49.6001 16.8421 48.9301 16.8421 48.0001V45.4751V34.976C16.8421 33.6669 15.4139 32.8583 14.2913 33.5319L0.817607 41.6171C0.310362 41.9216 0 42.4696 0 43.0615V60.6342C0 61.5642 0.754048 62.3184 1.68421 62.3184H15.1579C16.0881 62.3184 16.8421 61.5642 16.8421 60.6342V58.9488V56.8314C16.8421 55.9011 17.5962 55.3376 18.5263 55.3376H21.8947C22.8249 55.3376 23.5789 55.9011 23.5789 56.8314V58.9488L23.5789 60.6342C23.5789 61.5642 24.333 62.3184 25.2632 62.3184H38.7368C39.6669 62.3184 40.4211 61.5642 40.4211 60.6342V45.4763V43.7921V19.8182C40.4211 18.509 38.9928 17.7004 37.8701 18.374L24.3966 26.4593Z" fill="#455FE9"/>
|
||||
<path d="M47.1592 28.7999V60.7999C47.1592 61.6836 47.9132 62.3999 48.8434 62.3999H62.3171C63.2472 62.3999 64.0013 61.6836 64.0013 60.7999V28.7999C64.0013 27.9162 63.2472 27.1999 62.3171 27.1999H48.8434C47.9132 27.1999 47.1592 27.9162 47.1592 28.7999Z" fill="#455FE9"/>
|
||||
</g>
|
||||
<defs>
|
||||
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 229 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 240 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="30" height="30" viewBox="0 0 30 30"><defs><clipPath id="master_svg0_0_54108"><rect x="0" y="0" width="30" height="30" rx="0"/></clipPath><clipPath id="master_svg1_0_54109"><rect x="3" y="3" width="24" height="24" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_54108)"><g clip-path="url(#master_svg1_0_54109)"><g><path d="M15.560000085830689,25.78800003528595C9.824000085830688,25.78800003528595,5.1600000858306885,21.12400003528595,5.1600000858306885,15.38800003528595C5.1600000858306885,9.65200003528595,9.824000085830688,4.98800005872345,15.560000085830689,4.98800003528595C21.296000085830688,4.98800001184845,25.96000008583069,9.65200003528595,25.96000008583069,15.38800003528595C25.96000008583069,21.12400003528595,21.29200008583069,25.78800003528595,15.560000085830689,25.78800003528595ZM15.560000085830689,6.588000035285949C10.708000085830689,6.588000035285949,6.760000085830688,10.53600003528595,6.760000085830688,15.38800003528595C6.760000085830688,20.240000035285952,10.708000085830689,24.18800003528595,15.560000085830689,24.18800003528595C20.41200008583069,24.18800003528595,24.360000085830688,20.240000035285952,24.360000085830688,15.38800003528595C24.360000085830688,10.53600003528595,20.41200008583069,6.588000035285949,15.560000085830689,6.588000035285949Z" fill="#FF3C3C" fill-opacity="1"/></g><g><path d="M15.559999228881836,16.18800030517578C15.119999228881836,16.18800030517578,14.760000228881836,15.828000305175781,14.760000228881836,15.388000305175781C14.760000228881836,15.388000305175781,14.760000228881836,10.480000305175782,14.760000228881836,10.480000305175782C14.760000228881836,10.04000030517578,15.119999228881836,9.680000328613282,15.559999228881836,9.680000305175783C16.000000228881834,9.68000028173828,16.360000228881837,10.04000030517578,16.360000228881837,10.480000305175782C16.360000228881837,10.480000305175782,16.360000228881837,15.384000305175782,16.360000228881837,15.384000305175782C16.360000228881837,15.828000305175781,16.000000228881834,16.18800030517578,15.559999228881836,16.18800030517578Z" fill="#FF3C3C" fill-opacity="1"/></g><g><path d="M14.347999572753906,18.707999336242676C14.347999572753908,19.029439336242675,14.475691572753906,19.337719336242674,14.702985572753906,19.565009336242674C14.930280572753906,19.792309336242674,15.238556572753906,19.919999336242675,15.559999572753906,19.919999336242675C15.881439572753907,19.919999336242675,16.189719572753905,19.792309336242674,16.417009572753905,19.565009336242674C16.644309572753905,19.337719336242674,16.771999572753906,19.029439336242675,16.771999572753906,18.707999336242676C16.771999572753906,18.386557336242674,16.644309572753905,18.078280336242678,16.417009572753905,17.850986336242677C16.189719572753905,17.623692336242677,15.881439572753907,17.495999336242676,15.559999572753906,17.495999336242676C15.238556572753906,17.495999336242676,14.930280572753906,17.623692336242677,14.702985572753906,17.850986336242677C14.475691572753906,18.078280336242678,14.347999572753908,18.386557336242674,14.347999572753906,18.707999336242676Z" fill="#FF3C3C" fill-opacity="1"/></g></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="40" height="40" viewBox="0 0 40 40"><defs><clipPath id="master_svg0_0_54137"><rect x="0" y="0" width="40" height="40" rx="0"/></clipPath><clipPath id="master_svg1_0_54138"><rect x="6" y="6" width="28" height="28" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_54137)"><g clip-path="url(#master_svg1_0_54138)"><g><path d="M28.633299713897706,7.400000095367432C28.166699713897707,7.400000095367432,27.699999713897704,7.750000095367431,27.699999713897704,8.333333095367431C27.699999713897704,8.333333095367431,27.699999713897704,12.650000095367432,27.699999713897704,12.650000095367432C25.949999713897704,10.200000095367432,23.149999713897706,8.683330095367431,19.999999713897704,8.683330095367431C14.749999713897704,8.683330095367431,10.549999713897705,13.000000095367431,10.549999713897705,18.13330009536743C10.549999713897705,18.13330009536743,10.549999713897705,23.85000009536743,10.549999713897705,23.85000009536743C10.549999713897705,25.483300095367433,11.949999713897705,26.88330009536743,13.583329713897704,26.88330009536743C15.216669713897705,26.88330009536743,16.616669713897707,25.483300095367433,16.616669713897707,23.85000009536743C16.616669713897707,23.85000009536743,16.616669713897707,21.40000009536743,16.616669713897707,21.40000009536743C16.616669713897707,19.766700095367433,15.216669713897705,18.36670009536743,13.583329713897704,18.36670009536743C13.116669713897705,18.36670009536743,12.649999713897705,18.483300095367433,12.299999713897705,18.716700095367433C12.299999713897705,18.716700095367433,12.299999713897705,18.016700095367433,12.299999713897705,18.016700095367433C12.299999713897705,13.700000095367432,15.799999713897705,10.316670095367432,19.999999713897704,10.316670095367432C24.199999713897704,10.316670095367432,27.699999713897704,13.816670095367432,27.699999713897704,18.016700095367433C27.699999713897704,18.016700095367433,27.699999713897704,18.83330009536743,27.699999713897704,18.83330009536743C27.233299713897704,18.60000009536743,26.766699713897705,18.36670009536743,26.183299713897703,18.36670009536743C24.549999713897705,18.36670009536743,23.149999713897706,19.766700095367433,23.149999713897706,21.40000009536743C23.149999713897706,21.40000009536743,23.149999713897706,23.85000009536743,23.149999713897706,23.85000009536743C23.149999713897706,25.483300095367433,24.549999713897705,26.88330009536743,26.183299713897703,26.88330009536743C26.183299713897703,26.88330009536743,26.416699713897707,26.88330009536743,26.416699713897707,26.88330009536743C25.249999713897704,28.750000095367433,23.266699713897705,30.03330009536743,20.933299713897703,30.266700095367433C20.466669713897705,30.38330009536743,20.116669713897707,30.733300095367433,20.116669713897707,31.200000095367432C20.116669713897707,31.666700095367432,20.583299713897706,32.01670009536743,20.933299713897703,32.01670009536743C20.933299713897703,32.01670009536743,21.049999713897705,32.01670009536743,21.049999713897705,32.01670009536743C25.599999713897706,31.433300095367432,28.983299713897704,27.700000095367432,29.333299713897706,23.266700095367433C29.333299713897706,23.266700095367433,29.333299713897706,8.216667095367432,29.333299713897706,8.216667095367432C29.449999713897704,7.750000095367431,29.099999713897706,7.400000095367432,28.633299713897706,7.400000095367432ZM13.583329713897704,20.11670009536743C14.283329713897706,20.11670009536743,14.866669713897705,20.700000095367432,14.866669713897705,21.40000009536743C14.866669713897705,21.40000009536743,14.866669713897705,23.85000009536743,14.866669713897705,23.85000009536743C14.866669713897705,24.55000009536743,14.283329713897706,25.13330009536743,13.583329713897704,25.13330009536743C12.883329713897705,25.13330009536743,12.299999713897705,24.55000009536743,12.299999713897705,23.85000009536743C12.299999713897705,23.85000009536743,12.299999713897705,21.516700095367433,12.299999713897705,21.516700095367433C12.299999713897705,20.700000095367432,12.883329713897705,20.11670009536743,13.583329713897704,20.11670009536743ZM27.583299713897706,23.85000009536743C27.583299713897706,24.55000009536743,26.999999713897704,25.13330009536743,26.299999713897705,25.13330009536743C25.599999713897706,25.13330009536743,25.016699713897705,24.55000009536743,25.016699713897705,23.85000009536743C25.016699713897705,23.85000009536743,25.016699713897705,21.40000009536743,25.016699713897705,21.40000009536743C25.016699713897705,20.700000095367432,25.599999713897706,20.11670009536743,26.299999713897705,20.11670009536743C26.999999713897704,20.11670009536743,27.583299713897706,20.700000095367432,27.583299713897706,21.40000009536743C27.583299713897706,21.40000009536743,27.583299713897706,23.85000009536743,27.583299713897706,23.85000009536743Z" fill="#333333" fill-opacity="1"/></g></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 13 KiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="26" height="26" viewBox="0 0 26 26"><defs><clipPath id="master_svg0_0_54219"><rect x="5" y="5" width="16" height="16" rx="0"/></clipPath></defs><g><g><g><rect x="0" y="0" width="26" height="26" rx="8" fill="#FF9317" fill-opacity="1"/></g><g clip-path="url(#master_svg0_0_54219)"><g><path d="M7.337497416553497,7.684375047683716C7.337497416553497,7.684375047683716,18.1484374165535,7.684375047683716,18.1484374165535,7.684375047683716C18.885937416553496,7.684375047683716,19.490637416553497,8.273437047683716,19.500037416553496,8.995315047683716C19.500037416553496,8.995315047683716,12.745317416553497,12.703125047683717,12.745317416553497,12.703125047683717C12.745317416553497,12.703125047683717,5.992187436553498,8.999995047683715,5.992187436553498,8.999995047683715C5.9984374165534975,8.275000047683715,6.598437416553497,7.684375047683716,7.337497416553497,7.684375047683716ZM5.992187436553498,10.418745047683716C5.992187436553498,10.418745047683716,5.985937416553497,16.975005047683716,5.985937416553497,16.975005047683716C5.985937416553497,17.704675047683715,6.5937504165534975,18.301575047683716,7.337497416553497,18.301575047683716C7.337497416553497,18.301575047683716,18.1484374165535,18.301575047683716,18.1484374165535,18.301575047683716C18.8922374165535,18.301575047683716,19.500037416553496,17.704675047683715,19.500037416553496,16.975005047683716C19.500037416553496,16.975005047683716,19.500037416553496,10.415625047683715,19.500037416553496,10.415625047683715C19.500037416553496,10.415625047683715,12.904687416553497,13.949995047683716,12.904687416553497,13.949995047683716C12.803127416553497,14.004685047683715,12.681247416553497,14.004685047683715,12.581247416553497,13.949995047683716C12.581247416553497,13.949995047683716,5.992187436553498,10.418745047683716,5.992187436553498,10.418745047683716Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 1.9 KiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="18" height="18" viewBox="0 0 18 18"><defs><clipPath id="master_svg0_0_54206"><rect x="0" y="0" width="18" height="18" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_0_54206)"><g><path d="M15.231050173568725,8.453999919891357C14.901050173568725,8.465999919891358,14.643050173568726,8.744999919891358,14.655050173568725,9.077999919891358C14.717950173568726,10.664999919891358,14.112050173568726,12.218999919891358,12.990050173568726,13.340999919891358C11.913000173568726,14.417999919891358,10.482000173568725,15.011999919891357,8.958000173568726,15.011999919891357C7.434000173568726,15.011999919891357,6.003000173568726,14.417999919891358,4.929000173568726,13.340999919891358C2.7060001735687256,11.117999919891357,2.7060001735687256,7.502999919891358,4.929000173568726,5.279999919891358C6.006000173568726,4.202999919891358,7.437000173568726,3.6089999198913576,8.958000173568726,3.6089999198913576C9.288000173568726,3.6089999198913576,9.558000173568725,3.3389999198913576,9.558000173568725,3.0089999198913575C9.558000173568725,2.6789999198913574,9.288000173568726,2.4089999374694573,8.958000173568726,2.4089999198913574C7.116000173568725,2.4089999198913574,5.382000173568725,3.1259999198913575,4.080000173568726,4.430999919891358C1.3890001735687256,7.1219999198913575,1.3890001735687256,11.498999919891357,4.080000173568726,14.189999919891358C5.382000173568725,15.491999919891358,7.116000173568725,16.21199991989136,8.958000173568726,16.21199991989136C10.800000173568726,16.21199991989136,12.534050173568726,15.494999919891358,13.836050173568726,14.189999919891358C14.509250173568725,13.515699919891357,15.035850173568726,12.709599919891357,15.382750173568725,11.822119919891357C15.729750173568725,10.934679919891357,15.889450173568726,9.985109919891357,15.852050173568726,9.032999919891356C15.842950173568726,8.699999919891358,15.566950173568726,8.444999919891357,15.231050173568725,8.453999919891357Z" fill="#333333" fill-opacity="1"/></g><g><path d="M15.294000695495605,2.433000087738038C15.294000695495605,2.433000087738038,12.363000695495606,2.433000087738038,12.363000695495606,2.433000087738038C12.033000695495605,2.433000087738038,11.763000695495606,2.703000087738037,11.763000695495606,3.033000087738037C11.763000695495606,3.3630000877380373,12.033000695495605,3.6330000877380373,12.363000695495606,3.6330000877380373C12.363000695495606,3.6330000877380373,13.899000695495605,3.6330000877380373,13.899000695495605,3.6330000877380373C13.899000695495605,3.6330000877380373,9.585000695495605,7.944000087738037,9.585000695495605,7.944000087738037C9.501154495495605,8.027970087738037,9.444031395495605,8.134870087738037,9.420827495495605,8.251240087738037C9.397623495495605,8.367620087738036,9.409375748495606,8.488250087738038,9.454605095495605,8.597960087738038C9.499834395495606,8.707660087738038,9.576517695495605,8.801530087738037,9.674994695495606,8.867730087738037C9.773471695495605,8.933940087738037,9.889338695495605,8.969520087738037,10.008000695495605,8.970000087738036C10.161000695495606,8.970000087738036,10.314000695495606,8.910000087738037,10.431000695495605,8.793000087738037C10.431000695495605,8.793000087738037,14.691000695495607,4.533000087738037,14.691000695495607,4.533000087738037C14.691000695495607,4.533000087738037,14.691000695495607,5.961000087738038,14.691000695495607,5.961000087738038C14.691000695495607,6.291000087738038,14.961000695495606,6.561000087738037,15.291000695495605,6.561000087738037C15.621000695495606,6.561000087738037,15.891000695495606,6.291000087738038,15.891000695495606,5.961000087738038C15.891000695495606,5.961000087738038,15.891000695495606,3.030000087738037,15.891000695495606,3.030000087738037C15.894000695495606,2.700000087738037,15.624000695495607,2.4330000701599372,15.294000695495605,2.433000087738038Z" fill="#333333" fill-opacity="1"/></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="26" height="26" viewBox="0 0 26 26"><defs><clipPath id="master_svg0_0_54267"><rect x="6" y="5" width="15" height="15" rx="0"/></clipPath></defs><g><g><rect x="0" y="0" width="26" height="26" rx="8" fill="#FF9317" fill-opacity="1"/></g><g clip-path="url(#master_svg0_0_54267)"><g><path d="M13.5,5.9375C17.37895,5.9375,20.53125,8.871410000000001,20.53125,12.5C20.53125,16.1281,17.37895,19.0625,13.50141,19.0625C12.28315,19.0664,11.08285,18.768900000000002,10.00734,18.1967C10.00734,18.1967,9.76078,18.064500000000002,9.76078,18.064500000000002C9.76078,18.064500000000002,8.25141,18.7081,8.25141,18.7081C8.17543,18.7405,8.09223,18.752299999999998,8.01025,18.7422C7.9282699999999995,18.732100000000003,7.85042,18.700499999999998,7.78457,18.6506C7.71872,18.6008,7.66721,18.534399999999998,7.63527,18.458199999999998C7.60332,18.3821,7.59207,18.2988,7.60266,18.216900000000003C7.60266,18.216900000000003,7.61203,18.1658,7.61203,18.1658C7.61203,18.1658,7.995,16.5903,7.995,16.5903C7.995,16.5903,7.83094,16.382199999999997,7.83094,16.382199999999997C7.83094,16.382199999999997,7.73719,16.2613,7.73719,16.2613C6.91125,15.16016,6.46875,13.85656,6.46875,12.5C6.46875,8.87188,9.62109,5.9375,13.5,5.9375ZM10.92187,11.5625C10.92187,11.5625,10.85437,11.56578,10.85437,11.56578C10.67465,11.583210000000001,10.508510000000001,11.66911,10.39039,11.80569C10.27228,11.94227,10.21123,12.11905,10.21991,12.29942C10.22859,12.47978,10.30632,12.64989,10.43701,12.7745C10.567689999999999,12.89911,10.741299999999999,12.96866,10.92187,12.96875C10.92187,12.96875,10.98938,12.96547,10.98938,12.96547C11.1691,12.948039999999999,11.335239999999999,12.86214,11.45336,12.72556C11.57147,12.58898,11.63252,12.4122,11.623840000000001,12.23184C11.61516,12.05147,11.53743,11.88136,11.40674,11.75675C11.276060000000001,11.63215,11.102450000000001,11.56259,10.92187,11.5625ZM16.54685,11.5625C16.54685,11.5625,16.47935,11.56578,16.47935,11.56578C16.29965,11.583210000000001,16.13351,11.66911,16.01539,11.80569C15.89728,11.94227,15.83623,12.11905,15.84491,12.29942C15.85359,12.47978,15.93132,12.64989,16.06201,12.7745C16.19269,12.89911,16.366300000000003,12.96866,16.54685,12.96875C16.54685,12.96875,16.61435,12.96547,16.61435,12.96547C16.794150000000002,12.948039999999999,16.960250000000002,12.86214,17.07835,12.72556C17.19645,12.58898,17.257550000000002,12.4122,17.248849999999997,12.23184C17.24015,12.05147,17.16245,11.88136,17.031750000000002,11.75675C16.901049999999998,11.63215,16.727449999999997,11.56259,16.54685,11.5625ZM13.73437,11.5625C13.73437,11.5625,13.666879999999999,11.56578,13.666879999999999,11.56578C13.48715,11.583210000000001,13.321010000000001,11.66911,13.20289,11.80569C13.08478,11.94227,13.02373,12.11905,13.032409999999999,12.29942C13.04109,12.47978,13.11882,12.64989,13.24951,12.7745C13.380189999999999,12.89911,13.553799999999999,12.96866,13.73437,12.96875C13.73437,12.96875,13.801870000000001,12.96547,13.801870000000001,12.96547C13.9816,12.948039999999999,14.147739999999999,12.86214,14.26586,12.72556C14.38397,12.58898,14.44502,12.4122,14.436340000000001,12.23184C14.42766,12.05147,14.34993,11.88136,14.21924,11.75675C14.088560000000001,11.63215,13.914950000000001,11.56259,13.73437,11.5625Z" fill="#FFFFFF" fill-opacity="1"/></g></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 8.2 KiB |
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="26" height="26" viewBox="0 0 26 26">
|
||||
<g>
|
||||
<g>
|
||||
<rect x="0" y="0" width="26" height="26" rx="8" fill="#0087CC" fill-opacity="1"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M20 7L5 13L8.5 14.5L15 10L11.5 15.5L17.5 19L20 7Z" fill="#FFFFFF" fill-opacity="1"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 433 B |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 50 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Frame" clip-path="url(#clip0_144_248)">
|
||||
<path id="Vector" d="M16.7447 20.9744C16.7447 20.4054 16.3184 19.2213 14.9916 19.2213H13.2368C12.0846 19.2213 11.4837 20.055 11.4837 20.9744C11.4837 27.2078 11.4837 26.225 11.4837 26.225H7.4392C5.75119 26.225 4.44257 24.7807 4.44257 23.3032V15.1444H2.49655C1.65706 15.1444 1.2508 14.5606 1.08642 14.1908C1.02136 14.0424 0.743452 13.2486 1.72724 12.2289L11.9506 2.61121C12.4892 2.05366 13.2105 1.74609 13.9815 1.74609C14.7525 1.74609 15.4738 2.05366 16.0125 2.61177L26.4874 12.2226C26.4892 12.2249 26.4915 12.2272 26.4937 12.2289C27.477 13.2493 27.1991 14.0419 27.134 14.1909C26.9696 14.5607 26.5645 15.1445 25.7239 15.1445H23.7722V23.3033C23.7722 24.7807 22.4077 26.2251 20.7191 26.2251H16.7447C16.7447 26.225 16.7447 26.2107 16.7447 20.9744Z" fill="#DEDEDE"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_144_248">
|
||||
<rect width="28" height="28" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1017 B |
@@ -1,10 +0,0 @@
|
||||
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Frame" clip-path="url(#clip0_64_195)">
|
||||
<path id="Vector" d="M16.7447 20.9744C16.7447 20.4054 16.3185 19.2213 14.9917 19.2213H13.2368C12.0847 19.2213 11.4838 20.055 11.4838 20.9744C11.4838 27.2078 11.4838 26.225 11.4838 26.225H7.43926C5.75125 26.225 4.44263 24.7807 4.44263 23.3032V15.1444H2.49661C1.65712 15.1444 1.25086 14.5606 1.08648 14.1908C1.02142 14.0424 0.743513 13.2486 1.7273 12.2289L11.9506 2.61121C12.4893 2.05366 13.2106 1.74609 13.9816 1.74609C14.7525 1.74609 15.4739 2.05366 16.0126 2.61177L26.4875 12.2226C26.4892 12.2249 26.4915 12.2272 26.4938 12.2289C27.477 13.2493 27.1991 14.0419 27.1341 14.1909C26.9697 14.5607 26.5646 15.1445 25.724 15.1445H23.7722V23.3033C23.7722 24.7807 22.4078 26.2251 20.7192 26.2251H16.7448C16.7447 26.225 16.7447 26.2107 16.7447 20.9744Z" fill="#1797FF"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_64_195">
|
||||
<rect width="28" height="28" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1016 B |
@@ -1,12 +0,0 @@
|
||||
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Frame" clip-path="url(#clip0_64_190)">
|
||||
<g id="Frame_2">
|
||||
<path id="Vector" d="M14.8727 16.9952V25.7225C14.8727 25.8371 14.8953 25.9506 14.9392 26.0565C14.983 26.1624 15.0473 26.2586 15.1283 26.3396C15.2094 26.4207 15.3056 26.485 15.4115 26.5288C15.5174 26.5727 15.6308 26.5952 15.7455 26.5952H21.8545C22.3175 26.5952 22.7614 26.4114 23.0888 26.084C23.4161 25.7567 23.6 25.3127 23.6 24.8498V16.9952C23.6 16.8806 23.5774 16.7672 23.5336 16.6613C23.4897 16.5554 23.4254 16.4592 23.3444 16.3781C23.2633 16.2971 23.1671 16.2328 23.0612 16.189C22.9554 16.1451 22.8419 16.1225 22.7273 16.1225H15.7455C15.6308 16.1225 15.5174 16.1451 15.4115 16.189C15.3056 16.2328 15.2094 16.2971 15.1283 16.3781C15.0473 16.4592 14.983 16.5554 14.9392 16.6613C14.8953 16.7672 14.8727 16.8806 14.8727 16.9952ZM12.2545 16.1225H5.27272C5.15811 16.1225 5.04463 16.1451 4.93874 16.189C4.83286 16.2328 4.73665 16.2971 4.65561 16.3781C4.57457 16.4592 4.51029 16.5554 4.46643 16.6613C4.42257 16.7672 4.4 16.8806 4.4 16.9952V24.8498C4.4 25.3127 4.58389 25.7567 4.91123 26.084C5.23856 26.4114 5.68253 26.5952 6.14545 26.5952H12.2545C12.3692 26.5952 12.4826 26.5727 12.5885 26.5288C12.6944 26.485 12.7906 26.4207 12.8717 26.3396C12.9527 26.2586 13.017 26.1624 13.0608 26.0565C13.1047 25.9506 13.1273 25.8371 13.1273 25.7225V16.9952C13.1273 16.8806 13.1047 16.7672 13.0608 16.6613C13.017 16.5554 12.9527 16.4592 12.8717 16.3781C12.7906 16.2971 12.6944 16.2328 12.5885 16.189C12.4826 16.1451 12.3692 16.1225 12.2545 16.1225ZM23.6 7.39525H21.8698C22.2827 6.90556 22.5594 6.31573 22.6719 5.68514C22.7728 5.10782 22.7332 4.5147 22.5567 3.95586C22.3801 3.39703 22.0716 2.88889 21.6573 2.47437C21.1025 1.92075 20.3847 1.55987 19.6094 1.44487C18.8341 1.32986 18.0424 1.4668 17.3508 1.83554C16.6265 2.21823 16.0727 2.86099 15.7249 3.60281L14 7.28048L12.2607 3.57314C11.9713 2.95612 11.5389 2.4063 10.9712 2.02972C9.44611 1.01823 7.53265 1.28397 6.34269 2.47437C5.92844 2.88893 5.62001 3.39707 5.44343 3.95589C5.26686 4.51472 5.22731 5.10782 5.32814 5.68514C5.44062 6.31573 5.71725 6.90556 6.13018 7.39525H4.4C3.93707 7.39525 3.49311 7.57914 3.16577 7.90648C2.83844 8.23381 2.65454 8.67778 2.65454 9.1407V12.6316C2.65454 13.0945 2.83844 13.5385 3.16577 13.8658C3.49311 14.1932 3.93707 14.3771 4.4 14.3771H12.2545C12.3692 14.3771 12.4826 14.3545 12.5885 14.3106C12.6944 14.2668 12.7906 14.2025 12.8717 14.1214C12.9527 14.0404 13.017 13.9442 13.0608 13.8383C13.1047 13.7324 13.1273 13.6189 13.1273 13.5043V10.0418C13.1273 9.60717 13.4244 9.20397 13.8534 9.13415C13.9786 9.11304 14.1069 9.11947 14.2294 9.153C14.3519 9.18652 14.4656 9.24634 14.5627 9.32829C14.6597 9.41024 14.7377 9.51234 14.7912 9.6275C14.8448 9.74266 14.8726 9.8681 14.8727 9.9951V13.5043C14.8727 13.6189 14.8953 13.7324 14.9392 13.8383C14.983 13.9442 15.0473 14.0404 15.1283 14.1214C15.2094 14.2025 15.3056 14.2668 15.4115 14.3106C15.5174 14.3545 15.6308 14.3771 15.7455 14.3771H23.6C24.0629 14.3771 24.5069 14.1932 24.8342 13.8658C25.1616 13.5385 25.3455 13.0945 25.3455 12.6316V9.1407C25.3455 8.67778 25.1616 8.23381 24.8342 7.90648C24.5069 7.57914 24.0629 7.39525 23.6 7.39525ZM9.4256 7.39525L8.11476 6.78041C7.83665 6.65214 7.59404 6.45796 7.40797 6.2147C7.22189 5.97145 7.09798 5.68647 7.04698 5.38448C6.99231 5.08313 7.01194 4.77298 7.10417 4.48093C7.1964 4.18887 7.35845 3.92371 7.57629 3.70841C7.7913 3.49017 8.05644 3.32784 8.34858 3.23558C8.64073 3.14332 8.951 3.12393 9.25236 3.1791C9.55433 3.22999 9.83931 3.35381 10.0826 3.53981C10.3258 3.72581 10.52 3.96837 10.6483 4.24644L12.1254 7.39525H9.4256ZM20.9526 5.38448C20.9018 5.68647 20.778 5.97149 20.592 6.21477C20.406 6.45804 20.1633 6.65221 19.8852 6.78041L18.5744 7.39525H15.8742L17.3513 4.24644C17.4795 3.96828 17.6737 3.72564 17.9171 3.53962C18.1605 3.35361 18.4456 3.22985 18.7476 3.1791C19.0489 3.12408 19.3591 3.14355 19.6511 3.2358C19.9432 3.32805 20.2083 3.4903 20.4233 3.70841C20.6412 3.92362 20.8034 4.18877 20.8956 4.48086C20.9878 4.77294 21.0074 5.08313 20.9526 5.38448Z" fill="#DEDEDE"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_64_190">
|
||||
<rect width="28" height="28" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.1 KiB |
@@ -1,12 +0,0 @@
|
||||
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Frame" clip-path="url(#clip0_144_244)">
|
||||
<g id="Frame_2">
|
||||
<path id="Vector" d="M14.8728 16.9952V25.7225C14.8728 25.8371 14.8953 25.9506 14.9392 26.0565C14.9831 26.1624 15.0473 26.2586 15.1284 26.3396C15.2094 26.4207 15.3056 26.485 15.4115 26.5288C15.5174 26.5727 15.6309 26.5952 15.7455 26.5952H21.8546C22.3175 26.5952 22.7615 26.4114 23.0888 26.084C23.4161 25.7567 23.6 25.3127 23.6 24.8498V16.9952C23.6 16.8806 23.5775 16.7672 23.5336 16.6613C23.4898 16.5554 23.4255 16.4592 23.3444 16.3781C23.2634 16.2971 23.1672 16.2328 23.0613 16.189C22.9554 16.1451 22.8419 16.1225 22.7273 16.1225H15.7455C15.6309 16.1225 15.5174 16.1451 15.4115 16.189C15.3056 16.2328 15.2094 16.2971 15.1284 16.3781C15.0473 16.4592 14.9831 16.5554 14.9392 16.6613C14.8953 16.7672 14.8728 16.8806 14.8728 16.9952ZM12.2546 16.1225H5.27277C5.15816 16.1225 5.04467 16.1451 4.93879 16.189C4.83291 16.2328 4.7367 16.2971 4.65566 16.3781C4.57462 16.4592 4.51033 16.5554 4.46647 16.6613C4.42262 16.7672 4.40004 16.8806 4.40004 16.9952V24.8498C4.40004 25.3127 4.58394 25.7567 4.91127 26.084C5.23861 26.4114 5.68257 26.5952 6.1455 26.5952H12.2546C12.3692 26.5952 12.4827 26.5727 12.5886 26.5288C12.6945 26.485 12.7907 26.4207 12.8717 26.3396C12.9527 26.2586 13.017 26.1624 13.0609 26.0565C13.1047 25.9506 13.1273 25.8371 13.1273 25.7225V16.9952C13.1273 16.8806 13.1047 16.7672 13.0609 16.6613C13.017 16.5554 12.9527 16.4592 12.8717 16.3781C12.7907 16.2971 12.6945 16.2328 12.5886 16.189C12.4827 16.1451 12.3692 16.1225 12.2546 16.1225ZM23.6 7.39525H21.8699C22.2828 6.90556 22.5594 6.31573 22.6719 5.68514C22.7728 5.10782 22.7333 4.5147 22.5567 3.95586C22.3801 3.39703 22.0717 2.88889 21.6574 2.47437C21.1026 1.92075 20.3847 1.55987 19.6095 1.44487C18.8342 1.32986 18.0425 1.4668 17.3509 1.83554C16.6265 2.21823 16.0728 2.86099 15.725 3.60281L14 7.28048L12.2607 3.57314C11.9714 2.95612 11.539 2.4063 10.9712 2.02972C9.44615 1.01823 7.5327 1.28397 6.34273 2.47437C5.92849 2.88893 5.62006 3.39707 5.44348 3.95589C5.2669 4.51472 5.22736 5.10782 5.32819 5.68514C5.44066 6.31573 5.71729 6.90556 6.13022 7.39525H4.40004C3.93712 7.39525 3.49315 7.57914 3.16582 7.90648C2.83848 8.23381 2.65459 8.67778 2.65459 9.1407V12.6316C2.65459 13.0945 2.83848 13.5385 3.16582 13.8658C3.49315 14.1932 3.93712 14.3771 4.40004 14.3771H12.2546C12.3692 14.3771 12.4827 14.3545 12.5886 14.3106C12.6945 14.2668 12.7907 14.2025 12.8717 14.1214C12.9527 14.0404 13.017 13.9442 13.0609 13.8383C13.1047 13.7324 13.1273 13.6189 13.1273 13.5043V10.0418C13.1273 9.60717 13.4245 9.20397 13.8534 9.13415C13.9787 9.11304 14.107 9.11947 14.2295 9.153C14.352 9.18652 14.4657 9.24634 14.5627 9.32829C14.6597 9.41024 14.7377 9.51234 14.7913 9.6275C14.8448 9.74266 14.8726 9.8681 14.8728 9.9951V13.5043C14.8728 13.6189 14.8953 13.7324 14.9392 13.8383C14.9831 13.9442 15.0473 14.0404 15.1284 14.1214C15.2094 14.2025 15.3056 14.2668 15.4115 14.3106C15.5174 14.3545 15.6309 14.3771 15.7455 14.3771H23.6C24.063 14.3771 24.5069 14.1932 24.8343 13.8658C25.1616 13.5385 25.3455 13.0945 25.3455 12.6316V9.1407C25.3455 8.67778 25.1616 8.23381 24.8343 7.90648C24.5069 7.57914 24.063 7.39525 23.6 7.39525ZM9.42564 7.39525L8.11481 6.78041C7.8367 6.65214 7.59408 6.45796 7.40801 6.2147C7.22194 5.97145 7.09803 5.68647 7.04702 5.38448C6.99235 5.08313 7.01198 4.77298 7.10421 4.48093C7.19645 4.18887 7.3585 3.92371 7.57633 3.70841C7.79135 3.49017 8.05648 3.32784 8.34863 3.23558C8.64077 3.14332 8.95105 3.12393 9.25241 3.1791C9.55437 3.22999 9.83936 3.35381 10.0826 3.53981C10.3259 3.72581 10.5201 3.96837 10.6483 4.24644L12.1254 7.39525H9.42564ZM20.9526 5.38448C20.9018 5.68647 20.778 5.97149 20.592 6.21477C20.406 6.45804 20.1634 6.65221 19.8853 6.78041L18.5744 7.39525H15.8742L17.3513 4.24644C17.4796 3.96828 17.6738 3.72564 17.9171 3.53962C18.1605 3.35361 18.4456 3.22985 18.7477 3.1791C19.049 3.12408 19.3591 3.14355 19.6512 3.2358C19.9432 3.32805 20.2083 3.4903 20.4233 3.70841C20.6413 3.92362 20.8034 4.18877 20.8957 4.48086C20.9879 4.77294 21.0074 5.08313 20.9526 5.38448Z" fill="#1797FF"/>
|
||||
</g>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_144_244">
|
||||
<rect width="28" height="28" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.1 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Frame" clip-path="url(#clip0_64_205)">
|
||||
<path id="Vector" d="M25.9103 12.7915C25.8163 12.2565 25.3128 11.7119 24.7905 11.5914L24.4001 11.4998C23.4826 11.2154 22.6686 10.5936 22.1511 9.67793C21.6335 8.75736 21.5111 7.71144 21.737 6.75244L21.8594 6.37645C22.0146 5.85592 21.8123 5.13783 21.403 4.78112C21.403 4.78112 21.036 4.46304 20.0009 3.85093C18.9658 3.24365 18.5188 3.07498 18.5188 3.07498C18.0153 2.88704 17.3096 3.06536 16.9426 3.4654L16.6697 3.76422C15.9734 4.43898 15.0371 4.84864 14.002 4.84864C12.967 4.84864 12.0213 4.43422 11.3249 3.7546L11.0614 3.46537C10.6991 3.06536 9.98869 2.8871 9.48519 3.07498C9.48519 3.07498 9.03354 3.24365 7.99842 3.8509C6.96331 4.46783 6.60105 4.78591 6.60105 4.78591C6.19176 5.13777 5.98942 5.85106 6.14469 6.37642L6.2577 6.75716C6.47882 7.71623 6.36116 8.75736 5.8436 9.67783C5.32604 10.5983 4.50291 11.2251 3.58084 11.5046L3.20445 11.5914C2.68689 11.7119 2.17872 12.2517 2.08465 12.7915C2.08465 12.7915 2 13.2734 2 14.4976C2 15.7218 2.08465 16.2038 2.08465 16.2038C2.17872 16.7436 2.68218 17.2834 3.20445 17.4039L3.57148 17.4906C4.49362 17.7702 5.32169 18.3968 5.83925 19.3221C6.35681 20.2427 6.47921 21.2886 6.25335 22.2476L6.14518 22.6187C5.98994 23.1393 6.19228 23.8574 6.60151 24.2141C6.60151 24.2141 6.96854 24.5322 8.00362 25.1443C9.03871 25.7564 9.48568 25.9202 9.48568 25.9202C9.98914 26.1081 10.6948 25.9298 11.0618 25.5298L11.3206 25.2454C12.0216 24.5658 12.9626 24.1514 14.0024 24.1514C15.0423 24.1514 15.9879 24.5706 16.6843 25.2502L16.943 25.5346C17.3053 25.9346 18.0157 26.113 18.5192 25.925C18.5192 25.925 18.9708 25.7563 20.006 25.1491C21.0411 24.5369 21.4033 24.2189 21.4033 24.2189C21.8126 23.867 22.015 23.1489 21.8597 22.6235L21.7467 22.2379C21.5255 21.2837 21.6432 20.2426 22.1608 19.3268C22.6783 18.4062 23.5063 17.7749 24.4285 17.4954L24.7955 17.4086C25.3131 17.2881 25.8213 16.7483 25.9153 16.2085C25.9153 16.2085 26 15.7266 26 14.5024C25.9951 13.2733 25.9104 12.7913 25.9104 12.7913L25.9103 12.7915ZM14.0023 19.3992C11.3629 19.3992 9.21743 17.2063 9.21743 14.4976C9.21743 11.7938 11.3581 9.6008 14.0023 9.6008C16.6418 9.6008 18.7872 11.7937 18.7872 14.5024C18.7824 17.2063 16.6417 19.3992 14.0023 19.3992Z" fill="#DEDEDE"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_64_205">
|
||||
<rect width="28" height="28" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Frame" clip-path="url(#clip0_144_284)">
|
||||
<path id="Vector" d="M25.9103 12.7915C25.8163 12.2565 25.3128 11.7119 24.7905 11.5914L24.4001 11.4998C23.4826 11.2154 22.6686 10.5936 22.1511 9.67793C21.6335 8.75736 21.5111 7.71144 21.737 6.75244L21.8594 6.37645C22.0146 5.85592 21.8123 5.13783 21.403 4.78112C21.403 4.78112 21.036 4.46304 20.0009 3.85093C18.9658 3.24365 18.5188 3.07498 18.5188 3.07498C18.0153 2.88704 17.3096 3.06536 16.9426 3.4654L16.6697 3.76422C15.9734 4.43898 15.0371 4.84864 14.002 4.84864C12.967 4.84864 12.0213 4.43422 11.3249 3.7546L11.0614 3.46537C10.6991 3.06536 9.98869 2.8871 9.48519 3.07498C9.48519 3.07498 9.03354 3.24365 7.99842 3.8509C6.96331 4.46783 6.60105 4.78591 6.60105 4.78591C6.19176 5.13777 5.98942 5.85106 6.14469 6.37642L6.2577 6.75716C6.47882 7.71623 6.36116 8.75736 5.8436 9.67783C5.32604 10.5983 4.50291 11.2251 3.58084 11.5046L3.20445 11.5914C2.68689 11.7119 2.17872 12.2517 2.08465 12.7915C2.08465 12.7915 2 13.2734 2 14.4976C2 15.7218 2.08465 16.2038 2.08465 16.2038C2.17872 16.7436 2.68218 17.2834 3.20445 17.4039L3.57148 17.4906C4.49362 17.7702 5.32169 18.3968 5.83925 19.3221C6.35681 20.2427 6.47921 21.2886 6.25335 22.2476L6.14518 22.6187C5.98994 23.1393 6.19228 23.8574 6.60151 24.2141C6.60151 24.2141 6.96854 24.5322 8.00362 25.1443C9.03871 25.7564 9.48568 25.9202 9.48568 25.9202C9.98914 26.1081 10.6948 25.9298 11.0618 25.5298L11.3206 25.2454C12.0216 24.5658 12.9626 24.1514 14.0024 24.1514C15.0423 24.1514 15.9879 24.5706 16.6843 25.2502L16.943 25.5346C17.3053 25.9346 18.0157 26.113 18.5192 25.925C18.5192 25.925 18.9708 25.7563 20.006 25.1491C21.0411 24.5369 21.4033 24.2189 21.4033 24.2189C21.8126 23.867 22.015 23.1489 21.8597 22.6235L21.7467 22.2379C21.5255 21.2837 21.6432 20.2426 22.1608 19.3268C22.6783 18.4062 23.5063 17.7749 24.4285 17.4954L24.7955 17.4086C25.3131 17.2881 25.8213 16.7483 25.9153 16.2085C25.9153 16.2085 26 15.7266 26 14.5024C25.9951 13.2733 25.9104 12.7913 25.9104 12.7913L25.9103 12.7915ZM14.0023 19.3992C11.3629 19.3992 9.21743 17.2063 9.21743 14.4976C9.21743 11.7938 11.3581 9.6008 14.0023 9.6008C16.6418 9.6008 18.7872 11.7937 18.7872 14.5024C18.7824 17.2063 16.6417 19.3992 14.0023 19.3992Z" fill="#1797FF"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_144_284">
|
||||
<rect width="28" height="28" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.4 KiB |
@@ -1,11 +0,0 @@
|
||||
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Frame" clip-path="url(#clip0_64_203)">
|
||||
<path id="Vector" d="M22.4125 14.9461C23.3523 14.9461 24.1271 15.7118 23.9826 16.6408C23.583 19.208 22.2927 21.5527 20.3378 23.2635C18.3829 24.9744 15.8883 25.9423 13.2914 25.9975C10.6944 26.0527 8.16092 25.1917 6.13514 23.5655C4.10935 21.9392 2.72058 19.6515 2.21235 17.1036C1.92144 15.6403 1.92951 14.1334 2.23606 12.6733C2.54261 11.2133 3.14131 9.8304 3.99614 8.60786C4.85096 7.38531 5.94423 6.34839 7.21015 5.5595C8.47608 4.77062 9.88848 4.24607 11.3624 4.01743C12.2903 3.8728 13.0566 4.64868 13.0566 5.5879V13.2446C13.0566 13.6959 13.2359 14.1286 13.5549 14.4477C13.8739 14.7668 14.3065 14.9461 14.7577 14.9461H22.4125Z" fill="#DEDEDE"/>
|
||||
<path id="Vector_2" d="M24.4043 13C25.349 13 26.1278 12.2306 25.9825 11.297C25.6206 8.96568 24.5264 6.80997 22.8582 5.14175C21.19 3.47354 19.0343 2.37935 16.703 2.01751C15.7703 1.87218 15 2.65188 15 3.59572V11.2901C15 11.7436 15.1801 12.1785 15.5008 12.4992C15.8215 12.8199 16.2564 13 16.7099 13H24.4043Z" fill="#DEDEDE"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_64_203">
|
||||
<rect width="28" height="28" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.2 KiB |
@@ -1,12 +0,0 @@
|
||||
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Frame" clip-path="url(#clip0_144_265)">
|
||||
<path id="Vector" opacity="0.01" d="M2 2H26V26H2V2Z" fill="#1797FF"/>
|
||||
<path id="Vector_2" d="M22.4125 14.9461C23.3523 14.9461 24.1271 15.7118 23.9826 16.6408C23.583 19.208 22.2927 21.5527 20.3378 23.2635C18.3829 24.9744 15.8883 25.9423 13.2914 25.9975C10.6944 26.0527 8.16092 25.1917 6.13514 23.5655C4.10935 21.9392 2.72058 19.6515 2.21235 17.1036C1.92144 15.6403 1.92951 14.1334 2.23606 12.6733C2.54261 11.2133 3.14131 9.8304 3.99614 8.60786C4.85096 7.38531 5.94423 6.34839 7.21015 5.5595C8.47608 4.77062 9.88848 4.24607 11.3624 4.01743C12.2903 3.8728 13.0566 4.64868 13.0566 5.5879V13.2446C13.0566 13.6959 13.2359 14.1286 13.5549 14.4477C13.8739 14.7668 14.3065 14.9461 14.7577 14.9461H22.4125Z" fill="#1797FF"/>
|
||||
<path id="Vector_3" d="M24.4043 13C25.349 13 26.1278 12.2306 25.9825 11.297C25.6206 8.96568 24.5264 6.80997 22.8582 5.14175C21.19 3.47354 19.0343 2.37935 16.703 2.01751C15.7703 1.87218 15 2.65188 15 3.59572V11.2901C15 11.7436 15.1801 12.1785 15.5008 12.4992C15.8215 12.8199 16.2564 13 16.7099 13H24.4043Z" fill="#1797FF"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_144_265">
|
||||
<rect width="28" height="28" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 835 B |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 103 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 279 B |
|
Before Width: | Height: | Size: 103 B |
|
Before Width: | Height: | Size: 103 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 759 B |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 103 B |
|
Before Width: | Height: | Size: 103 B |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 103 B |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |