Commit 2d3238d5 by haojie

Initial commit

parents
root = true
[*]
indent_style = space
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false
[*.{ts,js,vue,css}]
indent_size = 2
VITE_BASE_API='http://snow.test'
VITE_BASE_API=''
\ No newline at end of file
snapshot*
dist
lib
es
esm
node_modules
src/_common
static
cypress
script/test/cypress
_site
temp*
static/
!.prettierrc.js
\ No newline at end of file
{
"extends": [
"plugin:@typescript-eslint/recommended",
"eslint-config-airbnb-base",
"plugin:vue/vue3-recommended",
"plugin:prettier/recommended"
],
"env": {
"browser": true,
"node": true,
"jest": true,
"es6": true
},
"globals": {
"defineProps": "readonly",
"defineEmits": "readonly"
},
"plugins": [
"vue",
"@typescript-eslint"
],
"parserOptions": {
"parser": "@typescript-eslint/parser",
"sourceType": "module",
"allowImportExportEverywhere": true,
"ecmaFeatures": {
"jsx": true
}
},
"settings": {
"import/extensions": [
".js",
".jsx",
".ts",
".tsx"
]
},
"rules": {
"no-console": "off",
"no-continue": "off",
"no-restricted-syntax": "off",
"no-plusplus": "off",
"no-param-reassign": "off",
"no-shadow": "off",
"guard-for-in": "off",
"import/extensions": "off",
"import/no-unresolved": "off",
"import/no-extraneous-dependencies": "off",
"import/prefer-default-export": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"vue/first-attribute-linebreak": 0
},
"overrides": [
{
"files": ["*.vue"],
"rules": {
"vue/component-name-in-template-casing": [2, "kebab-case"],
"vue/require-default-prop": 0,
"vue/multi-word-component-names": 0,
"vue/no-reserved-props": 0,
"vue/no-v-html": 0,
}
}
]
}
\ No newline at end of file
node_modules
.DS_Store
# build files
es/
lib/
dist/
typings/
_site
package
tmp*
temp*
coverage
test-report.html
.idea/
yarn-error.log
*.zip
.history
.stylelintcache
yarn.lock
package-lock.json
pnpm-lock.yaml
engine-strict=true
\ No newline at end of file
module.exports = {
// 一行最多 120 字符..
printWidth: 120,
// 使用 2 个空格缩进
tabWidth: 2,
// 不使用缩进符,而使用空格
useTabs: false,
// 行尾需要有分号
semi: true,
// 使用单引号
singleQuote: true,
// 对象的 key 仅在必要时用引号
quoteProps: 'as-needed',
// jsx 不使用单引号,而使用双引号
jsxSingleQuote: false,
// 末尾需要有逗号
trailingComma: 'all',
// 大括号内的首尾需要空格
bracketSpacing: true,
// jsx 标签的反尖括号需要换行
jsxBracketSameLine: false,
// 箭头函数,只有一个参数的时候,也需要括号
arrowParens: 'always',
// 每个文件格式化的范围是文件的全部内容
rangeStart: 0,
rangeEnd: Infinity,
// 不需要写文件开头的 @prettier
requirePragma: false,
// 不需要自动在文件开头插入 @prettier
insertPragma: false,
// 使用默认的折行标准
proseWrap: 'preserve',
// 根据显示样式决定 html 要不要折行
htmlWhitespaceSensitivity: 'css',
// vue 文件中的 script 和 style 内不用缩进
vueIndentScriptAndStyle: false,
// 换行符使用 lf
endOfLine: 'lf',
};
# .stylelintignore
# 旧的不需打包的样式库
*.min.css
# 其他类型文件
*.js
*.jpg
*.woff
{
"recommendations": ["dbaeumer.vscode-eslint"]
}
{
"eslint.format.enable": true,
"eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact", "vue"],
"[less]": {
"editor.formatOnSave": true
// "editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[vue]": {
"editor.formatOnSave": true
// "editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[typescriptreact]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascriptreact]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[typescript]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"liveServer.settings.port": 5501
}
MIT License
Copyright (c) 2021 TDesign
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
dexnav
\ No newline at end of file
dexnav
\ No newline at end of file
// commit-lint config
module.exports = { extends: ['@commitlint/config-conventional'] };
// 通用声明
declare type ClassName = { [className: string]: any } | ClassName[] | string;
declare interface ImportMeta {
env: {
MODE: 'mock' | 'development' | 'test' | 'release';
};
// eslint-disable-next-line no-unused-vars
glob: (url: string) => { url };
}
declare module '*.vue' {
import { defineComponent } from 'vue';
const Component: ReturnType<typeof defineComponent>;
export default Component;
}
declare module '*.svg' {
const CONTENT: string;
export default CONTENT;
}
declare module '*.png';
declare module '*.jpg';
declare module '*.jpeg';
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge, chrome = 1" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<meta property="og:title" content="" />
<script src="/qwebchannel.js"></script>
<title>demo</title>
</head>
<body>
<div id="app"></div>
<script>
window.onload = () => {
try {
new QWebChannel(qt.webChannelTransport, function (channel) {
window.pyjs = channel.objects.live_stream; //把对象赋值到JS中
});
} catch (e) {
console.log(e);
}
};
</script>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
declare interface Window {
py_event: any;
}
server {
listen 80;
#listen 443 ssl;
server_name www.shopdora.cn;
charset utf-8;
client_max_body_size 100M;
access_log www.shopdora.cn.access.log;
location / {
root /root/static/html/shopdora/dist/;
index index.html;
try_files $uri $uri/ /index.html;
expires 0;
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
location ^~ /assets/ {
alias /root/static/html/shopdora/dist/assets/;
expires 90d;
}
location /api {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:10000/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Cookie $http_cookie;
proxy_set_header Host $http_host;
}
location ~ /\.ht {
deny all;
}
location ~ ^(.*)/.svn/{
deny all;
}
}
\ No newline at end of file
server {
listen 80;
# listen 443 ssl;
# server_name www.shopdora.cn shopdora.cn;
charset utf-8;
client_max_body_size 100M;
access_log www.shopdora.cn.access.log;
location / {
root /root/static/shopdora/dist/;
index index.html;
try_files $uri $uri/ /index.html;
expires 0;
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
location ^~ /assets/ {
alias /root/static/shopdora/dist/assets/;
expires 90d;
}
location /api {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:10008/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Cookie $http_cookie;
proxy_set_header Host $http_host;
}
location ~ /\.ht {
deny all;
}
location ~ ^(.*)/.svn/{
deny all;
}
}
\ No newline at end of file
{
"name": "mxcus",
"version": "0.1.0",
"scripts": {
"dev:mock": "vite --open --mode mock",
"dev": "vite --open --mode development",
"build:test": "vite build --mode test",
"build": "vue-tsc --noEmit && vite build --mode release",
"build2": "vite build --mode release",
"preview": "vite preview",
"lint": "eslint --ext .vue,.js,.jsx,.ts,.tsx ./ --max-warnings 0",
"lint:fix": "eslint --ext .vue,.js,jsx,.ts,.tsx ./ --max-warnings 0 --fix",
"stylelint": "stylelint src/**/*.{html,vue,sass,less}",
"stylelint:fix": "stylelint --fix src/**/*.{html,vue,vss,sass,less}",
"prepare": "husky install",
"site:preview": "npm run build && cp -r dist _site",
"test": "echo \"no test specified,work in process\""
},
"dependencies": {
"dayjs": "^1.10.6",
"default-passive-events": "^2.0.0",
"js-cookie": "^3.0.1",
"tdesign-icons-vue-next": "^0.0.6",
"tdesign-vue-next": "^0.22.1",
"vue": "^3.2.31",
"vue-i18n": "^9.2.0-beta.34",
"vue-router": "^4.0.11",
"vue3-clipboard": "^1.0.0",
"vuex": "^4.0.2"
},
"devDependencies": {
"@commitlint/cli": "^15.0.0",
"@commitlint/config-conventional": "^15.0.0",
"@types/echarts": "^4.9.10",
"@types/js-cookie": "^3.0.3",
"@types/ws": "^8.2.2",
"@typescript-eslint/eslint-plugin": "^4.29.3",
"@typescript-eslint/parser": "^4.29.3",
"@vitejs/plugin-legacy": "^4.1.0",
"@vitejs/plugin-vue": "^1.3.0",
"@vitejs/plugin-vue-jsx": "^1.1.7",
"@vue/compiler-sfc": "^3.0.5",
"axios": "^0.24.0",
"commitizen": "^4.2.4",
"compressorjs": "^1.0.7",
"cz-conventional-changelog": "^3.3.0",
"eslint": "^7.32.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.24.2",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-vue": "^7.16.0",
"http-proxy-agent": "^5.0.0",
"husky": "^7.0.4",
"less": "^4.1.1",
"lint-staged": "^12.1.2",
"mockjs": "^1.1.0",
"prettier": "^2.4.1",
"rollup-plugin-visualizer": "^5.9.0",
"typescript": "^4.4.3",
"vite": "^4.0.0",
"vite-plugin-cdn-import": "^0.3.5",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-html": "^3.2.0",
"vite-plugin-mock": "^2.9.6",
"vite-svg-loader": "^3.1.0",
"vue-clipboard3": "^1.0.1",
"vue-tsc": "^0.29.8"
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
},
"lint-staged": {
"*.{js,jsx,vue,ts,tsx}": [
"prettier --write",
"npm run lint:fix",
"git add ."
],
"*.{html,vue,vss,sass,less}": [
"npm run stylelint:fix",
"git add ."
]
}
}
<svg width="23" height="26" viewBox="0 0 23 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.5919 0.5C11.9687 0.5 12.2741 0.800513 12.2741 1.17121V5.57183L14.6679 3.2164C14.9342 2.95427 15.3662 2.95427 15.6325 3.2164C15.8989 3.47853 15.8989 3.90352 15.6325 4.16564L12.2741 7.47031V11.8362L16.1225 9.64986L17.3502 5.14146C17.4477 4.78339 17.8218 4.5709 18.1857 4.66684C18.5496 4.76279 18.7655 5.13084 18.668 5.48891L17.7934 8.70062L21.6627 6.50246C21.989 6.31711 22.4062 6.4271 22.5946 6.74814C22.7829 7.06918 22.6711 7.47969 22.3449 7.66504L18.4718 9.86535L21.7417 10.7275C22.1056 10.8234 22.3216 11.1915 22.2241 11.5496C22.1266 11.9076 21.7525 12.1201 21.3886 12.0242L16.8009 10.8146L12.9584 12.9975L16.8069 15.1838L21.3886 13.9758C21.7525 13.8799 22.1266 14.0924 22.2241 14.4504C22.3216 14.8085 22.1056 15.1766 21.7417 15.2725L18.4778 16.1331L22.3471 18.3312C22.6733 18.5166 22.7851 18.9271 22.5967 19.2481C22.4084 19.5692 21.9912 19.6792 21.6649 19.4938L17.7918 17.2935L18.668 20.5111C18.7655 20.8692 18.5496 21.2372 18.1857 21.3332C17.8218 21.4291 17.4477 21.2166 17.3502 20.8585L16.1209 16.3443L12.2741 14.1589V18.5407L15.6325 21.8454C15.8989 22.1075 15.8989 22.5325 15.6325 22.7946C15.3662 23.0567 14.9342 23.0567 14.6679 22.7946L12.2741 20.4392V24.8288C12.2741 25.1995 11.9687 25.5 11.5919 25.5C11.2152 25.5 10.9098 25.1995 10.9098 24.8288V20.4435L8.52039 22.7946C8.254 23.0567 7.82209 23.0567 7.5557 22.7946C7.28931 22.5325 7.28931 22.1075 7.5557 21.8454L10.9098 18.545V14.1613L7.05762 16.3498L5.82833 20.864C5.73083 21.2221 5.35678 21.4346 4.99288 21.3387C4.62899 21.2427 4.41303 20.8747 4.51054 20.5166L5.38672 17.299L1.52332 19.4938C1.19706 19.6792 0.779871 19.5692 0.591504 19.2481C0.403136 18.9271 0.514921 18.5166 0.841184 18.3312L4.7008 16.1386L1.43681 15.278C1.07291 15.1821 0.856957 14.814 0.954464 14.4559C1.05197 14.0979 1.42601 13.8854 1.78991 13.9813L6.3717 15.1893L10.2298 12.9975L6.37765 10.8091L1.78991 12.0187C1.42601 12.1146 1.05197 11.9021 0.95446 11.5441C0.856953 11.186 1.07291 10.8179 1.43681 10.722L4.70676 9.85984L0.843363 7.66504C0.517099 7.47969 0.405314 7.06918 0.593682 6.74814C0.78205 6.4271 1.19924 6.31711 1.5255 6.50246L5.38512 8.69512L4.51054 5.4834C4.41303 5.12533 4.62898 4.75728 4.99288 4.66134C5.35678 4.56539 5.73083 4.77789 5.82833 5.13596L7.05602 9.64436L10.9098 11.8337V7.46602L7.5557 4.16564C7.28931 3.90352 7.28931 3.47853 7.5557 3.2164C7.82209 2.95427 8.254 2.95427 8.52039 3.2164L10.9098 5.56754V1.17121C10.9098 0.800513 11.2152 0.5 11.5919 0.5Z" fill="#2962FF"/>
</svg>
\ No newline at end of file
'use strict';
var QWebChannelMessageTypes = {
signal: 1,
propertyUpdate: 2,
init: 3,
idle: 4,
debug: 5,
invokeMethod: 6,
connectToSignal: 7,
disconnectFromSignal: 8,
setProperty: 9,
response: 10,
};
let QWebChannel = function (transport, initCallback) {
if (typeof transport !== 'object' || typeof transport.send !== 'function') {
console.error(
'The QWebChannel expects a transport object with a send function and onmessage callback property.' +
' Given is: transport: ' +
typeof transport +
', transport.send: ' +
typeof transport.send,
);
return;
}
let channel = this;
this.transport = transport;
this.send = function (data) {
if (typeof data !== 'string') {
data = JSON.stringify(data);
}
channel.transport.send(data);
};
this.transport.onmessage = function (message) {
var data = message.data;
if (typeof data === 'string') {
data = JSON.parse(data);
}
switch (data.type) {
case QWebChannelMessageTypes.signal:
channel.handleSignal(data);
break;
case QWebChannelMessageTypes.response:
channel.handleResponse(data);
break;
case QWebChannelMessageTypes.propertyUpdate:
channel.handlePropertyUpdate(data);
break;
default:
console.error('invalid message received:', message.data);
break;
}
};
this.execCallbacks = {};
this.execId = 0;
this.exec = function (data, callback) {
if (!callback) {
// if no callback is given, send directly
channel.send(data);
return;
}
if (channel.execId === Number.MAX_VALUE) {
// wrap
channel.execId = Number.MIN_VALUE;
}
if (data.hasOwnProperty('id')) {
console.error('Cannot exec message with property id: ' + JSON.stringify(data));
return;
}
data.id = channel.execId++;
channel.execCallbacks[data.id] = callback;
channel.send(data);
};
this.objects = {};
this.handleSignal = function (message) {
var object = channel.objects[message.object];
if (object) {
object.signalEmitted(message.signal, message.args);
} else {
console.warn('Unhandled signal: ' + message.object + '::' + message.signal);
}
};
this.handleResponse = function (message) {
if (!message.hasOwnProperty('id')) {
console.error('Invalid response message received: ', JSON.stringify(message));
return;
}
channel.execCallbacks[message.id](message.data);
delete channel.execCallbacks[message.id];
};
this.handlePropertyUpdate = function (message) {
for (var i in message.data) {
var data = message.data[i];
var object = channel.objects[data.object];
if (object) {
object.propertyUpdate(data.signals, data.properties);
} else {
console.warn('Unhandled property update: ' + data.object + '::' + data.signal);
}
}
channel.exec({ type: QWebChannelMessageTypes.idle });
};
this.debug = function (message) {
channel.send({ type: QWebChannelMessageTypes.debug, data: message });
};
channel.exec({ type: QWebChannelMessageTypes.init }, function (data) {
for (let objectName in data) {
var object = new QObject(objectName, data[objectName], channel);
}
// now unwrap properties, which might reference other registered objects
for (let objectName in channel.objects) {
channel.objects[objectName].unwrapProperties();
}
if (initCallback) {
initCallback(channel);
}
channel.exec({ type: QWebChannelMessageTypes.idle });
});
};
function QObject(name, data, webChannel) {
this.__id__ = name;
webChannel.objects[name] = this;
// List of callbacks that get invoked upon signal emission
this.__objectSignals__ = {};
// Cache of all properties, updated when a notify signal is emitted
this.__propertyCache__ = {};
var object = this;
// ----------------------------------------------------------------------
this.unwrapQObject = function (response) {
if (response instanceof Array) {
// support list of objects
var ret = new Array(response.length);
for (var i = 0; i < response.length; ++i) {
ret[i] = object.unwrapQObject(response[i]);
}
return ret;
}
if (!response || !response['__QObject*__'] || Response.id === undefined) {
return response;
}
var objectId = Response.id;
if (webChannel.objects[objectId]) return webChannel.objects[objectId];
if (!response.data) {
console.error('Cannot unwrap unknown QObject ' + objectId + ' without data.');
return;
}
var qObject = new QObject(objectId, response.data, webChannel);
qObject.destroyed.connect(function () {
if (webChannel.objects[objectId] === qObject) {
delete webChannel.objects[objectId];
// reset the now deleted QObject to an empty {} object
// just assigning {} though would not have the desired effect, but the
// below also ensures all external references will see the empty map
// NOTE: this detour is necessary to workaround QTBUG-40021
var propertyNames = [];
for (var propertyName in qObject) {
propertyNames.push(propertyName);
}
for (var idx in propertyNames) {
delete qObject[propertyNames[idx]];
}
}
});
// here we are already initialized, and thus must directly unwrap the properties
qObject.unwrapProperties();
return qObject;
};
this.unwrapProperties = function () {
for (var propertyIdx in object.__propertyCache__) {
object.__propertyCache__[propertyIdx] = object.unwrapQObject(object.__propertyCache__[propertyIdx]);
}
};
function addSignal(signalData, isPropertyNotifySignal) {
var signalName = signalData[0];
var signalIndex = signalData[1];
object[signalName] = {
connect: function (callback) {
if (typeof callback !== 'function') {
console.error('Bad callback given to connect to signal ' + signalName);
return;
}
object.__objectSignals__[signalIndex] = object.__objectSignals__[signalIndex] || [];
object.__objectSignals__[signalIndex].push(callback);
if (!isPropertyNotifySignal && signalName !== 'destroyed') {
// only required for "pure" signals, handled separately for properties in propertyUpdate
// also note that we always get notified about the destroyed signal
webChannel.exec({
type: QWebChannelMessageTypes.connectToSignal,
object: object.__id__,
signal: signalIndex,
});
}
},
disconnect: function (callback) {
if (typeof callback !== 'function') {
console.error('Bad callback given to disconnect from signal ' + signalName);
return;
}
object.__objectSignals__[signalIndex] = object.__objectSignals__[signalIndex] || [];
var idx = object.__objectSignals__[signalIndex].indexOf(callback);
if (idx === -1) {
console.error('Cannot find connection of signal ' + signalName + ' to ' + callback.name);
return;
}
object.__objectSignals__[signalIndex].splice(idx, 1);
if (!isPropertyNotifySignal && object.__objectSignals__[signalIndex].length === 0) {
// only required for "pure" signals, handled separately for properties in propertyUpdate
webChannel.exec({
type: QWebChannelMessageTypes.disconnectFromSignal,
object: object.__id__,
signal: signalIndex,
});
}
},
};
}
/**
* Invokes all callbacks for the given signalname. Also works for property notify callbacks.
*/
function invokeSignalCallbacks(signalName, signalArgs) {
var connections = object.__objectSignals__[signalName];
if (connections) {
connections.forEach(function (callback) {
callback.apply(callback, signalArgs);
});
}
}
this.propertyUpdate = function (signals, propertyMap) {
// update property cache
for (var propertyIndex in propertyMap) {
var propertyValue = propertyMap[propertyIndex];
object.__propertyCache__[propertyIndex] = propertyValue;
}
for (var signalName in signals) {
// Invoke all callbacks, as signalEmitted() does not. This ensures the
// property cache is updated before the callbacks are invoked.
invokeSignalCallbacks(signalName, signals[signalName]);
}
};
this.signalEmitted = function (signalName, signalArgs) {
invokeSignalCallbacks(signalName, signalArgs);
};
function addMethod(methodData) {
var methodName = methodData[0];
var methodIdx = methodData[1];
object[methodName] = function () {
var args = [];
var callback;
for (var i = 0; i < arguments.length; ++i) {
if (typeof arguments[i] === 'function') callback = arguments[i];
else args.push(arguments[i]);
}
webChannel.exec(
{
type: QWebChannelMessageTypes.invokeMethod,
object: object.__id__,
method: methodIdx,
args: args,
},
function (response) {
if (response !== undefined) {
var result = object.unwrapQObject(response);
if (callback) {
callback(result);
}
}
},
);
};
}
function bindGetterSetter(propertyInfo) {
var propertyIndex = propertyInfo[0];
var propertyName = propertyInfo[1];
var notifySignalData = propertyInfo[2];
// initialize property cache with current value
// NOTE: if this is an object, it is not directly unwrapped as it might
// reference other QObject that we do not know yet
object.__propertyCache__[propertyIndex] = propertyInfo[3];
if (notifySignalData) {
if (notifySignalData[0] === 1) {
// signal name is optimized away, reconstruct the actual name
notifySignalData[0] = propertyName + 'Changed';
}
addSignal(notifySignalData, true);
}
Object.defineProperty(object, propertyName, {
configurable: true,
get: function () {
var propertyValue = object.__propertyCache__[propertyIndex];
if (propertyValue === undefined) {
// This shouldn't happen
console.warn(
'Undefined value in property cache for property "' + propertyName + '" in object ' + object.__id__,
);
}
return propertyValue;
},
set: function (value) {
if (value === undefined) {
console.warn('Property setter for ' + propertyName + ' called with undefined value!');
return;
}
object.__propertyCache__[propertyIndex] = value;
webChannel.exec({
type: QWebChannelMessageTypes.setProperty,
object: object.__id__,
property: propertyIndex,
value: value,
});
},
});
}
// ----------------------------------------------------------------------
data.methods.forEach(addMethod);
data.properties.forEach(bindGetterSetter);
data.signals.forEach(function (signal) {
addSignal(signal, false);
});
for (var name in data.enums) {
object[name] = data.enums[name];
}
}
//required for use with nodejs
if (typeof module === 'object') {
module.exports = {
QWebChannel: QWebChannel,
};
}
<svg width="23" height="26" viewBox="0 0 23 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.5919 0.5C11.9687 0.5 12.2741 0.800513 12.2741 1.17121V5.57183L14.6679 3.2164C14.9342 2.95427 15.3662 2.95427 15.6325 3.2164C15.8989 3.47853 15.8989 3.90352 15.6325 4.16564L12.2741 7.47031V11.8362L16.1225 9.64986L17.3502 5.14146C17.4477 4.78339 17.8218 4.5709 18.1857 4.66684C18.5496 4.76279 18.7655 5.13084 18.668 5.48891L17.7934 8.70062L21.6627 6.50246C21.989 6.31711 22.4062 6.4271 22.5946 6.74814C22.7829 7.06918 22.6711 7.47969 22.3449 7.66504L18.4718 9.86535L21.7417 10.7275C22.1056 10.8234 22.3216 11.1915 22.2241 11.5496C22.1266 11.9076 21.7525 12.1201 21.3886 12.0242L16.8009 10.8146L12.9584 12.9975L16.8069 15.1838L21.3886 13.9758C21.7525 13.8799 22.1266 14.0924 22.2241 14.4504C22.3216 14.8085 22.1056 15.1766 21.7417 15.2725L18.4778 16.1331L22.3471 18.3312C22.6733 18.5166 22.7851 18.9271 22.5967 19.2481C22.4084 19.5692 21.9912 19.6792 21.6649 19.4938L17.7918 17.2935L18.668 20.5111C18.7655 20.8692 18.5496 21.2372 18.1857 21.3332C17.8218 21.4291 17.4477 21.2166 17.3502 20.8585L16.1209 16.3443L12.2741 14.1589V18.5407L15.6325 21.8454C15.8989 22.1075 15.8989 22.5325 15.6325 22.7946C15.3662 23.0567 14.9342 23.0567 14.6679 22.7946L12.2741 20.4392V24.8288C12.2741 25.1995 11.9687 25.5 11.5919 25.5C11.2152 25.5 10.9098 25.1995 10.9098 24.8288V20.4435L8.52039 22.7946C8.254 23.0567 7.82209 23.0567 7.5557 22.7946C7.28931 22.5325 7.28931 22.1075 7.5557 21.8454L10.9098 18.545V14.1613L7.05762 16.3498L5.82833 20.864C5.73083 21.2221 5.35678 21.4346 4.99288 21.3387C4.62899 21.2427 4.41303 20.8747 4.51054 20.5166L5.38672 17.299L1.52332 19.4938C1.19706 19.6792 0.779871 19.5692 0.591504 19.2481C0.403136 18.9271 0.514921 18.5166 0.841184 18.3312L4.7008 16.1386L1.43681 15.278C1.07291 15.1821 0.856957 14.814 0.954464 14.4559C1.05197 14.0979 1.42601 13.8854 1.78991 13.9813L6.3717 15.1893L10.2298 12.9975L6.37765 10.8091L1.78991 12.0187C1.42601 12.1146 1.05197 11.9021 0.95446 11.5441C0.856953 11.186 1.07291 10.8179 1.43681 10.722L4.70676 9.85984L0.843363 7.66504C0.517099 7.47969 0.405314 7.06918 0.593682 6.74814C0.78205 6.4271 1.19924 6.31711 1.5255 6.50246L5.38512 8.69512L4.51054 5.4834C4.41303 5.12533 4.62898 4.75728 4.99288 4.66134C5.35678 4.56539 5.73083 4.77789 5.82833 5.13596L7.05602 9.64436L10.9098 11.8337V7.46602L7.5557 4.16564C7.28931 3.90352 7.28931 3.47853 7.5557 3.2164C7.82209 2.95427 8.254 2.95427 8.52039 3.2164L10.9098 5.56754V1.17121C10.9098 0.800513 11.2152 0.5 11.5919 0.5Z" fill="#2962FF"/>
</svg>
\ No newline at end of file
'use strict';
var QWebChannelMessageTypes = {
signal: 1,
propertyUpdate: 2,
init: 3,
idle: 4,
debug: 5,
invokeMethod: 6,
connectToSignal: 7,
disconnectFromSignal: 8,
setProperty: 9,
response: 10,
};
let QWebChannel = function (transport, initCallback) {
if (typeof transport !== 'object' || typeof transport.send !== 'function') {
console.error(
'The QWebChannel expects a transport object with a send function and onmessage callback property.' +
' Given is: transport: ' +
typeof transport +
', transport.send: ' +
typeof transport.send,
);
return;
}
let channel = this;
this.transport = transport;
this.send = function (data) {
if (typeof data !== 'string') {
data = JSON.stringify(data);
}
channel.transport.send(data);
};
this.transport.onmessage = function (message) {
var data = message.data;
if (typeof data === 'string') {
data = JSON.parse(data);
}
switch (data.type) {
case QWebChannelMessageTypes.signal:
channel.handleSignal(data);
break;
case QWebChannelMessageTypes.response:
channel.handleResponse(data);
break;
case QWebChannelMessageTypes.propertyUpdate:
channel.handlePropertyUpdate(data);
break;
default:
console.error('invalid message received:', message.data);
break;
}
};
this.execCallbacks = {};
this.execId = 0;
this.exec = function (data, callback) {
if (!callback) {
// if no callback is given, send directly
channel.send(data);
return;
}
if (channel.execId === Number.MAX_VALUE) {
// wrap
channel.execId = Number.MIN_VALUE;
}
if (data.hasOwnProperty('id')) {
console.error('Cannot exec message with property id: ' + JSON.stringify(data));
return;
}
data.id = channel.execId++;
channel.execCallbacks[data.id] = callback;
channel.send(data);
};
this.objects = {};
this.handleSignal = function (message) {
var object = channel.objects[message.object];
if (object) {
object.signalEmitted(message.signal, message.args);
} else {
console.warn('Unhandled signal: ' + message.object + '::' + message.signal);
}
};
this.handleResponse = function (message) {
if (!message.hasOwnProperty('id')) {
console.error('Invalid response message received: ', JSON.stringify(message));
return;
}
channel.execCallbacks[message.id](message.data);
delete channel.execCallbacks[message.id];
};
this.handlePropertyUpdate = function (message) {
for (var i in message.data) {
var data = message.data[i];
var object = channel.objects[data.object];
if (object) {
object.propertyUpdate(data.signals, data.properties);
} else {
console.warn('Unhandled property update: ' + data.object + '::' + data.signal);
}
}
channel.exec({ type: QWebChannelMessageTypes.idle });
};
this.debug = function (message) {
channel.send({ type: QWebChannelMessageTypes.debug, data: message });
};
channel.exec({ type: QWebChannelMessageTypes.init }, function (data) {
for (let objectName in data) {
var object = new QObject(objectName, data[objectName], channel);
}
// now unwrap properties, which might reference other registered objects
for (let objectName in channel.objects) {
channel.objects[objectName].unwrapProperties();
}
if (initCallback) {
initCallback(channel);
}
channel.exec({ type: QWebChannelMessageTypes.idle });
});
};
function QObject(name, data, webChannel) {
this.__id__ = name;
webChannel.objects[name] = this;
// List of callbacks that get invoked upon signal emission
this.__objectSignals__ = {};
// Cache of all properties, updated when a notify signal is emitted
this.__propertyCache__ = {};
var object = this;
// ----------------------------------------------------------------------
this.unwrapQObject = function (response) {
if (response instanceof Array) {
// support list of objects
var ret = new Array(response.length);
for (var i = 0; i < response.length; ++i) {
ret[i] = object.unwrapQObject(response[i]);
}
return ret;
}
if (!response || !response['__QObject*__'] || Response.id === undefined) {
return response;
}
var objectId = Response.id;
if (webChannel.objects[objectId]) return webChannel.objects[objectId];
if (!response.data) {
console.error('Cannot unwrap unknown QObject ' + objectId + ' without data.');
return;
}
var qObject = new QObject(objectId, response.data, webChannel);
qObject.destroyed.connect(function () {
if (webChannel.objects[objectId] === qObject) {
delete webChannel.objects[objectId];
// reset the now deleted QObject to an empty {} object
// just assigning {} though would not have the desired effect, but the
// below also ensures all external references will see the empty map
// NOTE: this detour is necessary to workaround QTBUG-40021
var propertyNames = [];
for (var propertyName in qObject) {
propertyNames.push(propertyName);
}
for (var idx in propertyNames) {
delete qObject[propertyNames[idx]];
}
}
});
// here we are already initialized, and thus must directly unwrap the properties
qObject.unwrapProperties();
return qObject;
};
this.unwrapProperties = function () {
for (var propertyIdx in object.__propertyCache__) {
object.__propertyCache__[propertyIdx] = object.unwrapQObject(object.__propertyCache__[propertyIdx]);
}
};
function addSignal(signalData, isPropertyNotifySignal) {
var signalName = signalData[0];
var signalIndex = signalData[1];
object[signalName] = {
connect: function (callback) {
if (typeof callback !== 'function') {
console.error('Bad callback given to connect to signal ' + signalName);
return;
}
object.__objectSignals__[signalIndex] = object.__objectSignals__[signalIndex] || [];
object.__objectSignals__[signalIndex].push(callback);
if (!isPropertyNotifySignal && signalName !== 'destroyed') {
// only required for "pure" signals, handled separately for properties in propertyUpdate
// also note that we always get notified about the destroyed signal
webChannel.exec({
type: QWebChannelMessageTypes.connectToSignal,
object: object.__id__,
signal: signalIndex,
});
}
},
disconnect: function (callback) {
if (typeof callback !== 'function') {
console.error('Bad callback given to disconnect from signal ' + signalName);
return;
}
object.__objectSignals__[signalIndex] = object.__objectSignals__[signalIndex] || [];
var idx = object.__objectSignals__[signalIndex].indexOf(callback);
if (idx === -1) {
console.error('Cannot find connection of signal ' + signalName + ' to ' + callback.name);
return;
}
object.__objectSignals__[signalIndex].splice(idx, 1);
if (!isPropertyNotifySignal && object.__objectSignals__[signalIndex].length === 0) {
// only required for "pure" signals, handled separately for properties in propertyUpdate
webChannel.exec({
type: QWebChannelMessageTypes.disconnectFromSignal,
object: object.__id__,
signal: signalIndex,
});
}
},
};
}
/**
* Invokes all callbacks for the given signalname. Also works for property notify callbacks.
*/
function invokeSignalCallbacks(signalName, signalArgs) {
var connections = object.__objectSignals__[signalName];
if (connections) {
connections.forEach(function (callback) {
callback.apply(callback, signalArgs);
});
}
}
this.propertyUpdate = function (signals, propertyMap) {
// update property cache
for (var propertyIndex in propertyMap) {
var propertyValue = propertyMap[propertyIndex];
object.__propertyCache__[propertyIndex] = propertyValue;
}
for (var signalName in signals) {
// Invoke all callbacks, as signalEmitted() does not. This ensures the
// property cache is updated before the callbacks are invoked.
invokeSignalCallbacks(signalName, signals[signalName]);
}
};
this.signalEmitted = function (signalName, signalArgs) {
invokeSignalCallbacks(signalName, signalArgs);
};
function addMethod(methodData) {
var methodName = methodData[0];
var methodIdx = methodData[1];
object[methodName] = function () {
var args = [];
var callback;
for (var i = 0; i < arguments.length; ++i) {
if (typeof arguments[i] === 'function') callback = arguments[i];
else args.push(arguments[i]);
}
webChannel.exec(
{
type: QWebChannelMessageTypes.invokeMethod,
object: object.__id__,
method: methodIdx,
args: args,
},
function (response) {
if (response !== undefined) {
var result = object.unwrapQObject(response);
if (callback) {
callback(result);
}
}
},
);
};
}
function bindGetterSetter(propertyInfo) {
var propertyIndex = propertyInfo[0];
var propertyName = propertyInfo[1];
var notifySignalData = propertyInfo[2];
// initialize property cache with current value
// NOTE: if this is an object, it is not directly unwrapped as it might
// reference other QObject that we do not know yet
object.__propertyCache__[propertyIndex] = propertyInfo[3];
if (notifySignalData) {
if (notifySignalData[0] === 1) {
// signal name is optimized away, reconstruct the actual name
notifySignalData[0] = propertyName + 'Changed';
}
addSignal(notifySignalData, true);
}
Object.defineProperty(object, propertyName, {
configurable: true,
get: function () {
var propertyValue = object.__propertyCache__[propertyIndex];
if (propertyValue === undefined) {
// This shouldn't happen
console.warn(
'Undefined value in property cache for property "' + propertyName + '" in object ' + object.__id__,
);
}
return propertyValue;
},
set: function (value) {
if (value === undefined) {
console.warn('Property setter for ' + propertyName + ' called with undefined value!');
return;
}
object.__propertyCache__[propertyIndex] = value;
webChannel.exec({
type: QWebChannelMessageTypes.setProperty,
object: object.__id__,
property: propertyIndex,
value: value,
});
},
});
}
// ----------------------------------------------------------------------
data.methods.forEach(addMethod);
data.properties.forEach(bindGetterSetter);
data.signals.forEach(function (signal) {
addSignal(signal, false);
});
for (var name in data.enums) {
object[name] = data.enums[name];
}
}
//required for use with nodejs
if (typeof module === 'object') {
module.exports = {
QWebChannel: QWebChannel,
};
}
<template>
<router-view :class="[mode]" />
</template>
<script setup lang="ts">
import { computed, onMounted } from 'vue';
import { useStore } from 'vuex';
import config from '@/config/style';
const store = useStore();
// 用户信息
const userInfo = computed(() => store.getters['user/userInfo']);
// 用户token
const userToken = computed(() => store.getters['user/token']);
const mode = computed(() => {
return store.getters['setting/mode'];
});
onMounted(() => {
store.dispatch('setting/changeTheme', { ...config });
});
</script>
<style lang="less"></style>
<svg width="23" height="26" viewBox="0 0 23 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.5919 0.5C11.9687 0.5 12.2741 0.800513 12.2741 1.17121V5.57183L14.6679 3.2164C14.9342 2.95427 15.3662 2.95427 15.6325 3.2164C15.8989 3.47853 15.8989 3.90352 15.6325 4.16564L12.2741 7.47031V11.8362L16.1225 9.64986L17.3502 5.14146C17.4477 4.78339 17.8218 4.5709 18.1857 4.66684C18.5496 4.76279 18.7655 5.13084 18.668 5.48891L17.7934 8.70062L21.6627 6.50246C21.989 6.31711 22.4062 6.4271 22.5946 6.74814C22.7829 7.06918 22.6711 7.47969 22.3449 7.66504L18.4718 9.86535L21.7417 10.7275C22.1056 10.8234 22.3216 11.1915 22.2241 11.5496C22.1266 11.9076 21.7525 12.1201 21.3886 12.0242L16.8009 10.8146L12.9584 12.9975L16.8069 15.1838L21.3886 13.9758C21.7525 13.8799 22.1266 14.0924 22.2241 14.4504C22.3216 14.8085 22.1056 15.1766 21.7417 15.2725L18.4778 16.1331L22.3471 18.3312C22.6733 18.5166 22.7851 18.9271 22.5967 19.2481C22.4084 19.5692 21.9912 19.6792 21.6649 19.4938L17.7918 17.2935L18.668 20.5111C18.7655 20.8692 18.5496 21.2372 18.1857 21.3332C17.8218 21.4291 17.4477 21.2166 17.3502 20.8585L16.1209 16.3443L12.2741 14.1589V18.5407L15.6325 21.8454C15.8989 22.1075 15.8989 22.5325 15.6325 22.7946C15.3662 23.0567 14.9342 23.0567 14.6679 22.7946L12.2741 20.4392V24.8288C12.2741 25.1995 11.9687 25.5 11.5919 25.5C11.2152 25.5 10.9098 25.1995 10.9098 24.8288V20.4435L8.52039 22.7946C8.254 23.0567 7.82209 23.0567 7.5557 22.7946C7.28931 22.5325 7.28931 22.1075 7.5557 21.8454L10.9098 18.545V14.1613L7.05762 16.3498L5.82833 20.864C5.73083 21.2221 5.35678 21.4346 4.99288 21.3387C4.62899 21.2427 4.41303 20.8747 4.51054 20.5166L5.38672 17.299L1.52332 19.4938C1.19706 19.6792 0.779871 19.5692 0.591504 19.2481C0.403136 18.9271 0.514921 18.5166 0.841184 18.3312L4.7008 16.1386L1.43681 15.278C1.07291 15.1821 0.856957 14.814 0.954464 14.4559C1.05197 14.0979 1.42601 13.8854 1.78991 13.9813L6.3717 15.1893L10.2298 12.9975L6.37765 10.8091L1.78991 12.0187C1.42601 12.1146 1.05197 11.9021 0.95446 11.5441C0.856953 11.186 1.07291 10.8179 1.43681 10.722L4.70676 9.85984L0.843363 7.66504C0.517099 7.47969 0.405314 7.06918 0.593682 6.74814C0.78205 6.4271 1.19924 6.31711 1.5255 6.50246L5.38512 8.69512L4.51054 5.4834C4.41303 5.12533 4.62898 4.75728 4.99288 4.66134C5.35678 4.56539 5.73083 4.77789 5.82833 5.13596L7.05602 9.64436L10.9098 11.8337V7.46602L7.5557 4.16564C7.28931 3.90352 7.28931 3.47853 7.5557 3.2164C7.82209 2.95427 8.254 2.95427 8.52039 3.2164L10.9098 5.56754V1.17121C10.9098 0.800513 11.2152 0.5 11.5919 0.5Z" fill="#2962FF"/>
</svg>
\ No newline at end of file
<svg width="110" height="30" viewBox="0 0 110 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M49.921 20.4016C49.2216 20.9476 48.1828 21.2206 46.8047 21.2206C45.5499 21.2206 44.4906 21.0295 43.6267 20.6473C42.7628 20.2469 42.0943 19.8465 41.6212 19.4461C41.3332 19.5371 41.0761 19.6918 40.8498 19.9102C40.6441 20.1104 40.5413 20.3652 40.5413 20.6746C40.5413 21.0386 40.7984 21.4117 41.3126 21.7939C41.8474 22.1579 42.5776 22.4672 43.5033 22.722C44.4495 22.9586 45.5499 23.0769 46.8047 23.0769C48.9439 23.0769 50.5998 22.631 51.7722 21.7393C52.9653 20.8475 53.5618 19.6827 53.5618 18.245C53.5618 16.8982 53.0887 15.8426 52.1425 15.0783C51.2169 14.3139 49.9415 13.7315 48.3165 13.3311L46.4344 12.8397C45.3031 12.5485 44.4803 12.2027 43.9661 11.8024C43.4724 11.402 43.2256 10.8833 43.2256 10.2463C43.2256 9.44552 43.5753 8.81764 44.2746 8.36266C44.974 7.88947 45.9202 7.65288 47.1132 7.65288C48.1417 7.65288 49.0879 7.78937 49.9518 8.06236C50.8363 8.33536 51.5357 8.65385 52.0499 9.01784C52.2762 8.90864 52.4613 8.76304 52.6053 8.58105C52.7493 8.38085 52.8213 8.16246 52.8213 7.92587C52.8213 7.56188 52.5642 7.21609 52.0499 6.8885C51.5562 6.56091 50.8672 6.29702 49.9827 6.09682C49.1188 5.87843 48.1314 5.76923 47.0207 5.76923C45.1077 5.76923 43.5753 6.16962 42.4234 6.9704C41.2715 7.75297 40.6955 8.84494 40.6955 10.2463C40.6955 10.9925 40.8601 11.6477 41.1892 12.2118C41.5389 12.7578 42.0326 13.2219 42.6702 13.6041C43.3079 13.9681 44.0587 14.2684 44.9226 14.505L47.6069 15.2148C48.7794 15.5059 49.633 15.8972 50.1678 16.3886C50.7232 16.88 51.0009 17.4988 51.0009 18.245C51.0009 19.1185 50.6409 19.8374 49.921 20.4016Z" fill="#4375FF"/>
<path d="M67.9556 10.9015C69.0457 11.6477 69.5908 12.8124 69.5908 14.3958V22.6674C69.488 22.7038 69.3234 22.7402 69.0972 22.7766C68.8915 22.8312 68.6755 22.8585 68.4492 22.8585C67.9967 22.8585 67.6573 22.7857 67.431 22.6401C67.2253 22.4763 67.1225 22.2215 67.1225 21.8758V14.505C67.1225 13.4858 66.7934 12.7396 66.1351 12.2664C65.4975 11.7933 64.6336 11.5567 63.5434 11.5567C62.7206 11.5567 61.9904 11.6477 61.3527 11.8297C60.7151 12.0116 60.17 12.2209 59.7174 12.4575V22.6674C59.6146 22.7038 59.4603 22.7402 59.2546 22.7766C59.0489 22.8312 58.8227 22.8585 58.5758 22.8585C58.1439 22.8585 57.8148 22.7857 57.5885 22.6401C57.3622 22.4763 57.2491 22.2215 57.2491 21.8758V12.5667C57.2491 12.1845 57.3314 11.8752 57.4959 11.6386C57.6811 11.3838 57.9896 11.1381 58.4216 10.9015C58.9564 10.6285 59.666 10.3737 60.5505 10.1371C61.435 9.88231 62.4326 9.75491 63.5434 9.75491C65.4152 9.75491 66.8859 10.1371 67.9556 10.9015Z" fill="#4375FF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M87.4494 16.4159C87.4494 17.7627 87.1615 18.9365 86.5855 19.9375C86.0096 20.9385 85.1971 21.712 84.148 22.2579C83.099 22.8039 81.8648 23.0769 80.4455 23.0769C79.0262 23.0769 77.7818 22.8039 76.7121 22.2579C75.6631 21.712 74.8506 20.9385 74.2747 19.9375C73.6987 18.9365 73.4107 17.7627 73.4107 16.4159C73.4107 15.051 73.6987 13.8771 74.2747 12.8943C74.8712 11.8934 75.694 11.1199 76.743 10.5739C77.8126 10.0279 79.0468 9.75491 80.4455 9.75491C81.8442 9.75491 83.0681 10.0279 84.1172 10.5739C85.1662 11.1199 85.9787 11.8934 86.5547 12.8943C87.1512 13.8771 87.4494 15.051 87.4494 16.4159ZM80.4455 11.5567C79.0674 11.5567 77.9669 11.9934 77.1441 12.867C76.3419 13.7224 75.9408 14.9054 75.9408 16.4159C75.9408 17.9447 76.3316 19.1367 77.1133 19.9921C77.9155 20.8475 79.0262 21.2752 80.4455 21.2752C81.8442 21.2752 82.9344 20.8475 83.7161 19.9921C84.5183 19.1185 84.9194 17.9265 84.9194 16.4159C84.9194 14.9054 84.5183 13.7224 83.7161 12.867C82.9344 11.9934 81.8442 11.5567 80.4455 11.5567Z" fill="#4375FF"/>
<path d="M100.065 13.3311C99.6947 14.4777 99.2936 15.6242 98.8617 16.7708C98.4503 17.9174 98.0492 18.9911 97.6584 19.9921C97.2675 20.9931 96.9076 21.8576 96.5785 22.5855C96.4139 22.6765 96.2288 22.7493 96.0231 22.8039C95.8174 22.8585 95.5397 22.8858 95.19 22.8858C94.8609 22.8858 94.5524 22.8312 94.2644 22.722C93.997 22.631 93.8119 22.4763 93.709 22.2579C93.5033 21.894 93.2668 21.3662 92.9994 20.6746C92.7525 19.983 92.4851 19.1913 92.1971 18.2996C91.9297 17.4078 91.6521 16.4887 91.3641 15.5423C91.0761 14.5778 90.8087 13.6496 90.5619 12.7578C90.3356 11.8661 90.1402 11.0744 89.9756 10.3828C90.1196 10.2554 90.2945 10.1371 90.5002 10.0279C90.7264 9.91871 90.9938 9.86411 91.3024 9.86411C91.6932 9.86411 91.9812 9.96421 92.1663 10.1644C92.372 10.3464 92.516 10.6467 92.5983 11.0653C92.7834 11.8297 92.9891 12.6941 93.2153 13.6587C93.4622 14.6233 93.709 15.5787 93.9558 16.5251C94.2233 17.4715 94.4598 18.3269 94.6655 19.0912C94.8918 19.8374 95.0563 20.3925 95.1592 20.7565H95.2826C95.4471 20.3197 95.7043 19.6099 96.0539 18.6272C96.4036 17.6262 96.815 16.4887 97.2881 15.2148C97.7818 13.9408 98.2755 12.6486 98.7691 11.3383C98.9337 11.2473 99.1291 11.1836 99.3553 11.1472C99.5816 11.0926 99.8284 11.0653 100.096 11.0653C100.466 11.0653 100.775 11.129 101.021 11.2564C101.268 11.3656 101.433 11.5385 101.515 11.7751C102.009 13.0308 102.472 14.2684 102.904 15.4877C103.336 16.6889 103.716 17.7627 104.045 18.7091C104.374 19.6372 104.611 20.3288 104.755 20.7838H104.909C105.382 19.164 105.896 17.426 106.452 15.5696C107.007 13.7133 107.46 11.8934 107.809 10.1098C108.097 9.94601 108.447 9.86411 108.858 9.86411C109.208 9.86411 109.486 9.93691 109.692 10.0825C109.897 10.2281 110 10.4556 110 10.765C110 10.9652 109.928 11.3474 109.784 11.9116C109.661 12.4757 109.486 13.14 109.26 13.9044C109.033 14.6688 108.776 15.4877 108.488 16.3613C108.221 17.2167 107.943 18.0539 107.655 18.8728C107.367 19.6736 107.089 20.4016 106.822 21.0568C106.575 21.712 106.359 22.2215 106.174 22.5855C106.071 22.6583 105.896 22.722 105.65 22.7766C105.423 22.8494 105.156 22.8858 104.847 22.8858C104.004 22.8858 103.51 22.7129 103.366 22.3671C103.078 21.712 102.749 20.9021 102.379 19.9375C102.009 18.9547 101.628 17.8992 101.237 16.7708L100.065 13.3311Z" fill="#4375FF"/>
<path d="M15.456 0C15.9583 0 16.3655 0.360616 16.3655 0.805458V6.0862L19.5572 3.25968C19.9124 2.94513 20.4883 2.94513 20.8435 3.25968C21.1987 3.57423 21.1987 4.08422 20.8435 4.39877L16.3655 8.36438V13.6034L21.4968 10.9798L23.1337 5.56975C23.2637 5.14007 23.7624 4.88508 24.2476 5.00021C24.7328 5.11534 25.0208 5.55701 24.8908 5.98669L23.7247 9.84075L28.8837 7.20295C29.3187 6.98053 29.875 7.11253 30.1262 7.49777C30.3773 7.88302 30.2283 8.37563 29.7932 8.59805L24.6291 11.2384L28.9891 12.273C29.4743 12.3881 29.7622 12.8298 29.6322 13.2595C29.5022 13.6892 29.0035 13.9442 28.5183 13.829L22.4013 12.3775L17.2779 14.997L22.4092 17.6206L28.5183 16.171C29.0035 16.0558 29.5022 16.3108 29.6322 16.7405C29.7622 17.1702 29.4743 17.6119 28.9891 17.727L24.6371 18.7597L29.7962 21.3975C30.2312 21.6199 30.3802 22.1125 30.1291 22.4978C29.8779 22.883 29.3216 23.015 28.8866 22.7926L23.7225 20.1522L24.8908 24.0133C25.0208 24.443 24.7328 24.8847 24.2476 24.9998C23.7624 25.1149 23.2637 24.8599 23.1337 24.4302L21.4947 19.0131L16.3655 16.3906V21.6488L20.8435 25.6144C21.1987 25.929 21.1987 26.439 20.8435 26.7535C20.4883 27.0681 19.9124 27.0681 19.5572 26.7535L16.3655 23.927V29.1945C16.3655 29.6394 15.9583 30 15.456 30C14.9537 30 14.5465 29.6394 14.5465 29.1945V23.9322L11.3606 26.7535C11.0054 27.0681 10.4295 27.0681 10.0743 26.7535C9.71916 26.439 9.71916 25.929 10.0743 25.6144L14.5465 21.654V16.3936L9.41024 19.0197L7.77119 24.4368C7.64118 24.8665 7.14246 25.1215 6.65726 25.0064C6.17206 24.8913 5.88412 24.4496 6.01413 24.0199L7.18237 20.1588L2.03118 22.7926C1.59616 23.015 1.03991 22.883 0.788753 22.4978C0.537596 22.1125 0.686642 21.6199 1.12166 21.3975L6.26782 18.7663L1.91583 17.7336C1.43063 17.6185 1.14269 17.1768 1.2727 16.7471C1.40271 16.3174 1.90143 16.0625 2.38663 16.1776L8.49568 17.6272L13.6399 14.997L8.50362 12.3709L2.38662 13.8224C1.90143 13.9375 1.4027 13.6826 1.27269 13.2529C1.14269 12.8232 1.43062 12.3815 1.91582 12.2664L6.27576 11.2318L1.12457 8.59805C0.689547 8.37562 0.540501 7.88301 0.791658 7.49777C1.04281 7.11252 1.59907 6.98053 2.03409 7.20295L7.18024 9.83414L6.01413 5.98009C5.88412 5.5504 6.17206 5.10874 6.65726 4.99361C7.14246 4.87847 7.64118 5.13347 7.77119 5.56315L9.4081 10.9732L14.5465 13.6004V8.35923L10.0743 4.39877C9.71916 4.08422 9.71916 3.57423 10.0743 3.25968C10.4295 2.94513 11.0054 2.94513 11.3606 3.25968L14.5465 6.08105V0.805458C14.5465 0.360616 14.9537 0 15.456 0Z" fill="#4375FF"/>
</svg>
\ No newline at end of file
<svg width="44" height="45" viewBox="0 0 44 45" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect y="0.5625" width="44" height="44" fill="url(#pattern0)"/>
<defs>
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0_418_17875" transform="scale(0.0078125)"/>
</pattern>
<image id="image0_418_17875" width="128" height="128" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAC91BMVEUAAAD4lBr3lBv3kxr/qiv/v0D3lBv4kxr4kxv/mxv3lBv/lSv4lhz4kxr4lBv3lxv3lRv4kxv4lBr6lhv4lRz3lBv3lyD5lBv4kxv6kx34kxr4lBr3kxv6lBz/nSf4lBr//4D3kxr4lhv4lBr7lB34lBr7lh33lBr4kxr3kxv/nyD4kxv/lyP/lRr3lBv4lBv6lRv3lBv4lBv4lBv4kxr/lCH4lBr4lBr3lBv6lBv/niT3kxr////+/v3+/fz5uWr3lBz3kxv4p0X++vX837z71KT97975sVr3lB3+/v74qUj3mCX83bj4pUD+8+f5sVv3myz7zJP5s175tGD++/b7zZX6wn/97dn97936xIP4ojr3mCT3mSf3liL++vb4pD/5rlX82a/6wn797tv6xof84sH4qUn827L5r1b4pkT7z5r+8uT83LX969b958z++/f+9+/6wn36xIL+9u34ojv6wHr97Nj3njL6xob5s1/3lR73lR/+/fv++fL6x4n83bf95cn4p0b6vHL4pkP7zpf4pkL3min6yIv+/Pn5uWz6w4D95sr6v3n97Nf5tWL4qkz848T84sL+9uz4qkv3nC36xYX95836vnX848P6vXP++fT83rn96dL81qn4oDb96M/7zpj+9ev70qH7z5v3lSD+8+b5uGn6wXv97tz71KX96tL3lyL827P96M771ab5tmX84L/4qUr70qD3njH7z5n4q074q03++PH+8eP6xYT84L798N/++PD6u3D71af96tP70Z784cH5slz969T5t2b706P6w4H3mCb96dH5r1f5rlP5tGH4rFD84L34qEf4oTn6x4r++fP3mir3myv5sl33nS/5um73mSj70Jz3nC77y5L4pUH84cD5sFf7yo7+9Oj3nTD5um3816r95Mf7zJT95Mb+9+783rr82Kz969X4rE/98eH4oDf6x4j4rVH82K398eL7zZb5sVn+9On3liH3njP3lyP82K76vXT837v5uWv+/Pr4qEaA3nGYAAAAO3RSTlMA/uzCBgTGudocqQxJ+9JChPnMOItDIHy7NK/f7TcNiALES/M+1D3piagQlRYdhtlexayrdB91uIVfFSGgzMAAAAaaSURBVHhexdtldxvJEgbgEhriGLKG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"/>
</defs>
</svg>
\ No newline at end of file
<svg width="44" height="45" viewBox="0 0 44 45" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<mask id="mask0_418_17895" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="44" height="45">
<circle cx="22" cy="22.9375" r="22" fill="#C4C4C4"/>
</mask>
<g mask="url(#mask0_418_17895)">
<rect y="0.9375" width="44" height="44" fill="url(#pattern0)"/>
</g>
<defs>
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0_418_17895" transform="scale(0.0078125)"/>
</pattern>
<image id="image0_418_17895" width="128" height="128" xlink:href="data:image/png;base64,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"/>
</defs>
</svg>
\ No newline at end of file
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<ellipse cx="8.61048" cy="9.00013" rx="8.61048" ry="8.61048" fill="#26A17B"/>
<path d="M9.56132 9.72847V9.72708C9.50104 9.73123 9.18982 9.74917 8.49729 9.74917C7.94355 9.74917 7.55523 9.73399 7.41784 9.72708V9.72847C5.28839 9.63597 3.70005 9.27152 3.70005 8.8339C3.70005 8.39765 5.28979 8.03182 7.41784 7.93933V9.36539C7.55663 9.37505 7.95616 9.39852 8.5071 9.39852C9.16879 9.39852 9.49963 9.37091 9.56132 9.36539V7.94071C11.6866 8.03458 13.2707 8.39904 13.2707 8.83528C13.2707 9.27152 11.6852 9.63597 9.56132 9.72985V9.72847ZM9.56132 7.79299V6.5174H12.5263V4.57227H4.45427V6.5174H7.41924V7.79299C5.00941 7.90205 3.19818 8.37143 3.19818 8.93467C3.19818 9.49792 5.01081 9.96729 7.41924 10.0777V14.1668H9.56272V10.0777C11.9683 9.96867 13.7768 9.4993 13.7768 8.93605C13.7768 8.37419 11.9683 7.90343 9.56272 7.79437" fill="#EAECEF"/>
</svg>
\ No newline at end of file
<svg width="159" height="86" viewBox="0 0 159 86" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect width="158.913" height="86" fill="url(#pattern0)"/>
<defs>
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0_701_22671" transform="scale(0.00588235 0.0108696)"/>
</pattern>
<image id="image0_701_22671" width="170" height="92" xlink:href="data:image/png;base64,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"/>
</defs>
</svg>
\ No newline at end of file
<svg width="14" height="11" viewBox="0 0 14 11" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.6255 0.853741C11.7251 0.759973 11.7813 0.632608 11.7813 0.5C11.7813 0.367392 11.7253 0.240215 11.6257 0.146447L11.6211 0.142182C11.5219 0.0511999 11.3885 0 11.25 0C11.1091 0 10.974 0.0526784 10.8744 0.146447L3.43705 7.14626C3.33742 7.24003 3.28125 7.36739 3.28125 7.5C3.28125 7.50801 3.28145 7.51602 3.28186 7.52402C3.28821 7.64818 3.34346 7.76566 3.43685 7.85355C3.53648 7.94732 3.6716 8 3.8125 8C3.9534 8 4.08852 7.94732 4.18815 7.85355L11.6255 0.853741Z" fill="#2962FF"/>
<path d="M11.25 0H4.60938C4.31597 0 4.07813 0.223858 4.07813 0.5C4.07813 0.776142 4.31597 1 4.60938 1H10.7188V6.75C10.7188 7.02614 10.9566 7.25 11.25 7.25C11.5434 7.25 11.7813 7.02614 11.7813 6.75V0.5C11.7813 0.223858 11.5434 0 11.25 0Z" fill="#2962FF"/>
<path d="M1.15625 11H12.8438C13.1372 11 13.375 10.7761 13.375 10.5C13.375 10.2239 13.1372 10 12.8438 10H1.15625C0.862849 10 0.625 10.2239 0.625 10.5C0.625 10.7761 0.862849 11 1.15625 11Z" fill="#2962FF"/>
</svg>
\ No newline at end of file
<svg width="19" height="18" viewBox="0 0 19 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.96875 10.9688V7.03125C6.96875 6.72059 7.22059 6.46875 7.53125 6.46875H11.4688C11.7794 6.46875 12.0312 6.72059 12.0312 7.03125V10.9688C12.0312 11.2794 11.7794 11.5312 11.4688 11.5312H7.53125C7.22059 11.5312 6.96875 11.2794 6.96875 10.9688ZM10.9062 10.4062H8.09375V7.59375H10.9062V10.4062Z" fill="#F05451"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.3125 3.9375C3.3125 3.9375 3.3125 3.47151 3.642 3.142C3.642 3.142 3.97151 2.8125 4.4375 2.8125H14.5625C14.5625 2.8125 15.0285 2.8125 15.358 3.142C15.358 3.142 15.6875 3.47151 15.6875 3.9375V14.0625C15.6875 14.0625 15.6875 14.5285 15.358 14.858C15.358 14.858 15.0285 15.1875 14.5625 15.1875H4.4375C4.4375 15.1875 3.97151 15.1875 3.642 14.858C3.642 14.858 3.3125 14.5285 3.3125 14.0625V3.9375ZM4.4375 3.9375V14.0625H14.5625V3.9375H4.4375Z" fill="#F05451"/>
<path d="M15.125 7.875H16.8125C17.1232 7.875 17.375 7.62316 17.375 7.3125C17.375 7.00184 17.1232 6.75 16.8125 6.75H15.125C14.8143 6.75 14.5625 7.00184 14.5625 7.3125C14.5625 7.62316 14.8143 7.875 15.125 7.875Z" fill="#F05451"/>
<path d="M15.125 11.25H16.8125C17.1232 11.25 17.375 10.9982 17.375 10.6875C17.375 10.3768 17.1232 10.125 16.8125 10.125H15.125C14.8143 10.125 14.5625 10.3768 14.5625 10.6875C14.5625 10.9982 14.8143 11.25 15.125 11.25Z" fill="#F05451"/>
<path d="M2.1875 7.875H3.875C4.18566 7.875 4.4375 7.62316 4.4375 7.3125C4.4375 7.00184 4.18566 6.75 3.875 6.75H2.1875C1.87684 6.75 1.625 7.00184 1.625 7.3125C1.625 7.62316 1.87684 7.875 2.1875 7.875Z" fill="#F05451"/>
<path d="M2.1875 11.25H3.875C4.18566 11.25 4.4375 10.9982 4.4375 10.6875C4.4375 10.3768 4.18566 10.125 3.875 10.125H2.1875C1.87684 10.125 1.625 10.3768 1.625 10.6875C1.625 10.9982 1.87684 11.25 2.1875 11.25Z" fill="#F05451"/>
<path d="M10.625 14.625V16.3125C10.625 16.6232 10.8768 16.875 11.1875 16.875C11.4982 16.875 11.75 16.6232 11.75 16.3125V14.625C11.75 14.3143 11.4982 14.0625 11.1875 14.0625C10.8768 14.0625 10.625 14.3143 10.625 14.625Z" fill="#F05451"/>
<path d="M7.25 14.625V16.3125C7.25 16.6232 7.50184 16.875 7.8125 16.875C8.12316 16.875 8.375 16.6232 8.375 16.3125V14.625C8.375 14.3143 8.12316 14.0625 7.8125 14.0625C7.50184 14.0625 7.25 14.3143 7.25 14.625Z" fill="#F05451"/>
<path d="M10.625 1.6875V3.375C10.625 3.68566 10.8768 3.9375 11.1875 3.9375C11.4982 3.9375 11.75 3.68566 11.75 3.375V1.6875C11.75 1.37684 11.4982 1.125 11.1875 1.125C10.8768 1.125 10.625 1.37684 10.625 1.6875Z" fill="#F05451"/>
<path d="M7.25 1.6875V3.375C7.25 3.68566 7.50184 3.9375 7.8125 3.9375C8.12316 3.9375 8.375 3.68566 8.375 3.375V1.6875C8.375 1.37684 8.12316 1.125 7.8125 1.125C7.50184 1.125 7.25 1.37684 7.25 1.6875Z" fill="#F05451"/>
</svg>
\ No newline at end of file
<svg width="18" height="19" viewBox="0 0 18 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.18749 5.79446C5.9788 5.58267 5.86182 5.29727 5.86182 4.99993C5.86182 4.70259 5.9788 4.4172 6.18749 4.2054L8.20546 2.18743C8.30941 2.08241 8.43316 1.99904 8.56954 1.94215C8.70591 1.88525 8.85222 1.85596 8.99999 1.85596C9.14776 1.85596 9.29406 1.88525 9.43044 1.94215C9.56682 1.99904 9.69056 2.08241 9.79452 2.18743L11.8125 4.2054C12.0212 4.4172 12.1382 4.70259 12.1382 4.99993C12.1382 5.29727 12.0212 5.58267 11.8125 5.79446L9.79452 7.81243C9.69056 7.91745 9.56682 8.00082 9.43044 8.05771C9.29406 8.11461 9.14776 8.1439 8.99999 8.1439C8.85222 8.1439 8.70591 8.11461 8.56954 8.05771C8.43316 8.00082 8.30941 7.91745 8.20546 7.81243L6.18749 5.79446ZM16.3125 8.7054L14.2945 6.68743C14.1906 6.58241 14.0668 6.49904 13.9304 6.44215C13.7941 6.38525 13.6478 6.35596 13.5 6.35596C13.3522 6.35596 13.2059 6.38525 13.0695 6.44215C12.9332 6.49904 12.8094 6.58241 12.7055 6.68743L10.6875 8.7054C10.4788 8.9172 10.3618 9.20259 10.3618 9.49993C10.3618 9.79727 10.4788 10.0827 10.6875 10.2945L12.7055 12.3124C12.8094 12.4175 12.9332 12.5008 13.0695 12.5577C13.2059 12.6146 13.3522 12.6439 13.5 12.6439C13.6478 12.6439 13.7941 12.6146 13.9304 12.5577C14.0668 12.5008 14.1906 12.4175 14.2945 12.3124L16.3125 10.2945C16.5212 10.0827 16.6382 9.79727 16.6382 9.49993C16.6382 9.20259 16.5212 8.9172 16.3125 8.7054ZM7.31249 8.7054L5.29452 6.68743C5.19056 6.58241 5.06682 6.49904 4.93044 6.44215C4.79406 6.38525 4.64776 6.35596 4.49999 6.35596C4.35222 6.35596 4.20591 6.38525 4.06954 6.44215C3.93316 6.49904 3.80941 6.58241 3.70546 6.68743L1.68749 8.7054C1.4788 8.9172 1.36182 9.20259 1.36182 9.49993C1.36182 9.79727 1.4788 10.0827 1.68749 10.2945L3.70546 12.3124C3.80941 12.4175 3.93316 12.5008 4.06954 12.5577C4.20591 12.6146 4.35222 12.6439 4.49999 12.6439C4.64776 12.6439 4.79406 12.6146 4.93044 12.5577C5.06682 12.5008 5.19056 12.4175 5.29452 12.3124L7.31249 10.2945C7.52118 10.0827 7.63816 9.79727 7.63816 9.49993C7.63816 9.20259 7.52118 8.9172 7.31249 8.7054ZM9.79452 11.1874C9.69056 11.0824 9.56682 10.999 9.43044 10.9421C9.29406 10.8853 9.14776 10.856 8.99999 10.856C8.85222 10.856 8.70591 10.8853 8.56954 10.9421C8.43316 10.999 8.30941 11.0824 8.20546 11.1874L6.18749 13.2054C5.9788 13.4172 5.86182 13.7026 5.86182 13.9999C5.86182 14.2973 5.9788 14.5827 6.18749 14.7945L8.20546 16.8124C8.30941 16.9175 8.43316 17.0008 8.56954 17.0577C8.70591 17.1146 8.85222 17.1439 8.99999 17.1439C9.14776 17.1439 9.29406 17.1146 9.43044 17.0577C9.56682 17.0008 9.69056 16.9175 9.79452 16.8124L11.8125 14.7945C12.0212 14.5827 12.1382 14.2973 12.1382 13.9999C12.1382 13.7026 12.0212 13.4172 11.8125 13.2054L9.79452 11.1874Z" fill="#595A5A"/>
</svg>
\ No newline at end of file
<svg width="26" height="27" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22.1517 22.7634C20.9407 23.9747 19.4988 24.9295 17.9118 25.571C16.3248 26.2125 14.6251 26.5276 12.9141 26.4976C11.2137 26.5311 9.52435 26.2169 7.94926 25.5743C6.37418 24.9317 4.94641 23.9742 3.7532 22.7602C2.53191 21.569 1.56865 20.1386 0.923458 18.5581C0.278264 16.9776 -0.0350287 15.2809 0.00310686 13.5738C0.00310686 9.83852 1.25527 6.72616 3.7596 4.2367C4.95357 3.02305 6.382 2.06597 7.95763 1.42393C9.53325 0.781895 11.223 0.468372 12.9237 0.502517C14.6344 0.473488 16.3335 0.789394 17.9199 1.43145C19.5063 2.0735 20.9476 3.02859 22.1581 4.23991C24.7179 6.7315 25.9978 9.84493 25.9978 13.5802C26.0302 15.2947 25.7048 16.9972 25.0425 18.5785C24.3802 20.1598 23.3956 21.5852 22.1517 22.7634Z" fill="#FFF706"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.9859 5.61866C14.9355 5.7434 14.8755 5.85874 14.8094 5.96267C18.2419 6.73244 20.6762 9.58196 20.638 14.535H18.5489C18.5813 10.3367 16.1687 8.26388 13.0118 8.1987C9.57409 8.12773 7.67117 10.4405 7.45087 14.535H5.3616C5.62928 9.56134 7.75557 6.53088 11.4906 5.93517C11.4309 5.84756 11.3208 5.67044 11.2717 5.56735C10.9789 4.95306 11.0206 4.32052 11.3646 4.15441C11.6398 4.02166 12.0249 4.22768 12.318 4.62978C12.3141 4.57061 12.312 4.51051 12.312 4.44949C12.312 3.58943 12.7024 2.89209 13.1842 2.89209C13.6658 2.89209 14.0563 3.58943 14.0563 4.44949C14.0563 4.47029 14.0559 4.49086 14.0555 4.51144C14.3141 4.20125 14.6159 4.04747 14.8462 4.14562C15.0804 4.24547 15.18 4.58062 15.1326 4.99328C15.121 5.18882 15.0729 5.40355 14.9859 5.61866ZM11.2764 10.6158C11.0246 10.6158 10.8205 10.8449 10.8205 11.1273V12.3837C10.8205 12.6663 11.0246 12.8952 11.2764 12.8952C11.5282 12.8952 11.7323 12.6663 11.7323 12.3837V11.1273C11.7323 10.8449 11.5282 10.6158 11.2764 10.6158ZM14.4676 11.1273C14.4676 10.8449 14.6718 10.6158 14.9235 10.6158C15.1753 10.6158 15.3794 10.8449 15.3794 11.1273V12.3837C15.3794 12.6663 15.1753 12.8952 14.9235 12.8952C14.6718 12.8952 14.4676 12.6663 14.4676 12.3837V11.1273Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.91799 18.4625C6.86478 18.609 6.79191 18.7357 6.69944 18.8427C6.60688 18.9496 6.4976 19.0338 6.37161 19.0952C6.24559 19.1566 6.11174 19.1873 5.9699 19.1873H5.30239V16.7752H5.9699C6.11174 16.7752 6.24559 16.8069 6.37161 16.8702C6.4976 16.9337 6.60688 17.0198 6.69944 17.1287C6.79191 17.2376 6.86478 17.3664 6.91799 17.5149C6.97113 17.6634 6.99773 17.8228 6.99773 17.9931C6.99773 18.1595 6.97113 18.3159 6.91799 18.4625ZM7.88674 17.1703C7.77837 16.9148 7.63072 16.694 7.44374 16.5078C7.25661 16.3217 7.03608 16.1742 6.78212 16.0652C6.52814 15.9563 6.25734 15.9019 5.9699 15.9019H4.28648V20.0606H5.9699C6.25734 20.0606 6.52814 20.0072 6.78212 19.9002C7.03608 19.7933 7.25661 19.6467 7.44374 19.4605C7.63072 19.2744 7.77837 19.0546 7.88674 18.8011C7.99495 18.5477 8.04914 18.2783 8.04914 17.9931C8.04914 17.7 7.99495 17.4257 7.88674 17.1703ZM11.6665 18.4707C11.613 18.6181 11.5394 18.7445 11.4457 18.8498C11.3521 18.9551 11.2403 19.0384 11.1102 19.0997C10.9802 19.1609 10.8407 19.1916 10.6916 19.1916C10.5425 19.1916 10.4029 19.1609 10.2729 19.0997C10.1429 19.0384 10.0312 18.9551 9.93748 18.8498C9.84381 18.7445 9.77017 18.6181 9.71667 18.4707C9.66317 18.3233 9.63639 18.1653 9.63639 17.9968C9.63639 17.8282 9.66317 17.6702 9.71667 17.5229C9.77017 17.3754 9.84381 17.249 9.93748 17.1437C10.0312 17.0384 10.1429 16.9551 10.2729 16.8938C10.4029 16.8326 10.5425 16.8019 10.6916 16.8019C10.8407 16.8019 10.9802 16.8326 11.1102 16.8938C11.2403 16.9551 11.3521 17.0384 11.4457 17.1437C11.5394 17.249 11.613 17.3754 11.6665 17.5229C11.72 17.6702 11.7468 17.8282 11.7468 17.9968C11.7468 18.1653 11.72 18.3233 11.6665 18.4707ZM12.6409 17.1662C12.5335 16.9108 12.3868 16.69 12.2009 16.5038C12.0149 16.3175 11.7953 16.1706 11.5423 16.0631C11.2892 15.9556 11.0169 15.9019 10.7254 15.9019C10.4341 15.9019 10.1608 15.9556 9.90587 16.0631C9.65077 16.1706 9.43026 16.3175 9.24431 16.5038C9.05835 16.69 8.91164 16.9108 8.80432 17.1662C8.69692 17.4216 8.64325 17.6932 8.64325 17.9813C8.64325 18.2693 8.69692 18.5409 8.80432 18.7963C8.91164 19.0517 9.05835 19.2725 9.24431 19.4587C9.43026 19.645 9.65077 19.7918 9.90587 19.8994C10.1608 20.0069 10.4341 20.0606 10.7254 20.0606C11.0169 20.0606 11.2892 20.0069 11.5423 19.8994C11.7953 19.7918 12.0149 19.645 12.2009 19.4587C12.3868 19.2725 12.5335 19.0517 12.6409 18.7963C12.7483 18.5409 12.802 18.2693 12.802 17.9813C12.802 17.6932 12.7483 17.4216 12.6409 17.1662ZM20.3572 18.8498C20.4509 18.7445 20.5246 18.6181 20.578 18.4707C20.6317 18.3233 20.6584 18.1653 20.6584 17.9968C20.6584 17.8282 20.6317 17.6702 20.578 17.5229C20.5246 17.3754 20.4509 17.249 20.3572 17.1437C20.2637 17.0384 20.1517 16.9551 20.0217 16.8938C19.8919 16.8326 19.7523 16.8019 19.6032 16.8019C19.454 16.8019 19.3144 16.8326 19.1844 16.8938C19.0546 16.9551 18.9428 17.0384 18.849 17.1437C18.7554 17.249 18.6817 17.3754 18.6281 17.5229C18.5747 17.6702 18.548 17.8282 18.548 17.9968C18.548 18.1653 18.5747 18.3233 18.6281 18.4707C18.6817 18.6181 18.7554 18.7445 18.849 18.8498C18.9428 18.9551 19.0546 19.0384 19.1844 19.0997C19.3144 19.1609 19.454 19.1916 19.6032 19.1916C19.7523 19.1916 19.8919 19.1609 20.0217 19.0997C20.1517 19.0384 20.2637 18.9551 20.3572 18.8498ZM21.1125 16.5038C21.2985 16.69 21.4453 16.9108 21.5525 17.1662C21.66 17.4216 21.7136 17.6932 21.7136 17.9813C21.7136 18.2693 21.66 18.5409 21.5525 18.7963C21.4453 19.0517 21.2985 19.2725 21.1125 19.4587C20.9265 19.645 20.707 19.7918 20.4538 19.8994C20.2008 20.0069 19.9285 20.0606 19.6371 20.0606C19.3457 20.0606 19.0725 20.0069 18.8175 19.8994C18.5624 19.7918 18.3419 19.645 18.1559 19.4587C17.97 19.2725 17.8233 19.0517 17.7159 18.7963C17.6085 18.5409 17.5548 18.2693 17.5548 17.9813C17.5548 17.6932 17.6085 17.4216 17.7159 17.1662C17.8233 16.9108 17.97 16.69 18.1559 16.5038C18.3419 16.3175 18.5624 16.1706 18.8175 16.0631C19.0725 15.9556 19.3457 15.9019 19.6371 15.9019C19.9285 15.9019 20.2008 15.9556 20.4538 16.0631C20.707 16.1706 20.9265 16.3175 21.1125 16.5038ZM16.0049 18.4952C15.9523 18.6423 15.8803 18.7695 15.7889 18.8768C15.6974 18.9842 15.5894 19.0686 15.4648 19.1302C15.3402 19.1918 15.2079 19.2227 15.0678 19.2227H14.408V16.8019H15.0678C15.2079 16.8019 15.3402 16.8337 15.4648 16.8973C15.5894 16.961 15.6974 17.0474 15.7889 17.1567C15.8803 17.2659 15.9523 17.3952 16.0049 17.5442C16.0574 17.6933 16.0838 17.8533 16.0838 18.0242C16.0838 18.1912 16.0574 18.3482 16.0049 18.4952ZM16.9964 17.1703C16.888 16.9148 16.7403 16.694 16.5534 16.5078C16.3662 16.3217 16.1457 16.1742 15.8917 16.0652C15.6378 15.9563 15.3669 15.9019 15.0795 15.9019H13.3961V20.0606H15.0795C15.3669 20.0606 15.6378 20.0072 15.8917 19.9002C16.1457 19.7933 16.3662 19.6467 16.5534 19.4605C16.7403 19.2744 16.888 19.0546 16.9964 18.8011C17.1045 18.5477 17.1587 18.2783 17.1587 17.9931C17.1587 17.7 17.1045 17.4257 16.9964 17.1703Z" fill="black"/>
</svg>
\ No newline at end of file
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8 0.6875C6.55373 0.6875 5.13993 1.11637 3.9374 1.91988C2.73486 2.72339 1.7976 3.86544 1.24413 5.20163C0.690668 6.53781 0.545856 8.00811 0.828011 9.4266C1.11017 10.8451 1.80661 12.148 2.82928 13.1707C3.85196 14.1934 5.15492 14.8898 6.57341 15.172C7.99189 15.4541 9.46219 15.3093 10.7984 14.7559C12.1346 14.2024 13.2766 13.2651 14.0801 12.0626C14.8836 10.8601 15.3125 9.44628 15.3125 8C15.3088 6.06175 14.5372 4.20394 13.1666 2.83339C11.7961 1.46283 9.93826 0.691217 8 0.6875ZM7.4375 4.625C7.4375 4.47582 7.49677 4.33274 7.60226 4.22725C7.70774 4.12176 7.85082 4.0625 8 4.0625C8.14919 4.0625 8.29226 4.12176 8.39775 4.22725C8.50324 4.33274 8.5625 4.47582 8.5625 4.625V8.5625C8.5625 8.71168 8.50324 8.85476 8.39775 8.96025C8.29226 9.06574 8.14919 9.125 8 9.125C7.85082 9.125 7.70774 9.06574 7.60226 8.96025C7.49677 8.85476 7.4375 8.71168 7.4375 8.5625V4.625ZM8 11.9375C7.83313 11.9375 7.66999 11.888 7.53124 11.7953C7.39249 11.7026 7.28434 11.5708 7.22048 11.4166C7.15662 11.2625 7.13991 11.0928 7.17247 10.9291C7.20502 10.7655 7.28538 10.6151 7.40338 10.4971C7.52138 10.3791 7.67172 10.2988 7.8354 10.2662C7.99907 10.2337 8.16872 10.2504 8.32289 10.3142C8.47707 10.3781 8.60884 10.4862 8.70156 10.625C8.79427 10.7637 8.84375 10.9269 8.84375 11.0938C8.84375 11.3175 8.75486 11.5321 8.59662 11.6904C8.43839 11.8486 8.22378 11.9375 8 11.9375Z" fill="#595A5A"/>
</svg>
\ No newline at end of file
<svg width="11" height="12" viewBox="0 0 11 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.5 0.71875C4.45547 0.71875 3.43439 1.02849 2.5659 1.6088C1.6974 2.18911 1.02049 3.01393 0.620764 3.97895C0.221038 4.94398 0.116452 6.00586 0.32023 7.03032C0.524008 8.05478 1.027 8.99581 1.76559 9.73441C2.50419 10.473 3.44522 10.976 4.46968 11.1798C5.49414 11.3835 6.55603 11.279 7.52105 10.8792C8.48607 10.4795 9.31089 9.8026 9.8912 8.9341C10.4715 8.06561 10.7813 7.04453 10.7813 6C10.7786 4.60015 10.2213 3.2584 9.23144 2.26856C8.2416 1.27871 6.89985 0.721434 5.5 0.71875ZM5.39844 3.15625C5.51896 3.15625 5.63678 3.19199 5.73699 3.25895C5.8372 3.32591 5.91531 3.42108 5.96143 3.53243C6.00755 3.64378 6.01962 3.7663 5.99611 3.88451C5.97259 4.00272 5.91455 4.1113 5.82933 4.19652C5.74411 4.28174 5.63553 4.33978 5.51732 4.36329C5.39912 4.3868 5.27659 4.37474 5.16524 4.32861C5.05389 4.28249 4.95872 4.20439 4.89176 4.10418C4.8248 4.00396 4.78906 3.88615 4.78906 3.76562C4.78906 3.60401 4.85327 3.44901 4.96755 3.33473C5.08183 3.22045 5.23682 3.15625 5.39844 3.15625ZM5.90625 8.84375H5.5C5.39226 8.84375 5.28893 8.80095 5.21274 8.72476C5.13655 8.64858 5.09375 8.54524 5.09375 8.4375V6C4.98601 6 4.88268 5.9572 4.80649 5.88101C4.7303 5.80483 4.6875 5.70149 4.6875 5.59375C4.6875 5.48601 4.7303 5.38267 4.80649 5.30649C4.88268 5.2303 4.98601 5.1875 5.09375 5.1875H5.5C5.60775 5.1875 5.71108 5.2303 5.78726 5.30649C5.86345 5.38267 5.90625 5.48601 5.90625 5.59375V8.03125C6.014 8.03125 6.11733 8.07405 6.19351 8.15024C6.2697 8.22642 6.3125 8.32976 6.3125 8.4375C6.3125 8.54524 6.2697 8.64858 6.19351 8.72476C6.11733 8.80095 6.014 8.84375 5.90625 8.84375Z" fill="#222222"/>
</svg>
\ No newline at end of file
<svg width="8" height="69" viewBox="0 0 8 69" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="5.30403" height="5.30403" rx="0.937039" transform="matrix(0.749528 0.661972 -0.749528 0.661972 3.97559 0)" fill="#2962FF"/>
<rect x="2.97559" y="8.89648" width="2" height="20" fill="#848E9C"/>
<rect width="5.15218" height="5.15218" rx="0.910213" transform="matrix(0.749528 0.661972 -0.749528 0.661972 3.97559 30.7705)" fill="#2962FF"/>
<rect x="2.97559" y="39.4658" width="2" height="20" fill="#2E9D72"/>
<rect width="5.30403" height="5.30403" rx="0.937039" transform="matrix(0.749528 0.661972 -0.749528 0.661972 3.97559 61.3398)" fill="#2962FF"/>
</svg>
\ No newline at end of file
<svg width="8" height="38" viewBox="0 0 8 38" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="5.30403" height="5.30403" rx="0.937039" transform="matrix(0.749528 0.661972 -0.749528 0.661972 3.97559 0)" fill="#848E9C"/>
<rect x="3" y="5" width="2" height="28" fill="#848E9C"/>
<rect width="5.15218" height="5.15218" rx="0.910213" transform="matrix(0.749528 0.661972 -0.749528 0.661972 3.97559 30.7705)" fill="#848E9C"/>
</svg>
\ No newline at end of file
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.3266 3.63526V7.01026C16.3266 7.15945 16.2673 7.30252 16.1618 7.40801C16.0563 7.5135 15.9133 7.57276 15.7641 7.57276H12.3891C12.2784 7.57258 12.1702 7.53974 12.0781 7.47836C11.986 7.41698 11.914 7.32978 11.8712 7.22769C11.8284 7.1256 11.8167 7.01316 11.8376 6.90444C11.8584 6.79572 11.9108 6.69556 11.9883 6.61651L13.2821 5.32276L12.9797 5.02042C11.9228 3.96761 10.4918 3.37649 9.00002 3.37649C7.50824 3.37649 6.07723 3.96761 5.02034 5.02042C4.9686 5.07336 4.90681 5.11542 4.83859 5.14414C4.77037 5.17286 4.69709 5.18765 4.62307 5.18765C4.54905 5.18765 4.47578 5.17286 4.40756 5.14414C4.33933 5.11542 4.27754 5.07336 4.22581 5.02042C4.12061 4.91497 4.06153 4.7721 4.06153 4.62315C4.06153 4.4742 4.12061 4.33134 4.22581 4.22589C5.4936 2.96269 7.21034 2.25342 9.00002 2.25342C10.7897 2.25342 12.5064 2.96269 13.7742 4.22589L14.0766 4.52823L15.3633 3.24151C15.4413 3.16232 15.5411 3.10804 15.65 3.08551C15.7589 3.06298 15.872 3.07323 15.975 3.11495C16.0776 3.15842 16.1655 3.2307 16.2279 3.32304C16.2902 3.41539 16.3245 3.52383 16.3266 3.63526ZM12.9797 12.9798C11.9228 14.0326 10.4918 14.6237 9.00002 14.6237C7.50824 14.6237 6.07723 14.0326 5.02034 12.9798L4.71799 12.6774L6.01174 11.3837C6.08923 11.3046 6.14167 11.2045 6.16249 11.0958C6.18332 10.9871 6.1716 10.8746 6.12882 10.7725C6.08603 10.6704 6.01407 10.5832 5.92195 10.5218C5.82984 10.4605 5.72166 10.4276 5.61096 10.4274H2.23596C2.08678 10.4274 1.9437 10.4867 1.83821 10.5922C1.73273 10.6977 1.67346 10.8408 1.67346 10.9899V14.3649C1.67551 14.4764 1.7098 14.5848 1.77219 14.6772C1.83459 14.7695 1.92241 14.8418 2.02502 14.8853C2.09197 14.9128 2.16359 14.9271 2.23596 14.9274C2.31074 14.9281 2.38487 14.9135 2.45379 14.8845C2.52271 14.8555 2.58497 14.8127 2.63674 14.7587L3.92346 13.472L4.22581 13.7743C5.49269 15.0392 7.20977 15.7497 9.00002 15.7497C10.7903 15.7497 12.5074 15.0392 13.7742 13.7743C13.8794 13.6689 13.9385 13.526 13.9385 13.3771C13.9385 13.2281 13.8794 13.0852 13.7742 12.9798C13.7225 12.9269 13.6607 12.8848 13.5925 12.8561C13.5243 12.8274 13.451 12.8126 13.377 12.8126C13.303 12.8126 13.2297 12.8274 13.1615 12.8561C13.0932 12.8848 13.0314 12.9269 12.9797 12.9798Z" fill="#2962FF"/>
</svg>
\ No newline at end of file
<svg width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17.585 20.7168C16.6385 20.7168 15.8712 21.4841 15.8712 22.4306C15.8712 23.3772 16.6385 24.1445 17.585 24.1445C18.5315 24.1445 19.2988 23.3772 19.2988 22.4306C19.2988 21.4841 18.5315 20.7168 17.585 20.7168ZM17.585 23.9731C16.7344 23.9731 16.0426 23.2812 16.0426 22.4306C16.0426 21.58 16.7344 20.8882 17.585 20.8882C18.4355 20.8882 19.1274 21.58 19.1274 22.4306C19.1274 23.2812 18.4355 23.9731 17.585 23.9731Z" fill="black"/>
<path d="M17.4893 21.1523H17.6808V22.5336H17.4893V21.1523Z" fill="black"/>
<path d="M17.496 22.335H18.8771V22.5265H17.496V22.335Z" fill="black"/>
<path d="M35.3015 4.57129C18.4341 4.57129 4.76178 18.2425 4.76178 35.1099C4.76178 51.9754 18.4341 65.6472 35.3015 65.6472C52.1669 65.6472 65.8392 51.9754 65.8392 35.1099C65.8392 18.2425 52.1669 4.57129 35.3015 4.57129ZM54.8908 28.9215L34.5893 51.7937C34.227 52.1988 33.5612 52.285 33.1102 51.9864L15.9059 40.6411C15.4519 40.3429 15.3096 39.715 15.5881 39.2519L20.234 31.4755C20.5094 31.0099 21.0653 30.9276 21.4669 31.2954L31.4558 40.4207C31.8522 40.7878 32.4425 40.7258 32.7602 40.284L47.0922 20.4297C47.4061 19.9904 47.9669 19.9591 48.3382 20.3566L54.8818 27.4587C55.248 27.8551 55.2541 28.5159 54.8908 28.9215Z" fill="#4B79F1"/>
</svg>
<svg width="24" height="24" viewBox="0 0 24 24" fill="" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.87727 2.06C8.94364 2.01091 9.28364 2 12 2C14.7164 2 15.0564 2.01182 16.1218 2.06C17.1873 2.10818 17.9145 2.27818 18.5509 2.52455C19.2173 2.77636 19.8218 3.17 20.3218 3.67909C20.8309 4.17818 21.2236 4.78182 21.4745 5.44909C21.7218 6.08545 21.8909 6.81273 21.94 7.87636C21.9891 8.94455 22 9.28455 22 12C22 14.7164 21.9882 15.0564 21.94 16.1227C21.8918 17.1864 21.7218 17.9136 21.4745 18.55C21.2236 19.2174 20.8303 19.822 20.3218 20.3218C19.8218 20.8309 19.2173 21.2236 18.5509 21.4745C17.9145 21.7218 17.1873 21.8909 16.1236 21.94C15.0564 21.9891 14.7164 22 12 22C9.28364 22 8.94364 21.9882 7.87727 21.94C6.81364 21.8918 6.08636 21.7218 5.45 21.4745C4.78266 21.2236 4.17802 20.8302 3.67818 20.3218C3.16944 19.8224 2.77574 19.2181 2.52455 18.5509C2.27818 17.9145 2.10909 17.1873 2.06 16.1236C2.01091 15.0555 2 14.7155 2 12C2 9.28364 2.01182 8.94364 2.06 7.87818C2.10818 6.81273 2.27818 6.08545 2.52455 5.44909C2.77611 4.78189 3.17011 4.17756 3.67909 3.67818C4.17822 3.16955 4.78225 2.77586 5.44909 2.52455C6.08545 2.27818 6.81273 2.10909 7.87636 2.06H7.87727ZM16.0409 3.86C14.9864 3.81182 14.67 3.80182 12 3.80182C9.33 3.80182 9.01364 3.81182 7.95909 3.86C6.98364 3.90455 6.45455 4.06727 6.10182 4.20455C5.63545 4.38636 5.30182 4.60182 4.95182 4.95182C4.62004 5.27459 4.36471 5.66753 4.20455 6.10182C4.06727 6.45455 3.90455 6.98364 3.86 7.95909C3.81182 9.01364 3.80182 9.33 3.80182 12C3.80182 14.67 3.81182 14.9864 3.86 16.0409C3.90455 17.0164 4.06727 17.5455 4.20455 17.8982C4.36455 18.3318 4.62 18.7255 4.95182 19.0482C5.27455 19.38 5.66818 19.6355 6.10182 19.7955C6.45455 19.9327 6.98364 20.0955 7.95909 20.14C9.01364 20.1882 9.32909 20.1982 12 20.1982C14.6709 20.1982 14.9864 20.1882 16.0409 20.14C17.0164 20.0955 17.5455 19.9327 17.8982 19.7955C18.3645 19.6136 18.6982 19.3982 19.0482 19.0482C19.38 18.7255 19.6355 18.3318 19.7955 17.8982C19.9327 17.5455 20.0955 17.0164 20.14 16.0409C20.1882 14.9864 20.1982 14.67 20.1982 12C20.1982 9.33 20.1882 9.01364 20.14 7.95909C20.0955 6.98364 19.9327 6.45455 19.7955 6.10182C19.6136 5.63545 19.3982 5.30182 19.0482 4.95182C18.7254 4.62006 18.3325 4.36474 17.8982 4.20455C17.5455 4.06727 17.0164 3.90455 16.0409 3.86V3.86ZM10.7227 15.0827C11.4361 15.3797 12.2303 15.4197 12.9699 15.1961C13.7095 14.9725 14.3485 14.499 14.7778 13.8566C15.2071 13.2142 15.4001 12.4426 15.3237 11.6737C15.2473 10.9049 14.9064 10.1863 14.3591 9.64091C14.0102 9.29225 13.5884 9.02528 13.1239 8.85922C12.6595 8.69317 12.164 8.63215 11.6732 8.68056C11.1823 8.72897 10.7083 8.88562 10.2853 9.13921C9.86223 9.3928 9.50068 9.73704 9.22664 10.1471C8.9526 10.5572 8.7729 11.023 8.70047 11.5109C8.62804 11.9988 8.66468 12.4966 8.80776 12.9687C8.95084 13.4407 9.1968 13.8751 9.52793 14.2407C9.85905 14.6062 10.2671 14.8938 10.7227 15.0827ZM8.36545 8.36545C8.84275 7.88816 9.40938 7.50955 10.033 7.25124C10.6566 6.99293 11.325 6.85998 12 6.85998C12.675 6.85998 13.3434 6.99293 13.967 7.25124C14.5906 7.50955 15.1573 7.88816 15.6345 8.36545C16.1118 8.84275 16.4905 9.40938 16.7488 10.033C17.0071 10.6566 17.14 11.325 17.14 12C17.14 12.675 17.0071 13.3434 16.7488 13.967C16.4905 14.5906 16.1118 15.1573 15.6345 15.6345C14.6706 16.5985 13.3632 17.14 12 17.14C10.6368 17.14 9.3294 16.5985 8.36545 15.6345C7.40151 14.6706 6.85998 13.3632 6.85998 12C6.85998 10.6368 7.40151 9.3294 8.36545 8.36545V8.36545ZM18.28 7.62545C18.3983 7.51388 18.493 7.37971 18.5585 7.23089C18.624 7.08206 18.6589 6.92161 18.6613 6.75903C18.6637 6.59645 18.6334 6.43504 18.5723 6.28437C18.5111 6.1337 18.4204 5.99683 18.3054 5.88185C18.1904 5.76688 18.0536 5.67614 17.9029 5.61502C17.7522 5.55389 17.5908 5.52361 17.4282 5.52598C17.2657 5.52835 17.1052 5.56332 16.9564 5.62881C16.8076 5.69431 16.6734 5.789 16.5618 5.90727C16.3448 6.1373 16.226 6.44284 16.2306 6.75903C16.2352 7.07522 16.3629 7.37716 16.5865 7.60077C16.8101 7.82437 17.1121 7.95203 17.4282 7.95664C17.7444 7.96125 18.05 7.84245 18.28 7.62545V7.62545Z" fill=""/>
</svg>
\ No newline at end of file
<svg width="24" height="24" viewBox="0 0 24 24" fill="" xmlns="http://www.w3.org/2000/svg">
<path d="M2 12.06C2.00056 14.456 2.85047 16.7732 4.39696 18.5952C5.94345 20.4172 8.08511 21.6244 10.437 21.9999V14.9678H7.9V12.06H10.44V9.84642C10.3839 9.32833 10.4419 8.80418 10.6098 8.31117C10.7777 7.81817 11.0515 7.36842 11.4116 6.99387C11.7718 6.61931 12.2095 6.32913 12.6936 6.14395C13.1778 5.95876 13.6965 5.88311 14.213 5.92237C14.963 5.93444 15.713 6.00186 16.453 6.1236V8.59777H15.189C14.9742 8.56945 14.7558 8.59008 14.5499 8.65812C14.3441 8.72615 14.1561 8.83986 13.9998 8.99084C13.8435 9.14182 13.7229 9.32621 13.647 9.53038C13.571 9.73455 13.5416 9.95328 13.561 10.1704V12.06H16.332L15.889 14.9688H13.561V21.9999C15.4486 21.6998 17.2112 20.8617 18.6402 19.5849C20.0691 18.3081 21.1045 16.6461 21.6238 14.7956C22.143 12.9451 22.1244 10.9836 21.5702 9.14345C21.0159 7.30326 19.9492 5.6614 18.4964 4.41226C17.0435 3.16311 15.2653 2.359 13.3724 2.09511C11.4794 1.83123 9.55092 2.11863 7.81525 2.92329C6.07958 3.72795 4.60942 5.01616 3.5788 6.63542C2.54819 8.25467 2.0003 10.1372 2 12.06V12.06Z" fill=""/>
</svg>
\ No newline at end of file
<svg width="24" height="24" viewBox="0 0 24 24" fill="" xmlns="http://www.w3.org/2000/svg">
<path d="M23.643 4.93699C22.808 5.30699 21.911 5.55699 20.968 5.66999C21.941 5.08778 22.6689 4.17145 23.016 3.09199C22.1018 3.63497 21.1013 4.01718 20.058 4.22199C19.3564 3.47285 18.4271 2.97631 17.4143 2.80946C16.4016 2.64261 15.3621 2.81478 14.4572 3.29924C13.5524 3.7837 12.8328 4.55335 12.4102 5.48869C11.9875 6.42403 11.8855 7.47274 12.12 8.47199C10.2677 8.37898 8.45563 7.89753 6.80142 7.05889C5.14722 6.22025 3.68784 5.04315 2.518 3.60399C2.118 4.29399 1.888 5.09399 1.888 5.94599C1.88755 6.71298 2.07643 7.46823 2.43788 8.14472C2.79932 8.82121 3.32216 9.39802 3.96 9.82399C3.22028 9.80045 2.49687 9.60057 1.85 9.24099V9.30098C1.84993 10.3767 2.22203 11.4194 2.90318 12.252C3.58433 13.0846 4.53257 13.6559 5.587 13.869C4.90078 14.0547 4.18134 14.0821 3.483 13.949C3.7805 14.8746 4.36 15.684 5.14037 16.2639C5.92074 16.8438 6.86292 17.1652 7.835 17.183C6.18483 18.4784 4.14689 19.1811 2.049 19.178C1.67738 19.1781 1.30608 19.1564 0.937 19.113C3.06648 20.4822 5.54534 21.2088 8.077 21.206C16.647 21.206 21.332 14.108 21.332 7.95199C21.332 7.75199 21.327 7.54998 21.318 7.34999C22.2293 6.69096 23.0159 5.87488 23.641 4.93999L23.643 4.93699Z" fill=""/>
</svg>
\ No newline at end of file
<svg width="24" height="24" viewBox="0 0 24 24" fill="" xmlns="http://www.w3.org/2000/svg">
<path d="M21.593 7.20301C21.4791 6.78041 21.2565 6.39501 20.9474 6.08518C20.6382 5.77534 20.2533 5.55187 19.831 5.43701C18.265 5.00701 12 5.00001 12 5.00001C12 5.00001 5.736 4.99301 4.169 5.40401C3.74693 5.52415 3.36282 5.75078 3.05357 6.06214C2.74431 6.3735 2.52029 6.75913 2.403 7.18201C1.99 8.74801 1.986 11.996 1.986 11.996C1.986 11.996 1.982 15.26 2.392 16.81C2.622 17.667 3.297 18.344 4.155 18.575C5.737 19.005 11.985 19.012 11.985 19.012C11.985 19.012 18.25 19.019 19.816 18.609C20.2385 18.4943 20.6237 18.2714 20.9337 17.9622C21.2436 17.653 21.4674 17.2682 21.583 16.846C21.997 15.281 22 12.034 22 12.034C22 12.034 22.02 8.76901 21.593 7.20301ZM9.996 15.005L10.001 9.00501L15.208 12.01L9.996 15.005Z" fill=""/>
</svg>
\ No newline at end of file
<svg width="24" height="24" viewBox="0 0 24 24" fill="" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM12.3583 9.38245C11.3857 9.78701 9.44176 10.6243 6.52656 11.8945C6.05318 12.0827 5.8052 12.2669 5.78262 12.4469C5.74447 12.7513 6.12558 12.8711 6.64454 13.0343C6.71513 13.0565 6.78828 13.0795 6.86326 13.1039C7.37385 13.2698 8.06067 13.464 8.41772 13.4717C8.7416 13.4787 9.10309 13.3452 9.50218 13.0711C12.2259 11.2325 13.632 10.3032 13.7202 10.2832C13.7825 10.269 13.8688 10.2512 13.9273 10.3032C13.9858 10.3552 13.98 10.4536 13.9738 10.48C13.9361 10.641 12.4401 12.0318 11.6659 12.7515C11.4246 12.9759 11.2534 13.135 11.2184 13.1714C11.14 13.2528 11.0601 13.3298 10.9833 13.4039C10.509 13.8611 10.1532 14.204 11.003 14.764C11.4113 15.0331 11.7381 15.2556 12.0641 15.4776C12.4201 15.7201 12.7752 15.9619 13.2347 16.2631C13.3517 16.3398 13.4635 16.4195 13.5724 16.4971C13.9867 16.7925 14.3589 17.0579 14.8188 17.0155C15.086 16.991 15.362 16.7397 15.5022 15.9903C15.8335 14.2193 16.4847 10.3821 16.6352 8.80082C16.6483 8.66229 16.6318 8.48499 16.6184 8.40716C16.6051 8.32932 16.5773 8.21843 16.4761 8.13634C16.3563 8.03912 16.1713 8.01862 16.0886 8.02008C15.7125 8.0267 15.1354 8.22736 12.3583 9.38245Z" fill=""/>
</svg>
\ No newline at end of file
<svg width="133" height="30" viewBox="0 0 133 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0.744 14.36C0.744 13.32 0.928 12.304 1.296 11.312C1.68 10.304 2.232 9.392 2.952 8.576C3.672 7.744 4.552 7.088 5.592 6.608C6.632 6.112 7.816 5.864 9.144 5.864C10.712 5.864 12.064 6.208 13.2 6.896C14.352 7.584 15.208 8.48 15.768 9.584L13.224 11.336C12.936 10.696 12.56 10.192 12.096 9.824C11.632 9.44 11.136 9.176 10.608 9.032C10.08 8.872 9.56 8.792 9.048 8.792C8.216 8.792 7.488 8.96 6.864 9.296C6.256 9.632 5.744 10.072 5.328 10.616C4.912 11.16 4.6 11.768 4.392 12.44C4.2 13.112 4.104 13.784 4.104 14.456C4.104 15.208 4.224 15.936 4.464 16.64C4.704 17.328 5.04 17.944 5.472 18.488C5.92 19.016 6.448 19.44 7.056 19.76C7.68 20.064 8.36 20.216 9.096 20.216C9.624 20.216 10.16 20.128 10.704 19.952C11.248 19.776 11.752 19.496 12.216 19.112C12.68 18.728 13.04 18.232 13.296 17.624L16.008 19.184C15.672 20.032 15.12 20.752 14.352 21.344C13.6 21.936 12.752 22.384 11.808 22.688C10.864 22.992 9.928 23.144 9 23.144C7.784 23.144 6.672 22.896 5.664 22.4C4.656 21.888 3.784 21.216 3.048 20.384C2.328 19.536 1.76 18.592 1.344 17.552C0.944 16.496 0.744 15.432 0.744 14.36ZM25.4051 13.208C24.4291 13.208 23.5571 13.4 22.7891 13.784C22.0211 14.152 21.4691 14.688 21.1331 15.392V23H17.9171V10.424H20.8691V13.112C21.3171 12.248 21.8851 11.568 22.5731 11.072C23.2611 10.576 23.9891 10.304 24.7571 10.256C24.9331 10.256 25.0691 10.256 25.1651 10.256C25.2611 10.256 25.3411 10.264 25.4051 10.28V13.208ZM27.4624 25.448C27.7504 25.512 28.0144 25.568 28.2544 25.616C28.5104 25.664 28.7264 25.688 28.9024 25.688C29.2064 25.688 29.4544 25.608 29.6464 25.448C29.8544 25.304 30.0544 25.032 30.2464 24.632C30.4384 24.248 30.6384 23.704 30.8464 23L25.8784 10.424H29.2144L32.5984 19.712L35.5744 10.424H38.6464L33.3664 25.496C33.1744 26.056 32.8784 26.56 32.4784 27.008C32.0944 27.472 31.6064 27.832 31.0144 28.088C30.4384 28.36 29.7904 28.496 29.0704 28.496C28.8144 28.496 28.5584 28.472 28.3024 28.424C28.0464 28.392 27.7664 28.328 27.4624 28.232V25.448ZM47.9297 23.24C46.9537 23.24 46.0897 23.024 45.3377 22.592C44.6017 22.144 44.0257 21.544 43.6097 20.792V28.112H40.3937V10.424H43.2017V12.584C43.6817 11.848 44.2897 11.272 45.0257 10.856C45.7617 10.424 46.6017 10.208 47.5457 10.208C48.3937 10.208 49.1697 10.376 49.8737 10.712C50.5937 11.048 51.2177 11.52 51.7457 12.128C52.2737 12.72 52.6817 13.408 52.9697 14.192C53.2737 14.96 53.4257 15.792 53.4257 16.688C53.4257 17.904 53.1857 19.008 52.7057 20C52.2417 20.992 51.5937 21.784 50.7617 22.376C49.9457 22.952 49.0017 23.24 47.9297 23.24ZM46.8497 20.504C47.3457 20.504 47.7937 20.4 48.1937 20.192C48.5937 19.984 48.9377 19.704 49.2257 19.352C49.5297 18.984 49.7537 18.576 49.8977 18.128C50.0577 17.664 50.1377 17.184 50.1377 16.688C50.1377 16.16 50.0497 15.672 49.8737 15.224C49.7137 14.776 49.4737 14.384 49.1537 14.048C48.8337 13.696 48.4577 13.424 48.0257 13.232C47.6097 13.04 47.1537 12.944 46.6577 12.944C46.3537 12.944 46.0417 13 45.7217 13.112C45.4177 13.208 45.1217 13.352 44.8337 13.544C44.5457 13.736 44.2897 13.96 44.0657 14.216C43.8577 14.472 43.7057 14.752 43.6097 15.056V18.008C43.8017 18.472 44.0577 18.896 44.3777 19.28C44.7137 19.664 45.0977 19.968 45.5297 20.192C45.9617 20.4 46.4017 20.504 46.8497 20.504ZM62.9766 22.352C62.7046 22.464 62.3766 22.592 61.9926 22.736C61.6086 22.88 61.1926 22.992 60.7446 23.072C60.3126 23.168 59.8726 23.216 59.4246 23.216C58.8326 23.216 58.2886 23.112 57.7926 22.904C57.2966 22.696 56.8966 22.368 56.5926 21.92C56.3046 21.456 56.1606 20.856 56.1606 20.12V12.896H54.5046V10.424H56.1606V6.344H59.3766V10.424H62.0166V12.896H59.3766V19.04C59.3926 19.472 59.5126 19.784 59.7366 19.976C59.9606 20.168 60.2406 20.264 60.5766 20.264C60.9126 20.264 61.2406 20.208 61.5606 20.096C61.8806 19.984 62.1366 19.888 62.3286 19.808L62.9766 22.352ZM70.3189 23.24C69.2949 23.24 68.3749 23.072 67.5589 22.736C66.7429 22.384 66.0469 21.904 65.4709 21.296C64.9109 20.688 64.4789 19.992 64.1749 19.208C63.8709 18.424 63.7189 17.6 63.7189 16.736C63.7189 15.856 63.8709 15.024 64.1749 14.24C64.4789 13.456 64.9109 12.76 65.4709 12.152C66.0469 11.544 66.7429 11.072 67.5589 10.736C68.3749 10.384 69.2949 10.208 70.3189 10.208C71.3429 10.208 72.2549 10.384 73.0549 10.736C73.8709 11.072 74.5669 11.544 75.1429 12.152C75.7189 12.76 76.1509 13.456 76.4389 14.24C76.7429 15.024 76.8949 15.856 76.8949 16.736C76.8949 17.6 76.7429 18.424 76.4389 19.208C76.1509 19.992 75.7189 20.688 75.1429 21.296C74.5829 21.904 73.8949 22.384 73.0789 22.736C72.2629 23.072 71.3429 23.24 70.3189 23.24ZM67.0309 16.736C67.0309 17.472 67.1749 18.128 67.4629 18.704C67.7509 19.264 68.1429 19.704 68.6389 20.024C69.1349 20.344 69.6949 20.504 70.3189 20.504C70.9269 20.504 71.4789 20.344 71.9749 20.024C72.4709 19.688 72.8629 19.24 73.1509 18.68C73.4549 18.104 73.6069 17.448 73.6069 16.712C73.6069 15.992 73.4549 15.344 73.1509 14.768C72.8629 14.192 72.4709 13.744 71.9749 13.424C71.4789 13.104 70.9269 12.944 70.3189 12.944C69.6949 12.944 69.1349 13.112 68.6389 13.448C68.1429 13.768 67.7509 14.216 67.4629 14.792C67.1749 15.352 67.0309 16 67.0309 16.736Z" fill="#1E2329"/>
<path d="M78.3456 14.36C78.3456 13.32 78.5296 12.304 78.8976 11.312C79.2816 10.304 79.8336 9.392 80.5536 8.576C81.2736 7.744 82.1536 7.088 83.1936 6.608C84.2336 6.112 85.4176 5.864 86.7456 5.864C88.3136 5.864 89.6656 6.208 90.8016 6.896C91.9536 7.584 92.8096 8.48 93.3696 9.584L90.8256 11.336C90.5376 10.696 90.1616 10.192 89.6976 9.824C89.2336 9.44 88.7376 9.176 88.2096 9.032C87.6816 8.872 87.1616 8.792 86.6496 8.792C85.8176 8.792 85.0896 8.96 84.4656 9.296C83.8576 9.632 83.3456 10.072 82.9296 10.616C82.5136 11.16 82.2016 11.768 81.9936 12.44C81.8016 13.112 81.7056 13.784 81.7056 14.456C81.7056 15.208 81.8256 15.936 82.0656 16.64C82.3056 17.328 82.6416 17.944 83.0736 18.488C83.5216 19.016 84.0496 19.44 84.6576 19.76C85.2816 20.064 85.9616 20.216 86.6976 20.216C87.2256 20.216 87.7616 20.128 88.3056 19.952C88.8496 19.776 89.3536 19.496 89.8176 19.112C90.2816 18.728 90.6416 18.232 90.8976 17.624L93.6096 19.184C93.2736 20.032 92.7216 20.752 91.9536 21.344C91.2016 21.936 90.3536 22.384 89.4096 22.688C88.4656 22.992 87.5296 23.144 86.6016 23.144C85.3856 23.144 84.2736 22.896 83.2656 22.4C82.2576 21.888 81.3856 21.216 80.6496 20.384C79.9296 19.536 79.3616 18.592 78.9456 17.552C78.5456 16.496 78.3456 15.432 78.3456 14.36ZM94.6547 19.28C94.6547 18.464 94.8787 17.752 95.3267 17.144C95.7907 16.52 96.4307 16.04 97.2467 15.704C98.0627 15.368 98.9987 15.2 100.055 15.2C100.583 15.2 101.119 15.24 101.663 15.32C102.207 15.4 102.679 15.528 103.079 15.704V15.032C103.079 14.232 102.839 13.616 102.359 13.184C101.895 12.752 101.199 12.536 100.271 12.536C99.5827 12.536 98.9267 12.656 98.3027 12.896C97.6787 13.136 97.0227 13.488 96.3347 13.952L95.3027 11.84C96.1347 11.296 96.9827 10.888 97.8467 10.616C98.7267 10.344 99.6467 10.208 100.607 10.208C102.399 10.208 103.791 10.656 104.783 11.552C105.791 12.448 106.295 13.728 106.295 15.392V19.4C106.295 19.736 106.351 19.976 106.463 20.12C106.591 20.264 106.791 20.352 107.063 20.384V23C106.775 23.048 106.511 23.088 106.271 23.12C106.047 23.152 105.855 23.168 105.695 23.168C105.055 23.168 104.567 23.024 104.231 22.736C103.911 22.448 103.711 22.096 103.631 21.68L103.559 21.032C103.015 21.736 102.335 22.28 101.519 22.664C100.703 23.048 99.8707 23.24 99.0227 23.24C98.1907 23.24 97.4387 23.072 96.7667 22.736C96.1107 22.384 95.5907 21.912 95.2067 21.32C94.8387 20.712 94.6547 20.032 94.6547 19.28ZM102.479 19.928C102.655 19.736 102.799 19.544 102.911 19.352C103.023 19.16 103.079 18.984 103.079 18.824V17.552C102.695 17.392 102.279 17.272 101.831 17.192C101.383 17.096 100.959 17.048 100.559 17.048C99.7267 17.048 99.0387 17.232 98.4947 17.6C97.9667 17.952 97.7027 18.424 97.7027 19.016C97.7027 19.336 97.7907 19.64 97.9667 19.928C98.1427 20.216 98.3987 20.448 98.7347 20.624C99.0707 20.8 99.4707 20.888 99.9347 20.888C100.415 20.888 100.887 20.8 101.351 20.624C101.815 20.432 102.191 20.2 102.479 19.928ZM116.836 23.24C115.86 23.24 114.996 23.024 114.244 22.592C113.508 22.144 112.932 21.544 112.516 20.792V28.112H109.3V10.424H112.108V12.584C112.588 11.848 113.196 11.272 113.932 10.856C114.668 10.424 115.508 10.208 116.452 10.208C117.3 10.208 118.076 10.376 118.78 10.712C119.5 11.048 120.124 11.52 120.652 12.128C121.18 12.72 121.588 13.408 121.876 14.192C122.18 14.96 122.332 15.792 122.332 16.688C122.332 17.904 122.092 19.008 121.612 20C121.148 20.992 120.5 21.784 119.668 22.376C118.852 22.952 117.908 23.24 116.836 23.24ZM115.756 20.504C116.252 20.504 116.7 20.4 117.1 20.192C117.5 19.984 117.844 19.704 118.132 19.352C118.436 18.984 118.66 18.576 118.804 18.128C118.964 17.664 119.044 17.184 119.044 16.688C119.044 16.16 118.956 15.672 118.78 15.224C118.62 14.776 118.38 14.384 118.06 14.048C117.74 13.696 117.364 13.424 116.932 13.232C116.516 13.04 116.06 12.944 115.564 12.944C115.26 12.944 114.948 13 114.628 13.112C114.324 13.208 114.028 13.352 113.74 13.544C113.452 13.736 113.196 13.96 112.972 14.216C112.764 14.472 112.612 14.752 112.516 15.056V18.008C112.708 18.472 112.964 18.896 113.284 19.28C113.62 19.664 114.004 19.968 114.436 20.192C114.868 20.4 115.308 20.504 115.756 20.504Z" fill="#0FAE96"/>
</svg>
\ No newline at end of file
<svg width="61" height="60" viewBox="0 0 61 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M45.3333 12.75H2.58325V54H45.3333V33.375V12.75ZM41.7737 16.9772H6.14344V49.7724H41.7737V16.9772Z" fill="#1E2329"/>
<path d="M2.33325 10H45.0833V6H2.33325V10Z" fill="#1E2329"/>
<path d="M11.3334 26.0001H27.8334V30.0001H11.3334V26.0001Z" fill="#29CD97"/>
<path d="M11.3334 36.9999H34.3334V40.9999H11.3334V36.9999Z" fill="#1E2329"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M53.8333 23.0001H41.8333V54.0001H53.8333V33.4446V23.0001ZM49.6787 27.213H45.9887V49.7867H49.6787V27.213Z" fill="#1E2329"/>
</svg>
\ No newline at end of file
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20.0206 5.4166C28.0617 5.4166 34.604 11.9586 34.604 20C34.604 28.0411 28.0617 34.5834 20.0206 34.5834C11.9792 34.5834 5.43715 28.0412 5.43715 20C5.43719 11.9586 11.9792 5.4166 20.0206 5.4166ZM20.0206 37.5C29.6703 37.5 37.5206 29.6498 37.5206 20C37.5206 10.3502 29.6703 2.5 20.0206 2.5C10.3707 2.5 2.52055 10.3502 2.52055 20C2.52055 29.6498 10.3707 37.5 20.0206 37.5ZM21.9629 27.6826C22.1534 27.8536 22.3855 27.9714 22.636 28.0243C22.8865 28.0771 23.1464 28.0631 23.3898 27.9836C23.6331 27.9042 23.8512 27.7621 24.0222 27.5717C24.1932 27.3813 24.3111 27.1492 24.364 26.8988C24.4168 26.6484 24.4028 26.3884 24.3234 26.1451C24.2439 25.9017 24.1019 25.6836 23.9114 25.5125L17.8038 20.0293L23.9332 14.2935C24.4975 13.7387 24.5165 12.835 23.9757 12.2574C23.4352 11.6795 22.5322 11.6381 21.9412 12.1643L14.6495 18.9865C14.5017 19.1245 14.3842 19.2918 14.3046 19.4777C14.225 19.6636 14.1849 19.864 14.187 20.0662C14.1891 20.2684 14.2332 20.4679 14.3165 20.6521C14.3999 20.8363 14.5207 21.0011 14.6713 21.1361L21.9629 27.6841V27.6826Z" fill="#808080"/>
</svg>
\ No newline at end of file
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19.9795 34.5834C11.9384 34.5834 5.39609 28.0414 5.39609 20C5.39609 11.9589 11.9383 5.41664 19.9795 5.41664C28.0209 5.41664 34.5629 11.9589 34.5629 20C34.5629 28.0414 28.0209 34.5834 19.9795 34.5834ZM19.9795 2.5C10.3297 2.5 2.47949 10.3502 2.47949 20C2.47949 29.6498 10.3297 37.5 19.9795 37.5C29.6293 37.5 37.4795 29.6498 37.4795 20C37.4795 10.3502 29.6293 2.5 19.9795 2.5ZM18.0371 12.3174C17.8466 12.1464 17.6145 12.0286 17.364 11.9757C17.1136 11.9229 16.8536 11.9369 16.6103 12.0164C16.367 12.0958 16.1489 12.2378 15.9778 12.4283C15.8068 12.6187 15.689 12.8508 15.6361 13.1012C15.5832 13.3516 15.5972 13.6116 15.6767 13.8549C15.7561 14.0983 15.8982 14.3164 16.0886 14.4875L22.1963 19.9707L16.0669 25.7065C15.5025 26.2612 15.4836 27.165 16.0244 27.7426C16.5649 28.3205 17.4679 28.3619 18.0589 27.8356L25.3505 21.0134C25.4984 20.8754 25.6158 20.7082 25.6954 20.5223C25.7751 20.3364 25.8151 20.136 25.813 19.9338C25.811 19.7316 25.7669 19.532 25.6835 19.3478C25.6002 19.1636 25.4794 18.9988 25.3288 18.8639L18.0371 12.3159V12.3174Z" fill="#808080"/>
</svg>
\ No newline at end of file
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.6248 35.7291V38.3333H20.2289V36.2708L24.3956 31.2708C24.9372 30.625 25.8122 29.3541 26.0831 28.8125C26.3539 28.2708 26.4789 27.7083 26.4789 27.1666C26.4789 26.2708 25.9998 25.8125 25.0831 25.8125C24.3539 25.8125 23.9581 26.0416 23.6664 26.6666C23.4581 27.0625 23.3747 27.375 23.3331 27.7916L20.3956 27.5833C20.5414 24.6666 22.1248 23.2291 25.1873 23.2291C28.0831 23.2291 29.6456 24.6875 29.6456 27.3541C29.6456 28.5208 29.3539 29.4791 28.6456 30.6041C28.4543 30.9056 28.3307 31.1007 28.1746 31.3148L28.0041 31.54C27.7209 31.9012 27.2902 32.3995 26.3747 33.4583L24.4164 35.7291H29.6248ZM39.1254 35.7915V38.3332H36.2713V35.7915H30.4171V33.8749L34.9587 23.4582H38.3337L34.0421 33.2499H36.2713V29.9165H39.1254V33.2499H40.4171V35.7915H39.1254Z" fill="#2DBD96"/>
<path d="M30.3227 55C32.6239 55 34.4893 53.1345 34.4893 50.8333C34.4893 48.5321 32.6239 46.6666 30.3227 46.6666C28.0215 46.6666 26.156 48.5321 26.156 50.8333C26.156 53.1345 28.0215 55 30.3227 55Z" fill="#1E2329"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.0001 27.9167H9.18808C10.2335 17.3691 19.132 9.13079 29.9547 9.13079C40.7773 9.13079 49.6758 17.3691 50.7213 27.9167H54.9155C53.8567 15.0605 43.0872 4.95691 29.9578 4.95691C16.8284 4.95691 6.05886 15.0605 5.0001 27.9167ZM31.4393 55H28.4763C28.9664 55.0286 29.4604 55.0431 29.9578 55.0431C30.4552 55.0431 30.9492 55.0286 31.4393 55Z" fill="#1E2329"/>
<path d="M5 32.0834H9.17833V42.5H5V32.0834Z" fill="#1E2329"/>
<path d="M50.6562 32.0834H55.0002V42.5H50.6562V32.0834Z" fill="#1E2329"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M54.9833 32.0834H28.0444H50.6559V42.3608C50.6559 46.0427 47.6712 49.0275 43.9893 49.0275H28.0444V53.3608H44.9833C50.5062 53.3608 54.9833 48.8836 54.9833 43.3608V32.0834Z" fill="#1E2329"/>
</svg>
\ No newline at end of file
<svg width="81" height="80" viewBox="0 0 81 80" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect x="0.5" width="80" height="80" fill="url(#pattern0)"/>
<defs>
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0_767_9165" transform="scale(0.00694444)"/>
</pattern>
<image id="image0_767_9165" width="144" height="144" xlink:href="data:image/png;base64,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"/>
</defs>
</svg>
\ No newline at end of file
<svg width="81" height="80" viewBox="0 0 81 80" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle cx="40.5" cy="40" r="40" fill="#2C223B"/>
<path d="M55.5 24H25.5C23.9087 24 22.3826 24.6321 21.2574 25.7574C20.1321 26.8826 19.5 28.4087 19.5 30V51C19.5 52.5913 20.1321 54.1174 21.2574 55.2426C22.3826 56.3679 23.9087 57 25.5 57H55.5C57.0913 57 58.6174 56.3679 59.7426 55.2426C60.8679 54.1174 61.5 52.5913 61.5 51V30C61.5 28.4087 60.8679 26.8826 59.7426 25.7574C58.6174 24.6321 57.0913 24 55.5 24ZM31.5 49.5H25.5C25.1022 49.5 24.7206 49.342 24.4393 49.0607C24.158 48.7794 24 48.3978 24 48C24 47.6022 24.158 47.2206 24.4393 46.9393C24.7206 46.658 25.1022 46.5 25.5 46.5H31.5C31.8978 46.5 32.2794 46.658 32.5607 46.9393C32.842 47.2206 33 47.6022 33 48C33 48.3978 32.842 48.7794 32.5607 49.0607C32.2794 49.342 31.8978 49.5 31.5 49.5ZM36 42H25.5C25.1022 42 24.7206 41.842 24.4393 41.5607C24.158 41.2794 24 40.8978 24 40.5C24 40.1022 24.158 39.7206 24.4393 39.4393C24.7206 39.158 25.1022 39 25.5 39H36C36.3978 39 36.7794 39.158 37.0607 39.4393C37.342 39.7206 37.5 40.1022 37.5 40.5C37.5 40.8978 37.342 41.2794 37.0607 41.5607C36.7794 41.842 36.3978 42 36 42ZM36 34.5H25.5C25.1022 34.5 24.7206 34.342 24.4393 34.0607C24.158 33.7794 24 33.3978 24 33C24 32.6022 24.158 32.2206 24.4393 31.9393C24.7206 31.658 25.1022 31.5 25.5 31.5H36C36.3978 31.5 36.7794 31.658 37.0607 31.9393C37.342 32.2206 37.5 32.6022 37.5 33C37.5 33.3978 37.342 33.7794 37.0607 34.0607C36.7794 34.342 36.3978 34.5 36 34.5ZM57 48C56.9988 48.7953 56.6823 49.5576 56.12 50.12C55.5576 50.6823 54.7953 50.9988 54 51H43.5C42.7047 50.9988 41.9424 50.6823 41.38 50.12C40.8177 49.5576 40.5012 48.7953 40.5 48V47.25C40.5 45.062 41.3692 42.9635 42.9164 41.4164C44.4635 39.8692 46.562 39 48.75 39C47.86 39 46.99 38.7361 46.2499 38.2416C45.5099 37.7471 44.9331 37.0443 44.5925 36.2221C44.2519 35.3998 44.1628 34.495 44.3365 33.6221C44.5101 32.7492 44.9387 31.9474 45.568 31.318C46.1974 30.6887 46.9992 30.2601 47.8721 30.0865C48.745 29.9128 49.6498 30.0019 50.4721 30.3425C51.2943 30.6831 51.9971 31.2599 52.4916 31.9999C52.9861 32.74 53.25 33.61 53.25 34.5C53.25 35.6935 52.7759 36.8381 51.932 37.682C51.0881 38.5259 49.9435 39 48.75 39C50.938 39 53.0365 39.8692 54.5836 41.4164C56.1308 42.9635 57 45.062 57 47.25V48Z" fill="#ECF1F0"/>
</svg>
\ No newline at end of file
<svg width="81" height="80" viewBox="0 0 81 80" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect x="0.5" width="80" height="80" fill="url(#pattern0)"/>
<defs>
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0_767_9147" transform="scale(0.00694444)"/>
</pattern>
<image id="image0_767_9147" width="144" height="144" xlink:href="data:image/png;base64,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"/>
</defs>
</svg>
\ No newline at end of file
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20 3C10.6091 3 3 10.6091 3 20C3 29.3909 10.6091 37 20 37C29.3909 37 37 29.3909 37 20C37 10.6091 29.3909 3 20 3ZM13.5514 27.2659C13.3308 27.6418 12.9385 27.8462 12.5298 27.8462C12.3255 27.8462 12.1212 27.7971 11.9332 27.6827C11.3692 27.3558 11.1813 26.6365 11.5082 26.0726L12.6688 24.1438C12.7913 23.9394 13.0038 23.8168 13.2409 23.8168H13.4125C14.2543 23.8168 14.8428 24.3236 15.0144 24.8139L13.5514 27.2659V27.2659ZM23.3755 23.4736L15.7745 23.4817H10.7236C10.0534 23.4817 9.51394 22.926 9.54664 22.2558C9.57115 21.6183 10.1269 21.1361 10.7644 21.1361H14.426L18.7659 13.7476L17.3601 11.3529C17.0413 10.8053 17.1803 10.0861 17.7197 9.74279C18.2918 9.375 19.0437 9.56298 19.3788 10.1351L20.1308 11.4183H20.1389L20.8909 10.1351C21.226 9.56298 21.9861 9.375 22.55 9.74279C23.0894 10.0861 23.2284 10.8053 22.9096 11.3529L21.5038 13.7476L20.1389 16.0769L17.1721 21.1361V21.1442H21.5447C22.0923 21.1442 22.7788 21.4385 23.0567 21.9125L23.0813 21.9615C23.3264 22.3784 23.4654 22.6644 23.4654 23.0813C23.4572 23.3101 23.3755 23.4736 23.3755 23.4736V23.4736ZM29.2764 23.4817H27.2168V23.4899L28.7207 26.0481C29.0476 26.6038 28.8923 27.3394 28.3284 27.6827C28.1404 27.7971 27.9279 27.8543 27.7154 27.8543C27.3067 27.8543 26.9144 27.6418 26.6937 27.274L24.4707 23.4899L23.0894 21.1361L21.3077 18.0875C20.7846 17.1966 20.7601 16.0851 21.2587 15.2024C21.6101 14.5813 21.8798 14.4178 21.8798 14.4178L25.8437 21.1279H29.2519C29.8894 21.1279 30.437 21.6183 30.4697 22.2476C30.4942 22.926 29.9548 23.4817 29.2764 23.4817V23.4817Z" fill="#1E2329"/>
</svg>
\ No newline at end of file
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20.0743 8.24524C20.458 8.23633 20.8394 8.18206 21.211 8.08351H21.3859C21.7886 7.94751 22.1756 7.76673 22.5401 7.5444H22.6975C23.0487 7.34734 23.3822 7.11883 23.6943 6.86152L23.8167 6.7537C24.1315 6.47907 24.4239 6.17857 24.6912 5.85518L24.7961 5.74736C25.063 5.4084 25.3028 5.04782 25.5131 4.66913V4.54334C25.7218 4.15226 25.8973 3.74341 26.0377 3.32135V3.2315C26.1785 2.79916 26.278 2.3538 26.335 1.90169C26.386 1.43593 26.386 0.965763 26.335 0.5C24.4959 0.70664 22.7994 1.61555 21.5816 3.04668C20.3638 4.47781 19.7135 6.32677 19.7595 8.22727L20.0743 8.24524ZM29.5179 20.8964C29.1738 19.9804 29.0132 19.0024 29.0457 18.0211C29.0695 17.3675 29.1813 16.7204 29.378 16.0983C29.5807 15.4612 29.8691 14.8563 30.2349 14.3013C30.844 13.3811 31.6295 12.5984 32.5433 12.0011C31.9606 11.1458 31.2184 10.4179 30.3598 9.85951C29.5013 9.30117 28.5434 8.9235 27.5417 8.74841C27.1666 8.6731 26.7867 8.62506 26.405 8.60465H24.2889L23.7818 8.74841L23.397 8.87421L22.9074 9.05391L22.5576 9.34144L21.9805 9.57505L21.5083 9.77273L21.176 9.89852L20.7738 10.0243H20.5465C20.3663 10.0455 20.1845 10.0455 20.0043 10.0243C19.8299 10.0431 19.6541 10.0431 19.4797 10.0243H19.2873L18.9026 9.91649L18.6228 9.80867L18.2205 9.70085L17.556 9.43129L17.2937 9.34144L16.8215 9.16173L16.5067 9.05391L16.0695 8.91015H15.7372L15.2825 8.8203H14.9328L14.5131 8.6945C13.4388 8.70056 12.3757 8.92024 11.3827 9.34144C9.61326 10.146 8.12643 11.4887 7.12266 13.1885C6.11889 14.8883 5.64644 16.8635 5.76901 18.8478V20.6448C5.76901 20.7886 5.76901 21.2918 5.89142 21.6152C6.01384 21.9387 5.89142 21.9746 5.99635 22.1543C6.10128 22.334 6.10128 22.7294 6.17123 23.0169C6.24119 23.3044 6.27616 23.3943 6.32863 23.574C6.38109 23.7537 6.46853 24.1131 6.55597 24.3827C6.64341 24.6522 6.69588 24.778 6.76583 24.9757L7.02815 25.7304L7.27298 26.3055C7.37791 26.5391 7.46535 26.7907 7.57028 27.0243L7.8326 27.5634L8.18237 28.2643L8.47966 28.7854L8.84692 29.4323L9.1617 29.9175L9.54644 30.5106L9.87871 30.9598L10.2809 31.481L10.6307 31.8943L11.0329 32.3436L11.4002 32.703L11.8024 33.0803L12.1697 33.3679L12.5719 33.6734L12.9391 33.889L13.3239 34.1047L13.6736 34.2304L14.0584 34.3562L14.5131 34.5H14.9153C15.3906 34.4817 15.8612 34.3971 16.3143 34.2484C17.5961 33.5878 18.9933 33.1968 20.4241 33.0983C20.7152 33.078 21.0073 33.078 21.2985 33.0983H21.5783L22.0504 33.2061L22.3477 33.296L22.715 33.4218L23.0298 33.5476L23.4845 33.7452L23.8867 33.9249L24.149 34.0148L24.4988 34.1406H25.9853C27.1532 34.0373 28.2488 33.5158 29.0807 32.667C30.693 31.0853 32.0037 29.2082 32.9455 27.1321C33.2418 26.5714 33.5103 25.9956 33.75 25.407C31.8179 24.5324 30.2979 22.9123 29.5179 20.8964Z" fill="#1E2329"/>
</svg>
\ No newline at end of file
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.5 33.8756V7.12437C6.5 6.19594 7.01718 5.37766 7.77775 5L22.7608 20.5L7.77775 36C7.01718 35.6066 6.5 34.8041 6.5 33.8756ZM27.5068 25.4096L11.1394 35.1975L24.0538 21.8376L27.5068 25.4096ZM32.6025 18.6274C33.1197 19.0523 33.5 19.7132 33.5 20.5C33.5 21.2868 33.1653 21.9162 32.633 22.3569L29.1496 24.434L25.3468 20.5L29.1496 16.566L32.6025 18.6274ZM11.1394 5.80254L27.5068 15.5904L24.0538 19.1624L11.1394 5.80254Z" fill="#1E2329"/>
</svg>
\ No newline at end of file
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M27.8241 25.4466C27.5439 25.4466 27.27 25.3513 27.0371 25.1729C26.8041 24.9944 26.6225 24.7408 26.5153 24.4441C26.4081 24.1473 26.38 23.8208 26.4347 23.5057C26.4893 23.1907 26.6243 22.9013 26.8224 22.6742C27.0205 22.4471 27.2729 22.2924 27.5478 22.2298C27.8226 22.1671 28.1074 22.1993 28.3663 22.3222C28.6251 22.4451 28.8464 22.6533 29.002 22.9203C29.1577 23.1874 29.2408 23.5014 29.2408 23.8226C29.2408 24.2533 29.0915 24.6664 28.8259 24.9709C28.5602 25.2755 28.1999 25.4466 27.8241 25.4466ZM12.1759 25.4466C11.8957 25.4466 11.6218 25.3513 11.3888 25.1729C11.1558 24.9944 10.9743 24.7408 10.867 24.4441C10.7598 24.1473 10.7318 23.8208 10.7864 23.5057C10.8411 23.1907 10.976 22.9013 11.1741 22.6742C11.3723 22.4471 11.6247 22.2924 11.8995 22.2298C12.1743 22.1671 12.4591 22.1993 12.718 22.3222C12.9769 22.4451 13.1981 22.6533 13.3538 22.9203C13.5094 23.1874 13.5925 23.5014 13.5925 23.8226C13.5925 24.2533 13.4433 24.6664 13.1776 24.9709C12.9119 25.2755 12.5516 25.4466 12.1759 25.4466ZM28.3318 15.6701L31.1616 10.0537C31.2066 9.97679 31.2374 9.89009 31.252 9.79899C31.2666 9.70789 31.2647 9.61432 31.2465 9.52407C31.2283 9.43383 31.1941 9.34884 31.146 9.27436C31.098 9.19988 31.0371 9.1375 30.9672 9.09109C30.8973 9.04467 30.8198 9.01521 30.7395 9.00452C30.6592 8.99383 30.5779 9.00215 30.5006 9.02896C30.4232 9.05576 30.3515 9.10049 30.2899 9.16036C30.2282 9.22024 30.1779 9.29398 30.1422 9.37704L27.2769 15.0658C24.9883 13.8891 22.5083 13.2808 20 13.2808C17.4917 13.2808 15.0117 13.8891 12.7231 15.0658L9.85785 9.37704C9.82207 9.29398 9.77179 9.22024 9.71014 9.16036C9.64849 9.10049 9.57677 9.05576 9.49942 9.02896C9.42208 9.00215 9.34075 8.99383 9.26049 9.00452C9.18023 9.01521 9.10273 9.04467 9.03281 9.09109C8.96288 9.1375 8.90201 9.19988 8.85397 9.27436C8.80593 9.34884 8.77174 9.43383 8.75352 9.52407C8.7353 9.61432 8.73343 9.70789 8.74804 9.79899C8.76265 9.89009 8.79342 9.97679 8.83844 10.0537L11.6682 15.6701C6.80906 18.6995 3.48639 24.3382 3 31H37C36.5136 24.3382 33.1903 18.6995 28.3318 15.6701Z" fill="#1E2329"/>
</svg>
\ No newline at end of file
<svg width="61" height="60" viewBox="0 0 61 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M53.1712 39.5919H49.4179V43.6698H45.425V47.4179H49.4179V51.331H53.1712V47.4179H57.1641V43.6698H53.1712V39.5919Z" fill="#2DBD96"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M53.1667 10V36.25H49.4167V13.75H11.9167V43.75H15.6667V47.5L20.6667 43.75H41.9167V47.5H21.916L11.9167 55V47.5H8.16666V10H53.1667Z" fill="#1E2329"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M24.4167 17.4999C20.9649 17.4999 18.1667 20.298 18.1667 23.7499C18.1667 27.2016 20.9649 29.9999 24.4167 29.9999C27.8684 29.9999 30.6667 27.2016 30.6667 23.7499C30.6667 20.298 27.8684 17.4999 24.4167 17.4999ZM24.4167 21.6665C25.5672 21.6665 26.5 22.5993 26.5 23.7499C26.5 24.9005 25.5672 25.8332 24.4167 25.8332C23.2661 25.8332 22.3333 24.9005 22.3333 23.7499C22.3333 22.5993 23.2661 21.6665 24.4167 21.6665Z" fill="#2DBD96"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M34.8166 33.4781C38.6717 33.4781 41.7136 36.817 41.8999 40.9062L41.909 41.3042V45.2173H37.9959V41.3042C37.9959 39.2001 36.655 37.5623 35.0689 37.4038L34.8166 37.3912H15.2591C13.6502 37.3912 12.2288 38.9238 12.0907 40.9761L12.0797 41.3043V45.2173H8.16666V41.3043C8.16666 37.1692 11.0881 33.7012 14.8886 33.4886L15.2591 33.4782L34.8166 33.4781Z" fill="#1E2329"/>
</svg>
\ No newline at end of file
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_418_17834)">
<path d="M12.76 1.53996C12.6293 1.50453 12.4928 1.49602 12.3587 1.51493C12.2246 1.53383 12.0958 1.57977 11.98 1.64996L4.72 5.99996H2C1.46957 5.99996 0.960859 6.21068 0.585786 6.58575C0.210714 6.96082 0 7.46953 0 7.99996L0 12C0 12.5304 0.210714 13.0391 0.585786 13.4142C0.960859 13.7892 1.46957 14 2 14H4.72L12 18.36C12.1544 18.4516 12.3305 18.4999 12.51 18.5C12.6062 18.5141 12.7038 18.5141 12.8 18.5C12.9339 18.4578 13.0574 18.3879 13.1625 18.2949C13.2676 18.2019 13.3519 18.0877 13.41 17.96C13.41 17.86 14.5 15.53 14.5 9.86996C14.5 4.20996 13.5 2.26996 13.38 2.05996C13.3186 1.93487 13.2317 1.824 13.1249 1.73445C13.0182 1.6449 12.8939 1.57866 12.76 1.53996ZM2 7.99996H4V12H2V7.99996ZM11.92 16L6 12.43V7.56996L11.95 3.99996C12.3628 5.91477 12.5475 7.87173 12.5 9.82996C12.5424 11.902 12.3478 13.9721 11.92 16ZM19 8.99996H17C16.7348 8.99996 16.4804 9.10532 16.2929 9.29286C16.1054 9.48039 16 9.73475 16 9.99996C16 10.2652 16.1054 10.5195 16.2929 10.7071C16.4804 10.8946 16.7348 11 17 11H19C19.2652 11 19.5196 10.8946 19.7071 10.7071C19.8946 10.5195 20 10.2652 20 9.99996C20 9.73475 19.8946 9.48039 19.7071 9.29286C19.5196 9.10532 19.2652 8.99996 19 8.99996ZM19 13.63L17.27 12.63C17.0415 12.5104 16.7756 12.4838 16.5279 12.5556C16.2801 12.6275 16.0698 12.7923 15.9407 13.0156C15.8116 13.2389 15.7738 13.5034 15.8352 13.754C15.8966 14.0045 16.0523 14.2216 16.27 14.36L18 15.36C18.2285 15.4795 18.4944 15.5061 18.7421 15.4343C18.9899 15.3624 19.2002 15.1976 19.3293 14.9743C19.4584 14.751 19.4962 14.4865 19.4348 14.236C19.3734 13.9855 19.2177 13.7683 19 13.63ZM17.23 7.36996L18.96 6.36996C19.1777 6.23159 19.3334 6.01447 19.3948 5.76396C19.4562 5.51344 19.4184 5.2489 19.2893 5.0256C19.1602 4.8023 18.9499 4.63751 18.7021 4.56565C18.4544 4.49378 18.1885 4.52041 17.96 4.63996L16.23 5.63996C16.0123 5.77833 15.8566 5.99545 15.7952 6.24597C15.7338 6.49648 15.7716 6.76102 15.9007 6.98432C16.0298 7.20762 16.2401 7.37242 16.4879 7.44428C16.7356 7.51614 17.0015 7.48952 17.23 7.36996Z" fill="#494949"/>
</g>
<defs>
<clipPath id="clip0_418_17834">
<rect width="20" height="20" fill="white"/>
</clipPath>
</defs>
</svg>
\ No newline at end of file
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.9243 8.30884L17.3089 12.3088M17.3089 12.3088L13.9243 16.3088M17.3089 12.3088L6.80887 12.3088" stroke="#0FAE96" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
\ No newline at end of file
<svg width="22" height="21" viewBox="0 0 22 21" fill="" xmlns="http://www.w3.org/2000/svg">
<path d="M10.0548 12.1202C10.1794 12.2476 10.3276 12.3487 10.4909 12.4177C10.6542 12.4868 10.8292 12.5223 11.0061 12.5223C11.1829 12.5223 11.358 12.4868 11.5212 12.4177C11.6845 12.3487 11.8327 12.2476 11.9574 12.1202L21.5512 2.35134C21.8038 2.09332 21.9456 1.74418 21.9456 1.38024C21.9456 1.0163 21.8038 0.667166 21.5512 0.409141C21.4266 0.281655 21.2784 0.180477 21.1151 0.111433C20.9519 0.0423892 20.7768 0.00684378 20.5999 0.00684378C20.4231 0.00684378 20.248 0.0423892 20.0847 0.111433C19.9215 0.180477 19.7733 0.281655 19.6486 0.409141L11.0056 9.20979L2.36262 0.409133C2.238 0.281647 2.08978 0.180469 1.92652 0.111425C1.76325 0.0423813 1.58816 0.00683594 1.41131 0.00683594C1.23447 0.00683594 1.05938 0.0423813 0.89611 0.111425C0.732843 0.180469 0.584632 0.281647 0.460009 0.409133C0.207681 0.667302 0.0660706 1.01639 0.0660706 1.38023C0.0660706 1.74408 0.207681 2.09316 0.460009 2.35133L10.0548 12.1202L10.0548 12.1202ZM19.6486 8.88041L11.0056 17.6808L2.36262 8.88038C2.238 8.7529 2.08978 8.65172 1.92652 8.58268C1.76325 8.51363 1.58816 8.47809 1.41131 8.47809C1.23447 8.47809 1.05938 8.51363 0.89611 8.58268C0.732843 8.65172 0.584632 8.7529 0.460009 8.88038C0.207707 9.13848 0.0661078 9.48748 0.0661078 9.85126C0.0661078 10.215 0.207707 10.564 0.460009 10.8221L10.0545 20.591C10.1792 20.7183 10.3275 20.8194 10.4907 20.8884C10.654 20.9574 10.829 20.9929 11.0058 20.9929C11.1827 20.9929 11.3577 20.9574 11.521 20.8884C11.6842 20.8194 11.8325 20.7183 11.9571 20.591L21.5519 10.8221C21.8042 10.564 21.9457 10.215 21.9457 9.85126C21.9457 9.4875 21.8042 9.1385 21.5519 8.88038C21.4272 8.7529 21.2789 8.65174 21.1156 8.5827C20.9523 8.51366 20.7772 8.47812 20.6003 8.47812C20.4234 8.47812 20.2482 8.51366 20.0849 8.5827C19.9216 8.65174 19.7733 8.7529 19.6486 8.88038V8.88041Z" fill=""/>
</svg>
\ No newline at end of file
<svg width="21" height="20" viewBox="0 0 21 20" fill="" xmlns="http://www.w3.org/2000/svg">
<path d="M2.752 8C2.58415 8.6534 2.49949 9.32538 2.5 10C2.5 10.69 2.588 11.36 2.752 12H5.6C5.46518 10.6701 5.46518 9.32993 5.6 8H2.752ZM3.57 6H5.916C6.182 4.783 6.566 3.693 7.037 2.786C5.58518 3.48542 4.37722 4.60523 3.57 6V6ZM18.248 8H15.4C15.5348 9.32993 15.5348 10.6701 15.4 12H18.248C18.5847 10.6879 18.5847 9.31208 18.248 8V8ZM17.43 6C16.6228 4.60523 15.4148 3.48542 13.963 2.786C14.435 3.693 14.818 4.783 15.084 6H17.43ZM7.612 8C7.53708 8.66403 7.49968 9.33176 7.5 10C7.5 10.685 7.538 11.355 7.612 12H13.388C13.5386 10.6709 13.5386 9.32908 13.388 8H7.612ZM7.97 6H13.03C12.848 5.2483 12.5855 4.51841 12.247 3.823C11.619 2.568 10.947 2 10.5 2C10.052 2 9.381 2.568 8.753 3.823C8.438 4.455 8.173 5.19 7.97 6ZM3.57 14C4.37722 15.3948 5.58518 16.5146 7.037 17.214C6.565 16.307 6.182 15.217 5.916 14H3.57V14ZM17.43 14H15.084C14.818 15.217 14.434 16.307 13.963 17.214C15.4148 16.5146 16.6228 15.3948 17.43 14ZM7.97 14C8.173 14.81 8.438 15.545 8.753 16.177C9.381 17.432 10.053 18 10.5 18C10.948 18 11.619 17.432 12.247 16.177C12.562 15.545 12.827 14.81 13.03 14H7.97V14ZM10.5 20C4.977 20 0.5 15.523 0.5 10C0.5 4.477 4.977 0 10.5 0C16.023 0 20.5 4.477 20.5 10C20.5 15.523 16.023 20 10.5 20Z" fill=""/>
</svg>
\ No newline at end of file
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.5047 10.225C5.5047 11.4129 5.97658 12.5521 6.81654 13.3921C7.6565 14.232 8.79573 14.7039 9.9836 14.7039C11.1715 14.7039 12.3107 14.232 13.1507 13.3921C13.9906 12.5521 14.4625 11.4129 14.4625 10.225C14.4625 9.03712 13.9906 7.89789 13.1507 7.05793C12.3107 6.21798 11.1715 5.74609 9.9836 5.74609C8.79573 5.74609 7.6565 6.21798 6.81654 7.05793C5.97658 7.89789 5.5047 9.03712 5.5047 10.225Z" fill="#1E2329"/>
<path d="M9.98359 3.70947C9.42109 3.70947 8.96641 3.25478 8.96641 2.69229V1.46885C8.96641 0.906348 9.42109 0.45166 9.98359 0.45166C10.5461 0.45166 11.0008 0.906348 11.0008 1.46885V2.68994C11.0031 3.25479 10.5461 3.70947 9.98359 3.70947ZM9.98359 19.9962C9.42109 19.9962 8.96641 19.5415 8.96641 18.979V17.7579C8.96641 17.1954 9.42109 16.7407 9.98359 16.7407C10.5461 16.7407 11.0008 17.1954 11.0008 17.7579V18.979C11.0031 19.5415 10.5461 19.9962 9.98359 19.9962ZM5.37812 5.61728C4.97969 6.01572 4.33516 6.01572 3.93906 5.61728L3.07422 4.75244C2.67578 4.354 2.67578 3.70947 3.07422 3.31338C3.47266 2.91728 4.11719 2.91494 4.51328 3.31338L5.37812 4.17822C5.77422 4.57666 5.77422 5.22119 5.37812 5.61728ZM16.8953 17.1345C16.4969 17.5329 15.8523 17.5329 15.4562 17.1345L14.5914 16.2696C14.193 15.8712 14.193 15.2267 14.5914 14.8306C14.9898 14.4321 15.6344 14.4321 16.0305 14.8306L16.8953 15.6954C17.2914 16.0938 17.2914 16.7384 16.8953 17.1345ZM5.37812 14.8306C5.77656 15.229 5.77656 15.8735 5.37812 16.2696L4.51328 17.1345C4.11484 17.5329 3.47031 17.5329 3.07422 17.1345C2.67578 16.736 2.67578 16.0915 3.07422 15.6954L3.93906 14.8306C4.33516 14.4345 4.97969 14.4345 5.37812 14.8306ZM16.8953 3.31338C17.2938 3.71182 17.2938 4.35635 16.8953 4.75244L16.0305 5.61728C15.632 6.01572 14.9875 6.01572 14.5914 5.61728C14.193 5.21885 14.193 4.57432 14.5914 4.17822L15.4562 3.31338C15.8523 2.91728 16.4969 2.91728 16.8953 3.31338ZM3.47031 10.2251C3.47031 10.7876 3.01562 11.2423 2.45312 11.2423H1.23203C0.669531 11.2423 0.214844 10.7876 0.214844 10.2251C0.214844 9.6626 0.669531 9.20791 1.23203 9.20791H2.45312C3.01328 9.20557 3.47031 9.6626 3.47031 10.2251ZM19.757 10.2251C19.757 10.7876 19.3023 11.2423 18.7398 11.2423H17.5187C16.9562 11.2423 16.5016 10.7876 16.5016 10.2251C16.5016 9.6626 16.9562 9.20791 17.5187 9.20791H18.7398C19.3023 9.20557 19.757 9.6626 19.757 10.2251Z" fill="#1E2329"/>
</svg>
\ No newline at end of file
<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.5 12.5938C9.86548 12.5938 12.5938 9.86548 12.5938 6.5C12.5938 3.13451 9.86548 0.40625 6.5 0.40625C3.13451 0.40625 0.40625 3.13451 0.40625 6.5C0.40625 9.86548 3.13451 12.5938 6.5 12.5938ZM6.5 3.6875C6.75888 3.6875 6.96875 3.89737 6.96875 4.15625V6.03125H8.84375C9.10263 6.03125 9.3125 6.24112 9.3125 6.5C9.3125 6.75888 9.10263 6.96875 8.84375 6.96875H6.96875V8.84375C6.96875 9.10263 6.75888 9.3125 6.5 9.3125C6.24112 9.3125 6.03125 9.10263 6.03125 8.84375V6.96875H4.15625C3.89737 6.96875 3.6875 6.75888 3.6875 6.5C3.6875 6.24112 3.89737 6.03125 4.15625 6.03125H6.03125V4.15625C6.03125 3.89737 6.24112 3.6875 6.5 3.6875Z" fill="#2962FF"/>
</svg>
<svg width="27" height="26" viewBox="0 0 27 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect y="3.53877" width="12.9221" height="12.9221" transform="matrix(0.717176 0.696892 -0.717176 0.696892 16.2655 1.2655)" fill="white" stroke="#848E9C" stroke-width="5.07793"/>
</svg>
\ No newline at end of file
<svg width="27" height="26" viewBox="0 0 27 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect y="5.30815" width="17.7727" height="17.7727" rx="8.88637" transform="matrix(0.717176 0.696892 -0.717176 0.696892 17.0157 -3.39106)" fill="white" stroke="#848E9C" stroke-width="7.61689"/>
</svg>
\ No newline at end of file
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 15L10 12" stroke="#33363F" stroke-width="2" stroke-linecap="round"/>
<path d="M14 15L14 12" stroke="#33363F" stroke-width="2" stroke-linecap="round"/>
<path d="M3 7H21V7C20.0681 7 19.6022 7 19.2346 7.15224C18.7446 7.35523 18.3552 7.74458 18.1522 8.23463C18 8.60218 18 9.06812 18 10V16C18 17.8856 18 18.8284 17.4142 19.4142C16.8284 20 15.8856 20 14 20H10C8.11438 20 7.17157 20 6.58579 19.4142C6 18.8284 6 17.8856 6 16V10C6 9.06812 6 8.60218 5.84776 8.23463C5.64477 7.74458 5.25542 7.35523 4.76537 7.15224C4.39782 7 3.93188 7 3 7V7Z" stroke="#33363F" stroke-width="2" stroke-linecap="round"/>
<path d="M10.0681 3.37059C10.1821 3.26427 10.4332 3.17033 10.7825 3.10332C11.1318 3.03632 11.5597 3 12 3C12.4403 3 12.8682 3.03632 13.2175 3.10332C13.5668 3.17033 13.8179 3.26427 13.9319 3.37059" stroke="#33363F" stroke-width="2" stroke-linecap="round"/>
</svg>
\ No newline at end of file
<svg width="35" height="35" viewBox="0 0 35 35" fill="" xmlns="http://www.w3.org/2000/svg">
<path d="M5.83325 17.5L5.12615 16.7929L4.41904 17.5L5.12615 18.2071L5.83325 17.5ZM27.7083 18.5C28.2605 18.5 28.7083 18.0523 28.7083 17.5C28.7083 16.9477 28.2605 16.5 27.7083 16.5V18.5ZM13.8761 8.04289L5.12615 16.7929L6.54036 18.2071L15.2904 9.45711L13.8761 8.04289ZM5.12615 18.2071L13.8761 26.9571L15.2904 25.5429L6.54036 16.7929L5.12615 18.2071ZM5.83325 18.5H27.7083V16.5H5.83325V18.5Z" fill=""/>
</svg>
\ No newline at end of file
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.0092 16.9684C11.0092 16.9684 11.005 16.9658 11 16.9658C11 16.9658 10.995 16.9658 10.9908 16.9684L6.95921 19.5215C6.95921 19.5215 6.53035 19.7944 6.03513 19.7598C6.03513 19.7598 5.57942 19.728 5.20854 19.4461C5.20854 19.4461 4.84231 19.1677 4.68294 18.7392C4.68294 18.7392 4.51157 18.2785 4.63624 17.7907L5.79611 13.22C5.79611 13.22 5.7994 13.2067 5.79397 13.1902C5.79397 13.1902 5.78854 13.1737 5.77517 13.1627L1.88854 9.92095C1.88854 9.92095 1.53693 9.62894 1.42157 9.19109C1.42157 9.19109 1.31615 8.79095 1.4401 8.39049C1.4401 8.39049 1.56543 7.98557 1.88268 7.71743C1.88268 7.71743 2.23188 7.42228 2.69684 7.39209L7.76752 7.0655C7.76752 7.0655 7.77943 7.0648 7.7856 7.06023C7.7856 7.06023 7.79178 7.05567 7.79445 7.04847L7.80009 7.03378L9.68756 2.28078C9.68756 2.28078 9.83931 1.87314 10.1964 1.62304C10.1964 1.62304 10.5582 1.36963 11 1.36963C11 1.36963 11.4417 1.36963 11.8036 1.62304C11.8036 1.62304 12.1607 1.87314 12.3124 2.28078L14.1999 7.03378L14.2055 7.04847C14.2055 7.04847 14.2082 7.05567 14.2144 7.06023C14.2144 7.06023 14.2205 7.0648 14.2282 7.06524L19.3028 7.39207C19.3028 7.39207 19.7681 7.42228 20.1173 7.71743C20.1173 7.71743 20.4345 7.98557 20.5599 8.39049C20.5599 8.39049 20.6838 8.79095 20.5784 9.19109C20.5784 9.19109 20.463 9.62894 20.1103 9.92188L16.2271 13.1608C16.2271 13.1608 16.2114 13.1737 16.206 13.1902C16.206 13.1902 16.2006 13.2067 16.2048 13.2235L17.4585 18.1524C17.4585 18.1524 17.5704 18.5944 17.4144 19.0118C17.4144 19.0118 17.2691 19.4002 16.9365 19.652C16.9365 19.652 16.5994 19.9073 16.1844 19.9359C16.1844 19.9359 15.7343 19.9669 15.3426 19.7198L11.0092 16.9684ZM16.0761 18.5568L11.7471 15.8082C11.7471 15.8082 11.4049 15.5908 11 15.5908C11 15.5908 10.5948 15.5908 10.253 15.8082L6.22357 18.3598C6.22357 18.3598 6.13 18.4194 6.04065 18.3514C6.04065 18.3514 5.93304 18.2696 5.96842 18.1312L7.12886 13.5582C7.12886 13.5582 7.22943 13.1529 7.09988 12.7598C7.09988 12.7598 6.97034 12.3667 6.65137 12.103L2.76925 8.86503C2.76925 8.86503 2.74008 8.8408 2.75362 8.79705C2.75362 8.79705 2.76333 8.76567 2.78594 8.7642L7.85589 8.43766C7.85589 8.43766 8.26801 8.4137 8.60332 8.16566C8.60332 8.16566 8.93498 7.92032 9.08047 7.53506L10.9686 2.78032L10.9758 2.7616C10.9758 2.7616 10.9785 2.75396 10.9852 2.74929C10.9852 2.74929 10.9919 2.74463 11 2.74463C11 2.74463 11.0081 2.74463 11.0148 2.74929C11.0148 2.74929 11.0214 2.75396 11.0242 2.7616L11.0313 2.78032L12.9195 7.53506C12.9195 7.53506 13.065 7.92032 13.3967 8.16566C13.3967 8.16566 13.732 8.4137 14.1483 8.43792L19.2144 8.76422C19.2144 8.76422 19.2366 8.76567 19.2463 8.79705C19.2463 8.79705 19.2599 8.8408 19.2318 8.8641L15.3463 12.1049C15.3463 12.1049 15.0296 12.3667 14.9001 12.7598C14.9001 12.7598 14.7705 13.1529 14.8702 13.5546L16.1259 18.4914C16.1259 18.4914 16.1365 18.5331 16.1064 18.5558C16.1064 18.5558 16.092 18.5668 16.0761 18.5568Z" fill="#848E9C"/>
</svg>
\ No newline at end of file
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.00755 13.8833C9.00755 13.8833 9.00409 13.8811 9 13.8811C9 13.8811 8.99591 13.8811 8.99245 13.8833L5.69391 15.9721C5.69391 15.9721 5.34302 16.1954 4.93785 16.1671C4.93785 16.1671 4.56499 16.1411 4.26155 15.9104C4.26155 15.9104 3.9619 15.6826 3.83151 15.3321C3.83151 15.3321 3.6913 14.9552 3.79329 14.5561L4.74228 10.8163C4.74228 10.8163 4.74497 10.8055 4.74053 10.792C4.74053 10.792 4.73609 10.7785 4.72515 10.7695L1.54518 8.11714C1.54518 8.11714 1.2575 7.87822 1.16312 7.51998C1.16312 7.51998 1.07686 7.19259 1.17828 6.86494C1.17828 6.86494 1.28082 6.53365 1.54038 6.31426C1.54038 6.31426 1.82609 6.07278 2.20652 6.04807L6.35525 5.78087C6.35525 5.78087 6.365 5.78029 6.37005 5.77656C6.37005 5.77656 6.3751 5.77282 6.37728 5.76693L6.3819 5.75491L7.9262 1.86609C7.9262 1.86609 8.05035 1.53257 8.34253 1.32794C8.34253 1.32794 8.63857 1.12061 9 1.12061C9 1.12061 9.36142 1.12061 9.65746 1.32794C9.65746 1.32794 9.94964 1.53257 10.0738 1.86609L11.6181 5.75491L11.6227 5.76693C11.6227 5.76693 11.6249 5.77282 11.6299 5.77656C11.6299 5.77656 11.635 5.78029 11.6413 5.78065L15.7932 6.04806C15.7932 6.04806 16.1739 6.07278 16.4596 6.31426C16.4596 6.31426 16.7192 6.53365 16.8217 6.86495C16.8217 6.86495 16.9231 7.19259 16.8369 7.51999C16.8369 7.51999 16.7425 7.87822 16.4539 8.1179L13.2767 10.7679C13.2767 10.7679 13.2639 10.7785 13.2595 10.792C13.2595 10.792 13.255 10.8055 13.2584 10.8192L14.2842 14.852C14.2842 14.852 14.3758 15.2136 14.2481 15.5551C14.2481 15.5551 14.1293 15.8729 13.8572 16.0789C13.8572 16.0789 13.5813 16.2878 13.2418 16.3112C13.2418 16.3112 12.8735 16.3365 12.553 16.1344L9.00755 13.8833ZM13.1532 15.1828L9.61131 12.934C9.61131 12.934 9.33129 12.7561 9 12.7561C9 12.7561 8.66852 12.7561 8.3888 12.9339L5.09203 15.0217C5.09203 15.0217 5.01547 15.0704 4.94236 15.0148C4.94236 15.0148 4.85432 14.9479 4.88327 14.8346L5.83272 11.0931C5.83272 11.0931 5.915 10.7615 5.80901 10.4399C5.80901 10.4399 5.70302 10.1182 5.44204 9.90245L2.26576 7.25321C2.26576 7.25321 2.24189 7.23338 2.25297 7.19759C2.25297 7.19759 2.26092 7.17191 2.27942 7.17071L6.42756 6.90354C6.42756 6.90354 6.76475 6.88393 7.03909 6.68099C7.03909 6.68099 7.31045 6.48026 7.42949 6.16505L8.97435 2.27481L8.98018 2.25949C8.98018 2.25949 8.98245 2.25324 8.9879 2.24942C8.9879 2.24942 8.99335 2.24561 9 2.24561C9 2.24561 9.00665 2.24561 9.0121 2.24942C9.0121 2.24942 9.01755 2.25324 9.01982 2.25949L9.02565 2.27481L10.5705 6.16505C10.5705 6.16505 10.6895 6.48026 10.9609 6.68099C10.9609 6.68099 11.2352 6.88393 11.5759 6.90376L15.7209 7.17073C15.7209 7.17073 15.7391 7.17191 15.747 7.19759C15.747 7.19759 15.7581 7.23338 15.7351 7.25245L12.5561 9.90399C12.5561 9.90399 12.297 10.1182 12.191 10.4399C12.191 10.4399 12.085 10.7615 12.1666 11.0902L13.1939 15.1293C13.1939 15.1293 13.2026 15.1634 13.178 15.1821C13.178 15.1821 13.1662 15.191 13.1532 15.1828Z" fill="#848E9C"/>
</svg>
\ No newline at end of file
<svg width="45" height="44" viewBox="0 0 45 44" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.56108 11.5327C8.88499 11.5327 8.33691 12.0808 8.33691 12.7569C8.33691 13.433 8.88499 13.9811 9.56108 13.9811C10.2371 13.9811 10.7853 13.433 10.7853 12.7569C10.7853 12.0808 10.2372 11.5327 9.56108 11.5327ZM9.56108 13.8586C8.95355 13.8586 8.45938 13.3644 8.45938 12.7569C8.45938 12.1493 8.95355 11.6551 9.56108 11.6551C10.1686 11.6551 10.6628 12.1493 10.6628 12.7569C10.6628 13.3644 10.1686 13.8586 9.56108 13.8586Z" fill="black"/>
<path d="M9.49219 11.8433H9.62899V12.8298H9.49219V11.8433Z" fill="black"/>
<path d="M9.49707 12.6885H10.4836V12.8253H9.49707V12.6885Z" fill="black"/>
<path d="M22.2154 0C10.1673 0 0.401367 9.76518 0.401367 21.8133C0.401367 33.8601 10.1673 43.6256 22.2154 43.6256C34.2622 43.6256 44.0281 33.8601 44.0281 21.8133C44.0281 9.76518 34.2622 0 22.2154 0ZM36.2078 17.393L21.7067 33.7303C21.4479 34.0196 20.9724 34.0812 20.6502 33.8679L8.36142 25.7642C8.03714 25.5512 7.93556 25.1027 8.13447 24.7719L11.4529 19.2173C11.6497 18.8847 12.0467 18.8259 12.3336 19.0887L19.4685 25.6067C19.7516 25.869 20.1733 25.8246 20.4003 25.5091L30.6374 11.3275C30.8616 11.0137 31.2622 10.9913 31.5274 11.2753L36.2014 16.3481C36.4629 16.6313 36.4673 17.1033 36.2078 17.393Z" fill="#28A79B"/>
</svg>
\ No newline at end of file
<svg width="40" height="41" viewBox="0 0 40 41" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20 40.5C31.046 40.5 40 31.546 40 20.5C40 9.454 31.046 0.5 20 0.5C8.954 0.5 0 9.454 0 20.5C0 31.546 8.954 40.5 20 40.5Z" fill="#F3BA2F"/>
<path d="M20 12.6715L14.4512 18.2203L11.2229 14.9915L20 6.21436L28.78 14.9941L25.5514 18.2227L20 12.6715Z" fill="white"/>
<path d="M8.94297 17.2709L5.71429 20.5001L8.94274 23.7281L12.1714 20.4994L8.94297 17.2709Z" fill="white"/>
<path d="M20 28.3286L14.4512 22.7802L11.2183 26.0041L20 34.7858L28.78 26.0061L28.7816 26.0044L25.5513 22.7776L20 28.3286Z" fill="white"/>
<path d="M31.0573 17.2728L27.8286 20.5014L31.0571 23.7299L34.2857 20.5012L31.0573 17.2728Z" fill="white"/>
<path d="M23.2759 20.4983H23.2747L23.2777 20.4999L23.2761 20.5017L20 23.7779L16.7267 20.5041L16.7221 20.4995L16.7267 20.495L20 17.2222L23.2759 20.4983Z" fill="white"/>
</svg>
\ No newline at end of file
<svg width="14" height="16" viewBox="0 0 14 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.125 6.55469C0.125 6.55469 0.125 6.07575 0.463658 5.7371C0.463658 5.7371 0.802316 5.39844 1.28125 5.39844H12.8438C12.8438 5.39844 13.3227 5.39844 13.6613 5.7371C13.6613 5.7371 14 6.07575 14 6.55469V14.6484C14 14.6484 14 15.1274 13.6613 15.466C13.6613 15.466 13.3227 15.8047 12.8438 15.8047H1.28125C1.28125 15.8047 0.802316 15.8047 0.463657 15.466C0.463657 15.466 0.125 15.1274 0.125 14.6484V6.55469ZM1.28125 6.55469V14.6484L12.8438 14.6484V6.55469H1.28125Z" fill="#FF3465"/>
<path d="M9.08594 3.375V5.97656C9.08594 6.29585 9.34477 6.55469 9.66406 6.55469C9.98335 6.55469 10.2422 6.29585 10.2422 5.97656V3.375C10.2422 2.05793 9.31088 1.12662 9.31088 1.12662C8.37957 0.195312 7.0625 0.195312 7.0625 0.195312C5.74543 0.195313 4.81412 1.12662 4.81412 1.12662C3.88281 2.05793 3.88281 3.375 3.88281 3.375V5.97656C3.88281 6.29585 4.14165 6.55469 4.46094 6.55469C4.78023 6.55469 5.03906 6.29585 5.03906 5.97656V3.375C5.03906 2.53686 5.63171 1.94421 5.63171 1.94421C6.22437 1.35156 7.0625 1.35156 7.0625 1.35156C7.90064 1.35156 8.49329 1.94421 8.49329 1.94421C9.08594 2.53686 9.08594 3.375 9.08594 3.375Z" fill="#FF3465"/>
<path d="M7.92969 10.6016C7.92969 11.0805 7.5414 11.4688 7.0625 11.4688C6.5836 11.4688 6.19531 11.0805 6.19531 10.6016C6.19531 10.1226 6.5836 9.73438 7.0625 9.73438C7.5414 9.73438 7.92969 10.1226 7.92969 10.6016Z" fill="#FF3465"/>
</svg>
\ No newline at end of file
<svg width="27" height="26" viewBox="0 0 27 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.1976 9.28346V13.0002C21.1976 13.4478 21.5605 13.8107 22.0081 13.8107C22.4557 13.8107 22.8186 13.4478 22.8186 13.0002V8.94774C22.8186 8.73279 22.7332 8.52664 22.5812 8.37464L16.9078 2.70125C16.7558 2.54926 16.5497 2.46387 16.3347 2.46387L6.60888 2.46387C5.93746 2.46387 5.46269 2.93864 5.46269 2.93864C4.98792 3.41341 4.98792 4.08484 4.98792 4.08484V13.0002C4.98792 13.4478 5.35078 13.8107 5.7984 13.8107C6.24602 13.8107 6.60888 13.4478 6.60888 13.0002V4.08484H15.999L21.1976 9.28346Z" fill="#2962FF"/>
<path d="M16.3347 9.75823H22.0081C22.4557 9.75823 22.8186 9.39536 22.8186 8.94774C22.8186 8.50013 22.4557 8.13726 22.0081 8.13726H17.1452V3.27435C17.1452 2.82673 16.7823 2.46387 16.3347 2.46387C15.8871 2.46387 15.5242 2.82673 15.5242 3.27435V8.94774C15.5242 9.39536 15.8871 9.75823 16.3347 9.75823Z" fill="#2962FF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.98792 21.9155V17.0526C4.98792 16.605 5.35078 16.2421 5.7984 16.2421H7.41937C7.41937 16.2421 8.42651 16.2421 9.13867 16.9543C9.13867 16.9543 9.85082 17.6664 9.85082 18.6736C9.85082 18.6736 9.85082 19.6807 9.13866 20.3929C9.13866 20.3929 8.42651 21.105 7.41937 21.105H6.60888V21.9155C6.60888 22.3631 6.24602 22.726 5.7984 22.726C5.35078 22.726 4.98792 22.3631 4.98792 21.9155ZM7.41937 19.484H6.60888V17.8631H7.41937C7.41937 17.8631 7.75508 17.8631 7.99247 18.1005C7.99247 18.1005 8.22985 18.3378 8.22985 18.6736C8.22985 18.6736 8.22985 19.0093 7.99247 19.2467C7.99247 19.2467 7.75508 19.484 7.41937 19.484Z" fill="#2962FF"/>
<path d="M19.1714 17.0526V21.9155C19.1714 22.3631 19.5343 22.726 19.9819 22.726C20.4295 22.726 20.7924 22.3631 20.7924 21.9155V17.8631H22.8186C23.2662 17.8631 23.6291 17.5002 23.6291 17.0526C23.6291 16.605 23.2662 16.2421 22.8186 16.2421H19.9819C19.5343 16.2421 19.1714 16.605 19.1714 17.0526Z" fill="#2962FF"/>
<path d="M22.4133 19.0788H19.9819C19.5343 19.0788 19.1714 19.4417 19.1714 19.8893C19.1714 20.3369 19.5343 20.6998 19.9819 20.6998H22.4133C22.861 20.6998 23.2238 20.3369 23.2238 19.8893C23.2238 19.4417 22.861 19.0788 22.4133 19.0788Z" fill="#2962FF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.4849 22.726C12.0373 22.726 11.6744 22.3631 11.6744 21.9155V17.0526C11.6744 16.605 12.0373 16.2421 12.4849 16.2421H13.9032C13.9032 16.2421 15.2461 16.2421 16.1956 17.1916C16.1956 17.1916 17.1452 18.1412 17.1452 19.484C17.1452 19.484 17.1452 20.8269 16.1956 21.7764C16.1956 21.7764 15.2461 22.726 13.9032 22.726H12.4849ZM13.9032 21.105H13.2954V17.8631H13.9032C13.9032 17.8631 14.5747 17.8631 15.0494 18.3378C15.0494 18.3378 15.5242 18.8126 15.5242 19.484C15.5242 19.484 15.5242 20.1555 15.0494 20.6302C15.0494 20.6302 14.5747 21.105 13.9032 21.105Z" fill="#2962FF"/>
</svg>
\ No newline at end of file
<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.9677 2.46387C12.9677 2.46387 15.1108 2.46387 17.0691 3.29219C17.0691 3.29219 18.9601 4.092 20.418 5.54988C20.418 5.54988 21.8759 7.00775 22.6757 8.89871C22.6757 8.89871 23.504 10.8571 23.504 13.0002C23.504 13.0002 23.504 15.1432 22.6757 17.1016C22.6757 17.1016 21.8759 18.9926 20.418 20.4505C20.418 20.4505 18.9601 21.9083 17.0691 22.7081C17.0691 22.7081 15.1108 23.5365 12.9677 23.5365C12.9677 23.5365 10.8246 23.5365 8.86624 22.7081C8.86624 22.7081 6.97528 21.9083 5.51741 20.4505C5.51741 20.4505 4.05953 18.9926 3.25972 17.1016C3.25972 17.1016 2.4314 15.1432 2.4314 13.0002C2.4314 13.0002 2.4314 10.8571 3.25972 8.89871C3.25972 8.89871 4.05954 7.00775 5.51741 5.54988C5.51741 5.54988 6.97528 4.092 8.86624 3.29219C8.86624 3.29219 10.8246 2.46387 12.9677 2.46387ZM12.9677 4.08484C12.9677 4.08484 11.1533 4.08484 9.4977 4.78511C9.4977 4.78511 7.89792 5.46176 6.66361 6.69608C6.66361 6.69608 5.42929 7.93039 4.75264 9.53017C4.75264 9.53017 4.05237 11.1858 4.05237 13.0002C4.05237 13.0002 4.05237 14.8145 4.75264 16.4702C4.75264 16.4702 5.42929 18.0699 6.66361 19.3043C6.66361 19.3043 7.89792 20.5386 9.4977 21.2152C9.4977 21.2152 11.1533 21.9155 12.9677 21.9155C12.9677 21.9155 14.782 21.9155 16.4377 21.2152C16.4377 21.2152 18.0375 20.5386 19.2718 19.3043C19.2718 19.3043 20.5061 18.0699 21.1827 16.4702C21.1827 16.4702 21.883 14.8145 21.883 13.0002C21.883 13.0002 21.883 11.1858 21.1827 9.53017C21.1827 9.53017 20.5061 7.93039 19.2718 6.69608C19.2718 6.69608 18.0375 5.46176 16.4377 4.78511C16.4377 4.78511 14.7821 4.08484 12.9677 4.08484Z" fill="#2962FF"/>
<path d="M3.79909 10.5687H22.1363C22.5839 10.5687 22.9468 10.2058 22.9468 9.75823C22.9468 9.31061 22.5839 8.94774 22.1363 8.94774H3.79909C3.35147 8.94774 2.9886 9.31061 2.9886 9.75823C2.9886 10.2058 3.35147 10.5687 3.79909 10.5687Z" fill="#2962FF"/>
<path d="M3.79909 17.0526H22.1363C22.5839 17.0526 22.9468 16.6897 22.9468 16.2421C22.9468 15.7945 22.5839 15.4316 22.1363 15.4316H3.79909C3.35147 15.4316 2.9886 15.7945 2.9886 16.2421C2.9886 16.6897 3.35147 17.0526 3.79909 17.0526Z" fill="#2962FF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.9677 2.72724C12.9677 2.72724 14.1249 2.72724 15.1146 3.70467C15.1146 3.70467 15.9548 4.5345 16.5782 5.99012C16.5782 5.99012 17.8306 8.91442 17.8306 13.0001C17.8306 13.0001 17.8306 17.0858 16.5782 20.0101C16.5782 20.0101 15.9548 21.4658 15.1146 22.2956C15.1146 22.2956 14.1249 23.273 12.9677 23.273C12.9677 23.273 11.8105 23.273 10.8208 22.2956C10.8208 22.2956 9.98056 21.4658 9.35716 20.0101C9.35716 20.0101 8.10479 17.0858 8.10479 13.0001C8.10479 13.0001 8.10479 8.91442 9.35716 5.99012C9.35716 5.99012 9.98056 4.5345 10.8208 3.70467C10.8208 3.70467 11.8105 2.72724 12.9677 2.72724ZM12.9677 4.3482C12.9677 4.3482 12.476 4.3482 11.9598 4.85798C11.9598 4.85798 11.3456 5.46462 10.8472 6.62827C10.8472 6.62827 9.72576 9.24692 9.72576 13.0001C9.72576 13.0001 9.72576 16.7533 10.8472 19.372C10.8472 19.372 11.3456 20.5356 11.9598 21.1423C11.9598 21.1423 12.476 21.652 12.9677 21.652C12.9677 21.652 13.4594 21.652 13.9756 21.1423C13.9756 21.1423 14.5898 20.5356 15.0882 19.372C15.0882 19.372 16.2096 16.7533 16.2096 13.0001C16.2096 13.0001 16.2096 9.24692 15.0882 6.62827C15.0882 6.62827 14.5898 5.46462 13.9756 4.85798C13.9756 4.85798 13.4594 4.3482 12.9677 4.3482Z" fill="#2962FF"/>
</svg>
\ No newline at end of file
<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.63174 11.0032C4.63174 11.0032 4.45512 10.9293 3.90565 10.9217C3.90565 10.9217 3.43586 10.9153 3.20477 10.8731C3.20477 10.8731 2.75065 10.79 2.48032 10.5197C2.48032 10.5197 2.20835 10.2477 2.12405 9.78583C2.12405 9.78583 2.0812 9.55101 2.07376 9.07424C2.07376 9.07424 2.06533 8.5331 1.99639 8.36734C1.99639 8.36734 1.926 8.19812 1.54252 7.79691C1.54252 7.79691 1.21276 7.4519 1.07847 7.25786C1.07847 7.25786 0.8125 6.87353 0.8125 6.5C0.8125 6.5 0.8125 6.12811 1.0742 5.74934C1.0742 5.74934 1.20647 5.55788 1.53255 5.21763C1.53255 5.21763 1.92128 4.81199 1.99677 4.63174C1.99677 4.63174 2.07074 4.45512 2.07825 3.90565C2.07825 3.90565 2.08467 3.43586 2.12693 3.20477C2.12693 3.20477 2.20998 2.75065 2.48032 2.48032C2.48032 2.48032 2.75228 2.20835 3.21417 2.12405C3.21417 2.12405 3.44899 2.0812 3.92576 2.07376C3.92576 2.07376 4.4669 2.06533 4.63266 1.99639C4.63266 1.99639 4.80188 1.926 5.20308 1.54252C5.20308 1.54252 5.5481 1.21276 5.74214 1.07847C5.74214 1.07847 6.12647 0.8125 6.5 0.8125C6.5 0.8125 6.87189 0.8125 7.25066 1.0742C7.25066 1.0742 7.44212 1.20647 7.78237 1.53255C7.78237 1.53255 8.18801 1.92128 8.36826 1.99677C8.36826 1.99677 8.54488 2.07074 9.09435 2.07825C9.09435 2.07825 9.56414 2.08467 9.79523 2.12693C9.79523 2.12693 10.2494 2.20998 10.5197 2.48032C10.5197 2.48032 10.7916 2.75228 10.8759 3.21417C10.8759 3.21417 10.9188 3.449 10.9262 3.92576C10.9262 3.92576 10.9347 4.4669 11.0036 4.63266C11.0036 4.63266 11.074 4.80188 11.4575 5.20308C11.4575 5.20308 11.7872 5.5481 11.9215 5.74214C11.9215 5.74214 12.1875 6.12647 12.1875 6.5C12.1875 6.5 12.1875 6.87189 11.9258 7.25066C11.9258 7.25066 11.7935 7.44212 11.4675 7.78237C11.4675 7.78237 11.0787 8.18801 11.0032 8.36826C11.0032 8.36826 10.9293 8.54488 10.9217 9.09435C10.9217 9.09435 10.9153 9.56414 10.8731 9.79523C10.8731 9.79523 10.79 10.2494 10.5197 10.5197C10.5197 10.5197 10.2477 10.7916 9.78583 10.8759C9.78583 10.8759 9.551 10.9188 9.07424 10.9262C9.07424 10.9262 8.5331 10.9347 8.36734 11.0036C8.36734 11.0036 8.19812 11.074 7.79691 11.4575C7.79691 11.4575 7.4519 11.7872 7.25786 11.9215C7.25786 11.9215 6.87353 12.1875 6.5 12.1875C6.5 12.1875 6.12811 12.1875 5.74934 11.9258C5.74934 11.9258 5.55788 11.7935 5.21763 11.4675C5.21763 11.4675 4.81199 11.0787 4.63174 11.0032ZM4.9456 10.2538C4.9456 10.2538 5.26514 10.3876 5.7798 10.8808C5.7798 10.8808 6.29545 11.375 6.5 11.375C6.5 11.375 6.70729 11.375 7.23551 10.8701C7.23551 10.8701 7.74623 10.382 8.05531 10.2534C8.05531 10.2534 8.36479 10.1247 9.06157 10.1138C9.06157 10.1138 9.7878 10.1025 9.94516 9.94516C9.94516 9.94516 10.0997 9.79067 10.1093 9.08324C10.1093 9.08324 10.119 8.37629 10.2538 8.0544C10.2538 8.0544 10.3876 7.73486 10.8808 7.2202C10.8808 7.2202 11.375 6.70455 11.375 6.5C11.375 6.5 11.375 6.29271 10.8701 5.76449C10.8701 5.76449 10.382 5.25377 10.2534 4.94469C10.2534 4.94469 10.1247 4.63521 10.1138 3.93843C10.1138 3.93843 10.1025 3.2122 9.94516 3.05484C9.94516 3.05484 9.79067 2.90035 9.08325 2.89068C9.08325 2.89068 8.37629 2.88101 8.0544 2.7462C8.0544 2.7462 7.73486 2.61238 7.2202 2.11916C7.2202 2.11916 6.70455 1.625 6.5 1.625C6.5 1.625 6.29271 1.625 5.76449 2.12988C5.76449 2.12988 5.25377 2.61803 4.94469 2.74658C4.94469 2.74658 4.63521 2.8753 3.93843 2.88617C3.93843 2.88617 3.21219 2.89749 3.05484 3.05484C3.05484 3.05484 2.90035 3.20933 2.89068 3.91675C2.89068 3.91675 2.88101 4.62371 2.7462 4.9456C2.7462 4.9456 2.61238 5.26514 2.11916 5.7798C2.11916 5.7798 1.625 6.29545 1.625 6.5C1.625 6.5 1.625 6.70729 2.12988 7.23551C2.12988 7.23551 2.61803 7.74623 2.74658 8.05531C2.74658 8.05531 2.8753 8.36479 2.88617 9.06157C2.88617 9.06157 2.89749 9.78781 3.05484 9.94516C3.05484 9.94516 3.20933 10.0997 3.91676 10.1093C3.91676 10.1093 4.62371 10.119 4.9456 10.2538Z" fill="#0ECB81"/>
<path d="M4.5463 6.40942C4.47071 6.33719 4.37018 6.29688 4.26562 6.29688C4.26554 6.29688 4.25641 6.29698 4.25641 6.29698C4.14869 6.29942 4.04636 6.34456 3.97192 6.42245C3.89969 6.49804 3.85938 6.59857 3.85938 6.70312L3.85948 6.71234C3.86192 6.82006 3.90706 6.92239 3.98495 6.99683L5.47284 8.4187C5.62978 8.56867 5.87688 8.56878 6.03394 8.41894L9.0147 5.57529C9.09265 5.50092 9.13798 5.39852 9.14051 5.29081C9.14067 5.2843 9.14066 5.2778 9.1405 5.27129C9.13803 5.17033 9.09803 5.0739 9.02832 5.00083C8.95166 4.92047 8.84544 4.875 8.73438 4.875L8.72291 4.87516C8.62247 4.878 8.52665 4.91795 8.45395 4.98731L5.75376 7.56331L4.5463 6.40942Z" fill="#0ECB81"/>
</svg>
\ No newline at end of file
<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.41886 14.7956C6.28766 14.8897 6.13724 14.9534 5.97842 14.9823C5.81961 15.0113 5.65635 15.0046 5.50043 14.9628C5.3445 14.921 5.19978 14.8452 5.0767 14.7407C4.95361 14.6363 4.85523 14.5058 4.78863 14.3588C4.62855 14.0055 4.36182 13.7112 4.02591 13.5173C3.68999 13.3234 3.30177 13.2396 2.91577 13.2777C2.75515 13.2935 2.59302 13.2734 2.44106 13.2191C2.2891 13.1647 2.15109 13.0772 2.03698 12.9631C1.92287 12.849 1.8355 12.7109 1.78115 12.559C1.7268 12.407 1.70683 12.2448 1.72267 12.0842C1.76071 11.6982 1.67685 11.3099 1.48288 10.974C1.2889 10.6381 0.994558 10.3714 0.641201 10.2114C0.494152 10.1448 0.363704 10.0464 0.259258 9.9233C0.154812 9.80022 0.0789676 9.6555 0.0371889 9.49957C-0.00458979 9.34365 -0.0112623 9.18039 0.0176521 9.02158C0.0465665 8.86276 0.110348 8.71234 0.204401 8.58114C0.430291 8.2659 0.551766 7.88782 0.551766 7.5C0.551766 7.11218 0.430291 6.7341 0.204401 6.41886C0.110348 6.28766 0.0465665 6.13724 0.0176521 5.97842C-0.0112623 5.81961 -0.00458979 5.65635 0.0371889 5.50043C0.0789676 5.3445 0.154812 5.19978 0.259258 5.0767C0.363704 4.95361 0.494152 4.85523 0.641201 4.78863C0.994496 4.62855 1.28877 4.36182 1.48268 4.02591C1.67659 3.68999 1.76041 3.30177 1.72234 2.91577C1.70654 2.75515 1.72655 2.59302 1.78095 2.44106C1.83534 2.2891 1.92275 2.15109 2.0369 2.03698C2.15104 1.92287 2.28907 1.8355 2.44104 1.78115C2.59301 1.7268 2.75515 1.70683 2.91577 1.72267C3.3018 1.76071 3.69006 1.67685 4.02598 1.48288C4.3619 1.2889 4.62861 0.994558 4.78863 0.641201C4.85523 0.494152 4.95361 0.363704 5.0767 0.259258C5.19978 0.154812 5.3445 0.0789676 5.50043 0.0371889C5.65635 -0.00458979 5.81961 -0.0112623 5.97842 0.0176521C6.13724 0.0465665 6.28766 0.110348 6.41886 0.204401C6.7341 0.430291 7.11218 0.551766 7.5 0.551766C7.88782 0.551766 8.2659 0.430291 8.58114 0.204401C8.71234 0.110348 8.86276 0.0465665 9.02158 0.0176521C9.18039 -0.0112623 9.34365 -0.00458979 9.49957 0.0371889C9.6555 0.0789676 9.80022 0.154812 9.9233 0.259258C10.0464 0.363704 10.1448 0.494152 10.2114 0.641201C10.3714 0.994496 10.6382 1.28877 10.9741 1.48268C11.31 1.67659 11.6982 1.76041 12.0842 1.72234C12.2449 1.70654 12.407 1.72655 12.5589 1.78095C12.7109 1.83534 12.8489 1.92275 12.963 2.0369C13.0771 2.15104 13.1645 2.28907 13.2189 2.44104C13.2732 2.59301 13.2932 2.75515 13.2773 2.91577C13.2393 3.3018 13.3231 3.69006 13.5171 4.02598C13.7111 4.3619 14.0054 4.62861 14.3588 4.78863C14.5058 4.85523 14.6363 4.95361 14.7407 5.0767C14.8452 5.19978 14.921 5.3445 14.9628 5.50043C15.0046 5.65635 15.0113 5.81961 14.9823 5.97842C14.9534 6.13724 14.8897 6.28766 14.7956 6.41886C14.5697 6.7341 14.4482 7.11218 14.4482 7.5C14.4482 7.88782 14.5697 8.2659 14.7956 8.58114C14.8897 8.71234 14.9534 8.86276 14.9823 9.02158C15.0113 9.18039 15.0046 9.34365 14.9628 9.49957C14.921 9.6555 14.8452 9.80022 14.7407 9.9233C14.6363 10.0464 14.5058 10.1448 14.3588 10.2114C14.0055 10.3714 13.7112 10.6382 13.5173 10.9741C13.3234 11.31 13.2396 11.6982 13.2777 12.0842C13.2935 12.2449 13.2734 12.407 13.2191 12.5589C13.1647 12.7109 13.0772 12.8489 12.9631 12.963C12.849 13.0771 12.7109 13.1645 12.559 13.2189C12.407 13.2732 12.2448 13.2932 12.0842 13.2773C11.6982 13.2393 11.3099 13.3231 10.974 13.5171C10.6381 13.7111 10.3714 14.0054 10.2114 14.3588C10.1448 14.5058 10.0464 14.6363 9.9233 14.7407C9.80022 14.8452 9.6555 14.921 9.49957 14.9628C9.34365 15.0046 9.18039 15.0113 9.02158 14.9823C8.86276 14.9534 8.71234 14.8897 8.58114 14.7956C8.2659 14.5697 7.88782 14.4482 7.5 14.4482C7.11218 14.4482 6.7341 14.5697 6.41886 14.7956Z" fill="#FFB800"/>
<path d="M4.81136 4.13921C4.62575 3.9536 4.32482 3.9536 4.13921 4.13921C3.9536 4.32482 3.9536 4.62576 4.13921 4.81137L6.82785 7.50002L4.13924 10.1886C3.95363 10.3742 3.95363 10.6752 4.13924 10.8608C4.32485 11.0464 4.62579 11.0464 4.8114 10.8608L7.5 8.17218L10.1886 10.8608C10.3742 11.0464 10.6751 11.0464 10.8608 10.8608C11.0464 10.6752 11.0464 10.3742 10.8608 10.1886L8.17216 7.50002L10.8608 4.81137C11.0464 4.62576 11.0464 4.32482 10.8608 4.13921C10.6752 3.9536 10.3742 3.9536 10.1886 4.13921L7.5 6.82786L4.81136 4.13921Z" fill="white"/>
</svg>
\ No newline at end of file
<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.41886 14.7956C6.28766 14.8897 6.13724 14.9534 5.97842 14.9823C5.81961 15.0113 5.65635 15.0046 5.50043 14.9628C5.3445 14.921 5.19978 14.8452 5.0767 14.7407C4.95361 14.6363 4.85523 14.5058 4.78863 14.3588C4.62855 14.0055 4.36182 13.7112 4.02591 13.5173C3.68999 13.3234 3.30177 13.2396 2.91577 13.2777C2.75515 13.2935 2.59302 13.2734 2.44106 13.2191C2.2891 13.1647 2.15109 13.0772 2.03698 12.9631C1.92287 12.849 1.8355 12.7109 1.78115 12.559C1.7268 12.407 1.70683 12.2448 1.72267 12.0842C1.76071 11.6982 1.67685 11.3099 1.48288 10.974C1.2889 10.6381 0.994558 10.3714 0.641201 10.2114C0.494152 10.1448 0.363704 10.0464 0.259258 9.9233C0.154812 9.80022 0.0789676 9.6555 0.0371889 9.49957C-0.00458979 9.34365 -0.0112623 9.18039 0.0176521 9.02158C0.0465665 8.86276 0.110348 8.71234 0.204401 8.58114C0.430291 8.2659 0.551766 7.88782 0.551766 7.5C0.551766 7.11218 0.430291 6.7341 0.204401 6.41886C0.110348 6.28766 0.0465665 6.13724 0.0176521 5.97842C-0.0112623 5.81961 -0.00458979 5.65635 0.0371889 5.50043C0.0789676 5.3445 0.154812 5.19978 0.259258 5.0767C0.363704 4.95361 0.494152 4.85523 0.641201 4.78863C0.994496 4.62855 1.28877 4.36182 1.48268 4.02591C1.67659 3.68999 1.76041 3.30177 1.72234 2.91577C1.70654 2.75515 1.72655 2.59302 1.78095 2.44106C1.83534 2.2891 1.92275 2.15109 2.0369 2.03698C2.15104 1.92287 2.28907 1.8355 2.44104 1.78115C2.59301 1.7268 2.75515 1.70683 2.91577 1.72267C3.3018 1.76071 3.69006 1.67685 4.02598 1.48288C4.3619 1.2889 4.62861 0.994558 4.78863 0.641201C4.85523 0.494152 4.95361 0.363704 5.0767 0.259258C5.19978 0.154812 5.3445 0.0789676 5.50043 0.0371889C5.65635 -0.00458979 5.81961 -0.0112623 5.97842 0.0176521C6.13724 0.0465665 6.28766 0.110348 6.41886 0.204401C6.7341 0.430291 7.11218 0.551766 7.5 0.551766C7.88782 0.551766 8.2659 0.430291 8.58114 0.204401C8.71234 0.110348 8.86276 0.0465665 9.02158 0.0176521C9.18039 -0.0112623 9.34365 -0.00458979 9.49957 0.0371889C9.6555 0.0789676 9.80022 0.154812 9.9233 0.259258C10.0464 0.363704 10.1448 0.494152 10.2114 0.641201C10.3714 0.994496 10.6382 1.28877 10.9741 1.48268C11.31 1.67659 11.6982 1.76041 12.0842 1.72234C12.2449 1.70654 12.407 1.72655 12.5589 1.78095C12.7109 1.83534 12.8489 1.92275 12.963 2.0369C13.0771 2.15104 13.1645 2.28907 13.2189 2.44104C13.2732 2.59301 13.2932 2.75515 13.2773 2.91577C13.2393 3.3018 13.3231 3.69006 13.5171 4.02598C13.7111 4.3619 14.0054 4.62861 14.3588 4.78863C14.5058 4.85523 14.6363 4.95361 14.7407 5.0767C14.8452 5.19978 14.921 5.3445 14.9628 5.50043C15.0046 5.65635 15.0113 5.81961 14.9823 5.97842C14.9534 6.13724 14.8897 6.28766 14.7956 6.41886C14.5697 6.7341 14.4482 7.11218 14.4482 7.5C14.4482 7.88782 14.5697 8.2659 14.7956 8.58114C14.8897 8.71234 14.9534 8.86276 14.9823 9.02158C15.0113 9.18039 15.0046 9.34365 14.9628 9.49957C14.921 9.6555 14.8452 9.80022 14.7407 9.9233C14.6363 10.0464 14.5058 10.1448 14.3588 10.2114C14.0055 10.3714 13.7112 10.6382 13.5173 10.9741C13.3234 11.31 13.2396 11.6982 13.2777 12.0842C13.2935 12.2449 13.2734 12.407 13.2191 12.5589C13.1647 12.7109 13.0772 12.8489 12.9631 12.963C12.849 13.0771 12.7109 13.1645 12.559 13.2189C12.407 13.2732 12.2448 13.2932 12.0842 13.2773C11.6982 13.2393 11.3099 13.3231 10.974 13.5171C10.6381 13.7111 10.3714 14.0054 10.2114 14.3588C10.1448 14.5058 10.0464 14.6363 9.9233 14.7407C9.80022 14.8452 9.6555 14.921 9.49957 14.9628C9.34365 15.0046 9.18039 15.0113 9.02158 14.9823C8.86276 14.9534 8.71234 14.8897 8.58114 14.7956C8.2659 14.5697 7.88782 14.4482 7.5 14.4482C7.11218 14.4482 6.7341 14.5697 6.41886 14.7956Z" fill="#2962FF"/>
<line x1="4.5" y1="7.5" x2="10.5" y2="7.5" stroke="white" stroke-linecap="round"/>
</svg>
\ No newline at end of file
<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.55379 3.48414L7.21004 1.82789C7.39033 1.64768 7.68251 1.64768 7.86275 1.82789L9.51779 3.48296C9.69803 3.66317 9.69803 3.95542 9.51779 4.13567L7.86156 5.7919C7.68129 5.97217 7.38909 5.97219 7.20885 5.7919L5.55381 4.13691C5.37357 3.95662 5.37353 3.6644 5.55379 3.48414Z" fill="black" fill-opacity="0.1"/>
<path d="M9.24674 7.17656L10.903 5.52032C11.0832 5.34007 11.3755 5.34009 11.5557 5.52032L13.2107 7.17537C13.391 7.3556 13.391 7.64785 13.2107 7.82808L11.5544 9.48425C11.3742 9.6646 11.082 9.66458 10.9018 9.48427L9.24672 7.8293C9.06643 7.64897 9.06647 7.35683 9.24674 7.17656Z" fill="black" fill-opacity="0.1"/>
<path d="M1.86152 7.1707L3.51777 5.51446C3.69802 5.33421 3.99025 5.33423 4.17048 5.51446L5.82553 7.16951C6.00576 7.34974 6.00574 7.64193 5.82553 7.82222L4.16921 9.47839C3.98902 9.65874 3.69678 9.65872 3.51655 9.47841L1.8615 7.82344C1.68127 7.64313 1.68127 7.35095 1.86152 7.1707Z" fill="black" fill-opacity="0.1"/>
<path d="M5.55441 10.863L7.21063 9.20681C7.39092 9.0266 7.68312 9.02658 7.86335 9.20681L9.5184 10.8619C9.69863 11.0421 9.69865 11.3343 9.51842 11.5146L7.86215 13.1708C7.68188 13.3511 7.38969 13.3511 7.20946 13.1708L5.55441 11.5158C5.37418 11.3355 5.37418 11.0433 5.55441 10.863Z" fill="black" fill-opacity="0.1"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.22754 4.46326C5.22754 4.46326 4.95717 4.1929 4.95717 3.81055C4.95717 3.81055 4.95717 3.4282 5.22754 3.15783L6.8838 1.50157C6.8838 1.50157 7.15416 1.23121 7.53651 1.23121C7.53651 1.23121 7.91886 1.23121 8.18923 1.50157L9.84426 3.15661C9.84426 3.15661 10.1146 3.42697 10.1146 3.80932C10.1146 3.80932 10.1146 4.19167 9.84426 4.46204L8.188 6.1183C8.188 6.1183 7.91764 6.38866 7.53529 6.38866C7.53529 6.38866 7.15294 6.38866 6.88257 6.1183L5.22754 4.46326ZM5.88025 3.81055L7.53529 5.46558L9.19155 3.80932L7.53651 2.15428L5.88025 3.81055Z" fill="#EAECEF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.92044 8.15564C8.92044 8.15564 8.65008 7.88528 8.65008 7.50293C8.65008 7.50293 8.65008 7.12058 8.92044 6.85022L10.5767 5.19395C10.5767 5.19395 10.8471 4.92359 11.2294 4.92359C11.2294 4.92359 11.6118 4.92359 11.8821 5.19395L13.5372 6.84899C13.5372 6.84899 13.8075 7.11935 13.8075 7.50171C13.8075 7.50171 13.8075 7.88406 13.5372 8.15442L11.8809 9.81068C11.8809 9.81068 11.6105 10.081 11.2282 10.081C11.2282 10.081 10.8458 10.081 10.5755 9.81068L8.92044 8.15564ZM9.57316 7.50293L11.2282 9.15797L12.8845 7.50171L11.2294 5.84667L9.57316 7.50293Z" fill="#EAECEF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.53523 8.14978C1.53523 8.14978 1.26486 7.87942 1.26486 7.49707C1.26486 7.49707 1.26486 7.11472 1.53523 6.84436L3.19149 5.18809C3.19149 5.18809 3.46185 4.91773 3.8442 4.91773C3.8442 4.91773 4.22655 4.91773 4.49692 5.18809L6.15195 6.84313C6.15195 6.84313 6.42232 7.11349 6.42232 7.49585C6.42232 7.49585 6.42232 7.8782 6.15195 8.14856L4.49569 9.80482C4.49569 9.80482 4.22533 10.0752 3.84298 10.0752C3.84298 10.0752 3.46063 10.0752 3.19026 9.80482L1.53523 8.14978ZM2.18794 7.49707L3.84298 9.15211L5.49924 7.49585L3.8442 5.84081L2.18794 7.49707Z" fill="#EAECEF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.22813 11.8422C5.22813 11.8422 4.95777 11.5718 4.95777 11.1895C4.95777 11.1895 4.95777 10.8071 5.22813 10.5367L6.8844 8.88048C6.8844 8.88048 7.15476 8.61011 7.53711 8.61011C7.53711 8.61011 7.91946 8.61011 8.18982 8.88048L9.84486 10.5355C9.84486 10.5355 10.1152 10.8059 10.1152 11.1882C10.1152 11.1882 10.1152 11.5706 9.84486 11.8409L8.1886 13.4972C8.1886 13.4972 7.91824 13.7676 7.53589 13.7676C7.53589 13.7676 7.15354 13.7676 6.88317 13.4972L5.22813 11.8422ZM5.88085 11.1895L7.53589 12.8445L9.19215 11.1882L7.53711 9.53319L5.88085 11.1895Z" fill="#EAECEF"/>
</svg>
\ No newline at end of file
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.8264 30.4705C12.8264 30.4705 12.3372 30.2656 10.8156 30.2448C10.8156 30.2448 9.51468 30.2271 8.87476 30.11C8.87476 30.11 7.61718 29.88 6.86857 29.1314C6.86857 29.1314 6.11544 28.3783 5.88199 27.0992C5.88199 27.0992 5.76331 26.4489 5.74273 25.1287C5.74273 25.1287 5.71937 23.6301 5.52845 23.1711C5.52845 23.1711 5.33355 22.7025 4.2716 21.5915C4.2716 21.5915 3.3584 20.636 2.98654 20.0987C2.98654 20.0987 2.25 19.0344 2.25 18C2.25 18 2.25 16.9702 2.97469 15.9212C2.97469 15.9212 3.341 15.3911 4.24398 14.4488C4.24398 14.4488 5.32046 13.3255 5.52952 12.8264C5.52952 12.8264 5.73436 12.3372 5.75516 10.8156C5.75516 10.8156 5.77294 9.51469 5.88997 8.87476C5.88997 8.87476 6.11996 7.61718 6.86857 6.86857C6.86857 6.86857 7.6217 6.11544 8.90079 5.88199C8.90079 5.88199 9.55106 5.76331 10.8713 5.74273C10.8713 5.74273 12.3699 5.71937 12.8289 5.52845C12.8289 5.52845 13.2975 5.33355 14.4085 4.2716C14.4085 4.2716 15.364 3.3584 15.9013 2.98654C15.9013 2.98654 16.9656 2.25 18 2.25C18 2.25 19.0298 2.25 20.0788 2.97469C20.0788 2.97469 20.6089 3.341 21.5512 4.24398C21.5512 4.24398 22.6745 5.32046 23.1736 5.52952C23.1736 5.52952 23.6628 5.73436 25.1844 5.75516C25.1844 5.75516 26.4853 5.77294 27.1252 5.88997C27.1252 5.88997 28.3828 6.11996 29.1314 6.86857C29.1314 6.86857 29.8846 7.62169 30.118 8.90079C30.118 8.90079 30.2367 9.55108 30.2573 10.8713C30.2573 10.8713 30.2806 12.3699 30.4715 12.8289C30.4715 12.8289 30.6665 13.2975 31.7284 14.4085C31.7284 14.4085 32.6416 15.364 33.0135 15.9013C33.0135 15.9013 33.75 16.9656 33.75 18C33.75 18 33.75 19.0298 33.0253 20.0788C33.0253 20.0788 32.659 20.609 31.756 21.5512C31.756 21.5512 30.6795 22.6745 30.4705 23.1736C30.4705 23.1736 30.2656 23.6628 30.2448 25.1844C30.2448 25.1844 30.2271 26.4853 30.11 27.1252C30.11 27.1252 29.88 28.3828 29.1314 29.1314C29.1314 29.1314 28.3783 29.8846 27.0992 30.118C27.0992 30.118 26.4489 30.2367 25.1287 30.2573C25.1287 30.2573 23.6301 30.2806 23.1711 30.4715C23.1711 30.4715 22.7025 30.6665 21.5915 31.7284C21.5915 31.7284 20.636 32.6416 20.0987 33.0135C20.0987 33.0135 19.0344 33.75 18 33.75C18 33.75 16.9702 33.75 15.9212 33.0253C15.9212 33.0253 15.391 32.659 14.4488 31.756C14.4488 31.756 13.3255 30.6795 12.8264 30.4705ZM13.6955 28.3951C13.6955 28.3951 14.5804 28.7657 16.0056 30.1315C16.0056 30.1315 17.4335 31.5 18 31.5C18 31.5 18.574 31.5 20.0368 30.1019C20.0368 30.1019 21.4511 28.7501 22.307 28.3941C22.307 28.3941 23.164 28.0376 25.0936 28.0075C25.0936 28.0075 27.1047 27.9762 27.5404 27.5404C27.5404 27.5404 27.9683 27.1126 27.9951 25.1536C27.9951 25.1536 28.0218 23.1959 28.3951 22.3045C28.3951 22.3045 28.7657 21.4196 30.1315 19.9944C30.1315 19.9944 31.5 18.5665 31.5 18C31.5 18 31.5 17.426 30.1019 15.9632C30.1019 15.9632 28.7501 14.5489 28.3941 13.693C28.3941 13.693 28.0376 12.836 28.0075 10.9064C28.0075 10.9064 27.9762 8.89531 27.5404 8.45956C27.5404 8.45956 27.1126 8.03173 25.1536 8.00495C25.1536 8.00495 23.1959 7.97819 22.3045 7.60486C22.3045 7.60486 21.4196 7.23427 19.9944 5.86845C19.9944 5.86845 18.5665 4.5 18 4.5C18 4.5 17.426 4.5 15.9632 5.89813C15.9632 5.89813 14.5489 7.24992 13.693 7.60592C13.693 7.60592 12.836 7.96238 10.9064 7.99246C10.9064 7.99246 8.89531 8.02381 8.45956 8.45956C8.45956 8.45956 8.03173 8.88739 8.00495 10.8464C8.00495 10.8464 7.97819 12.8041 7.60486 13.6955C7.60486 13.6955 7.23427 14.5804 5.86845 16.0056C5.86845 16.0056 4.5 17.4335 4.5 18C4.5 18 4.5 18.574 5.89813 20.0368C5.89813 20.0368 7.24992 21.4511 7.60592 22.307C7.60592 22.307 7.96238 23.164 7.99246 25.0936C7.99246 25.0936 8.02381 27.1047 8.45956 27.5404C8.45956 27.5404 8.88739 27.9683 10.8464 27.9951C10.8464 27.9951 12.8041 28.0218 13.6955 28.3951Z" fill="#595A5A"/>
<path d="M12.5897 17.7492C12.3804 17.5491 12.102 17.4375 11.8125 17.4375C11.8123 17.4375 11.787 17.4378 11.787 17.4378C11.4887 17.4446 11.2053 17.5695 10.9992 17.7853C10.7991 17.9946 10.6875 18.273 10.6875 18.5625L10.6878 18.588C10.6946 18.8863 10.8195 19.1697 11.0353 19.3758L15.1556 23.3133C15.5901 23.7286 16.2744 23.7289 16.7094 23.314L24.9638 15.4393C25.1797 15.2333 25.3052 14.9498 25.3122 14.6515C25.3126 14.6335 25.3126 14.6154 25.3122 14.5974C25.3053 14.3178 25.1945 14.0508 25.0015 13.8484C24.7892 13.6259 24.4951 13.5 24.1875 13.5L24.1557 13.5004C23.8776 13.5083 23.6123 13.6189 23.4109 13.811L15.9335 20.9445L12.5897 17.7492Z" fill="#595A5A"/>
</svg>
\ No newline at end of file
<svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.44727 5.89648C1.38368 5.82871 1.34057 5.74432 1.32295 5.65307C1.30532 5.56182 1.31388 5.46744 1.34766 5.38086C1.38352 5.29555 1.44383 5.22276 1.52099 5.17166C1.59815 5.12057 1.68871 5.09346 1.78125 5.09375H5.53125V0.875C5.53125 0.75068 5.58064 0.631451 5.66854 0.543544C5.75645 0.455636 5.87568 0.40625 6 0.40625C6.12432 0.40625 6.24355 0.455636 6.33146 0.543544C6.41936 0.631451 6.46875 0.75068 6.46875 0.875V5.09375H10.2188C10.3113 5.09346 10.4019 5.12057 10.479 5.17166C10.5562 5.22276 10.6165 5.29555 10.6523 5.38086C10.6861 5.46744 10.6947 5.56182 10.6771 5.65307C10.6594 5.74432 10.6163 5.82871 10.5527 5.89648L6.33398 10.1152C6.24439 10.2019 6.12463 10.2503 6 10.2503C5.87537 10.2503 5.75561 10.2019 5.66602 10.1152L1.44727 5.89648ZM11.1562 11.1875H0.84375C0.71943 11.1875 0.600201 11.2369 0.512294 11.3248C0.424386 11.4127 0.375 11.5319 0.375 11.6562C0.375 11.7806 0.424386 11.8998 0.512294 11.9877C0.600201 12.0756 0.71943 12.125 0.84375 12.125H11.1562C11.2806 12.125 11.3998 12.0756 11.4877 11.9877C11.5756 11.8998 11.625 11.7806 11.625 11.6562C11.625 11.5319 11.5756 11.4127 11.4877 11.3248C11.3998 11.2369 11.2806 11.1875 11.1562 11.1875Z" fill="#EAECEF"/>
</svg>
\ No newline at end of file
<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.41886 14.7956C6.28766 14.8897 6.13724 14.9534 5.97842 14.9823C5.81961 15.0113 5.65635 15.0046 5.50043 14.9628C5.3445 14.921 5.19978 14.8452 5.0767 14.7407C4.95361 14.6363 4.85523 14.5058 4.78863 14.3588C4.62855 14.0055 4.36182 13.7112 4.02591 13.5173C3.68999 13.3234 3.30177 13.2396 2.91577 13.2777C2.75515 13.2935 2.59302 13.2734 2.44106 13.2191C2.2891 13.1647 2.15109 13.0772 2.03698 12.9631C1.92287 12.849 1.8355 12.7109 1.78115 12.559C1.7268 12.407 1.70683 12.2448 1.72267 12.0842C1.76071 11.6982 1.67685 11.3099 1.48288 10.974C1.2889 10.6381 0.994558 10.3714 0.641201 10.2114C0.494152 10.1448 0.363704 10.0464 0.259258 9.9233C0.154812 9.80022 0.0789676 9.6555 0.0371889 9.49957C-0.00458979 9.34365 -0.0112623 9.18039 0.0176521 9.02158C0.0465665 8.86276 0.110348 8.71234 0.204401 8.58114C0.430291 8.2659 0.551766 7.88782 0.551766 7.5C0.551766 7.11218 0.430291 6.7341 0.204401 6.41886C0.110348 6.28766 0.0465665 6.13724 0.0176521 5.97842C-0.0112623 5.81961 -0.00458979 5.65635 0.0371889 5.50043C0.0789676 5.3445 0.154812 5.19978 0.259258 5.0767C0.363704 4.95361 0.494152 4.85523 0.641201 4.78863C0.994496 4.62855 1.28877 4.36182 1.48268 4.02591C1.67659 3.68999 1.76041 3.30177 1.72234 2.91577C1.70654 2.75515 1.72655 2.59302 1.78095 2.44106C1.83534 2.2891 1.92275 2.15109 2.0369 2.03698C2.15104 1.92287 2.28907 1.8355 2.44104 1.78115C2.59302 1.7268 2.75515 1.70683 2.91577 1.72267C3.3018 1.76071 3.69006 1.67685 4.02598 1.48288C4.3619 1.2889 4.62861 0.994558 4.78863 0.641201C4.85523 0.494152 4.95361 0.363704 5.0767 0.259258C5.19978 0.154812 5.3445 0.0789676 5.50043 0.0371889C5.65635 -0.00458979 5.81961 -0.0112623 5.97842 0.0176521C6.13724 0.0465665 6.28766 0.110348 6.41886 0.204401C6.7341 0.430291 7.11218 0.551766 7.5 0.551766C7.88782 0.551766 8.2659 0.430291 8.58114 0.204401C8.71234 0.110348 8.86276 0.0465665 9.02158 0.0176521C9.18039 -0.0112623 9.34365 -0.00458979 9.49957 0.0371889C9.6555 0.0789676 9.80022 0.154812 9.9233 0.259258C10.0464 0.363704 10.1448 0.494152 10.2114 0.641201C10.3714 0.994496 10.6382 1.28877 10.9741 1.48268C11.31 1.67659 11.6982 1.76041 12.0842 1.72234C12.2449 1.70654 12.407 1.72655 12.5589 1.78095C12.7109 1.83534 12.8489 1.92275 12.963 2.0369C13.0771 2.15104 13.1645 2.28907 13.2189 2.44104C13.2732 2.59302 13.2932 2.75515 13.2773 2.91577C13.2393 3.3018 13.3231 3.69006 13.5171 4.02598C13.7111 4.3619 14.0054 4.62861 14.3588 4.78863C14.5058 4.85523 14.6363 4.95361 14.7407 5.0767C14.8452 5.19978 14.921 5.3445 14.9628 5.50043C15.0046 5.65635 15.0113 5.81961 14.9823 5.97842C14.9534 6.13724 14.8897 6.28766 14.7956 6.41886C14.5697 6.7341 14.4482 7.11218 14.4482 7.5C14.4482 7.88782 14.5697 8.2659 14.7956 8.58114C14.8897 8.71234 14.9534 8.86276 14.9823 9.02158C15.0113 9.18039 15.0046 9.34365 14.9628 9.49957C14.921 9.6555 14.8452 9.80022 14.7407 9.9233C14.6363 10.0464 14.5058 10.1448 14.3588 10.2114C14.0055 10.3714 13.7112 10.6382 13.5173 10.9741C13.3234 11.31 13.2396 11.6982 13.2777 12.0842C13.2935 12.2449 13.2734 12.407 13.2191 12.5589C13.1647 12.7109 13.0772 12.8489 12.9631 12.963C12.849 13.0771 12.7109 13.1645 12.559 13.2189C12.407 13.2732 12.2448 13.2932 12.0842 13.2773C11.6982 13.2393 11.3099 13.3231 10.974 13.5171C10.6381 13.7111 10.3714 14.0054 10.2114 14.3588C10.1448 14.5058 10.0464 14.6363 9.9233 14.7407C9.80022 14.8452 9.6555 14.921 9.49957 14.9628C9.34365 15.0046 9.18039 15.0113 9.02158 14.9823C8.86276 14.9534 8.71234 14.8897 8.58114 14.7956C8.2659 14.5697 7.88782 14.4482 7.5 14.4482C7.11218 14.4482 6.7341 14.5697 6.41886 14.7956V14.7956Z" fill="#5EBA89"/>
<path d="M10.9424 5.16048C11.0332 5.06933 11.1556 5.01659 11.2843 5.01319C11.4129 5.00979 11.5379 5.056 11.6334 5.14224C11.729 5.22847 11.7876 5.34814 11.7974 5.47646C11.8071 5.60478 11.7671 5.73192 11.6856 5.83156L11.6512 5.86966L7.39752 10.1234C7.30979 10.2111 7.19266 10.2631 7.06876 10.2695C6.94487 10.2759 6.82302 10.2361 6.72678 10.1578L6.68868 10.1234L4.32555 7.76056C4.23427 7.66979 4.18141 7.54739 4.17792 7.4187C4.17443 7.29002 4.22057 7.16493 4.3068 7.06934C4.39302 6.97376 4.51271 6.915 4.64107 6.90525C4.76942 6.8955 4.89662 6.9355 4.99629 7.01697L5.03438 7.05139L7.04293 9.0596L10.9424 5.16082V5.16048Z" fill="white"/>
</svg>
\ No newline at end of file
<svg width="16" height="18" viewBox="0 0 16 18" fill="" xmlns="http://www.w3.org/2000/svg">
<path d="M13.0164 1.58398H7.33611C6.83494 1.58398 6.42722 2.04606 6.42722 2.61402V2.78565H5.50331C5.12252 2.78565 4.79682 3.05703 4.66835 3.438H2.89795C2.39685 3.438 1.98914 3.90007 1.98914 4.46803V15.3861C1.98914 15.9541 2.39685 16.4162 2.89795 16.4162H10.9563C11.4574 16.4162 11.8651 15.9541 11.8651 15.3861V14.5621H13.0164C13.5174 14.5621 13.9251 14.1001 13.9251 13.5321V2.61402C13.9251 2.04606 13.5174 1.58398 13.0164 1.58398ZM5.50331 3.47232H8.35097C8.50967 3.47232 8.63876 3.61866 8.63876 3.79852C8.63876 3.97837 8.50967 4.12467 8.35097 4.12467H5.50331C5.34461 4.12467 5.21552 3.97833 5.21552 3.79852C5.21545 3.61866 5.34461 3.47232 5.50331 3.47232ZM11.2592 15.3861C11.2592 15.5754 11.1233 15.7295 10.9563 15.7295H2.89795C2.73094 15.7295 2.59506 15.5754 2.59506 15.3861V4.46803C2.59506 4.27872 2.73094 4.12467 2.89795 4.12467H4.65744C4.77752 4.52359 5.11116 4.81134 5.50331 4.81134H8.35097C8.74305 4.81134 9.07676 4.52359 9.19685 4.12467H10.9563C11.1233 4.12467 11.2592 4.27872 11.2592 4.46803V15.3861ZM13.3193 13.5321C13.3193 13.7214 13.1834 13.8755 13.0164 13.8755H11.8651V4.46803C11.8651 3.90007 11.4574 3.438 10.9563 3.438H9.18594C9.05746 3.05703 8.73176 2.78565 8.35097 2.78565H7.03315V2.61402C7.03315 2.4247 7.16904 2.27066 7.33611 2.27066H13.0164C13.1834 2.27066 13.3193 2.4247 13.3193 2.61402V13.5321Z" fill=""/>
<path d="M9.54819 6.04883H4.27696C4.10965 6.04883 3.974 6.20256 3.974 6.39219C3.974 6.58176 4.10965 6.7355 4.27696 6.7355H9.54819C9.7155 6.7355 9.85115 6.58176 9.85115 6.39219C9.85115 6.20256 9.7155 6.04883 9.54819 6.04883Z" fill=""/>
<path d="M9.54819 8.04102H4.27696C4.10965 8.04102 3.974 8.19475 3.974 8.38437C3.974 8.57395 4.10965 8.72769 4.27696 8.72769H9.54819C9.7155 8.72769 9.85115 8.57395 9.85115 8.38437C9.85107 8.19475 9.7155 8.04102 9.54819 8.04102Z" fill=""/>
<path d="M6.91254 10.0322H4.27696C4.10965 10.0322 3.974 10.186 3.974 10.3756C3.974 10.5652 4.10965 10.7189 4.27696 10.7189H6.91254C7.07985 10.7189 7.2155 10.5652 7.2155 10.3756C7.2155 10.186 7.07985 10.0322 6.91254 10.0322Z" fill=""/>
</svg>
\ No newline at end of file
<svg width="10" height="9" viewBox="0 0 10 9" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.0158393 3.19885C0.0158393 3.19885 -0.028464 2.99165 0.0311186 2.78921C0.0311186 2.78921 0.0909019 2.58608 0.237285 2.44885C0.237285 2.44885 0.383669 2.31163 0.572611 2.28159C0.572611 2.28159 0.761554 2.25156 0.93733 2.3383L3.05237 3.39244C3.05237 3.39244 3.05384 3.39316 3.05537 3.3926C3.05537 3.3926 3.05556 3.39253 3.05575 3.39251C3.05591 3.39249 3.05607 3.3925 3.05615 3.3926C3.05615 3.3926 3.05644 3.39293 3.05576 3.39432L4.28511 0.910345C4.28511 0.910345 4.37349 0.731292 4.53076 0.627365C4.53076 0.627365 4.68803 0.523438 4.8706 0.523438C4.8706 0.523438 5.05317 0.523438 5.21044 0.627365C5.21044 0.627365 5.36771 0.731292 5.45592 0.909985L6.68352 3.39047C6.68352 3.39047 6.68431 3.39203 6.68584 3.3926C6.68584 3.3926 6.68736 3.39316 6.68772 3.39299L8.805 2.33775C8.805 2.33775 8.97965 2.25156 9.16859 2.28159C9.16859 2.28159 9.35754 2.31163 9.50392 2.44885C9.50392 2.44885 9.65031 2.58608 9.71009 2.78921C9.71009 2.78921 9.76987 2.99233 9.72551 3.19815L8.65849 8.27742C8.65849 8.27742 8.62626 8.42589 8.54504 8.54862C8.54504 8.54862 8.46382 8.67134 8.34641 8.74899C8.34641 8.74899 8.22899 8.82663 8.09387 8.84697C8.09387 8.84697 7.95876 8.86731 7.82591 8.82673C7.82591 8.82673 4.86851 7.9089 1.9098 8.82714C1.9098 8.82714 1.77827 8.86731 1.64315 8.84697C1.64315 8.84697 1.50804 8.82664 1.39062 8.74899C1.39062 8.74899 1.2732 8.67134 1.19198 8.54862C1.19198 8.54862 1.11076 8.42589 1.07789 8.27439L0.0161316 3.20025L0.0158393 3.19885ZM0.667089 3.02658L1.72933 8.10303C1.72933 8.10303 1.72904 8.10166 1.72919 8.10159L1.72941 8.10179C1.72941 8.10179 1.72991 8.10255 1.73064 8.10304C1.73064 8.10304 1.7309 8.10321 1.73129 8.10337C1.73155 8.10348 1.73187 8.10359 1.73221 8.10365C1.73221 8.10365 1.73305 8.10377 1.73387 8.10352C1.73387 8.10352 4.86851 7.13068 8.00447 8.10393L8.00429 8.10381L8.00481 8.10365C8.00481 8.10365 8.00565 8.10352 8.00638 8.10304C8.00638 8.10304 8.00711 8.10255 8.00762 8.10179C8.00762 8.10179 8.00812 8.10103 8.00832 8.10011L9.07418 3.02626L9.07463 3.02416L6.9596 4.07829C6.9596 4.07829 6.72173 4.19568 6.47609 4.1048C6.47609 4.1048 6.23045 4.01391 6.10228 3.76206L4.87078 1.2738L4.8706 1.27344L3.64088 3.75817C3.64088 3.75817 3.51076 4.01391 3.26512 4.1048C3.26512 4.1048 3.01947 4.19568 2.78273 4.07885L0.666576 3.02416L0.667089 3.02658Z" fill="#BCBCBC"/>
<path d="M1.40366 8.18682C1.41436 8.23611 1.43376 8.2825 1.46072 8.32325C1.48767 8.36401 1.52165 8.39828 1.56065 8.42405C1.59966 8.44984 1.64283 8.4666 1.68771 8.47335C1.73255 8.48011 1.77817 8.47672 1.82187 8.46338C3.81545 7.84466 5.92159 7.84466 7.9152 8.46338C7.9589 8.47672 8.00452 8.48011 8.04937 8.47335C8.09425 8.4666 8.13742 8.44984 8.17642 8.42405C8.21538 8.39828 8.24941 8.36401 8.27636 8.32325C8.30332 8.2825 8.32271 8.23611 8.33342 8.18682L9.39986 3.11025C9.41452 3.0423 9.41191 2.97112 9.39238 2.90473C9.37286 2.83834 9.33713 2.7794 9.2893 2.73455C9.24148 2.6897 9.1834 2.66074 9.12165 2.65092C9.0599 2.64111 8.99692 2.65083 8.93982 2.679L6.82368 3.73369C6.74702 3.77153 6.66052 3.77618 6.58101 3.74675C6.50145 3.71732 6.43443 3.65588 6.39293 3.57431L5.16337 1.08994C5.13445 1.03133 5.09202 0.982464 5.04056 0.948452C4.98906 0.914429 4.93041 0.896484 4.87062 0.896484C4.81087 0.896484 4.75218 0.914429 4.70072 0.948452C4.64922 0.982464 4.60683 1.03133 4.57787 1.08994L3.34835 3.57431C3.30682 3.65588 3.23984 3.71732 3.16028 3.74675C3.08072 3.77618 2.99426 3.77153 2.91756 3.73369L0.801418 2.679C0.744322 2.65083 0.681386 2.64111 0.619634 2.65092C0.557883 2.66074 0.499806 2.6897 0.451941 2.73455C0.404116 2.7794 0.368421 2.83834 0.348858 2.90473C0.329336 2.97112 0.326722 3.0423 0.341384 3.11025L1.40366 8.18682Z" fill="#BCBCBC"/>
</svg>
\ No newline at end of file
<svg width="17" height="19" viewBox="0 0 17 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.59998 3.875H6.68569C6.96971 3.875 7.19998 4.12686 7.19998 4.4375V7.8125C7.19998 8.12314 6.96971 8.375 6.68569 8.375H3.59998C3.31597 8.375 3.08569 8.12314 3.08569 7.8125V4.4375C3.08569 4.12686 3.31597 3.875 3.59998 3.875Z" fill="black" fill-opacity="0.1"/>
<path d="M3.59998 10.625H6.68569C6.96971 10.625 7.19998 10.8769 7.19998 11.1875V14.5625C7.19998 14.8731 6.96971 15.125 6.68569 15.125H3.59998C3.31597 15.125 3.08569 14.8731 3.08569 14.5625V11.1875C3.08569 10.8769 3.31597 10.625 3.59998 10.625Z" fill="black" fill-opacity="0.1"/>
<path d="M9.77143 3.875H12.8571C13.1412 3.875 13.3714 4.12686 13.3714 4.4375V7.8125C13.3714 8.12314 13.1412 8.375 12.8571 8.375H9.77143C9.48741 8.375 9.25714 8.12314 9.25714 7.8125V4.4375C9.25714 4.12686 9.48741 3.875 9.77143 3.875Z" fill="black" fill-opacity="0.1"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.57141 4.4375C2.57141 4.4375 2.57141 3.97151 2.87267 3.642C2.87267 3.642 3.17393 3.3125 3.59998 3.3125H6.6857C6.6857 3.3125 7.11175 3.3125 7.41301 3.642C7.41301 3.642 7.71427 3.97151 7.71427 4.4375V7.8125C7.71427 7.8125 7.71427 8.27849 7.41301 8.608C7.41301 8.608 7.11174 8.9375 6.6857 8.9375H3.59998C3.59998 8.9375 3.17393 8.9375 2.87267 8.608C2.87267 8.608 2.57141 8.27849 2.57141 7.8125V4.4375ZM3.59998 4.4375V7.8125L6.6857 7.8125L6.6857 4.4375H3.59998Z" fill="#595A5A"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.57141 11.1875C2.57141 11.1875 2.57141 10.7215 2.87267 10.392C2.87267 10.392 3.17393 10.0625 3.59998 10.0625H6.6857C6.6857 10.0625 7.11175 10.0625 7.41301 10.392C7.41301 10.392 7.71427 10.7215 7.71427 11.1875V14.5625C7.71427 14.5625 7.71427 15.0285 7.41301 15.358C7.41301 15.358 7.11174 15.6875 6.6857 15.6875H3.59998C3.59998 15.6875 3.17393 15.6875 2.87267 15.358C2.87267 15.358 2.57141 15.0285 2.57141 14.5625V11.1875ZM3.59998 11.1875V14.5625L6.6857 14.5625L6.6857 11.1875H3.59998Z" fill="#595A5A"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.74286 4.4375C8.74286 4.4375 8.74286 3.97151 9.04412 3.642C9.04412 3.642 9.34538 3.3125 9.77143 3.3125H12.8571C12.8571 3.3125 13.2832 3.3125 13.5845 3.642C13.5845 3.642 13.8857 3.97151 13.8857 4.4375V7.8125C13.8857 7.8125 13.8857 8.27849 13.5845 8.608C13.5845 8.608 13.2832 8.9375 12.8571 8.9375H9.77143C9.77143 8.9375 9.34538 8.9375 9.04412 8.608C9.04412 8.608 8.74286 8.27849 8.74286 7.8125V4.4375ZM9.77143 4.4375V7.8125L12.8571 7.8125L12.8571 4.4375H9.77143Z" fill="#595A5A"/>
<path d="M8.74286 10.625V12.875C8.74286 13.1857 8.97311 13.4375 9.25714 13.4375C9.54118 13.4375 9.77143 13.1857 9.77143 12.875V10.625C9.77143 10.3143 9.54118 10.0625 9.25714 10.0625C8.97311 10.0625 8.74286 10.3143 8.74286 10.625Z" fill="#595A5A"/>
<path d="M11.8286 15.125V10.625C11.8286 10.3143 11.5983 10.0625 11.3143 10.0625C11.0303 10.0625 10.8 10.3143 10.8 10.625V14.5625H9.25714C8.97311 14.5625 8.74286 14.8143 8.74286 15.125C8.74286 15.4357 8.97311 15.6875 9.25714 15.6875H11.3143C11.5983 15.6875 11.8286 15.4357 11.8286 15.125Z" fill="#595A5A"/>
<path d="M11.3143 12.3125H13.3714C13.6554 12.3125 13.8857 12.0607 13.8857 11.75C13.8857 11.4393 13.6554 11.1875 13.3714 11.1875H11.3143C11.0302 11.1875 10.8 11.4393 10.8 11.75C10.8 12.0607 11.0302 12.3125 11.3143 12.3125Z" fill="#595A5A"/>
<path d="M13.3714 13.4375C13.0874 13.4375 12.8571 13.6893 12.8571 14V15.125C12.8571 15.4357 13.0874 15.6875 13.3714 15.6875C13.6554 15.6875 13.8857 15.4357 13.8857 15.125V14C13.8857 13.6893 13.6554 13.4375 13.3714 13.4375Z" fill="#595A5A"/>
</svg>
\ No newline at end of file
<svg width="14" height="15" viewBox="0 0 14 15" fill="" xmlns="http://www.w3.org/2000/svg">
<path d="M2.1875 7.9375H11.8125C12.0541 7.9375 12.25 7.74162 12.25 7.5C12.25 7.25838 12.0541 7.0625 11.8125 7.0625H2.1875C1.94588 7.0625 1.75 7.25838 1.75 7.5C1.75 7.74162 1.94588 7.9375 2.1875 7.9375Z" fill=""/>
<path d="M11.1938 7.5L7.56564 11.1281C7.48359 11.2102 7.4375 11.3215 7.4375 11.4375C7.4375 11.5535 7.48359 11.6648 7.56564 11.7469C7.64769 11.8289 7.75897 11.875 7.875 11.875C7.99103 11.875 8.10231 11.8289 8.18436 11.7469L12.1219 7.80936C12.2927 7.63851 12.2927 7.3615 12.1219 7.19064L8.18436 3.25314C8.10231 3.17109 7.99103 3.125 7.875 3.125C7.75897 3.125 7.64769 3.17109 7.56564 3.25314C7.48359 3.33519 7.4375 3.44647 7.4375 3.5625C7.4375 3.67853 7.48359 3.78981 7.56564 3.87186L11.1938 7.5Z" fill=""/>
</svg>
\ No newline at end of file
<svg width="37" height="37" viewBox="0 0 37 37" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.8025 33.2281C14.8025 33.2281 16.3264 34.032 17.7588 34.5078C17.7588 34.5078 18.5 34.7745 19.2412 34.5078C19.2412 34.5078 20.6736 34.032 22.1975 33.2281C22.1975 33.2281 24.6474 31.9357 26.5926 30.1455C26.5926 30.1455 32.375 24.8241 32.375 16.5777V8.09375C32.375 8.09375 32.375 7.13588 31.6977 6.45857C31.6977 6.45857 31.0204 5.78125 30.0625 5.78125H6.9375C6.9375 5.78125 5.97963 5.78125 5.30232 6.45857C5.30232 6.45857 4.625 7.13588 4.625 8.09375V16.5777C4.625 16.5777 4.625 24.8241 10.4074 30.1455C10.4074 30.1455 12.3526 31.9357 14.8025 33.2281ZM21.1185 31.1827C21.1185 31.1827 19.7568 31.9011 18.5 32.3173C18.5 32.3173 17.2432 31.9011 15.8815 31.1827C15.8815 31.1827 13.6974 30.0306 11.9733 28.4439C11.9733 28.4439 6.9375 23.8095 6.9375 16.5777V8.09375H30.0625V16.5777C30.0625 16.5777 30.0625 23.8095 25.0267 28.4439C25.0267 28.4439 23.3026 30.0306 21.1185 31.1827Z" fill="#595A5A"/>
<path d="M12.9395 18.2422C12.7243 18.0366 12.4382 17.9219 12.1406 17.9219C12.1404 17.9219 12.1144 17.9222 12.1144 17.9222C11.8078 17.9291 11.5166 18.0576 11.3047 18.2793C11.0991 18.4944 10.9844 18.7805 10.9844 19.0781L10.9847 19.1044C10.9916 19.4109 11.1201 19.7022 11.3418 19.9141L15.5766 23.9609C16.0232 24.3878 16.7265 24.3881 17.1735 23.9616L25.6572 15.8681C25.8791 15.6565 26.0081 15.365 26.0153 15.0585C26.0157 15.0399 26.0157 15.0214 26.0153 15.0029C26.0082 14.7155 25.8944 14.4411 25.696 14.2331C25.4778 14.0044 25.1755 13.875 24.8594 13.875L24.8267 13.8755C24.5409 13.8835 24.2682 13.9972 24.0613 14.1946L16.3761 21.5263L12.9395 18.2422Z" fill="#595A5A"/>
</svg>
\ No newline at end of file
<svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.5527 7.10352C10.6163 7.17129 10.6594 7.25568 10.6771 7.34693C10.6947 7.43818 10.6861 7.53256 10.6523 7.61914C10.6165 7.70445 10.5562 7.77724 10.479 7.82834C10.4019 7.87943 10.3113 7.90654 10.2188 7.90625H6.46875V12.125C6.46875 12.2493 6.41936 12.3685 6.33146 12.4565C6.24355 12.5444 6.12432 12.5938 6 12.5938C5.87568 12.5938 5.75645 12.5444 5.66854 12.4565C5.58064 12.3685 5.53125 12.2493 5.53125 12.125V7.90625H1.78125C1.68871 7.90654 1.59815 7.87943 1.52099 7.82834C1.44383 7.77724 1.38352 7.70445 1.34766 7.61914C1.31388 7.53256 1.30532 7.43818 1.32295 7.34693C1.34057 7.25568 1.38368 7.17129 1.44727 7.10352L5.66602 2.88477C5.75489 2.79674 5.87492 2.74736 6 2.74736C6.12508 2.74736 6.24511 2.79674 6.33398 2.88477L10.5527 7.10352ZM11.1562 0.875H0.84375C0.71943 0.875 0.600201 0.924386 0.512294 1.01229C0.424386 1.1002 0.375 1.21943 0.375 1.34375C0.375 1.46807 0.424386 1.5873 0.512294 1.67521C0.600201 1.76311 0.71943 1.8125 0.84375 1.8125H11.1562C11.2806 1.8125 11.3998 1.76311 11.4877 1.67521C11.5756 1.5873 11.625 1.46807 11.625 1.34375C11.625 1.21943 11.5756 1.1002 11.4877 1.01229C11.3998 0.924386 11.2806 0.875 11.1562 0.875Z" fill="#EAECEF"/>
</svg>
\ No newline at end of file
<svg width="22" height="23" viewBox="0 0 22 23" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.4375 12.1875H18.5625C18.9422 12.1875 19.25 11.8797 19.25 11.5C19.25 11.1203 18.9422 10.8125 18.5625 10.8125H3.4375C3.0578 10.8125 2.75 11.1203 2.75 11.5C2.75 11.8797 3.0578 12.1875 3.4375 12.1875Z" fill="#595A5A" stroke="#595A5A" stroke-width="0.578947"/>
<path d="M3.4375 6.6875H18.5625C18.9422 6.6875 19.25 6.3797 19.25 6C19.25 5.6203 18.9422 5.3125 18.5625 5.3125H3.4375C3.0578 5.3125 2.75 5.6203 2.75 6C2.75 6.3797 3.0578 6.6875 3.4375 6.6875Z" fill="#595A5A" stroke="#595A5A" stroke-width="0.578947"/>
<path d="M3.4375 17.6875H18.5625C18.9422 17.6875 19.25 17.3797 19.25 17C19.25 16.6203 18.9422 16.3125 18.5625 16.3125H3.4375C3.0578 16.3125 2.75 16.6203 2.75 17C2.75 17.3797 3.0578 17.6875 3.4375 17.6875Z" fill="#595A5A" stroke="#595A5A" stroke-width="0.578947"/>
</svg>
\ No newline at end of file
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M18 0.9375C18 0.9375 21.4705 0.9375 24.6419 2.27889C24.6419 2.27889 27.7041 3.57411 30.065 5.93499C30.065 5.93499 32.4259 8.29587 33.7211 11.3581C33.7211 11.3581 35.0625 14.5295 35.0625 18C35.0625 18 35.0625 21.4705 33.7211 24.6419C33.7211 24.6419 32.4259 27.7041 30.065 30.065C30.065 30.065 27.7041 32.4259 24.6419 33.7211C24.6419 33.7211 21.4705 35.0625 18 35.0625C18 35.0625 14.5295 35.0625 11.3581 33.7211C11.3581 33.7211 8.29587 32.4259 5.93499 30.065C5.93499 30.065 3.57411 27.7041 2.2789 24.6419C2.2789 24.6419 0.9375 21.4705 0.9375 18C0.9375 18 0.9375 14.5295 2.2789 11.3581C2.2789 11.3581 3.57411 8.29587 5.93499 5.93499C5.93499 5.93499 8.29587 3.57411 11.3581 2.27889C11.3581 2.27889 14.5295 0.9375 18 0.9375ZM18 3.5625C18 3.5625 15.0618 3.5625 12.3807 4.69653C12.3807 4.69653 9.78999 5.7923 7.79115 7.79114C7.79115 7.79114 5.7923 9.78999 4.69653 12.3807C4.69653 12.3807 3.5625 15.0618 3.5625 18C3.5625 18 3.5625 20.9382 4.69653 23.6193C4.69653 23.6193 5.7923 26.21 7.79115 28.2089C7.79115 28.2089 9.78999 30.2077 12.3807 31.3035C12.3807 31.3035 15.0618 32.4375 18 32.4375C18 32.4375 20.9382 32.4375 23.6193 31.3035C23.6193 31.3035 26.21 30.2077 28.2089 28.2089C28.2089 28.2089 30.2077 26.21 31.3035 23.6193C31.3035 23.6193 32.4375 20.9382 32.4375 18C32.4375 18 32.4375 15.0618 31.3035 12.3807C31.3035 12.3807 30.2077 9.78999 28.2089 7.79115C28.2089 7.79115 26.21 5.79229 23.6193 4.69653C23.6193 4.69653 20.9382 3.5625 18 3.5625Z" fill="#595A5A"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M18 8.8125C18 8.8125 21.2619 8.8125 23.5685 11.119C23.5685 11.119 25.875 13.4256 25.875 16.6875C25.875 16.6875 25.875 19.9494 23.5685 22.256C23.5685 22.256 21.2619 24.5625 18 24.5625C18 24.5625 14.7381 24.5625 12.4315 22.256C12.4315 22.256 10.125 19.9494 10.125 16.6875C10.125 16.6875 10.125 13.4256 12.4315 11.119C12.4315 11.119 14.7381 8.8125 18 8.8125ZM18 11.4375C18 11.4375 15.8254 11.4375 14.2877 12.9752C14.2877 12.9752 12.75 14.5129 12.75 16.6875C12.75 16.6875 12.75 18.8621 14.2877 20.3998C14.2877 20.3998 15.8254 21.9375 18 21.9375C18 21.9375 20.1746 21.9375 21.7123 20.3998C21.7123 20.3998 23.25 18.8621 23.25 16.6875C23.25 16.6875 23.25 14.5129 21.7123 12.9752C21.7123 12.9752 20.1746 11.4375 18 11.4375Z" fill="#595A5A"/>
<path d="M23.4928 26.1128C26.0202 27.6641 27.3626 30.3083 27.3626 30.3083C27.5202 30.6186 27.7946 30.8537 28.1255 30.9618C28.257 31.0047 28.3945 31.0266 28.5329 31.0266L28.5688 31.0261C28.7631 31.0208 28.9538 30.9724 29.1271 30.8844C29.5678 30.6607 29.8454 30.2083 29.8454 29.7141C29.8454 29.6953 29.845 29.6765 29.8442 29.6578C29.8362 29.4705 29.7881 29.2871 29.7032 29.1199L29.703 29.1196L29.7026 29.1186C28.0246 25.8143 24.866 23.8756 24.866 23.8756C21.7069 21.9365 18.0001 21.9365 18.0001 21.9365C14.2933 21.9365 11.1342 23.8756 11.1342 23.8756C7.97501 25.8147 6.29697 29.1199 6.29697 29.1199C6.2035 29.304 6.15479 29.5076 6.15479 29.7141L6.15482 29.7238C6.15846 30.2146 6.43555 30.6623 6.87313 30.8844C7.05724 30.9779 7.2608 31.0266 7.46729 31.0266L7.47702 31.0266C7.96774 31.0229 8.41544 30.7458 8.6376 30.3083C9.98003 27.6641 12.5073 26.1128 12.5073 26.1128C15.0347 24.5615 18.0001 24.5615 18.0001 24.5615C20.9655 24.5615 23.4928 26.1128 23.4928 26.1128Z" fill="#595A5A"/>
</svg>
\ No newline at end of file
<svg width="11" height="13" viewBox="0 0 11 13" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.88608 9.68682C1.89678 9.73611 1.91618 9.7825 1.94314 9.82325C1.97009 9.86401 2.00407 9.89828 2.04308 9.92405C2.08208 9.94984 2.12525 9.9666 2.17013 9.97335C2.21498 9.98011 2.2606 9.97672 2.3043 9.96338C4.29787 9.34466 6.40401 9.34466 8.39762 9.96338C8.44132 9.97672 8.48694 9.98011 8.53179 9.97335C8.57667 9.9666 8.61984 9.94984 8.65884 9.92405C8.69781 9.89828 8.73183 9.86401 8.75878 9.82325C8.78574 9.7825 8.80514 9.73611 8.81584 9.68682L9.88228 4.61025C9.89694 4.5423 9.89433 4.47112 9.87481 4.40473C9.85528 4.33834 9.81955 4.2794 9.77172 4.23455C9.7239 4.1897 9.66582 4.16074 9.60407 4.15092C9.54232 4.14111 9.47934 4.15083 9.42225 4.179L7.30611 5.23369C7.22945 5.27153 7.14294 5.27618 7.06343 5.24675C6.98387 5.21732 6.91685 5.15588 6.87535 5.07431L5.64579 2.58994C5.61688 2.53133 5.57444 2.48246 5.52298 2.44845C5.47148 2.41443 5.41283 2.39648 5.35304 2.39648C5.29329 2.39648 5.2346 2.41443 5.18314 2.44845C5.13164 2.48246 5.08925 2.53133 5.06029 2.58994L3.83077 5.07431C3.78924 5.15588 3.72226 5.21732 3.6427 5.24675C3.56314 5.27618 3.47668 5.27153 3.39998 5.23369L1.28384 4.179C1.22674 4.15083 1.16381 4.14111 1.10206 4.15092C1.0403 4.16074 0.982228 4.1897 0.934363 4.23455C0.886538 4.2794 0.850843 4.33834 0.83128 4.40473C0.811758 4.47112 0.809144 4.5423 0.823806 4.61025L1.88608 9.68682Z" fill="#CC9F00"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.498505 4.69885C0.498505 4.69885 0.454202 4.49165 0.513785 4.28921C0.513785 4.28921 0.573568 4.08608 0.719951 3.94885C0.719951 3.94885 0.866335 3.81163 1.05528 3.78159C1.05528 3.78159 1.24422 3.75156 1.42 3.8383L3.53504 4.89244C3.53504 4.89244 3.53651 4.89316 3.53803 4.8926C3.53803 4.8926 3.53826 4.89251 3.53848 4.8925C3.53861 4.89249 3.53874 4.89251 3.53882 4.8926C3.53882 4.8926 3.5391 4.89293 3.53842 4.89432L4.76777 2.41034C4.76777 2.41034 4.85616 2.23129 5.01343 2.12736C5.01343 2.12736 5.1707 2.02344 5.35327 2.02344C5.35327 2.02344 5.53584 2.02344 5.69311 2.12736C5.69311 2.12736 5.85038 2.23129 5.93859 2.40999L7.16618 4.89047C7.16618 4.89047 7.16698 4.89203 7.1685 4.8926C7.1685 4.8926 7.17003 4.89316 7.17039 4.89299L9.28766 3.83775C9.28766 3.83775 9.46232 3.75156 9.65126 3.78159C9.65126 3.78159 9.8402 3.81163 9.98659 3.94885C9.98659 3.94885 10.133 4.08608 10.1928 4.28921C10.1928 4.28921 10.2525 4.49233 10.2082 4.69815L9.14116 9.77742C9.14116 9.77742 9.10893 9.92589 9.02771 10.0486C9.02771 10.0486 8.94649 10.1713 8.82907 10.249C8.82907 10.249 8.71166 10.3266 8.57654 10.347C8.57654 10.347 8.44143 10.3673 8.30858 10.3267C8.30858 10.3267 5.35118 9.4089 2.39246 10.3271C2.39246 10.3271 2.26093 10.3673 2.12582 10.347C2.12582 10.347 1.9907 10.3266 1.87328 10.249C1.87328 10.249 1.75587 10.1713 1.67465 10.0486C1.67465 10.0486 1.59343 9.92589 1.56055 9.77439L0.498798 4.70025L0.498505 4.69885ZM1.14976 4.52658L2.21199 9.60303C2.21199 9.60303 2.21171 9.60166 2.21186 9.60159L2.21207 9.60179C2.21207 9.60179 2.21226 9.60208 2.21258 9.60241C2.21278 9.60262 2.21302 9.60285 2.21331 9.60304C2.21331 9.60304 2.21404 9.60352 2.21488 9.60365C2.21488 9.60365 2.21571 9.60377 2.21653 9.60352C2.21653 9.60352 5.35118 8.63068 8.48714 9.60393L8.48695 9.60381L8.48748 9.60365C8.48748 9.60365 8.48832 9.60352 8.48905 9.60304C8.48905 9.60304 8.48978 9.60255 8.49028 9.60179C8.49028 9.60179 8.49079 9.60103 8.49099 9.60011L9.55685 4.52626L9.5573 4.52416L7.44226 5.57829C7.44226 5.57829 7.2044 5.69568 6.95876 5.6048C6.95876 5.6048 6.71311 5.51391 6.58495 5.26206L5.35345 2.7738L5.35327 2.77344L4.12355 5.25817C4.12355 5.25817 3.99343 5.51391 3.74778 5.6048C3.74778 5.6048 3.50214 5.69568 3.26539 5.57885L1.14924 4.52416L1.14976 4.52658Z" fill="#CC9F00"/>
</svg>
\ No newline at end of file
<svg width="29" height="29" viewBox="0 0 29 29" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.2732 8.25477C14.2732 8.25477 16.4902 8.25477 18.0579 9.82246C18.0579 9.82246 19.6256 11.3901 19.6256 13.6072C19.6256 13.6072 19.6256 15.8242 18.0579 17.3919C18.0579 17.3919 16.4902 18.9596 14.2732 18.9596C14.2732 18.9596 12.0561 18.9596 10.4884 17.3919C10.4884 17.3919 8.92073 15.8242 8.92073 13.6072C8.92073 13.6072 8.92073 11.3901 10.4884 9.82246C10.4884 9.82246 12.0561 8.25477 14.2732 8.25477ZM14.2732 10.0389C14.2732 10.0389 12.7951 10.0389 11.75 11.084C11.75 11.084 10.7049 12.1292 10.7049 13.6072C10.7049 13.6072 10.7049 15.0852 11.75 16.1303C11.75 16.1303 12.7951 17.1755 14.2732 17.1755C14.2732 17.1755 15.7512 17.1755 16.7963 16.1303C16.7963 16.1303 17.8414 15.0852 17.8414 13.6072C17.8414 13.6072 17.8414 12.1292 16.7963 11.084C16.7963 11.084 15.7512 10.0389 14.2732 10.0389Z" fill="#848E9C"/>
<path d="M18.0064 20.0133C19.7242 21.0677 20.6366 22.8649 20.6366 22.8649C20.7437 23.0758 20.9302 23.2356 21.1551 23.309C21.2445 23.3382 21.338 23.3531 21.432 23.3531L21.4564 23.3528C21.5884 23.3491 21.718 23.3162 21.8358 23.2564C22.1354 23.1044 22.3241 22.7969 22.3241 22.461C22.3241 22.4483 22.3238 22.4355 22.3232 22.4227C22.3178 22.2954 22.2851 22.1708 22.2274 22.0572L22.227 22.0563C21.0865 19.8105 18.9397 18.4928 18.9397 18.4928C16.7925 17.1748 14.2732 17.1755 14.2732 17.1755C11.7537 17.1755 9.60654 18.4928 9.60654 18.4928C7.45935 19.8107 6.31883 22.0572 6.31883 22.0572C6.2553 22.1823 6.22219 22.3207 6.22219 22.461L6.22222 22.4676C6.22469 22.8012 6.41302 23.1055 6.71043 23.2564C6.83557 23.32 6.97392 23.3531 7.11426 23.3531L7.12088 23.3531C7.45441 23.3506 7.7587 23.1623 7.90969 22.8649C8.82211 21.0677 10.5399 20.0133 10.5399 20.0133C12.2576 18.959 14.2732 18.9596 14.2732 18.9596C16.2887 18.9596 18.0064 20.0133 18.0064 20.0133Z" fill="#848E9C"/>
<path d="M19.6256 7.3627H24.978C25.4707 7.3627 25.8701 6.9633 25.8701 6.47063C25.8701 5.97795 25.4707 5.57856 24.978 5.57856H19.6256C19.1329 5.57856 18.7335 5.97795 18.7335 6.47063C18.7335 6.9633 19.1329 7.3627 19.6256 7.3627Z" fill="#848E9C"/>
<path d="M21.4097 3.79441V9.14684C21.4097 9.63951 21.8091 10.0389 22.3018 10.0389C22.7945 10.0389 23.1939 9.63951 23.1939 9.14684V3.79441C23.1939 3.30174 22.7945 2.90234 22.3018 2.90234C21.8091 2.90234 21.4097 3.30174 21.4097 3.79441Z" fill="#848E9C"/>
<path d="M15.8143 4.80884C15.8614 4.81648 15.9091 4.82032 15.9569 4.82032L15.9769 4.82009C16.4069 4.81045 16.7687 4.49541 16.8375 4.07087C16.8451 4.02371 16.849 3.97602 16.849 3.92825C16.849 3.91817 16.8488 3.9081 16.8485 3.89804C16.8425 3.72112 16.784 3.54999 16.6804 3.40642C16.542 3.21453 16.3331 3.08548 16.0995 3.04765C15.1914 2.90056 14.2714 2.90237 14.2714 2.90237C10.7552 2.90236 7.83023 4.8568 7.83023 4.8568C4.90521 6.81123 3.55897 10.0613 3.55897 10.0613C2.21274 13.3114 2.89904 16.7617 2.89904 16.7617C3.58535 20.212 6.07287 22.6995 6.07287 22.6995C8.56039 25.1871 12.0107 25.8734 12.0107 25.8734C15.461 26.5597 18.7111 25.2134 18.7111 25.2134C21.9612 23.8672 23.9156 20.9422 23.9156 20.9422C25.87 18.0172 25.87 14.4993 25.87 14.4993C25.8718 13.581 25.7248 12.6729 25.7248 12.6729C25.6548 12.2409 25.2818 11.9234 24.8442 11.9234L24.8432 11.9234C24.7957 11.9235 24.7484 11.9273 24.7015 11.9349C24.468 11.9727 24.259 12.1018 24.1206 12.2937C24.0111 12.4456 23.9521 12.6282 23.9521 12.8155L23.9521 12.8182C23.9522 12.865 23.9561 12.9118 23.9636 12.9581C24.0874 13.7228 24.0859 14.4993 24.0859 14.4993C24.0859 17.4759 22.4322 19.951 22.4322 19.951C20.7784 22.426 18.0283 23.5651 18.0283 23.5651C15.2782 24.7042 12.3588 24.1235 12.3588 24.1235C9.43927 23.5428 7.33445 21.438 7.33445 21.438C5.22962 19.3331 4.6489 16.4137 4.6489 16.4137C4.06818 13.4942 5.2073 10.7441 5.2073 10.7441C6.34643 7.99401 8.82144 6.34026 8.82144 6.34026C11.2965 4.6865 14.2749 4.6865 14.2749 4.6865C15.048 4.68499 15.8112 4.80835 15.8112 4.80835L15.8143 4.80884Z" fill="#848E9C"/>
</svg>
\ No newline at end of file
<svg width="29" height="30" viewBox="0 0 29 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.1707 24.8872C10.1707 24.8872 9.78287 24.7248 8.57632 24.7083C8.57632 24.7083 7.54472 24.6942 7.03729 24.6014C7.03729 24.6014 6.04009 24.4191 5.44648 23.8254C5.44648 23.8254 4.84928 23.2282 4.66417 22.214C4.66417 22.214 4.57007 21.6984 4.55375 20.6514C4.55375 20.6514 4.53523 19.4632 4.38384 19.0992C4.38384 19.0992 4.22928 18.7276 3.38721 17.8466C3.38721 17.8466 2.66309 17.089 2.36822 16.6629C2.36822 16.6629 1.78418 15.819 1.78418 14.9988C1.78418 14.9988 1.78418 14.1821 2.35883 13.3504C2.35883 13.3504 2.64929 12.93 3.36531 12.1828C3.36531 12.1828 4.21891 11.2921 4.38468 10.8963C4.38468 10.8963 4.54711 10.5085 4.5636 9.3019C4.5636 9.3019 4.5777 8.27031 4.6705 7.76288C4.6705 7.76288 4.85287 6.76568 5.44648 6.17207C5.44648 6.17207 6.04368 5.57487 7.05793 5.38976C7.05793 5.38976 7.57357 5.29565 8.62049 5.27933C8.62049 5.27933 9.80875 5.26081 10.1727 5.10942C10.1727 5.10942 10.5443 4.95487 11.4253 4.1128C11.4253 4.1128 12.1829 3.38868 12.609 3.09381C12.609 3.09381 13.453 2.50977 14.2732 2.50977C14.2732 2.50977 15.0898 2.50977 15.9215 3.08441C15.9215 3.08441 16.3419 3.37488 17.0891 4.09089C17.0891 4.09089 17.9798 4.94449 18.3756 5.11026C18.3756 5.11026 18.7635 5.27269 19.97 5.28919C19.97 5.28919 21.0016 5.30329 21.509 5.39609C21.509 5.39609 22.5062 5.57845 23.0999 6.17207C23.0999 6.17207 23.697 6.76926 23.8822 7.78352C23.8822 7.78352 23.9763 8.29917 23.9926 9.34607C23.9926 9.34607 24.0111 10.5343 24.1625 10.8983C24.1625 10.8983 24.3171 11.2699 25.1591 12.1509C25.1591 12.1509 25.8832 12.9085 26.1781 13.3346C26.1781 13.3346 26.7622 14.1785 26.7622 14.9988C26.7622 14.9988 26.7622 15.8154 26.1875 16.6471C26.1875 16.6471 25.897 17.0675 25.181 17.8147C25.181 17.8147 24.3274 18.7054 24.1617 19.1012C24.1617 19.1012 23.9992 19.489 23.9827 20.6956C23.9827 20.6956 23.9686 21.7272 23.8758 22.2346C23.8758 22.2346 23.6935 23.2318 23.0999 23.8254C23.0999 23.8254 22.5027 24.4226 21.4884 24.6077C21.4884 24.6077 20.9728 24.7019 19.9258 24.7182C19.9258 24.7182 18.7376 24.7367 18.3736 24.8881C18.3736 24.8881 18.002 25.0426 17.121 25.8847C17.121 25.8847 16.3634 26.6088 15.9373 26.9037C15.9373 26.9037 15.0934 27.4877 14.2732 27.4877C14.2732 27.4877 13.4566 27.4877 12.6248 26.9131C12.6248 26.9131 12.2044 26.6226 11.4572 25.9066C11.4572 25.9066 10.5665 25.053 10.1707 24.8872ZM10.8599 23.2416C10.8599 23.2416 11.5616 23.5355 12.6917 24.6185C12.6917 24.6185 13.824 25.7036 14.2732 25.7036C14.2732 25.7036 14.7284 25.7036 15.8883 24.595C15.8883 24.595 17.0097 23.523 17.6884 23.2408C17.6884 23.2408 18.368 22.9581 19.898 22.9342C19.898 22.9342 21.4927 22.9094 21.8383 22.5639C21.8383 22.5639 22.1775 22.2246 22.1988 20.6712C22.1988 20.6712 22.22 19.1188 22.516 18.412C22.516 18.412 22.8099 17.7103 23.8929 16.5802C23.8929 16.5802 24.978 15.4479 24.978 14.9988C24.978 14.9988 24.978 14.5436 23.8694 13.3837C23.8694 13.3837 22.7975 12.2622 22.5152 11.5835C22.5152 11.5835 22.2325 10.9039 22.2087 9.37388C22.2087 9.37388 22.1838 7.77918 21.8383 7.43364C21.8383 7.43364 21.499 7.0944 19.9456 7.07316C19.9456 7.07316 18.3933 7.05194 17.6864 6.75591C17.6864 6.75591 16.9847 6.46205 15.8546 5.37902C15.8546 5.37902 14.7223 4.29391 14.2732 4.29391C14.2732 4.29391 13.818 4.29391 12.6581 5.40255C12.6581 5.40255 11.5366 6.47446 10.8579 6.75675C10.8579 6.75675 10.1783 7.03941 8.6483 7.06326C8.6483 7.06326 7.05359 7.08812 6.70806 7.43365C6.70806 7.43365 6.36881 7.77289 6.34758 9.32629C6.34758 9.32629 6.32635 10.8787 6.03032 11.5855C6.03032 11.5855 5.73647 12.2872 4.65344 13.4173C4.65344 13.4173 3.56832 14.5496 3.56832 14.9988C3.56832 14.9988 3.56832 15.4539 4.67697 16.6138C4.67697 16.6138 5.74887 17.7353 6.03117 18.414C6.03117 18.414 6.31382 19.0936 6.33767 20.6236C6.33767 20.6236 6.36253 22.2183 6.70806 22.5639C6.70806 22.5639 7.04731 22.9031 8.60071 22.9243C8.60071 22.9243 10.1531 22.9456 10.8599 23.2416Z" fill="#848E9C"/>
<path d="M9.9831 14.7999C9.81711 14.6412 9.59637 14.5527 9.36678 14.5527C9.36659 14.5527 9.34654 14.5529 9.34654 14.5529C9.11001 14.5583 8.8853 14.6574 8.72184 14.8285C8.56323 14.9945 8.47471 15.2152 8.47471 15.4448L8.47494 15.465C8.4803 15.7016 8.57941 15.9263 8.75046 16.0897L12.0177 19.212C12.3623 19.5413 12.9049 19.5415 13.2498 19.2125L19.7951 12.9682C19.9663 12.8049 20.0658 12.5801 20.0714 12.3435C20.0717 12.3292 20.0717 12.315 20.0714 12.3007C20.0659 12.079 19.9781 11.8672 19.825 11.7068C19.6567 11.5303 19.4234 11.4305 19.1796 11.4305L19.1544 11.4308C18.9338 11.4371 18.7234 11.5248 18.5638 11.6771L12.6345 17.3336L9.9831 14.7999Z" fill="#848E9C"/>
</svg>
\ No newline at end of file
<svg width="29" height="29" viewBox="0 0 29 29" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.56834 15.3918H20.5177C21.0104 15.3918 21.4097 14.9924 21.4097 14.4998C21.4097 14.0071 21.0104 13.6077 20.5177 13.6077H3.56834C3.07566 13.6077 2.67627 14.0071 2.67627 14.4998C2.67627 14.9924 3.07566 15.3918 3.56834 15.3918Z" fill="#848E9C"/>
<path d="M19.2561 14.4998L11.8583 21.8976C11.691 22.0649 11.597 22.2918 11.597 22.5284C11.597 22.765 11.691 22.9919 11.8583 23.1592C12.0256 23.3265 12.2525 23.4205 12.489 23.4205C12.7256 23.4205 12.9525 23.3265 13.1198 23.1592L21.1485 15.1306C21.4968 14.7822 21.4968 14.2174 21.1485 13.869L13.1198 5.84034C12.9525 5.67305 12.7256 5.57906 12.489 5.57906C12.2525 5.57906 12.0256 5.67305 11.8583 5.84034C11.691 6.00764 11.597 6.23454 11.597 6.47113C11.597 6.70773 11.691 6.93463 11.8583 7.10192L19.2561 14.4998Z" fill="#848E9C"/>
<path d="M23.1939 4.68699V24.3125C23.1939 24.8052 23.5933 25.2046 24.086 25.2046C24.5786 25.2046 24.978 24.8052 24.978 24.3125V4.68699C24.978 4.19432 24.5786 3.79492 24.086 3.79492C23.5933 3.79492 23.1939 4.19432 23.1939 4.68699Z" fill="#848E9C"/>
</svg>
\ No newline at end of file
<svg width="29" height="29" viewBox="0 0 29 29" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M21.4098 6.47164H6.24457C6.24457 6.47164 5.87506 6.47164 5.61378 6.73292C5.61378 6.73292 5.3525 6.9942 5.3525 7.36371C5.3525 7.36371 5.3525 7.73322 5.61378 7.9945C5.61378 7.9945 5.87506 8.25578 6.24457 8.25578H24.086C24.086 8.25578 24.825 8.25578 25.3476 8.77835C25.3476 8.77835 25.8701 9.30091 25.8701 10.0399V22.5289C25.8701 22.5289 25.8701 23.2679 25.3476 23.7905C25.3476 23.7905 24.825 24.3131 24.086 24.3131H6.24457C6.24457 24.3131 5.13605 24.3131 4.3522 23.5292C4.3522 23.5292 3.56836 22.7454 3.56836 21.6368V7.36371C3.56836 7.36371 3.56836 6.25519 4.3522 5.47134C4.3522 5.47134 5.13605 4.6875 6.24457 4.6875H21.4098C21.9024 4.6875 22.3018 5.08689 22.3018 5.57957C22.3018 6.07225 21.9024 6.47164 21.4098 6.47164ZM5.3525 21.6368V9.89542C5.3525 9.89542 5.76861 10.0399 6.24457 10.0399H24.086V22.5289H6.24457C6.24457 22.5289 5.87506 22.5289 5.61378 22.2676C5.61378 22.2676 5.3525 22.0063 5.3525 21.6368Z" fill="#848E9C"/>
<path d="M21.4098 16.2844C21.4098 17.0234 20.8107 17.6225 20.0717 17.6225C19.3326 17.6225 18.7336 17.0234 18.7336 16.2844C18.7336 15.5455 19.3326 14.9463 20.0717 14.9463C20.8107 14.9463 21.4098 15.5455 21.4098 16.2844Z" fill="#848E9C"/>
</svg>
\ No newline at end of file
<svg width="29" height="29" viewBox="0 0 29 29" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.4205 25.8633C11.4205 25.8633 12.5962 26.4835 13.7013 26.8506C13.7013 26.8506 14.2732 27.0564 14.845 26.8506C14.845 26.8506 15.9502 26.4835 17.1259 25.8633C17.1259 25.8633 19.016 24.8662 20.5168 23.485C20.5168 23.485 24.9781 19.3794 24.9781 13.0172V6.47164C24.9781 6.47164 24.9781 5.73263 24.4555 5.21006C24.4555 5.21006 23.9329 4.6875 23.1939 4.6875H5.3525C5.3525 4.6875 4.61349 4.6875 4.09092 5.21006C4.09092 5.21006 3.56836 5.73263 3.56836 6.47164V13.0172C3.56836 13.0172 3.56836 19.3794 8.02957 23.485C8.02957 23.485 9.53039 24.8662 11.4205 25.8633ZM16.2934 24.2853C16.2934 24.2853 15.2429 24.8395 14.2732 25.1606C14.2732 25.1606 13.3036 24.8395 12.253 24.2853C12.253 24.2853 10.5679 23.3963 9.23773 22.1722C9.23773 22.1722 5.3525 18.5967 5.3525 13.0172V6.47164H23.1939V13.0172C23.1939 13.0172 23.1939 18.5967 19.3087 22.1722C19.3087 22.1722 17.9785 23.3963 16.2934 24.2853Z" fill="#848E9C"/>
<path d="M9.98314 14.3014C9.81715 14.1428 9.59641 14.0542 9.36682 14.0542C9.36663 14.0542 9.34658 14.0545 9.34658 14.0545C9.11005 14.0598 8.88534 14.1589 8.72188 14.33C8.56326 14.496 8.47475 14.7167 8.47475 14.9463L8.47498 14.9665C8.48034 15.2031 8.57945 15.4278 8.7505 15.5912L12.0177 18.7135C12.3623 19.0428 12.9049 19.043 13.2498 18.714L19.7951 12.4697C19.9663 12.3064 20.0658 12.0816 20.0714 11.8451C20.0718 11.8308 20.0717 11.8165 20.0714 11.8022C20.066 11.5805 19.9781 11.3688 19.8251 11.2083C19.6567 11.0318 19.4235 10.932 19.1796 10.932L19.1544 10.9323C18.9339 10.9386 18.7235 11.0263 18.5638 11.1786L12.6346 16.8352L9.98314 14.3014Z" fill="#848E9C"/>
</svg>
\ No newline at end of file
<svg width="29" height="29" viewBox="0 0 29 29" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19.0049 12.3102C18.7087 11.9444 18.1835 11.9003 17.8348 12.2122L12.8204 16.692L11.228 14.9295C10.9121 14.5803 10.3882 14.5666 10.054 14.8965C9.97477 14.9751 9.9111 15.0693 9.86663 15.1738C9.82217 15.2782 9.79777 15.3908 9.79483 15.5051C9.7919 15.6195 9.81048 15.7333 9.84952 15.8401C9.88857 15.9468 9.9473 16.0445 10.0224 16.1275L12.1571 18.4902C12.3033 18.6522 12.5032 18.7491 12.7156 18.7609C12.9279 18.7727 13.1365 18.6985 13.2982 18.5537L18.9115 13.5385C19.2602 13.2252 19.3022 12.6759 19.0049 12.3102ZM8.77739 8.17266C8.93265 8.36441 9.16292 8.49012 9.42225 8.49012C9.64694 8.49045 9.86265 8.39766 10.0224 8.23194C10.1007 8.15018 10.1627 8.05294 10.205 7.94587C10.2472 7.83879 10.2688 7.72399 10.2685 7.60812V3.88187C10.2685 3.69968 10.2158 3.52999 10.1236 3.38924C10.0935 3.34185 10.0586 3.29793 10.0197 3.25817C9.91168 3.1463 9.77656 3.06752 9.62894 3.03034C9.56155 3.01104 9.4921 3.00085 9.42225 3C8.95113 3 8.57605 3.39472 8.57605 3.88187V7.60684C8.57605 7.82345 8.65362 8.01801 8.77739 8.17266ZM19.576 8.48591C19.6874 8.48651 19.7977 8.46401 19.9007 8.41973C20.0038 8.37544 20.0974 8.31024 20.1763 8.22786C20.2545 8.14607 20.3166 8.04883 20.3588 7.94176C20.401 7.83468 20.4226 7.7199 20.4222 7.60404V3.88187C20.4222 3.82118 20.4157 3.76177 20.4052 3.70389C20.3655 3.50433 20.2613 3.32528 20.1102 3.19704C19.9591 3.0688 19.7703 2.99924 19.5759 3.00013C19.1047 3.00013 18.7297 3.39485 18.7297 3.882V7.60417C18.7297 7.84704 18.8244 8.06786 18.9771 8.22799C19.1368 8.39303 19.3519 8.48566 19.576 8.48591Z" fill="#848E9C"/>
<path d="M25.4565 7.52661C25.4184 6.49851 24.9379 5.67312 24.1035 5.20254C23.5862 4.91134 23.0887 4.87131 22.6703 4.87131H22.0176C21.7973 4.87131 21.5861 4.96306 21.4303 5.12637C21.2746 5.28969 21.1871 5.51119 21.1871 5.74215C21.1871 5.97312 21.2746 6.19462 21.4303 6.35793C21.5861 6.52125 21.7973 6.613 22.0176 6.613C22.7336 6.613 23.7574 6.52605 23.7969 7.56116C23.7969 11.7553 23.8075 15.9495 23.806 20.1436V21.2877C23.806 21.8121 23.4205 22.2261 22.9558 22.2261H6.04128C5.55824 22.2261 5.19106 21.779 5.19106 21.2877V7.74055V7.56805C5.19106 6.90139 5.72286 6.5606 6.3045 6.5606H6.95739C7.06645 6.5606 7.17444 6.53807 7.27519 6.4943C7.37595 6.45053 7.4675 6.38638 7.54461 6.30551C7.62172 6.22463 7.68288 6.12862 7.72461 6.02296C7.76633 5.9173 7.7878 5.80405 7.78778 5.68969C7.78778 5.20802 7.41538 4.82031 6.95739 4.82031H6.3045C5.11605 4.82031 3.90657 5.55595 3.59872 6.82005C3.54073 7.05744 3.5 7.32377 3.5 7.56945V21.2877C3.5 22.2567 4.00796 23.1966 4.8279 23.6726C5.19956 23.8888 5.61773 24.0018 6.04274 24.0009H22.9573C24.3629 24.0009 25.5 22.7465 25.5 21.2877L25.4565 7.52661Z" fill="#848E9C"/>
<path d="M11.9493 6.6148H17.0491C17.2694 6.6148 17.4806 6.52305 17.6364 6.35973C17.7921 6.19642 17.8796 5.97492 17.8796 5.74395C17.8796 5.51299 17.7921 5.29149 17.6364 5.12817C17.4806 4.96486 17.2694 4.87311 17.0491 4.87311H11.9493C11.8394 4.87172 11.7304 4.89321 11.6284 4.93635C11.5265 4.97949 11.4338 5.04341 11.3556 5.12442C11.2774 5.20542 11.2153 5.30189 11.1729 5.40824C11.1306 5.51459 11.1088 5.6287 11.1088 5.74395C11.1088 5.85921 11.1306 5.97332 11.1729 6.07967C11.2153 6.18602 11.2774 6.28249 11.3556 6.36349C11.4338 6.4445 11.5265 6.50842 11.6284 6.55156C11.7304 6.5947 11.8394 6.61619 11.9493 6.6148Z" fill="#848E9C"/>
</svg>
\ No newline at end of file
<svg width="29" height="29" viewBox="0 0 29 29" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.80759 8.62865C9.80759 8.62865 9.28496 8.10602 9.28496 7.36691C9.28496 7.36691 9.28496 6.6278 9.80759 6.10517L13.0093 2.90349C13.0093 2.90349 13.5319 2.38086 14.271 2.38086C14.271 2.38086 15.0101 2.38086 15.5328 2.90349L18.7321 6.1028C18.7321 6.1028 19.2547 6.62543 19.2547 7.36454C19.2547 7.36454 19.2547 8.10365 18.7321 8.62629L15.5304 11.828C15.5304 11.828 15.0078 12.3506 14.2686 12.3506C14.2686 12.3506 13.5295 12.3506 13.0069 11.828L9.80759 8.62865ZM11.0693 7.36691L14.2686 10.5662L17.4703 7.36454L14.271 4.16523L11.0693 7.36691Z" fill="#848E9C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.9462 15.7662C16.9462 15.7662 16.4236 15.2435 16.4236 14.5044C16.4236 14.5044 16.4236 13.7653 16.9462 13.2427L20.1479 10.041C20.1479 10.041 20.6705 9.51836 21.4096 9.51836C21.4096 9.51836 22.1487 9.51836 22.6713 10.041L25.8707 13.2403C25.8707 13.2403 26.3933 13.7629 26.3933 14.502C26.3933 14.502 26.3933 15.2412 25.8707 15.7638L22.669 18.9655C22.669 18.9655 22.1463 19.4881 21.4072 19.4881C21.4072 19.4881 20.6681 19.4881 20.1455 18.9655L16.9462 15.7662ZM18.2079 14.5044L21.4072 17.7037L24.6089 14.502L21.4096 11.3027L18.2079 14.5044Z" fill="#848E9C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.67009 15.7561C2.67009 15.7561 2.14746 15.2335 2.14746 14.4944C2.14746 14.4944 2.14746 13.7553 2.67009 13.2326L5.87177 10.031C5.87177 10.031 6.3944 9.50834 7.13351 9.50834C7.13351 9.50834 7.87262 9.50834 8.39525 10.031L11.5946 13.2303C11.5946 13.2303 12.1172 13.7529 12.1172 14.492C12.1172 14.492 12.1172 15.2311 11.5946 15.7538L8.39289 18.9554C8.39289 18.9554 7.87026 19.4781 7.13114 19.4781C7.13114 19.4781 6.39203 19.4781 5.8694 18.9554L2.67009 15.7561ZM3.93184 14.4944L7.13114 17.6937L10.3328 14.492L7.13351 11.2927L3.93184 14.4944Z" fill="#848E9C"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.80868 22.8936C9.80868 22.8936 9.28605 22.371 9.28605 21.6319C9.28605 21.6319 9.28605 20.8928 9.80868 20.3701L13.0104 17.1685C13.0104 17.1685 13.533 16.6458 14.2721 16.6458C14.2721 16.6458 15.0112 16.6458 15.5338 17.1685L18.7332 20.3678C18.7332 20.3678 19.2558 20.8904 19.2558 21.6295C19.2558 21.6295 19.2558 22.3686 18.7332 22.8913L15.5315 26.0929C15.5315 26.0929 15.0088 26.6156 14.2697 26.6156C14.2697 26.6156 13.5306 26.6156 13.008 26.0929L9.80868 22.8936ZM11.0704 21.6319L14.2697 24.8312L17.4714 21.6295L14.2721 18.4302L11.0704 21.6319Z" fill="#848E9C"/>
</svg>
\ No newline at end of file
<template>
<t-dialog
class="custom-home-signin-dialog"
v-model:visible="visible"
attach="body"
placement="center"
destroy-on-close
:footer="false"
@Close="OnClose"
>
<template #body>
<img class="body-img" :src="CurrentImage" alt="" />
</template>
</t-dialog>
</template>
<script lang="ts" setup>
import { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { useStore } from 'vuex';
import { showSignInDialog } from '@/config/site';
const props = defineProps<{
modelValue: boolean;
}>();
const emit = defineEmits(['update:modelValue']);
const route = useRoute();
const router = useRouter();
const store = useStore();
const visible = ref(props.modelValue);
const language = computed(() => store.getters['language/getLang']);
// local_key
const local_key = 'home_advertisement';
// 间隔时间
const interval_time = 60 * 60 * 1 * 1000;
watch(
() => props.modelValue,
(v) => {
visible.value = v;
},
);
watch(
() => visible.value,
(v) => {
emit('update:modelValue', v);
},
);
onMounted(() => {
nextTick(() => {
// 本地测试
// localStorage.setItem(local_key, '');
ShowDialog();
});
});
onBeforeUnmount(() => {
const cur_dom = document.getElementsByClassName('custom-home-signin-dialog');
if (cur_dom && cur_dom[0]) {
cur_dom[0].classList.add('signin-dialog-hide');
}
});
const CurrentImage = computed(() => {
const img = new URL(`../assets/img/signIn/${language.value}.png`, import.meta.url).href;
return img;
});
// 获取当前时间戳
const getTime = () => {
return new Date().valueOf();
};
// 判断是否打开弹窗
const ShowDialog = () => {
if (!showSignInDialog()) {
// 不显示弹窗
visible.value = false;
return;
}
//
let Advertisement = localStorage.getItem(local_key);
if (Advertisement) {
const AdvParse = JSON.parse(Advertisement);
if (AdvParse && AdvParse.time) {
const cur_time = getTime();
if (cur_time - interval_time >= AdvParse.time) {
visible.value = true;
}
}
} else {
visible.value = true;
}
};
const OnClose = () => {
// 手动关闭后,指定间隔时间
const cur_time = getTime();
let obj = {
time: cur_time,
};
localStorage.setItem(local_key, JSON.stringify(obj));
};
</script>
<style lang="less">
.signin-dialog-hide {
display: none;
}
.custom-home-signin-dialog {
.t-dialog {
width: 1000px;
.body-img {
width: 100%;
height: 100%;
}
}
}
</style>
<template>
<div
class="custom-loading-box"
:style="{
width: width,
height: height,
background: background,
position: position,
}"
:class="{ 'custom-is-table-box': !isTable }"
>
<div class="ball-beat" :style="{ top: top, left: left }" :class="{ 'custom-is-table-child': !isTable }">
<div></div>
<div></div>
<div></div>
</div>
</div>
</template>
<script lang="ts" setup>
const props = withDefaults(
defineProps<{
background?: string;
position?: string | any;
width?: string;
left?: string;
height?: string;
top?: string;
isTable?: boolean;
}>(),
{
background: '',
position: 'absolute',
width: '100%',
left: '0px',
height: '100%',
top: '0px',
isTable: false,
},
);
</script>
<style lang="less" scoped>
@import '@/style/flex.less';
.custom-loading-box {
top: 0;
// -webkit-transform: translateY(-50%) translateX(-50%);
// transform: translateY(-50%) translateX(-50%);
z-index: 100;
box-sizing: border-box;
.ball-beat {
position: sticky;
.dja();
}
.ball-beat > div {
background-color: #4999ff;
width: 14px;
height: 14px;
border-radius: 100% !important;
margin: 2px;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
display: inline-block;
-webkit-animation: ball-beat 0.7s 0s infinite linear;
animation: ball-beat 0.7s 0s infinite linear;
z-index: 300;
}
.ball-beat > div:nth-child(2n-1) {
-webkit-animation-delay: 0.35s !important;
animation-delay: 0.35s !important;
}
}
.custom-is-table-box {
.dja();
.custom-is-table-child {
.dj();
position: relative;
}
}
@-webkit-keyframes ball-beat {
50% {
opacity: 0.2;
-webkit-transform: scale(0.75);
transform: scale(0.75);
}
100% {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1);
}
}
@keyframes ball-beat {
50% {
opacity: 0.2;
-webkit-transform: scale(0.75);
transform: scale(0.75);
}
100% {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1);
}
}
</style>
.custom-c-swiper {
min-width: 100%;
}
import { defineComponent, ref } from 'vue';
import './index.less';
export default defineComponent({
setup(props, { slots }) {
const swiper = ref();
console.log(swiper);
return () => (
<div class="custom-c-swiper" ref={swiper}>
{slots.default ? slots.default() : ''}
</div>
);
},
});
.custom-c-swiper-item {
position: relative;
}
import { defineComponent } from 'vue';
import './index.less';
export default defineComponent({
setup(props, { slots }) {
return () => <div class="custom-c-swiper-item">{slots.default?.()}</div>;
},
});
import { defineComponent, inject } from 'vue';
import './index.less';
export default defineComponent({
props: {
name: String,
label: String,
},
setup(props, { emit, slots }) {
let currentTab: { value: string } = inject('currentTab');
return () => {
return <div v-show={currentTab.value === props.name}>{slots.default?.()}</div>;
};
},
});
.custom-c-tabs {
.c-tabs-header {
display: flex;
position: relative;
.c-tabs__bar {
position: absolute;
left: 0;
bottom: 0;
height: 2px;
background: var(--theme-color-1);
transition: all 0.3s;
}
.c-tabs__nav-item {
height: 48px;
line-height: 48px;
padding: 0 16px;
cursor: pointer;
.c-tabs__nav-item-wrapper {
font-size: 15px;
font-weight: 700;
color: var(--td-text-color-secondary);
}
}
.c-nav-item_active {
.c-tabs__nav-item-wrapper {
color: var(--theme-color-1);
}
}
}
}
import { computed, defineComponent, nextTick, onMounted, reactive, ref, watch, provide, useSlots } from 'vue';
import './index.less';
import { useStore } from 'vuex';
export default defineComponent({
props: {
modelValue: String,
language: {
type: Boolean,
default: true,
},
},
emits: ['update:modelValue'],
setup(props, context) {
const { slots, emit } = context;
const store = useStore();
const use_slots = useSlots();
// 当前tab
const currentTab = ref(props.modelValue);
// 通知tab_panel
provide('currentTab', currentTab);
// 获取tab_panel的props
const getTitles = () => {
const c_titles = use_slots.default!().map(({ props }) => {
if (props) {
const { label, name } = props;
return {
label,
name,
};
}
});
return c_titles;
};
const titles = ref(getTitles());
const language = computed(() => store.getters['language/getLang']);
const tab_bar = reactive({
width: 0,
left: 0,
right: 0,
});
const getOptionsIndex = () => {
const { modelValue } = props;
if (titles && modelValue) {
let index = titles.value.findIndex((item: any) => item.name == modelValue);
return index !== -1 ? index : 0;
}
return 0;
};
// 记录当前下标
const navIndex = ref(getOptionsIndex());
const navItem = ref([]);
const setRef = (el) => {
if (el) {
const index = navItem.value.findIndex((item: any) => item === el);
if (index === -1) {
navItem.value.push(el);
}
}
};
// 计算tabs_bar宽度
const getTabBarWidth = () => {
nextTick(() => {
const dom: HTMLDivElement = navItem.value[navIndex.value];
tab_bar.width = dom.clientWidth;
});
};
// 计算tab_bar的位置
const getTabBarLocation = () => {
nextTick(() => {
let total_width = 0;
for (let i = 0; i < navIndex.value; i++) {
total_width += navItem.value[i].clientWidth;
}
if (props.language && language.value) {
// 根据语言来判断
if (language.value == 'ar') {
// 定位到右边
tab_bar.left = null;
tab_bar.right = total_width;
} else {
// 定位到左边
tab_bar.right = null;
tab_bar.left = total_width;
}
}
});
};
// 切换tab
const onChange = (name: string, index: number) => {
currentTab.value = name;
emit('update:modelValue', name);
navIndex.value = index;
// 重新计算tab的宽度
getTabBarWidth();
// 计算位置
getTabBarLocation();
};
// 监听语言切换
watch(
() => language.value,
(v) => {
if (v) {
titles.value = getTitles();
getTabBarWidth();
getTabBarLocation();
}
},
);
onMounted(() => {
getTabBarWidth();
});
return () => (
<div class="custom-c-tabs">
<div class="c-tabs-header">
{titles.value.map((item: any, index) => (
<div
key={item.name}
class={['c-tabs__nav-item', props.modelValue === item.name ? 'c-nav-item_active' : '']}
ref={setRef}
onClick={onChange.bind(this, item.name, index)}
>
<div class="c-tabs__nav-item-wrapper">{item.label}</div>
</div>
))}
<div
class="c-tabs__bar"
style={{
width: tab_bar.width + 'px',
left: tab_bar.left + 'px',
right: tab_bar.right + 'px',
}}
></div>
</div>
<div class="c-tabs-content">{slots.default?.()}</div>
</div>
);
},
});
<template>
<t-dialog
class="custom-enter-funds-password-dialog"
v-model:visible="dialog_visible"
attach="body"
placement="center"
destroy-on-close
:footer="false"
>
<template #body>
<div class="enter-funds-password-body" v-if="cur_mode === '1'">
<div class="title">{{ $t('account.Introduzcalam') }}</div>
<div class="custom-confirm-password-input">
<label>{{ $t('account.Contraseondos') }}</label>
<t-input type="password" :placeholder="$t('account.Introduzcalam')" v-model="t_input"></t-input>
</div>
<t-button class="enter-password-button" @click="confirm">{{ $t('sell.RetiradasConfirmadas') }}</t-button>
<div class="enter-password-tooltip">
<span>{{ $t('sell.ningunaCo') }}</span>
<span @click="toSetting">{{ $t('sell.Poravoajuste') }}</span>
</div>
</div>
<SetMoneyPassword v-else @onclear="onclear" @onchange="setPwdChange"></SetMoneyPassword>
</template>
</t-dialog>
</template>
<script lang="ts" setup>
import { ref, watch } from 'vue';
import { MessagePlugin } from 'tdesign-vue-next';
import SetMoneyPassword from '@/components/SetMoneyPassword.vue';
import { useI18n } from 'vue-i18n';
const { t } = useI18n();
const props = withDefaults(
defineProps<{
visible: boolean;
num?: number;
}>(),
{
num: 1,
},
);
const emit = defineEmits(['update:visible', 'onChange']);
const dialog_visible = ref<boolean>(false);
const t_input = ref<string>('');
// 当前模块
const cur_mode = ref('1');
watch(
() => props.visible,
(v) => {
dialog_visible.value = v;
},
);
watch(
() => dialog_visible.value,
(v) => {
emit('update:visible', v);
},
);
watch(
() => props.num,
(v) => {
t_input.value = '';
},
);
// 设置资金密码的取消按钮
const onclear = () => {
cur_mode.value = '1';
};
// 确定提现
const confirm = () => {
if (!t_input.value) {
MessagePlugin.warning(t('message.Introduzcalam'));
return;
}
// 通过
emit('update:visible', false);
emit('onChange', t_input.value);
};
// 设置资金密码成功
const setPwdChange = () => {
cur_mode.value = '1';
};
//
const toSetting = () => {
cur_mode.value = '0';
};
</script>
<style lang="less">
.custom-enter-funds-password-dialog {
.enter-funds-password-body {
.title {
font-weight: 900;
font-size: 31px;
color: #1b1e23;
line-height: 36px;
}
.custom-confirm-password-input {
margin-top: 30px;
label {
font-weight: 400;
font-size: 16px;
color: #1b1e23;
}
.t-input {
height: 59px;
margin-top: 4px;
}
}
.enter-password-button {
height: 56px;
width: 100%;
background: #4375ff;
border-radius: 6px;
border: none;
margin-top: 40px;
}
.enter-password-tooltip {
text-align: center;
margin-top: 30px;
& > :nth-child(1) {
font-weight: 300;
font-size: 16px;
color: #595a5a;
}
& > :nth-child(2) {
font-weight: 700;
font-size: 16px;
color: #2962ff;
cursor: pointer;
}
}
}
}
</style>
<template>
<t-dialog
class="custom-maintenance-dialog"
v-model:visible="visible"
attach="body"
placement="center"
destroy-on-close
:footer="false"
@Close="OnClose"
>
<template #body> {{ $t('message.maintenance') }}</template>
</t-dialog>
</template>
<script lang="ts" setup>
import { ref, watch } from 'vue';
const props = defineProps<{
modelValue: boolean;
}>();
const emit = defineEmits(['update:modelValue']);
const visible = ref(props.modelValue);
watch(
() => props.modelValue,
(v) => {
visible.value = v;
},
);
watch(
() => visible.value,
(v) => {
emit('update:modelValue', v);
},
);
const OnClose = () => {
// 手动关闭后,指定间隔时间
console.log('22');
};
</script>
<style lang="less">
.custom-maintenance-dialog {
.t-dialog {
.t-dialog__body {
display: flex;
justify-content: center;
align-items: center;
height: 100px;
font-weight: 600;
}
.body-img {
width: 100%;
height: 100%;
}
}
}
</style>
<!--
* @Author: walker.liu
* @Date: 2022-05-30 18:18:10
* @Copyright(C): 2019-2020 ZP Inc. All rights reserved.
-->
<template>
<div class="dimension-wrapper">
<t-radio-group class="dimension-group" v-model="radioCurrent" @change="changeDimension">
<t-radio-button v-for="item of radioOptions" :value="item.value" :key="item.value">{{
item.label
}}</t-radio-button>
</t-radio-group>
</div>
</template>
<script setup lang="tsx">
import { defineProps, defineEmits, computed, ref } from 'vue';
const props = defineProps({
current: [String, Number],
type: String,
options: {
type: Array,
default: () => [],
},
});
const radioCurrent = ref(props.current);
const radioOptions: any = computed(() => {
if (props.type === 'analysisDate') {
return [
{ label: '5M', value: '5m' },
{ label: '30M', value: '30m' },
{ label: '1H', value: '1h' },
{ label: '6H', value: '6h' },
{ label: '1D', value: '1d' },
];
} else if (props.options.length > 0) {
return props.options;
} else {
return [];
}
});
const emit = defineEmits(['update:current', 'change']);
const changeDimension = (v) => {
radioCurrent.value = v;
emit('update:current', v);
emit('change', v);
};
</script>
<!--
* @Author: walker.liu
* @Date: 2022-03-22 17:47:30
* @Copyright(C): 2019-2020 ZP Inc. All rights reserved.
-->
<template>
<icon v-bind="$attrs" :url="SVG_URL"></icon>
</template>
<script setup lang="ts">
import { Icon } from 'tdesign-icons-vue-next';
import { SVG_URL } from '@/config/global';
</script>
.custom-language-box {
display: flex;
align-items: center;
.icon {
margin-right: 6px;
fill: var(--theme-color-3);
}
.language-select {
width: 150px;
display: flex;
justify-content: center;
align-items: center;
.t-input__inner {
text-align: center;
color: var(--theme-color-4);
}
}
}
.language-select-popup {
.t-select__list {
text-align: center;
}
}
import { defineComponent } from 'vue';
import { useI18n } from 'vue-i18n';
import { useStore } from 'vuex';
import LanguageSvg from '@/assets/svg/home/language.svg?component';
import { LanguageList } from '@/language/options';
import { initLanguage } from '@/language/options';
import './index.less';
export default defineComponent({
props: {
type: {
type: String,
default: 'home',
},
},
setup(props) {
const { locale } = useI18n();
const store = useStore();
const lang = initLanguage();
// 每次先提交一次语言到vuex
store.commit('language/setLang', lang);
const changeLanguage = (v: string) => {
locale.value = v;
store.commit('language/setLang', v);
localStorage.setItem('lang', v);
};
return () => (
<div class="custom-language-box">
<t-select
class="language-select"
prefixIcon={() => <LanguageSvg class="icon"></LanguageSvg>}
popup-props={{ overlayClassName: 'language-select-popup' }}
bordered={false}
v-model={locale.value}
options={LanguageList}
onChange={changeLanguage}
></t-select>
</div>
);
},
});
<!--
* @Author: walker.liu
* @Date: 2022-04-01 14:32:54
* @Copyright(C): 2019-2020 ZP Inc. All rights reserved.
-->
<template>
<div class="table-empty-wrapper" :style="{ paddingTop: top }">
<img class="empty-img" v-if="img" :src="img" />
<img class="empty-img" v-else :src="EmptyPng" />
<div class="msg">{{ msg }}</div>
</div>
</template>
<script setup lang="ts">
import EmptyPng from '@/assets/empty.png';
import { defineProps } from 'vue';
import { useI18n } from 'vue-i18n';
const { t } = useI18n();
const props = defineProps({
top: {
type: String,
default: '0px',
},
img: {
type: String,
default: '',
},
msg: {
type: String,
default: 'No Records',
},
});
</script>
<style lang="less" scoped>
.table-empty-wrapper {
width: 100%;
text-align: center;
.empty-img {
margin: 0 auto;
display: block;
margin-bottom: 20px;
width: 80px;
}
.msg {
font-size: 13px;
color: var(--td-text-color-placeholder);
line-height: 20px;
}
}
</style>
<template>
<button>测试</button>
</template>
<script lang="ts" setup></script>
<style lang="less"></style>
<template>
<div class="custom-site-logo-box" v-if="needTitle">
<img
:src="getSiteLogo()"
alt=""
:style="{
width: width + 'px',
height: height + 'px',
}"
class="logo-icon"
/>
<span class="custom-logo-text">
{{ getSiteTitle() }}
</span>
</div>
<template v-else>
<img
:src="getSiteLogo()"
alt=""
:class="[className]"
:style="{
width: width + 'px',
height: height + 'px',
}"
class="logo-icon"
/>
</template>
</template>
<script lang="ts" setup>
import HomeLightLogo from '@/assets/logo/header-light-logo.svg';
import { Web_name, SiteConfig, webNameList } from '@/constants/token';
import { getSiteTitle } from '@/config/site';
const props = withDefaults(
defineProps<{
width?: number;
height?: number;
needTitle?: boolean;
className?: string;
}>(),
{
width: 23,
height: 26,
needTitle: true,
className: '',
},
);
const imgs = {
silkr: new URL('../assets/logo/header-light-logo.svg', import.meta.url).href,
tidrk: new URL('../assets/logo/logo2.png', import.meta.url).href,
};
// 获取网站logo
const getSiteLogo = () => {
switch (Web_name) {
case webNameList.SILKR:
return imgs.silkr;
case webNameList.TIDRK:
return imgs.tidrk;
}
};
// logo文字的颜色
const getTextColor = () => {
//
};
</script>
<style lang="less">
.custom-site-logo-box {
display: flex;
align-items: center;
.logo-icon {
margin: 0 4px;
}
.custom-logo-text {
color: #2962ff;
font-weight: bold;
font-size: 16px;
}
}
</style>
<template>
<div class="theme-change" @click="changeTheme">
<svg-icon v-if="Tmode === 'dark'" name="icon-night"></svg-icon>
<!-- <svg-icon v-else name="icon-night"></svg-icon> -->
<ThemeLight v-else></ThemeLight>
</div>
</template>
<script lang="ts" setup>
import { computed } from 'vue';
import STYLE_CONFIG from '@/config/style';
import SvgIcon from '@/components/SvgIcon.vue';
import { useStore } from 'vuex';
import ThemeLight from '@/assets/svg/home/theme-light.svg';
const store = useStore();
// 当前主题
const Tmode = computed(() => store.getters['setting/mode']);
const changeTheme = () => {
let mode = Tmode.value === 'dark' ? 'light' : 'dark';
store.dispatch('setting/changeTheme', {
...STYLE_CONFIG,
mode,
});
};
</script>
<style lang="less" scoped>
@import '@/style/flex.less';
.theme-change {
width: 32px;
height: 32px;
border-radius: 50%;
flex-shrink: 0;
.dja();
cursor: pointer;
&:hover {
background-color: var(--td-bg-color-container-hover);
}
.t-icon {
font-size: 20px;
}
}
</style>
<template>
<t-dialog
class="custom-bind-code-dialog"
v-model:visible="dialog_visible"
attach="body"
placement="center"
destroy-on-close
:footer="false"
>
<template #body>
<div>1</div>
</template>
</t-dialog>
</template>
<script lang="ts" setup>
import { ref, watch } from 'vue';
const props = defineProps<{
visible: boolean;
}>();
const emit = defineEmits(['update:visible']);
const dialog_visible = ref<boolean>(false);
watch(
() => props.visible,
(v) => {
dialog_visible.value = v;
},
);
watch(
() => dialog_visible.value,
(v) => {
emit('update:visible', v);
},
);
</script>
<style lang="less"></style>
import { defineComponent } from 'vue';
import { useI18n } from 'vue-i18n';
export default defineComponent({
setup(props, ctx) {
const { t } = useI18n();
return () => <span>{t('message.empty')}</span>;
},
});
<template>
<div class="custom-earncoins-header" :style="{ backgroundImage: backgroundImage }">
<div class="header-title">
<div class="title_t1">{{ title1 }}</div>
<div class="title_t2">{{ title2 }}</div>
</div>
<div
class="header-assets"
v-if="right"
:style="{
height: height + 'px',
}"
>
<div>{{ title }}</div>
<div class="card-content-box">
<slot name="assets"></slot>
</div>
</div>
</div>
</template>
<script lang="ts" setup>
const props = withDefaults(
defineProps<{
title1: string;
title2: string;
backgroundImage?: string | null;
// 右侧模块的值
right?: boolean;
height?: number;
title?: string;
}>(),
{
backgroundImage: '',
right: false,
height: 160,
title: '',
},
);
</script>
<style lang="less">
@import '@/style/flex.less';
@import '@/style/variables.less';
.custom-earncoins-header {
margin: 0px;
background: url(@/assets/img/EarnCoins.png) no-repeat;
background-size: 100% 40%;
background-attachment: fixed; /*改变背景图的长和宽*/
height: 398px;
.dj(space-between);
padding: @homepadding;
overflow: hidden;
& > * {
margin-top: 100px;
}
.header-title {
.title_t1 {
font-size: 45px;
font-weight: 800;
line-height: 53px;
}
.title_t2 {
font-size: 20px;
line-height: 40px;
font-weight: 800;
max-width: 600px;
}
}
.header-assets {
width: 432px;
border-radius: 14px;
background: #fefefe;
opacity: 0.95;
border: 1.5px solid #e3e3e3;
box-shadow: 30px 28px 20px rgba(16, 16, 16, 0.1);
padding: 30px;
.card-content-box {
.dj(space-between);
flex-wrap: wrap;
row-gap: 12px;
& > * {
width: 50%;
}
& > :nth-child(2n) {
text-align: right;
}
.card-content {
& > :not(:first-child) {
margin-top: 12px;
}
.card-label {
font-weight: 800;
font-size: 16px;
color: #595a5a;
}
.user-assets {
font-weight: 800;
font-size: 16px;
color: #222222;
}
.conversion-assets {
font-weight: 600;
font-size: 12px;
color: #222222;
}
.green {
color: #25a69a;
}
}
}
}
}
</style>
<template>
<div class="custom-buy-sell-setp-title">
<div class="dot">{{ dot }}</div>
<div class="title-text">{{ text }}</div>
</div>
</template>
<script lang="ts" setup>
const props = withDefaults(
defineProps<{
dot?: number;
text?: string;
}>(),
{
dot: 1,
text: '默认文字',
},
);
</script>
<style lang="less">
@import '@/style/flex.less';
.custom-buy-sell-setp-title {
.da();
line-height: 46px;
.dot {
width: 20px;
height: 20px;
border-radius: 50%;
background: #2962ff;
color: #eaecef;
.dja();
font-size: 12px;
}
.title-text {
margin-left: 6px;
font-weight: 600;
font-size: 16px;
color: var(--theme-color-41);
}
}
</style>
import { defineComponent } from 'vue';
import { TableTotalLanguage } from '@/language/options';
export default defineComponent({
props: {
total: Number,
},
setup(props, { slots }) {
// 表格共多少条数据
const languageText = () => {
return TableTotalLanguage(props.total);
};
return () => <div style="flex:1">{languageText()}</div>;
},
});
<template>
<div class="custom-upload-sell">
<t-upload
v-model="file1"
theme="image"
:percent="1"
:requestMethod="requestSuccessMethod"
:showUploadProgress="false"
accept="image/*"
:headers="{
authorization: `Bearer ${getUserCookie()}`,
lang: getLanguage(),
}"
:disabled="false"
:auto-upload="true"
:formatResponse="formatResponseOne"
:upload-all-files-in-one-request="false"
@fail="handleFail"
></t-upload>
<Uploading v-model="custom_masking1" :progress="cur_progress1"></Uploading>
</div>
</template>
<script lang="ts" setup>
import { ref, watch } from 'vue';
import { getUserCookie, getLanguage } from '@/utils/api/userApi';
import Uploading from './uploadTips.vue';
import { zipImg } from '@/utils/file';
import request from '@/utils/request';
import { MessagePlugin } from 'tdesign-vue-next';
import { useI18n } from 'vue-i18n';
const props = defineProps<{
modelValue: string;
}>();
const emit = defineEmits(['update:modelValue']);
const { t } = useI18n();
const file1 = ref([]);
let custom_progress: any = null;
// 图片回调地址
const image_url = ref('');
// 上传中的遮罩层是否显示
const custom_masking1 = ref(false);
// 上传进度
const cur_progress1 = ref(0);
const handleFail = ({ file }) => {
MessagePlugin.error(t('message.Erroralfile'));
};
watch(
() => props.modelValue,
(v) => {
if (!v) {
file1.value = [];
}
image_url.value = v;
},
);
watch(
() => image_url.value,
(v) => {
emit('update:modelValue', v);
},
);
// 可共用的模块
const publicMethod = async (file: any) => {
custom_progress = window.setInterval(() => {
if (cur_progress1.value >= 99) {
return;
}
cur_progress1.value += 1;
}, 50);
let newFile: any = await zipImg(file.raw);
let data = new FormData();
data.append('file', newFile);
return data;
};
const requestSuccessMethod = async (file: any) => {
custom_masking1.value = true;
cur_progress1.value = file.percent;
let data = await publicMethod(file);
return new Promise((resolve) => {
file.percent = 0;
const timer = setTimeout(() => {
request
.post('/api/users/common/upload', data, {
headers: {
authorization: `Bearer ${getUserCookie()}`,
lang: getLanguage(),
},
})
.then((res: any) => {
// 清除
window.clearInterval(custom_progress);
// 关闭遮罩层
custom_masking1.value = false;
cur_progress1.value = 100;
// resolve 参数为关键代码
if (res.code == 0) {
resolve({
status: 'success',
response: { url: res.data.path },
});
}
});
clearTimeout(timer);
}, 1000);
});
};
// 第一个上传链接
const formatResponseOne = (response: any, context: any) => {
emit('update:modelValue', response.url);
return { name: 'FileName', url: response.url };
};
</script>
<style lang="less">
.custom-upload-sell {
position: relative;
width: 112px;
.t-upload__card {
width: 112px;
.t-size-s {
display: none;
}
.t-icon-add {
margin-bottom: 0;
}
}
}
</style>
<template>
<div class="">
<div class="custom_masking-box" v-if="modelValue">
{{ progress }}%&nbsp;
<t-loading size="small"></t-loading>
</div>
</div>
</template>
<script lang="ts" setup>
const props = defineProps<{
progress: number;
modelValue: boolean;
}>();
</script>
<style lang="less">
@import '@/style/flex.less';
.custom_masking-box {
position: absolute;
top: 0;
width: 100%;
height: 100%;
.dja();
background: rgba(60, 60, 60, 0.2);
color: var(--theme-color-2);
}
</style>
export type ColorToken = Record<string, string>;
export type ColorSeries = Record<string, ColorToken>;
export const BACKGROUND_TOKEN: ColorSeries = {
BLUE_GREY: {
'@gray-color-1': '#F1F2F5',
'@gray-color-2': '#EBEDF1',
'@gray-color-3': '#E3E6EB',
'@gray-color-4': '#D6DBE3',
'@gray-color-5': '#BCC4D0',
'@gray-color-6': '#97A3B7',
'@gray-color-7': '#7787A2',
'@gray-color-8': '#5F7292',
'@gray-color-9': '#4B5B76',
'@gray-color-10': '#3C485C',
'@gray-color-11': '#2C3645',
'@gray-color-12': '#232A35',
'@gray-color-13': '#1C222B',
'@gray-color-14': '#13161B',
},
NEUTRAL_GREY: {
'@gray-color-1': '#F3F3F3',
'@gray-color-2': '#EEEEEE',
'@gray-color-3': '#E7E7E7',
'@gray-color-4': '#DCDCDC',
'@gray-color-5': '#C5C5C5',
'@gray-color-6': '#A6A6A6',
'@gray-color-7': '#8B8B8B',
'@gray-color-8': '#777777',
'@gray-color-9': '#5E5E5E',
'@gray-color-10': '#4B4B4B',
'@gray-color-11': '#383838',
'@gray-color-12': '#2C2C2C',
'@gray-color-13': '#242424',
'@gray-color-14': '#181818',
},
};
export const COLOR_TOKEN: ColorSeries = {
DEFAULT: {
'@brand-color': '#0052D9',
'@brand-color-1': '#e0ebff',
'@brand-color-2': '#c0d8ff',
'@brand-color-3': '#a1c4ff',
'@brand-color-4': '#81b1ff',
'@brand-color-5': '#5f9bff',
'@brand-color-6': '#3d87ff',
'@brand-color-7': '#176eff',
'@brand-color-8': '#0052D9',
'@brand-color-9': '#0048cd',
'@brand-color-10': '#0035b5',
},
CYAN: {
'@brand-color': '#0594FA',
'@brand-color-1': '#d7eefe',
'@brand-color-2': '#aeddfd',
'@brand-color-3': '#84cafd',
'@brand-color-4': '#58b8fc',
'@brand-color-5': '#29a4fb',
'@brand-color-6': '#0594FA',
'@brand-color-7': '#29a4fb',
'@brand-color-8': '#0594FA',
'@brand-color-9': '#0378df',
'@brand-color-10': '#01409b',
},
GREEN: {
'@brand-color': '#00A870',
'@brand-color-1': '#8dffd9',
'@brand-color-2': '#00f2a2',
'@brand-color-3': '#00dc92',
'@brand-color-4': '#00c583',
'@brand-color-5': '#00A870',
'@brand-color-6': '#009a5d',
'@brand-color-7': '#00c583',
'@brand-color-8': '#00A870',
'@brand-color-9': '#009a5d',
'@brand-color-10': '#004a14',
},
ORANGE: {
'@brand-color': '#ED7B2F',
'@brand-color-1': '#fce5d7',
'@brand-color-2': '#f8cdaf',
'@brand-color-3': '#f4b285',
'@brand-color-4': '#f19659',
'@brand-color-5': '#ED7B2F',
'@brand-color-6': '#e75510',
'@brand-color-7': '#f19659',
'@brand-color-8': '#ED7B2F',
'@brand-color-9': '#e75510',
'@brand-color-10': '#7f0a02',
},
RED: {
'@brand-color': '#E34D59',
'@brand-color-1': '#fbe5e7',
'@brand-color-2': '#f7ccd0',
'@brand-color-3': '#f3b2b8',
'@brand-color-4': '#ef989f',
'@brand-color-5': '#ea7b84',
'@brand-color-6': '#E34D59',
'@brand-color-7': '#ea7b84',
'@brand-color-8': '#E34D59',
'@brand-color-9': '#e42c3a',
'@brand-color-10': '#8d0309',
},
PINK: {
'@brand-color': '#ED49B4',
'@brand-color-1': '#fce5f4',
'@brand-color-2': '#facae9',
'@brand-color-3': '#f7aede',
'@brand-color-4': '#f491d2',
'@brand-color-5': '#f172c5',
'@brand-color-6': '#ED49B4',
'@brand-color-7': '#f172c5',
'@brand-color-8': '#ED49B4',
'@brand-color-9': '#e80f9d',
'@brand-color-10': '#8f025e',
},
PURPLE: {
'@brand-color': '#834EC2',
'@brand-color-1': '#eee6f7',
'@brand-color-2': '#ddceee',
'@brand-color-3': '#ccb6e6',
'@brand-color-4': '#bb9ede',
'@brand-color-5': '#ab87d5',
'@brand-color-6': '#9a6fce',
'@brand-color-7': '#9a6fce',
'@brand-color-8': '#834EC2',
'@brand-color-9': '#783ac3',
'@brand-color-10': '#4c1397',
},
YELLOW: {
'@brand-color': '#EBB105',
'@brand-color-1': '#fde9ab',
'@brand-color-2': '#fbd152',
'@brand-color-3': '#EBB105',
'@brand-color-4': '#dda204',
'@brand-color-5': '#ca8d03',
'@brand-color-6': '#b67803',
'@brand-color-7': '#fbd152',
'@brand-color-8': '#EBB105',
'@brand-color-9': '#dda204',
'@brand-color-10': '#603100',
},
};
export const LIGHT_CHART_COLORS: ColorToken = {
textColor: 'rgba(0, 0, 0, 0.9)',
placeholderColor: 'rgba(0, 0, 0, 0.35)',
borderColor: '#dcdcdc',
containerColor: '#fff',
};
export const DARK_CHART_COLORS: ColorToken = {
textColor: 'rgba(255, 255, 255, 0.9)',
placeholderColor: 'rgba(255, 255, 255, 0.35)',
borderColor: '#5e5e5e',
containerColor: '#242424',
};
function toUnderline(name: string): string {
return name.replace(/([A-Z])/g, '_$1').toUpperCase();
}
export function getGreyColor(type: string): ColorToken {
const name = toUnderline(type);
return BACKGROUND_TOKEN[name] || {};
}
export function getBrandColor(type: string, colorList: ColorSeries): ColorToken {
const name = /^#[A-F\d]{6}$/i.test(type) ? type : toUnderline(type);
return colorList[name || 'DEFAULT'];
}
export function getColorList(colorArray: Array<ColorToken>): Array<string> {
const pureColorList = [];
colorArray.map((colorToken) => Object.keys(colorToken).map((key) => pureColorList.push(colorToken[key])));
return pureColorList;
}
// inspired by https://stackoverflow.com/questions/36721830/convert-hsl-to-rgb-and-hex
export function hslToHex(h: number, s: number, l: number) {
l /= 100;
const a = (s * Math.min(l, 1 - l)) / 100;
const f = (n: number) => {
const k = (n + h / 30) % 12;
const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
return Math.round(255 * color)
.toString(16)
.padStart(2, '0');
};
return `#${f(0)}${f(8)}${f(4)}`;
}
export function insertThemeStylesheet(theme: string, colorMap: ColorToken, mode: 'light' | 'dark') {
const isDarkMode = mode === 'dark';
const root = !isDarkMode ? `:root[theme-color='${theme}']` : `:root[theme-color='${theme}'][theme-mode='dark']`;
const styleSheet = document.createElement('style');
styleSheet.type = 'text/css';
styleSheet.innerText = `${root}{
--td-brand-color: ${colorMap['@brand-color']};
--td-brand-color-1: ${colorMap['@brand-color-1']};
--td-brand-color-2: ${colorMap['@brand-color-2']};
--td-brand-color-3: ${colorMap['@brand-color-3']};
--td-brand-color-4: ${colorMap['@brand-color-4']};
--td-brand-color-5: ${colorMap['@brand-color-5']};
--td-brand-color-6: ${colorMap['@brand-color-6']};
--td-brand-color-7: ${colorMap['@brand-color-7']};
--td-brand-color-8: ${colorMap['@brand-color-8']};
--td-brand-color-9: ${colorMap['@brand-color-9']};
--td-brand-color-10: ${colorMap['@brand-color-10']};
}`;
document.head.appendChild(styleSheet);
}
export const TOKEN_NAME = 'dexnav-token';
export const NO_LOGIN_CODE_LIST = ['un_auth'];
export const SVG_URL = '//at.alicdn.com/t/font_3323574_v0g18ru3qun.js';
import { Web_name, SiteConfig } from '../constants/token';
import { ListSort } from '../utils/tool';
import homeRouters from '../router/modules/home';
// 获取网站标题
export const getSiteTitle = () => {
return SiteConfig[Web_name].title ? SiteConfig[Web_name].title : Web_name;
};
// 获取路由
export const getSiteRouter = () => {
if (SiteConfig[Web_name] && SiteConfig[Web_name].router) {
return SiteConfig[Web_name].router;
}
// 默认路由
return homeRouters;
};
// 获取导航栏列表
export const getNavList = (list: any[]) => {
let nav_list = SiteConfig[Web_name].nav;
nav_list.forEach((item: any) => {
list.forEach((it: any) => {
if (item.name === it.name && item.is_hidden) {
it.is_hidden = true;
}
});
});
return list;
};
// 获取网站logo
export const getSiteLogo = () => {
return SiteConfig[Web_name].site_logo;
};
// 获取打包名称
export const getBuildOutName = () => {
// 获取打包时间
let date = new Date();
let newDate = `${date.getFullYear()}-${
date.getMonth() + 1
}-${date.getDate()}--${date.getHours()}.${date.getMinutes()}`;
return `${SiteConfig[Web_name].build_file_name}-${newDate}`;
};
// 手机号列表版本
export const phone_type = '7';
// 手机号置顶列表
export const phoneTopList = () => {
return SiteConfig[Web_name].top_phone_list;
};
// 获取手机号列表--排序的
export const gePhoneList = (need: boolean) => {
if (need) {
let type = localStorage.getItem('phoneCodes_type');
if (type !== phone_type) {
// 版本不一致时,更新数据
return [];
}
}
let data = localStorage.getItem('phoneCodes');
if (data) {
let list = phoneTopList();
// 修改顺序
let testList = ListSort(JSON.parse(data), list);
return testList;
} else {
return [];
}
};
// 获取Footer的各种链接
export const getFooterLinks = () => {
return SiteConfig[Web_name].footer_links;
};
// 获取whatsapp链接
export const getWhatsAppLink = () => {
return SiteConfig[Web_name].whatsapp_link;
};
// 是否显示签到弹窗
export const showSignInDialog = () => {
return SiteConfig[Web_name].sign_in_dialog;
};
export default {
showFooter: true,
mode: window.localStorage.getItem('mode') || 'light',
showHeader: true,
backgroundTheme: 'blueGrey',
brandTheme: 'default',
};
// 网站可选项
export const webNameList = {
SILKR: 'SILKR',
TIDRK: 'TIDRK',
test: 'test',
// 测试平台
};
// 网站名称---标识-不用做实际标题
export const Web_name: 'SILKR' | 'TIDRK' | any = webNameList.SILKR;
/**
* 网站配置项
*/
export const SiteConfig = {
[webNameList.SILKR]: {
// 这里的title才是实际的网站标题
title: 'SILKR',
// 浏览器的logo
site_logo: '<link rel="icon" href="/logo.svg" id="browser-icon" />',
// 打包目录名
build_file_name: 'silkr-web',
// 手机号置顶列表
top_phone_list: ['52', '51', '58', '57', '593'],
router: [
{
path: '/',
component: () => import('@/layouts'),
children: [
{
path: '/',
name: 'Snow',
component: () => import('@/pages/home/index.vue'),
meta: { title: 'snowhome' },
},
{
path: '/live',
name: 'live',
component: () => import('@/pages/liveManagement/index.vue'),
meta: { title: 'snowhome' },
},
],
},
],
// 首页是否显示签到弹窗
sign_in_dialog: true,
// 导航栏列表
nav: [
{
name: 'Snow',
},
{
name: 'marketConditions',
},
{
name: 'Trading',
},
{
name: 'EarnCoins',
},
{
name: 'upComing',
},
// {
// name: 'cloudminer',
// disabled: false,
// },
],
// 底部联系我们
footer_links: {
twitter: 'https://twitter.com/KentBetty7',
youtube: 'https://www.youtube.com/@silkdvip0115',
tg: 'https://t.me/silkdvip0115',
facebook: 'https://www.facebook.com/iveco.iveco.3110?mibextid=LQQJ4d',
},
whatsapp_link: 'https://api.whatsapp.com/send/?phone=639054988009&text&type=phone_number&app_absent=0',
},
};
/**
* 各个页面的手续费接口type参数
*/
//提现
export const config_type_withDrawal = 1;
// 现货
export const config_type_shop_trading = 2;
// 合约
export const config_type_contract_trading = 3;
// 预售
export const config_type_sale_trading = 4;
// 赚币宝
export const config_type_pledge_trading = 5;
// 矿机
export const config_type_mining_trading = 6;
// trading-name
export const default_trading_info = {
token: 'BTC',
name: 'btcusdt',
price: '16600.01',
};
// 点击充值按钮是否显示维护弹窗
export const InMaintenance = false;
import { ref, Ref, onUnmounted, onBeforeUnmount, onMounted } from 'vue';
import { useI18n } from 'vue-i18n';
/**
* counter utils--验证码倒计时
* @param duration
* @returns
*/
export const useCounter = (duration = 60): [Ref<number>, any, () => void] => {
let intervalTimer: any;
const { locale } = useI18n();
onUnmounted(() => {
clearInterval(intervalTimer);
});
const countDown = ref(0);
const getDown = () => {
switch (locale.value) {
case 'es':
return `Reenviable después de ${countDown.value} segundo`;
case 'cn':
return `${countDown.value}秒后可重发`;
case 'en':
return `Resendable after ${countDown.value} second`;
}
};
return [
countDown,
getDown,
() => {
countDown.value = duration;
intervalTimer = setInterval(() => {
if (countDown.value > 0) {
countDown.value -= 1;
} else {
clearInterval(intervalTimer);
countDown.value = 0;
}
}, 1000);
},
];
};
import { useI18n } from 'vue-i18n';
import useClipboard from 'vue-clipboard3';
import { MessagePlugin } from 'tdesign-vue-next';
export default function () {
const { t } = useI18n();
const doCopy = (keyword: string) => {
if (!keyword) {
return;
}
const { toClipboard } = useClipboard();
toClipboard(keyword)
.then(() => {
MessagePlugin.closeAll();
MessagePlugin.success(t('message.copySuccess'));
})
.catch((e: any) => {
MessagePlugin.closeAll();
MessagePlugin.error(t('message.copyerror'));
});
};
return {
doCopy,
};
}
import { ref } from 'vue';
export const useDomMinHeight = () => {
const domheight = ref('');
const getDomHeight = (dom: any) => {
let client = dom.getBoundingClientRect();
let documentheight = document.documentElement.clientHeight;
if (documentheight <= client.bottom) {
domheight.value = 600 + 'px';
} else {
domheight.value = client.bottom + 'px';
}
};
return {
domheight,
getDomHeight,
};
};
// 监听是否在当前窗口
export default function () {
// 监听是否切除页面
const listenerWindow = (fn: any) => {
document.addEventListener('visibilitychange', fn);
};
// 取消监听
const closeListener = (fn: any) => {
document.removeEventListener('visibilitychange', fn);
};
return {
listenerWindow,
closeListener,
};
}
import STYLE_CONFIG from '@/config/style';
export interface ResDataType {
code: string;
data: any;
errMsg: string,
tips: string,
}
export interface MenuRoute {
path: string;
title?: string;
icon?:
| string
| {
render: () => void;
};
redirect?: string;
children: MenuRoute[];
meta: any;
}
export type ModeType = 'dark' | 'light';
export type SettingType = typeof STYLE_CONFIG;
export type ClassName = { [className: string]: any } | ClassName[] | string;
export type CommonObjType = {
[key: string]: string | number;
};
export interface UserInfo {
id: string;
name: string;
avatar: string;
mobile: string;
}
import { getSiteTitle } from '@/config/site';
const Web_name = getSiteTitle();
// اللغة الصينية
const ar = {
// مطالبات الرسائل
message: {
imageRequired: 'يرجى تحميل لقطة شاشة لعنوان السحب الخاص بك',
maintenance: 'أثناء صيانة النظام ، يتم تعليق إعادة الشحن',
Team: 'فريق',
empty: 'عدد لا يحصى من الوثائق',
error: 'خطأ في الطلب',
loginInfo: 'انتهت صلاحية معلومات تسجيل الدخول',
logoutSuccess: 'تم الخروج بنجاح',
buySuccess: 'تم الشراء بنجاح',
minbuyNum: 'الحد الأدنى لمبلغ الشراء هو',
inputnum: 'الرجاء إدخال كمية الشراء',
upcomingprojectEnd: 'انتهى مشروع ما قبل البيع',
PostingSuccess: 'تم الإصدار بنجاح',
enterpriceandquantity: 'الرجاء إدخال سعر البيع والكمية أولا',
deseaVender: 'الرجاء إدخال الكمية المباعة',
deVenta: 'الرجاء إدخال سعر البيع',
IntroduzcaPrimero: 'الرجاء إدخال سعر الشراء والكمية أولا',
deCompras: 'الرجاء إدخال كمية الشراء',
unPrecio: 'الرجاء إدخال سعر الشراء',
VenderConExito: 'تم البيع بنجاح',
IntroduzcaUnPrecio: 'الرجاء إدخال السعر',
Todoslos: 'تم إلغاء جميع الطلبات',
RetiradoCon: 'تم الإلغاء بنجاح',
Retiradamin: 'الحد الأدنى للسحب 1U',
deRetirada: 'يرجى إدخال عنوان سحب العملة المشفرة',
laRetirada: 'يرجى إدخال مبلغ العملة المشفرة المراد سحبه',
hanPresentado: 'تم تقديم طلب لسحب العملات المشفرة',
RegistroEfectuado: 'تم التسجيل بنجاح',
Seleccioneel: 'يرجى تحديد رمز البلد للهاتف المحمول',
EnviadoCon: 'أرسل بنجاح',
loginSuccess: 'تم تسجيل الدخول بنجاح',
SehaEnviado: 'تم إرسال رمز التحقق',
ReinicioCorrecto: 'تمت إعادة التعيين بنجاح',
ComprMinima: 'الحد الأدنى للشراء',
Introduzcaimporte: 'الرجاء إدخال مبلغ الشراء',
Nopuede: 'لا يمكن تجاوز عدد الوحدات المتبقية',
Llegada: 'وصل الحساب',
haLlegado: 'ليس بعد في الحساب',
RecargaCon: 'إعادة الشحن بنجاح',
ElPedido: 'تم تقديم الطلب ، يرجى تعبئة حسابك في أقرب وقت ممكن',
IntroduzcaEl: 'الرجاء إدخال مبلغ التعبئة',
EnviadoCon2: 'تم التقديم بنجاح',
Erroralfile: 'فشل تحميل الملف',
ModificadoCon: 'تم التعديل بنجاح',
EncuadernacionCorrecta: 'نجح الربط',
copySuccess: 'نجحت النسخة',
copyerror: 'فشل النسخ المتماثل',
ConfiguraciCorrecta: 'نجحت الإعدادات',
notVip: 'أنت لست مستخدما VIP بعد',
},
// التحقق من صحة مربع الإدخال
input: {
addresshere: 'املأ العنوان لسحب العملة المشفرة هنا',
MinimumWithdrawa: 'الحد الأدنى للسحب 10U',
CannotBeEmpty: 'لا يمكن أن تكون فارغة',
Emptyphone: 'لا يمكن أن يكون رقم الهاتف فارغا',
phoneError: 'رقم الهاتف خاطئ',
emptyEmail: 'لا يمكن أن تكون علبة البريد فارغة',
emailError: 'خطأ في صندوق البريد',
EmptyAccount: 'لا يمكن أن يكون الحساب فارغا',
EmptyPassword: 'لا يمكن أن تكون كلمة المرور فارغة',
passwordMin: 'مطلوب ما لا يقل عن 6 بت',
invitation: 'رمز الدعوة مطلوب',
DosEntradas: 'إدخالات كلمة المرور غير متناسقة',
inputName: 'من فضلك ادخل اسمك',
IDError: 'خطأ في بطاقة الهوية',
Captchaligatorio: 'مطلوب كلمة التحقق',
SeRequiere: 'يجب ملء كلمة مرور الصندوق',
},
header: {
home: 'الصفحة الرئيسية',
Descubre: 'نظرة عامة على الأسواق',
spot: 'التداول الفوري',
Pool: 'عامل منجم سحابي',
PreventaIDO: 'ما قبل البيع IDO',
Ingresosfijos: 'اربح عملات معدنية',
login: 'تسجيل الدخول',
reg: 'تسجيل',
Regular: 'مستخدمو VIP1',
Verified: 'تم الانتهاء من التفتيش',
NoCertificado: 'لم يكتمل التفتيش',
MisActivos: 'الرصيد التقديري',
InvitacionCashback: 'دعوة استرداد نقدي',
Verificaciondeidentidad: 'تحديد الهوية',
RegularSeguridad: 'الحماية',
Temasdecolor: 'نسق اللون',
CerrarSesion: 'تسجيل الخروج',
DailysignIn: 'تسجيل الوصول اليومي',
Generalusers: 'مستخدم عادي',
},
signIn: {
Signinsuccess: 'تم تسجيل الوصول بنجاح',
premiosvip: 'vipثواب',
Received: 'تمت المطالبة به بالفعل',
SignInReward: 'قواعد مكافأة تسجيل الوصول',
VIPLevel: 'مستوى كبار الشخصيات',
Numberactivation: 'عدد الأشخاص النشطين',
SignInRewa: 'مكافآت تسجيل الوصول',
Caution: 'التحذيرات',
tip1: `1.يمكن للمستخدمين المدعوين إيداع أكثر من 50 دولارا أمريكيا بشكل تراكمي ليتم احتسابهم كشخص نشط.`,
tip2: `2.عندما يصل مستوى VIP إلى مستوى VIP 1 ، سترسل مكافأة VIP أموال الحساب تلقائيا ، وهكذا ، يرجى الانتباه.`,
tip3: `3.أدخل هذه الصفحة ، وأظهر تسجيل الوصول الناجح ، وسيتم إرسال مكافأة تسجيل الوصول تلقائيا إلى أموال الحساب وفقا لحقوق مستوى VIP الخاصة بك ، يرجى الانتباه إلى المراقبة.`,
moreUsers: 'قم بدعوة المزيد من المستخدمين واستمتع بمزيد من مكافآت مستوى مزايا VIP.',
},
footer: {
SobreMxcus: `معلومات عنا`,
Concenos: 'معلومات عنا',
Contactanos: 'الاتصال التجاري',
ComunidadMxcus: `مجتمع`,
Anuncios: 'إعلان',
Servicios: 'الخصوصية',
DescargarApp: 'تحميل',
Compra: 'شراء العملة الرقمية',
InvitacinHistoria: 'سجلات الدعوة',
Contratos2: 'تداول العقود',
Ayuda: 'تعليمات',
CentroDayuda: 'مركز المساعدة',
CentroAlCliente: 'خدمة العملاء عبر الإنترنت',
TasaEscalonada: 'معدل قياسي',
SugerenciasYcomentarios: 'الاقتراحات والملاحظات',
},
home: {
Empieza: 'ابدأ هنا وقم ببناء محفظة العملات المشفرة الخاصة بك',
CryptoCappuedes: 'فقط مع CryptoCap يمكنك بناء محفظة جيدة وتعلم أفضل الممارسات حول العملات المشفرة.',
reg: 'تسجيل',
Unaforma: 'طريقة بسيطة وسهلة لبدء الاستثمار في العملات المشفرة.',
more: 'أكثر',
Cryptocurrency: 'أنواع العملات المشفرة',
tokenName: 'اسم الرمز المميز',
lastPrice: 'ثمن',
r24h: 'التغيير',
empezar: 'كيفية البدء',
criptomonedas: 'طريقة بسيطة وسهلة لبدء الاستثمار في العملات المشفرة',
EmpezarUtilice: 'بدء الاستخدام',
Crearuna: 'إنشاء حساب',
SuCuenta: 'حسابك وهويتك الشخصية مضمونة',
autenticacin: 'ربط معلومات الهوية لإكمال مصادقة الهوية',
deidentidad: 'أكمل التحقق من الهوية للحفاظ على أمان حسابك الشخصي ومعاملاتك.',
EmpezarComercio: 'ابدأ التداول',
Todolisto: 'كل مجموعة! قم بشراء وبيع العملات المشفرة واستكشف منتجات وخدمات Tidrk.',
OpereEn: 'تداول في أي وقت وفي أي مكان',
EscanearAndroid: 'امسح الرمز ضوئيا للتنزيل Android App',
SiempreAtulado: 'دائما بجانبك',
r7x24atención: '7x24H خدمة العملاء',
sabesNada:
'لا تفهم العملة المشفرة؟ لا تعرف كيف تبدأ التداول؟ لا تستطيع قراءة السوق؟ ابحث عن خدمة العملاء في أي وقت لفهمها!',
Comunidad: 'مجتمع',
comunidadMxcus: `انضم إلى مجتمع ${Web_name} لمناقشة العملات المشفرة. تعرف على المزيد حول شعبية العملات المشفرة في الوقت الفعلي في المجموعة.`,
NoticiasTiempoReal: 'أخبار في الوقت الحقيقي',
actualizaDiariamente: `يتم تحديث ${Web_name} يوميا بآخر الأخبار والأخبار العاجلة والنقاط الساخنة في الوقت الفعلي حول العملات المشفرة ، والانضمام إلى ${Web_name} أسرع بخطوة واحدة من غيرها.`,
},
login: {
Inicie: 'يرجى تسجيل الدخول',
IEmailmeroTeléfono: 'يرجى إدخال رقم هاتفك المحمول أو عنوان بريدك الإلكتروني',
Contrasea: 'كلمة مرور الحساب',
Contrasea2: 'الرجاء إدخال كلمة المرور',
Recordarla: 'تذكر كلمة المرور',
lacontrasea: 'هل نسيت كلمة المرور؟',
login: 'تسجيل الدخول',
notienecuenta: 'ليس لديك حساب حتى الآن؟',
reg: 'يرجى التسجيل',
email: 'البريد الالكترونى',
phone: 'رقم الهاتف المحمول',
CorreoElectrnico: 'عنوان البريد الإلكتروني الشخصي',
Contraseasesin: 'كلمة مرور الحساب',
confirmPwd: 'تأكيد كلمة المرور',
Cdigoinvitac: 'رمز الدعوة',
createAccount: 'إنشاء حساب',
tienesunacuenta: 'هل لديك حساب ؟',
toLogin: 'يرجى تسجيل الدخول',
Telefono: 'رقم الهاتف المحمول',
IntroduceElCdigo: 'أدخل رمز التحقق',
Siguiente: 'مقبل',
NorecibisteElcdigo: 'ألم تتلق رمز التحقق؟',
Reenviar: 'إرسال مرة أخرى',
Crearpersonal: 'إنشاء حساب شخصي',
Seleccione: 'يرجى الاختيار',
// نسيت كلمة المرور
suContras: 'نسيت كلمة المرور',
NingunaRetirada: 'لا يمكنك سحب الأموال على الأجهزة الجديدة لمدة 24 ساعة بعد تغيير كلمة مرور تسجيل الدخول الخاصة بك',
Introduzcatel: 'الرجاء إدخال رقم هاتفك المحمول',
Introduzcaemail: 'الرجاء إدخال عنوان البريد الإلكتروني الخاص بك',
forgotCode: 'إرسال رمز التحقق',
},
trading: {
Todo: 'نوع العملة',
lastprice: 'ثمن',
Cambiar: 'التغيير',
Perpetuo: 'التداول الفوري',
r24h: 'التغيير/24 ساعة',
r24hMax: 'الأعلى/24 ساعة',
r24hMin: 'الأدنى/24 ساعة',
r24hVolume: 'حجم التداول/24 ساعة',
Market: 'السوق',
Preciolimit: 'الحدّ',
Comprarcripto: 'شراء',
Disponible: 'متاح',
buynum: 'كمية الشراء',
sellnum: 'الكمية المباعة',
Comprar: 'القيمة المقدرة للمعاملة',
Vender: 'القيمة المقدرة للمعاملة',
Comprar2: 'شراء',
Vender2: 'بيع',
buyprice: 'سعر الشراء',
sellPrice: 'سعر البيع',
Ciro: 'القيمة المقدرة للمعاملة',
Orderbook: 'منصات البيع والشراء',
Transacciones: 'تداولات السوق',
num: 'المبلغ',
Acumulado: 'التراكمي',
time: 'الوقت',
PedidosActuales: 'الطلبات المفتوحة',
Historiaedidos: 'سجل الطلبات',
ComercioHistoria: 'سجل التداول',
allTodo: 'الكل',
FechaPedidos: 'وقت الاستضافة',
Pares: 'الزوج',
histype: 'النوع',
Tipo: 'جانب',
Cantidad: 'المبلغ',
historyTotal: 'الإجمالي',
Acciones: 'اشتغل',
RetiradaTotal: 'شروط التنفيذ',
Enespera: 'انتظار',
EnCurso: 'قيد التنفيذ',
CompletamenteVendido: 'صفقة كاملة',
Incompleto: 'لم يتم',
curprice: 'السعر الحالي',
market: 'السوق',
limit: 'الحدّ',
buy: 'شراء',
sell: 'بيع',
},
// صفحة عروض الأسعار
Mercado: {
Mercado: 'الأسواق',
Nuevos: 'أحدث عملة',
Ganadores: 'العملة من أكبر زيادة',
alltodo: 'جميع العملات المشفرة',
NuevaDistribucin: 'أحدث إطلاق',
Pares: 'الزوج',
Precio: 'أحدث الأسعار',
maxprice: 'الحد الأقصى للسعر',
minprice: 'أقل سعر',
r24hVolume: '24Hالإجمالي',
Cambio: 'التغير',
},
// اربح عملات معدنية
earncoins: {
Ingresosfijos: 'اربح عملات معدنية',
Nohagas: 'إيداع العملات المعدنية ، الأمر بهذه السهولة',
EarnAhorros: 'الاستثمار المحمي برأس المال',
activosDeposi: 'كسب دخل ثابت عن طريق إيداع الأموال',
Mercados: 'المشروع الحالي',
MiCompra: 'مشترياتي',
token: 'الرموز',
Ingresosest: 'معدل الفائدة السنوي',
Duracindas: 'المدة (أيام)',
day: 'ي',
Suscribirse: 'تطبيق',
CantidadSuscripcin: 'مبلغ الطلب',
IngresaCantidad: 'الرجاء إدخال المبلغ',
max: 'قصوي',
Disponible: 'متاح',
SinDisponible: 'لا يكفي المال؟',
Comprar: 'شراء عملة معماة',
Lmitedecantidad: 'حد الكمية',
Minimo: 'الحد الأدنى يمكن أن يلقي',
CuotaDisponible: 'الرصيد المتاح',
Resumen: 'نظره عامه',
Fechadesuscripcion: 'تاريخ تقديم الطلب',
Fechadevalidez: 'التاريخ الذي تم فيه احتساب الفائدة',
buciondeinterses: 'تاريخ دفع الفائدة',
Tasadenivel: 'وصف معدل متدرج؟',
Rendimiento: 'نسبة العائد',
InterEsest: 'إجمالي الإيرادات المقدرة',
Leiyestoy: 'لقد قرأت وأوافق على اتفاقية خدمة Earn Coin',
confirm: 'أكد',
Token: 'الرموز',
Suscripcion: 'تاريخ الاشتراك',
Plazo: 'المدة (أيام)',
SuscribirseMonto: 'كمية الشراء',
PrestacionesAcumuladas: 'الأرباح التراكمية',
Situacion: 'حالة',
Enespera: 'أنتظر',
EnCurso: 'قيد التنفيذ',
CompletamenteVendido: 'اكتمل',
Incompleto: 'لم يتم',
},
// ما قبل البيع
upcoming: {
PreventaIDO: 'ما قبل البيع IDO',
Emisiondetokens: 'بيع العملات المشفرة',
ZonapedidosAnticipados: 'منطقة ما قبل البيع',
Todaspreventas: 'كل المبيعات',
Mipapeleta: 'النسبة المئوية للفائزين',
myPre: 'ما قبل البيع الخاص بي',
Ventasencurso: 'ما قبل البيع قيد التقدم',
Findeventa: 'إنتهى',
DisponibleMonto: 'الكميات المتوفرة',
Progreso: 'مُنفذ',
Fechaventas: 'تبدأ المبيعات ب:',
Verdetalles: 'عرض التفاصيل',
IDOpreventa: 'تفاصيل ما قبل البيع IDO',
EmisionMonto: 'كمية الإصدار:',
EmisionPrecio: 'سعر الإصدار:',
Fechainiciopreventa: 'وقت بدء ما قبل البيع:',
endTime: 'نهاية وقت ما قبل البيع:',
minbuy: 'الحد الأدنى للشراء:',
maxBuy: 'الحد الأقصى للمشتريات:',
Progresopreventa: 'تقدم ما قبل البيع',
Consiguepreventa: 'اقتناص ما قبل البيع',
Detallesproyecto: 'مقدمة المشروع',
Token: 'الرموز',
Suscripcion: 'تاريخ طلب الشراء',
Preventapercio: 'سعر ما قبل البيع',
VolumenCompras: 'كمية الشراء',
Porcentajevotos: 'النسبة المئوية',
ValorpapeletaUSDT: 'القيمة الرابحة هي USDT',
Situacion: 'حالة',
Enespera: 'أنتظر',
EnCurso: 'جاري العمل',
CompletamenteVendido: 'اكتمل',
Incompleto: 'لم يتم',
countdown: 'نهاية العد التنازلي',
},
// عامل منجم سحابي
pool: {
pool: 'عامل منجم سحابي',
LosArrendamientos:
'تأجير الثقة الكاملة لآلة التعدين ، والكشف عن بيانات طاقة الحوسبة لآلة التعدين ، والتشغيل والصيانة الشاملة!',
PoolZonaDepedidos: 'منطقة التعدين السحابية',
Trabajadorescomercial: 'مينر مول',
MiTrabajadores: 'عامل المنجم الخاص بي',
MineriaRed: 'تتقلب قوة الحوسبة عبر الشبكة',
Limitado: 'محدود',
Tropical: 'حار للبيع',
Cantidadestante: 'الكمية المتبقية ',
unidad: ' جهاز',
TrabajadoresComision: 'رسوم عامل المنجم',
Costes: 'كلف',
Tasasservicio: 'رسوم الخدمة',
Cuotasmantenimiento: 'رسوم الصيانة',
Terraza: 'جهاز',
veces: 'تايمز',
Produccionprevista: 'الإنتاج اليومي المتوقع',
Ingresos: 'ربح',
HashrateDelPool: 'معدل تجزئة عامل المنجم:',
MineriaPeriodicidad: 'فترة التعدين',
Comprar: 'ابتاع',
CosteTota: 'التكلفة الكاملة',
GananciasPrevistas: 'الفوائد المتوقعة',
day: 'ي',
InmediatamenteProof: 'الماكينة تعمل على الفور',
Cerrado: 'تعدين',
Stop: 'انتهاء',
Yaproducido: 'تم إنتاج',
TiempoConsumido: 'الوقت المستغرق',
IngresosGlobales: 'تتأرجح المكاسب على الشبكة',
Valoprevisto: 'قيمة الإخراج المقدرة USDT',
PoolDetalles: 'تفاصيل عامل المنجم',
Todoslosmineros:
'تأجير الثقة الكاملة لآلة التعدين ، والكشف عن بيانات طاقة الحوسبة لآلة التعدين ، والتشغيل والصيانة الشاملة!',
HashrateTerraza: 'طاقة حسابية لكل حاسوب',
CantidadRestanteTerraza: 'الكمية المتبقية',
Tasasservicio2: 'تكاليف الخدمات',
Costetotal: 'التكلفة الكاملة',
Gananciasprevistas: 'الفوائد المتوقعة',
Parametrosimportantes: 'معلمات مهمة',
Otrosparametros: 'المعلمات الأساسية',
},
// شراء عملة مشفرة
buy: {
Recarga: 'إعادة شحن العملة المشفرة',
Elegisitotoken: 'اختر العملة المشفرة لتعبئة رصيدها',
confirmRed: 'تأكيد قناة الشحن',
minRecharge: 'الحد الأدنى لمبلغ التعبئة',
Llegadaprevista: 'إيداع العملات المشفرة المبلغ المؤكد',
Desbloqueopervisto: 'عدد المرات التي يتم فيها سحب العملة المشفرة',
r32confirmacion: '32 تأكيدا للتشفير',
r64confirmacion: '64 تأكيدا للتشفير',
Direcciondedeposito: 'عنوان الإيداع',
buyNum: 'عدد الودائع',
minBuynum: 'الحد الأدنى للإيداع 1 USDT',
confirm: 'تأكيد الإيداع',
SolodUSDT: 'لا يمكن إيداع هذا العنوان إلا في أصول USDT',
Reconfirmarla: 'يرجى التأكيد مرة أخرى على أن الشبكة الأساسية التي حددتها هي',
DepositoAunnohallegado: 'لم يصل الإيداع؟',
Siseencuentra:
'إذا واجهت المشاكل التالية أثناء عملية الإيداع ، يمكنك التحقق من حالة الإيداع الحالية من خلال وظيفة "خدمة العملاء البشرية" أو التقدم بطلب لاسترداد أصولك بنفسك.',
DepositoAnnoha: 'إذا لم يصل الإيداع لفترة طويلة ، فالرجاء النقر فوق كشف زر',
Depositoolvido: 'ترك أو خطأ في ملء الودائع في TAG/Memo',
dedivisas: `إيداع ${Web_name} بعملة غير مدرجة`,
Consultasayuda: 'استشر خدمة العملاء',
PruebasLlegada: 'اكتشاف الودائع إلى الحسابات',
HistorialCreintegros: 'سجلات الإيداع والسحب الأخيرة',
FechaPedidos: 'الوقت',
token: 'أنواع العملات المشفرة',
DepositoCantidad: 'عدد الودائع',
Llegadareal: 'مبلغ',
Tipo: 'نوع',
status: 'حالة',
Depositar: 'أودع',
Retirar: 'المُعاملات الأخيرة',
Processing: 'في انتظار',
exito: 'النجاح',
Fallo: 'فشل',
Pruebas: 'اختبار',
EsperaRecargaLlegada: 'في انتظار الإيداع إلى الحساب',
deteccionencurso: 'لا تغلق هذه الصفحة، في اختبار الودائع …',
Completed: 'تم إيداع في الحساب',
Horas: 'س',
Puntuacion: 'د',
Segundos: 'ثانية',
},
// سحب العملة المشفرة
sell: {
Screenshots: 'لقطة شاشة لعنوان سحب العملة المشفرة',
TokenRetirar: 'تشفير السحب النقدي',
VolverRetirarToken: 'حدد عملة السحب المشفرة',
ComisiondelaRed: 'رسوم',
Cantidadarecibir: 'الوصول الفعلي إلى الحساب',
Paraprotege:
'من أجل ضمان أمن الأموال ، عندما تتغير سياسة أمان حسابك ، تتغير كلمة المرور ، سنقوم بمراجعة السحب يدويا ، يرجى الانتظار بصبر حتى يتصل بنا الموظفون عبر الهاتف أو البريد الإلكتروني.',
min: 'الحد الأدنى لمبلغ السحب هو',
Red: 'تأكيد شبكة السحب',
address: 'عنوان السحب',
Monto: 'عدد السحوبات',
max: 'الكل',
Retirar: 'سحب',
Depositoaun: 'لم يصل السحب إلى الحساب',
SiSeEncuentra:
'إذا واجهت المشكلات التالية أثناء عملية السحب ، فيمكنك التحقق من حالة السحب الحالية من خلال وظيفة "خدمة العملاء البشرية" أو التقدم بطلب لاسترداد أصولك بالخدمة الذاتية.',
LasRetiradas: 'لم يصل السحب إلى الحساب لفترة طويلة',
Olvidoocum: 'نسيت أو أخطأت في ملء العلامة / المذكرة عند السحب',
ServiciosHumanos: 'استشر خدمة العملاء',
RetiradasConfirmadas: 'تأكيد السحب',
ningunaCo: 'لم يتم إعداد كلمة مرور آمنة حتى الآن؟',
Poravoajuste: 'يرجى تعيين',
},
// نظرة عامة على المحفظة
assets: {
PosesionToken: 'عملة التخزين',
Depositar: 'إيداع',
Retirar: 'سحب',
Regular: 'حساب',
Valortotal: 'الرصيد التقديري',
Disponibletotal: 'الرصيد المتاح',
Token: 'عملة',
BalancesCantidad: 'عدد الأصول',
Cambiara: 'تحويل إلى(USDT)',
Acciones: 'تشغيل',
Freeze: 'جمد',
AssetsHeld: 'أصولي',
LatestAnnouncements: 'أحدث الإعلانات',
},
// إحالة
invitation: {
ganeToken: ' ادعُ الأصدقاء للحصول على',
Comisionesde: `اكسب عمولة تصل إلى 60٪ على جميع الصفقات على ${Web_name} دولار ، وعقد ، ومجمع التعدين.`,
ComisionRe: 'المكافأة',
l3: 'أصدقاء المستوى 1',
l4: 'أصدقاء المستوى 2',
l5: 'أصدقاء المستوى 3',
CodigoDereferidos: 'مُعرّف الإحالة لايت',
EnlaceDeReferidos: ' رابط الإحالة لايت',
TodoEltiempo: 'كل الوقت',
Ayer: 'أمس',
EstaSemana: 'س',
Estemes: 'شهر',
Ingresos: 'أرباحك',
AccionesAmigos: 'عدد الأصدقاء الذين بدأوا التداول',
Numerodeamigos: 'عدد الأصدقاء',
PremioAlMejorInvitacion: 'أعلى مكافآت الإحالة',
Reembolsounico: 'عائد نقدي واحد',
DevolucionAcumulada: 'تراكم الاسترداد النقدي',
InvitacionCashback: 'إحالة لايت',
RebajasComerciales: 'حسومات التداول',
mantenimientode:
'يعتمد وقت إحصاءات البيانات على وقت UTC + 0 ، ووقت صيانة البيانات حوالي الساعة 3-5 (UTC + 0) كل يوم ، خلال هذه الفترة ، يعتمد حساب قيمة الدخل على أصول اليوم السابق. بعد انتهاء الصيانة ، يمكن عرض الأرباح اليومية العادية.',
Debidoala:
'ملاحظة خاصة: نظرا لتعقيد بيانات الأعمال ذات الصلة ، قد تكون هناك أخطاء حسابية وتأخيرات في الحساب ، والبيانات المذكورة أعلاه هي للإشارة فقط ، يرجى فهم الإزعاج الذي يسببه لك.',
AgentesDirectos: 'وكيل أعمالي المرؤوس',
Comision: 'عمولتي(USDT)',
Fecha: 'تاريخ',
LasComisiones:
'سيتم إضافة مبلغ الاسترداد النقدي إلى رصيد محفظتك في غضون 72 ساعة ، إذا لم تستلم الخصم في غضون 72 ساعة ، فيرجى الاتصال بخدمة العملاء عبر الإنترنت.',
currentRebate: 'المبلغ الحالي الخاص بك هو ',
collectIt: 'تأكيد الانتقال إلى الرصيد؟',
submitComplete: 'إرسال كاملة',
ExpectedCompletion: 'من المتوقع الانتهاء من المراجعة في غضون 2-3 أيام عمل',
onlyApply: 'لا يمكن أن تطبق إلا في الأول من كل شهر .',
},
// تحديد الهوية
auth: {
Uploading: 'جاري الإرسال',
UnderReview: 'قيد المراجعة',
auth: 'تحديد الهوية',
Paraproteger: 'مصادقة كاملة للهوية للمساعدة في حماية أمان الحساب وزيادة حد السحب وسلطة المعاملة',
AutenticacionPersonal: 'مصادقة المعلومات الشخصية',
emailauth: 'التحقق من البريد الإلكتروني:',
phoneAuth: 'مصادقة الهاتف المحمول:',
Identificacion: 'بطاقة هوية حكومية ',
LlaveDeSeguridad: 'التعرّف على الوجه ',
NoCertificado: 'غير مصدق عليها',
Acreditado: 'تم التصديق عليها',
SinAtaduras1: 'الهاتف المحمول غير مرتبط',
Correonico: 'صندوق البريد غير مرتبط',
Privilegios: 'بمجرد اكتمال الشهادة ، لديك المزايا التالية',
VerificarAhora: 'ابدأ التحقق الآن',
TodosLosday: 'كل يوم',
MonedaDepositar: 'حدود الإيداع والسحب',
Sinlimites: 'غير محدود',
TokenDepositar: 'حد إيداع العملات الرقمية',
TokenRetirar: 'حد سحب العملات الرقمية',
Aumentarimporte: 'زيادة الحد',
C2C: 'حدود التداول من شخص لشخص (P2P)',
other: 'ميزات أخرى',
VerificacidadKYC: 'تحديد الهوية KYC',
Nombrereal: 'الاسم الحقيقي',
Introduzcanombre: 'أدخل اسمك',
Telefono: 'رقم الهاتف المحمول',
Seleccione: 'يرجى الاختيار',
Introduzcasu: 'أدخل رقم هاتفك',
NumeroDeID: 'رقم الهوية',
Introduzcanumerodeid: 'أدخل رقم هويتك',
Tomarunafoto: 'صورة شخصية مع بطاقة الهوية في متناول اليد',
IDentidadAnverso: 'الجزء الأمامي من بطاقة الهوية',
IDentidadReverso: 'الجانب العكسي لبطاقة الهوية',
Confirmacion: 'أكد',
},
// الحماية
account: {
account: 'الحماية',
Cambiesu: 'قم بتغيير كلمة مرور حسابك بانتظام للمساعدة في أمان حسابك.',
Autenticacifactores: 'المصادقة الثنائية',
NivelDeseguridad: 'مستوى الأمان',
Baja: 'منخفض',
Medio: 'وسط',
Alta: 'عال',
Recomendamoseluso: 'نوصي بشدة بتشغيل المصادقة ذات العاملين',
Email: 'البريد الإلكتروني',
Usadopara: 'يستخدم لتسجيل الدخول وسحب العملات المعدنية واسترداد كلمات المرور وتعديل إعدادات الأمان.',
mobile: 'هاتف خلوي',
Verificantidad: 'تحديد الهوية ',
ParaAumentarlos: 'يتم استخدامه لزيادة حد السحب وحد المعاملات وإيداع العملات والقيود الأخرى.',
NoAjustes: 'لا إعدادات',
AhoraAjustes: 'قم بإعداده الآن',
Vincular: 'متصل بالفعل',
Encuadernacion: 'اتصالات',
Acreditado: 'تم الانتهاء من الشهادة',
Gestiasa: 'إدارة آمنة لكلمات المرور',
Contraseacceder: 'كلمة مرور تسجيل الدخول',
ParaAsegura: 'تستخدم لحماية أمان الحساب',
Modificar: 'تنقيح',
Contraseondos: 'كلمة مرور الأموال',
Paraprotec: 'تستخدم لتأمين الأصول',
Ajustes: 'نصب',
Cambiarcontrasea: 'تعيين كلمة مرور للأموال',
Contraseoriginal: 'كلمة مرور الأموال',
Introduzcalam: 'يرجى إدخال كلمة مرور الأموال',
Confirmaos: 'تأكيد كلمة مرور المال',
Vuelvaintroducir: 'يرجى إدخال كلمة مرور الأموال مرة أخرى',
clear: 'إلغاء',
ok: 'تأكيد',
CambiarContrasea: 'تغيير كلمة مرور تسجيل الدخول',
Contraseriginal: 'أدخل كلمة المرور الأصلية',
Contrasenueva: 'أدخل كلمة مرور جديدة',
ConfirmarLanueva: 'قم بتأكيد كلمة المرور الجديدة',
EnlazarMvil: 'ربط هاتفك',
NumerodeMvil: 'رقم الهاتف المحمول',
Seleccione: 'يرجى الاختيار',
CodigorSMS: 'أدخل رمز التحقق',
Obtenerdeverificacion: 'إرسال رمز التحقق',
CorreosElecinculados: 'ربط عنوان بريد إلكتروني',
Poremail: 'البريد الإلكتروني ',
Introduzcaelco: 'أدخل رمز التحقق',
VerificationCode: 'كلمة التحقق',
sendEmailCode: 'تم إرسال رمز التحقق ، يرجى التحقق من بريدك الإلكتروني',
sendPhoneCode: 'تم إرسال رمز التحقق ، يرجى التحقق من الرسالة النصية التي تلقيتها',
},
award: {
record: 'تسجيل',
Collectiontime: 'تاريخ التوزيع ',
type: 'نوع',
Rewards: 'ثواب',
AwardRecord: 'سجلات المكافآت',
Rules: 'القواعد',
Upgrade: 'ترقيه',
Signin: 'تحقق في كل يوم',
},
};
export default ar;
import { getSiteTitle } from '@/config/site';
const Web_name = getSiteTitle();
// 汉语
const cn = {
// 消息提示
message: {
imageRequired: '请上传提币地址截图',
maintenance: '系统维护中,暂停充值',
Team: '团队',
empty: '暂无数据',
error: '请求错误',
loginInfo: '登录信息已过期',
logoutSuccess: '退出成功',
buySuccess: '购买成功',
minbuyNum: '最低购买金额为',
inputnum: '请输入买入数量',
upcomingprojectEnd: '预售项目已结束',
PostingSuccess: '发布成功',
enterpriceandquantity: '请先输入卖出价格与数量',
deseaVender: '请输入卖出数量',
deVenta: '请输入卖出价格',
IntroduzcaPrimero: '请先输入买入价格和数量',
deCompras: '请输入买入数量',
unPrecio: '请输入买入价格',
VenderConExito: '卖出成功',
IntroduzcaUnPrecio: '请输入价格',
Todoslos: '所有订单已撤销',
RetiradoCon: '撤销成功',
Retiradamin: '最少提现1U',
deRetirada: '请输入提现地址',
laRetirada: '请输入提现金额',
hanPresentado: '已提交提现申请',
RegistroEfectuado: '注册成功',
Seleccioneel: '请选择手机区号',
EnviadoCon: '发送成功',
loginSuccess: '登录成功',
SehaEnviado: '验证码已发送',
ReinicioCorrecto: '重置成功',
ComprMinima: '最少购买',
Introduzcaimporte: '请输入买入金额',
Nopuede: '不能超出剩余台数',
Llegada: '已到账',
haLlegado: '未到账',
RecargaCon: '充值成功',
ElPedido: '订单已提交,请尽快充值',
IntroduzcaEl: '请输入充值金额',
EnviadoCon2: '提交成功',
Erroralfile: '文件上传失败',
ModificadoCon: '修改成功',
EncuadernacionCorrecta: '绑定成功',
copySuccess: '复制成功',
copyerror: '复制失败',
ConfiguraciCorrecta: '设置成功',
notVip: '您还不是vip用户',
},
// 输入框校验
input: {
addresshere: '填写提币地址到这里',
MinimumWithdrawa: '最少提现10U',
CannotBeEmpty: '不能为空',
Emptyphone: '手机号不能为空',
phoneError: '手机号错误',
emptyEmail: '邮箱不能为空',
emailError: '邮箱错误',
EmptyAccount: '账号不能为空',
EmptyPassword: '密码不能为空',
passwordMin: '至少需要6位',
invitation: '邀请码必填',
DosEntradas: '两次密码输入不一致',
inputName: '请输入姓名',
IDError: '身份证错误',
Captchaligatorio: '验证码必填',
SeRequiere: '资金密码必填',
},
header: {
home: '首页',
Descubre: '行情',
spot: '现货交易',
Pool: '云矿机',
PreventaIDO: '预售IDO',
Ingresosfijos: '赚币宝',
login: '登录',
reg: '注册',
Regular: 'VIP1用户',
Verified: '已认证',
NoCertificado: '未认证',
MisActivos: '我的资产',
InvitacionCashback: '邀请返佣',
Verificaciondeidentidad: '身份认证',
RegularSeguridad: '账户&安全',
Temasdecolor: '颜色主题',
CerrarSesion: '退出登录',
DailysignIn: '每日签到',
Generalusers: '普通用户',
},
signIn: {
Signinsuccess: '签到成功',
premiosvip: 'vip奖励',
Received: '已领取',
SignInReward: '签到奖励规则',
VIPLevel: 'VIP等级',
Numberactivation: '激活人数',
SignInRewa: '签到奖励',
Caution: '注意事项',
tip1: `1.邀请的用户累计充值50USDT以上才能算为一个激活人数。`,
tip2: `2.VIP等级到达VIP1级时,VIP奖励会自动发送账户资金,依次 类推,请留意观察。`,
tip3: `3.进入此页面,显示签到成功,签到奖励会根据您的VIP等级 权益自动发送到账户资金,请留意观察。`,
moreUsers: '邀请更多用户,享受更多VIP权益等级奖励。',
},
footer: {
SobreMxcus: `关于我们`,
Concenos: '关于我们',
Contactanos: '商务联络',
ComunidadMxcus: `社区`,
Anuncios: '公告中心',
Servicios: '服务',
DescargarApp: '下载',
Compra: '一键买币',
InvitacinHistoria: '邀请记录',
Contratos2: '合约交易',
Ayuda: '帮助',
CentroDayuda: '帮助中心',
CentroAlCliente: '在线客服',
TasaEscalonada: '费率标准',
SugerenciasYcomentarios: '建议及反馈',
},
home: {
Empieza: '在这里开始并建立你的加密货币投资组合',
CryptoCappuedes: '只有在CryptoCap,你才能建立一个良好的投资组合并学习 关于加密货币的最佳做法。',
reg: '注册',
Unaforma: '简单易行的方式开始你的投资加密货币中。',
more: '更多',
Cryptocurrency: 'Cryptocurrency Categories',
tokenName: '代币名称',
lastPrice: '价格',
r24h: '涨幅',
empezar: '如何开始使用',
criptomonedas: '简单易行的方式开始你的投资加密货币中',
EmpezarUtilice: '开始使用',
Crearuna: '创建一个账户',
SuCuenta: '你的账户和个人身份是有保障的',
autenticacin: '绑定身份信息,完成身份认证',
deidentidad: '完成身份验证,确保个人账户和交易安全。',
EmpezarComercio: '开始交易',
Todolisto: '一切准备就绪!买卖加密货币,探索Mxcus产品与服务。',
OpereEn: '随时随地,皆可进行交易',
EscanearAndroid: '扫码下载 Android App',
SiempreAtulado: '时刻在你身边',
r7x24atención: '7x24小时客服服务',
sabesNada: '不懂加密货币?不知道怎么开始交易?看不懂市场行情?随时找客服了解!',
Comunidad: '社群',
comunidadMxcus: `加入${Web_name}社群,一起探讨加密货币。在群中了解更多关于加密货币的实时热度。`,
NoticiasTiempoReal: '实时新闻',
actualizaDiariamente: `${Web_name}每天都会更新关于加密货币的最新消息、重大新闻、实时热点,加入${Web_name}比别人更快一步。`,
},
login: {
Inicie: '请登录',
IEmailmeroTeléfono: '请输入手机号或邮箱',
Contrasea: '密码',
Contrasea2: '请输入密码',
Recordarla: '记住密码',
lacontrasea: '忘记密码?',
login: '登录',
notienecuenta: '还有没有账号吗?',
reg: '请注册',
email: '邮箱',
phone: '手机号码',
CorreoElectrnico: '个人电子邮箱',
Contraseasesin: '密码',
confirmPwd: '确认密码',
Cdigoinvitac: '邀请码',
createAccount: '创建账号',
tienesunacuenta: '已经有账号 ?',
toLogin: '请登录',
Telefono: '手机号',
IntroduceElCdigo: '输入验证码',
Siguiente: '下一步',
NorecibisteElcdigo: '没有收到验证码?',
Reenviar: '重新发送',
Crearpersonal: '创建个人账户',
Seleccione: '请选择',
// 忘记密码
suContras: '忘记密码',
NingunaRetirada: '修改登录密码后的 24 小时内,无法在新设备上提现',
Introduzcatel: '请输入手机号',
Introduzcaemail: '请输入邮箱',
forgotCode: '发送验证码',
},
trading: {
Todo: '币种',
lastprice: '价格',
Cambiar: '涨幅',
Perpetuo: '现货交易',
r24h: '24H涨跌',
r24hMax: '24H最高价',
r24hMin: '24H最低价',
r24hVolume: '24H成交量',
Market: '市价',
Preciolimit: '限价',
Comprarcripto: '买币',
Disponible: '可用',
buynum: '买入数量',
sellnum: '卖出数量',
Comprar: '预计交易额',
Vender: '预计交易额',
Comprar2: '买入',
Vender2: '卖出',
buyprice: '买入价格',
sellPrice: '卖出价格',
Ciro: '预计交易额',
Orderbook: '盘口',
Transacciones: '实时成交',
num: '数量',
Acumulado: '累计',
time: '时间',
PedidosActuales: '当前委托',
Historiaedidos: '历史委托',
ComercioHistoria: '成交历史',
allTodo: '全部',
FechaPedidos: '委托时间',
Pares: '交易对',
histype: '类型',
Tipo: '方向',
Cantidad: '数量',
historyTotal: '成交额',
Acciones: '操作',
RetiradaTotal: '全撤',
Enespera: '等待中',
EnCurso: '进行中',
CompletamenteVendido: '完全成交',
Incompleto: '未完成',
curprice: '当前价格',
market: '市价',
limit: '限价',
buy: '买',
sell: '卖',
},
// 行情页
Mercado: {
Mercado: '行情',
Nuevos: '最新上币',
Ganadores: '最大涨幅币种',
alltodo: '所有币种',
NuevaDistribucin: '最新上线',
Pares: '交易对',
Precio: '最新价格',
maxprice: '最高价',
minprice: '最低价',
r24hVolume: '24H成交额',
Cambio: '涨幅',
},
// 赚币宝
earncoins: {
Ingresosfijos: '赚币宝',
Nohagas: '存币生币,如此简单',
EarnAhorros: '保本投资',
activosDeposi: '通过存入资金获得稳定收益',
Mercados: '当前项目',
MiCompra: '我的购买',
token: '代币',
Ingresosest: '年利率',
Duracindas: '期限(天)',
day: '天',
Suscribirse: '申请',
CantidadSuscripcin: '申请金额',
IngresaCantidad: '请输入金额',
max: '最大',
Disponible: '可用',
SinDisponible: '没有足够的资金?',
Comprar: '买币',
Lmitedecantidad: '数量限制',
Minimo: '最少可投',
CuotaDisponible: '可用額度',
Resumen: '概览',
Fechadesuscripcion: '申请日',
Fechadevalidez: '起息日',
buciondeinterses: '利息发放日',
Tasadenivel: '阶梯利率说明 ?',
Rendimiento: '收益率',
InterEsest: '预计总收益',
Leiyestoy: '我已阅读并同意赚币服务协议',
confirm: '确认',
Token: '代币',
Suscripcion: '申购日',
Plazo: '期限(天)',
SuscribirseMonto: '购买数量',
PrestacionesAcumuladas: '累计收益',
Situacion: '状态',
Enespera: '等待中',
EnCurso: '进行中',
CompletamenteVendido: '已完成',
Incompleto: '未完成',
},
// 预售
upcoming: {
PreventaIDO: '预售 IDO',
Emisiondetokens: '代币发行',
ZonapedidosAnticipados: '预售专区',
Todaspreventas: '所有预售',
Mipapeleta: '我的中签',
myPre: '我的预售',
Ventasencurso: '正在预售',
Findeventa: '已经结束',
DisponibleMonto: '可申购数量',
Progreso: '进度',
Fechaventas: '销售开始于:',
Verdetalles: '查看详情',
IDOpreventa: 'IDO预售详情',
EmisionMonto: '发行数量:',
EmisionPrecio: '发行价格:',
Fechainiciopreventa: '开始预售时间:',
endTime: '结束预售时间:',
minbuy: '最低购买:',
maxBuy: '最高购买:',
Progresopreventa: '预售进度:',
Consiguepreventa: '抢购预售',
Detallesproyecto: '项目介绍',
Token: '代币',
Suscripcion: '申购日',
Preventapercio: '预售价格',
VolumenCompras: '购买数量',
Porcentajevotos: '中签比例',
ValorpapeletaUSDT: '中签价值USDT',
Situacion: '状态',
Enespera: '等待中',
EnCurso: '进行中',
CompletamenteVendido: '已完成',
Incompleto: '未完成',
countdown: '结束倒计时',
},
// 云矿机
pool: {
pool: '云矿机',
LosArrendamientos: '矿机全托租赁,矿机的矿池算力数据公开,运营和维修全包!',
PoolZonaDepedidos: '云矿机专区',
Trabajadorescomercial: '矿机商城',
MiTrabajadores: '我的矿机',
MineriaRed: '全网算力波动',
Limitado: '限量',
Tropical: '热卖',
Cantidadestante: '剩余数量 ',
unidad: ' 台',
TrabajadoresComision: '矿机费用',
Costes: '成本',
Tasasservicio: '服务费',
Cuotasmantenimiento: '维护费',
Terraza: '台',
veces: '次',
Produccionprevista: '预计日产出',
Ingresos: '收入',
HashrateDelPool: '矿机算力:',
MineriaPeriodicidad: '挖矿期限',
Comprar: '购买',
CosteTota: '全部费用',
GananciasPrevistas: '预计收益',
day: '天',
InmediatamenteProof: '立即挖矿',
Cerrado: '挖矿中',
Stop: '截止',
Yaproducido: '已产',
TiempoConsumido: '已消耗时间',
IngresosGlobales: '全网收益波动',
Valoprevisto: '预计产出价值USDT',
PoolDetalles: '矿机详情',
Todoslosmineros: '矿机全托租赁,矿机的矿池算力数据公开,运营和维修全包!',
HashrateTerraza: '矿机算力/台',
CantidadRestanteTerraza: '剩余数量/台',
Tasasservicio2: '服务费用',
Costetotal: '全部费用',
Gananciasprevistas: '预计收益',
Parametrosimportantes: '重要参数',
Otrosparametros: '基本参数',
},
// 买币
buy: {
Recarga: '数字货币充值',
Elegisitotoken: '选择充值币种',
confirmRed: '确认充值网络',
minRecharge: '最小充值金额',
Llegadaprevista: '充币区块确认数',
Desbloqueopervisto: '提币解锁次数',
r32confirmacion: '32次区块确认',
r64confirmacion: '64次区块确认',
Direcciondedeposito: '充值地址',
buyNum: '充币数量',
minBuynum: '最少充值1USDT',
confirm: '确认充值',
SolodUSDT: '此地址只可充值USDT资产',
Reconfirmarla: '请再次确认您选择的主网络是',
DepositoAunnohallegado: '充值未到账?',
Siseencuentra: '如果您在充值过程中遇到以下问题,您可以通过“人工客服”功能查询当前充值状态或自助申请找回您的资产。',
DepositoAnnoha: '充值后长时间未到账,请点击检测按钮',
Depositoolvido: '充值时忘填或错填Tag/Memo',
dedivisas: `充值了${Web_name}未上线的币种`,
Consultasayuda: '咨询客服',
PruebasLlegada: '检测到账',
HistorialCreintegros: '近期充提币记录',
FechaPedidos: '时间',
token: '币种',
DepositoCantidad: '充值数量',
Llegadareal: '金额',
Tipo: '类型',
status: '状态',
Depositar: '充值',
Retirar: '提币',
Processing: '等待',
exito: '成功',
Fallo: '失败',
Pruebas: '检测',
EsperaRecargaLlegada: '等待充值到账',
deteccionencurso: '请勿关闭此页面,到账检测中...',
Completed: '已到账',
Horas: '时',
Puntuacion: '分',
Segundos: '秒',
},
// 提币
sell: {
Screenshots: '地址截图',
TokenRetirar: '数字货币提现',
VolverRetirarToken: '选择提现币种',
ComisiondelaRed: '手续费',
Cantidadarecibir: '实际到账',
Paraprotege:
'为保障资金安全,当您账户安全策略变更、密码修改、我们会对提币进行人工审核,请耐心等待工作人员电话或邮件联系。',
min: '最小提币数量为',
Red: '确认提现网络',
address: '提币地址',
Monto: '提币数量',
max: '全部',
Retirar: '提币',
Depositoaun: '提现未到账?',
SiSeEncuentra: '如果您在提现过程中遇到以下问题,您可以通过“人工客服”功能查询当前提现状态或自助申请找回您的资产。',
LasRetiradas: '提现后长时间未到账',
Olvidoocum: '提现时忘填或错填Tag/Memo',
ServiciosHumanos: '咨询客服',
RetiradasConfirmadas: '确认提现',
ningunaCo: '还有没有设置安全密码吗?',
Poravoajuste: '请设置',
},
// 资产总览
assets: {
PosesionToken: '持有币种',
Depositar: '充值',
Retirar: '提现',
Regular: '账户',
Valortotal: '总资产',
Disponibletotal: '可用余额',
Token: '币种',
BalancesCantidad: '资产数量',
Cambiara: '折合(USDT)',
Acciones: '操作',
Freeze: '冻结',
AssetsHeld: '持有资产',
LatestAnnouncements: '最新公告',
},
// 邀请
invitation: {
ganeToken: '邀请好友, 一起赚币',
Comisionesde: `在${Web_name}现货、合约和矿池的所有交易中赚取高达60%的佣金。`,
ComisionRe: '返佣比例',
l3: '一级好友',
l4: '二级好友',
l5: '三级好友',
CodigoDereferidos: '推荐码',
EnlaceDeReferidos: '推荐链接',
TodoEltiempo: '全部时间',
Ayer: '昨日',
EstaSemana: '本周',
Estemes: '本月',
Ingresos: '您的收益',
AccionesAmigos: '开始交易的好友',
Numerodeamigos: '好友数',
PremioAlMejorInvitacion: '顶级推荐人奖励',
Reembolsounico: '单次返现',
DevolucionAcumulada: '累积返现',
InvitacionCashback: '邀请返现',
RebajasComerciales: '交易返佣',
mantenimientode:
'数据统计时间以UTC+0时间为准,每日3-5点左右(UTC+0)为数据维护时间,此期间,收益值计算以前日资产为基准。维护结束后,可展示正常当日收益。',
Debidoala:
'特别说明:由于相关业务数据复杂,可能存在计算误差及计算延迟情况,以上数据仅供参考,给您带来的不便,敬请谅解。',
AgentesDirectos: '我的下级',
Comision: '我的佣金(USDT)',
Fecha: '日期',
LasComisiones: '返现金额将在72小时内上账至您的钱包余额,若您72小时仍未收到返佣,请联系在线客服。',
currentRebate: '你当前可领取的返佣额度是',
collectIt: '确认转到余额吗',
submitComplete: '提交完成',
ExpectedCompletion: '预计2-3个工作日内审核完成',
onlyApply: '每个月一号才能申请',
},
// 身份认证
auth: {
Uploading: '上传中',
UnderReview: '审核中',
auth: '身份认证',
Paraproteger: '完成身份认证,有助于保护账户安全,提高提现额度及交易权限',
AutenticacionPersonal: '认证个人信息',
emailauth: '邮箱验证:',
phoneAuth: '手机认证:',
Identificacion: '政府发行的身份证:',
LlaveDeSeguridad: '图片上传人脸识别认证:',
NoCertificado: '未认证',
Acreditado: '已认证',
SinAtaduras1: '未绑定手机',
Correonico: '未绑定邮箱',
Privilegios: '认证完成后拥有以下权益',
VerificarAhora: '立即开始验证',
TodosLosday: '每日',
MonedaDepositar: '法币充值&提现限额',
Sinlimites: '无限额',
TokenDepositar: '数字货币充值',
TokenRetirar: '数字货币提现限额',
Aumentarimporte: '提高限额',
C2C: 'C2C交易限额',
other: '其他功能',
VerificacidadKYC: '身份认证 KYC',
Nombrereal: '真实姓名',
Introduzcanombre: '输入您的姓名',
Telefono: '手机号码',
Seleccione: '请选择',
Introduzcasu: '输入手机号',
NumeroDeID: '身份证号',
Introduzcanumerodeid: '输入身份证号码',
Tomarunafoto: '手持证件自拍照*',
IDentidadAnverso: '证件 正面',
IDentidadReverso: '证件 反面',
Confirmacion: '确认',
},
// 账户安全
account: {
account: '账户&安全',
Cambiesu: '定期修改账号密码,有助于账户安全。',
Autenticacifactores: '双重身份验证',
NivelDeseguridad: '安全等级',
Baja: '低',
Medio: '中',
Alta: '高',
Recomendamoseluso: '强烈建议开启双重身份验证',
Email: '邮箱',
Usadopara: '用于登陆、提币、找回密码、修改安全设置。',
mobile: '手机',
Verificantidad: '身份认证',
ParaAumentarlos: '用于提升提现额度、交易限额、货币充值等限制。',
NoAjustes: '未设置',
AhoraAjustes: '立即设置',
Vincular: '已绑定',
Encuadernacion: '绑定',
Acreditado: '已认证',
Gestiasa: '安全密码管理',
Contraseacceder: '登陆密码',
ParaAsegura: '用于保护账号安全',
Modificar: '修改',
Contraseondos: '资金密码',
Paraprotec: '用于保护资产安全',
Ajustes: '设置',
Cambiarcontrasea: '设置资金密码',
Contraseoriginal: '资金密码',
Introduzcalam: '请输入资金密码',
Confirmaos: '确认资金密码',
Vuelvaintroducir: '请再次输入资金密码',
clear: '取消',
ok: '确定',
CambiarContrasea: '修改登录密码',
Contraseriginal: '输入原密码',
Contrasenueva: '输入新密码',
ConfirmarLanueva: '确认新密码',
EnlazarMvil: '绑定手机',
NumerodeMvil: '手机号码',
Seleccione: '请选择',
CodigorSMS: '输入验证码',
Obtenerdeverificacion: '发送验证码',
CorreosElecinculados: '绑定邮箱',
Poremail: '邮箱',
Introduzcaelco: '输入验证码',
VerificationCode: '验证码',
sendEmailCode: '验证码已发送,请查看您的邮箱',
sendPhoneCode: '验证码已发送,请查看您收到的短信',
},
award: {
record: '记录',
Collectiontime: '领取时间',
type: '类型',
Rewards: '奖励',
AwardRecord: '奖励记录',
Rules: '规则',
Upgrade: '升级',
Signin: '签到',
},
};
export default cn;
// 英语
import { getSiteTitle } from '@/config/site';
const Web_name = getSiteTitle();
const en = {
// 消息提示
message: {
imageRequired: 'Please upload a screenshot of the withdrawal address',
maintenance: 'During system maintenance, recharge is suspended',
Team: 'Team',
empty: 'No data available',
error: 'Request Error',
loginInfo: 'Login information has expired',
logoutSuccess: 'Successful exit',
buySuccess: 'Purchase Success',
minbuyNum: 'The minimum purchase quantity is',
inputnum: 'Please enter the number of buys',
upcomingprojectEnd: 'Pre-sale program is closed',
PostingSuccess: 'Publish successfully',
enterpriceandquantity: 'Please enter the selling price and quantity first',
deseaVender: 'Please enter the quantity to be sold',
deVenta: 'Please enter the sell price',
IntroduzcaPrimero: 'Please enter the buy price and quantity first',
deCompras: 'Please enter the number of buys',
unPrecio: 'Please enter the buy price',
VenderConExito: 'Sell Success',
IntroduzcaUnPrecio: 'Please enter the price',
Todoslos: 'All orders have been cancelled',
RetiradoCon: 'Undo successfully',
Retiradamin: 'Minimum withdrawal of 1U',
deRetirada: 'Please enter the withdrawal address',
laRetirada: 'Please enter the withdrawal amount',
hanPresentado: 'Submitted withdrawal request',
RegistroEfectuado: 'Register successfully',
Seleccioneel: 'Please select cell phone area code',
EnviadoCon: 'Send successfully',
loginSuccess: 'Login successful',
SehaEnviado: 'Verification code has been sent',
ReinicioCorrecto: 'Reset successful',
ComprMinima: 'Minimum purchase',
Introduzcaimporte: 'Please enter the buy-in amount',
Nopuede: 'Cannot exceed the number of remaining units',
Llegada: 'Arrived',
haLlegado: 'Not yet arrived',
RecargaCon: 'Successful recharge',
ElPedido: 'Order has been submitted, please top up as soon as possible',
IntroduzcaEl: 'Please enter the recharge amount',
EnviadoCon2: 'Submitted successfully',
Erroralfile: 'File upload failed',
ModificadoCon: 'Modified successfully',
EncuadernacionCorrecta: 'Bind successfully',
copySuccess: 'Replication success',
copyerror: 'Copy failure',
ConfiguraciCorrecta: 'Set up successfully',
notVip: 'You are not a vip user yet',
},
// 输入框校验
input: {
addresshere: 'Fill in the withdrawal address here',
MinimumWithdrawa: 'Minimum withdrawal of 10U',
CannotBeEmpty: 'Cannot be empty',
Emptyphone: 'Cell phone number cannot be empty',
phoneError: 'Wrong cell phone number',
emptyEmail: 'Email cannot be empty',
emailError: 'Email error',
EmptyAccount: 'Account cannot be empty',
EmptyPassword: 'Password cannot be empty',
passwordMin: 'At least 6 people are needed',
invitation: 'Invitation code required',
DosEntradas: 'Two times the password input does not match',
inputName: 'Please enter your name',
IDError: 'Wrong ID',
Captchaligatorio: 'Verification code required',
SeRequiere: 'Trading Code required',
},
header: {
home: 'Home',
Descubre: 'Market',
spot: 'Spot',
Pool: 'Cloud Miner',
PreventaIDO: 'Pre-sale IDO',
Ingresosfijos: 'Earn Coins',
login: 'Login',
reg: 'Sign up',
Regular: 'VIP1 User',
Verified: 'Verified',
NoCertificado: 'Uncertified',
MisActivos: 'My assets',
InvitacionCashback: 'Invitation Cashback',
Verificaciondeidentidad: 'Verification',
RegularSeguridad: 'Security',
Temasdecolor: 'Color Theme',
CerrarSesion: 'Log out',
DailysignIn: 'Daily sign-in',
Generalusers: 'General users',
},
signIn: {
Signinsuccess: 'Sign in successfully',
premiosvip: 'vip rewards',
Received: 'Received',
SignInReward: 'Sign-in reward rules',
VIPLevel: 'VIP Level',
Numberactivation: 'Number of activations',
SignInRewa: 'Sign-in Bonus',
Caution: 'Caution',
tip1: `1. Invited users will be counted as one activation only if they have accumulated 50 USDT or more.`,
tip2: `2. When the VIP level reaches VIP1, the VIP reward will be sent to your account automatically, and so on, please pay attention to observe.`,
tip3: `3. Enter this page, it shows that the sign-in is successful, the sign-in reward will be sent to your account funds automatically according to your VIP level rights and benefits, please pay attention to observe.`,
moreUsers: 'Invite more users to enjoy more VIP rights level rewards.',
},
footer: {
SobreMxcus: `About Us`,
Concenos: 'About',
Contactanos: 'Careers',
ComunidadMxcus: `Blog`,
Anuncios: 'Legal & privacy',
Servicios: 'Services',
DescargarApp: 'Aplications',
Compra: 'Buy Crypto',
InvitacinHistoria: 'Affilliate',
Contratos2: 'Institutional Services',
Ayuda: 'Learn',
CentroDayuda: 'What is Cryptocurency?',
CentroAlCliente: 'Crypto Basic',
TasaEscalonada: 'Tips and Tutorials',
SugerenciasYcomentarios: 'Market Update',
},
home: {
Empieza: 'Start and build your cryptocurrency portfolio here',
CryptoCappuedes: 'Only at CryptoCap can you build a good portfolio and learn About cryptocurrency best practices.',
reg: 'Sign up',
Unaforma: 'Easy and simple way to start your investment in cryptocurrencies.',
more: 'More',
Cryptocurrency: 'Cryptocurrency Categories',
tokenName: 'NAME',
lastPrice: 'LAST PRICE',
r24h: 'CHANGE',
empezar: 'How to start using',
criptomonedas: 'The easy and simple way to start your investment In Cryptocurrency',
EmpezarUtilice: 'Getting Started',
Crearuna: 'Create an account',
SuCuenta: 'Your account and personal identity are protected.',
autenticacin: 'Bind identity information to complete authentication',
deidentidad: 'Complete identity verification to ensure personal account and transaction security.',
EmpezarComercio: 'Start Trading',
Todolisto: 'Everything is ready! Buy and sell cryptocurrencies and explore Mxcus products and services.',
OpereEn: 'Trade anytime, anywhere.',
EscanearAndroid: 'Scan Code Download Android',
SiempreAtulado: 'Always by your side',
r7x24atención: '7x24 hours customer service',
sabesNada:
"Don't know anything about cryptocurrencies? Don't know how to start trading? Can't understand the market? Feel free to ask our customer service for more information!",
Comunidad: 'Community',
comunidadMxcus: `Join the ${Web_name} community to discuss cryptocurrencies together. Learn more about the real-time heat of cryptocurrencies in the group.`,
NoticiasTiempoReal: 'Real Time News',
actualizaDiariamente: `${Web_name}Mxcus is updated daily with the latest news, breaking news, and real-time hotspots about cryptocurrencies, so join Mxcus and stay one step ahead of everyone else!。`,
},
login: {
Inicie: 'Sign in',
IEmailmeroTeléfono: 'Please enter your email or cell phone number',
Contrasea: 'Please enter your password',
Contrasea2: 'Enter your Password',
Recordarla: 'Remember password',
lacontrasea: 'Forgot your password?',
login: 'Log in',
notienecuenta: "Don't you have an account yet?",
reg: 'Sign up',
email: 'Email',
phone: 'Mobile Number',
CorreoElectrnico: 'Email',
Contraseasesin: 'Password',
confirmPwd: 'Confirm Password',
Cdigoinvitac: 'Invitation Code',
createAccount: 'Create account',
tienesunacuenta: 'Already have an account?',
toLogin: 'Please sign in',
Telefono: 'Mobile Number',
IntroduceElCdigo: 'Enter verification code',
Siguiente: 'Continue',
NorecibisteElcdigo: "Didn't receive the verification code?",
Reenviar: 'Resend',
Crearpersonal: 'Create personal account',
Seleccione: 'Select',
// 忘记密码
suContras: 'Forgot password',
NingunaRetirada: 'You cannot withdraw funds from your new device for 24 hours after changing your login password',
Introduzcatel: 'Please enter your cell phone number',
Introduzcaemail: 'Please enter your email address',
forgotCode: 'Send verification code',
},
trading: {
Todo: 'Coin',
lastprice: 'Price',
Cambiar: 'Change',
Perpetuo: 'Perpetual Contracts',
r24h: '24H Change',
r24hMax: '24H High',
r24hMin: '24H Low',
r24hVolume: '24H Vol',
Market: 'Market',
Preciolimit: 'Limit',
Comprarcripto: 'Deposit',
Disponible: 'Available',
buynum: 'Amount',
sellnum: 'Amount',
Comprar: 'Buy',
Vender: 'Sell',
Comprar2: 'Buy',
Vender2: 'Sell',
buyprice: 'Price',
sellPrice: 'Price',
Ciro: 'Total',
Orderbook: 'Orderbook',
Transacciones: 'Market Trades',
num: 'Amount',
Acumulado: 'Sum',
time: 'Time',
PedidosActuales: 'Open orders',
Historiaedidos: 'Order History',
ComercioHistoria: 'Transaction History',
allTodo: 'All',
FechaPedidos: 'Order Time',
Pares: 'Pair',
histype: 'Type',
Tipo: 'Side',
Cantidad: 'Amount',
historyTotal: 'Total',
Acciones: 'Action',
RetiradaTotal: 'Full withdrawal',
Enespera: 'Waiting',
EnCurso: 'In progress',
CompletamenteVendido: 'Completely Deal',
Incompleto: 'unfinished',
curprice: 'Current Price',
market: 'Market',
limit: 'Limit',
buy: 'Buy',
sell: 'Sell',
},
// 行情页
Mercado: {
Mercado: 'Markets',
Nuevos: 'New Listing',
Ganadores: 'Top Gainer Coin',
alltodo: 'All Cryptos',
NuevaDistribucin: 'New Listing',
Pares: 'Pair',
Precio: 'Price',
maxprice: 'High',
minprice: 'Low',
r24hVolume: '24h Volume',
Cambio: 'Change',
},
// 赚币宝
earncoins: {
Ingresosfijos: 'Earn Coins',
Nohagas: "It's so easy to save and generate coins",
EarnAhorros: 'Capital Protected Investments',
activosDeposi: 'Stable income by depositing assets',
Mercados: 'Current Project',
MiCompra: 'My Purchase',
token: 'Coin',
Ingresosest: 'APY',
Duracindas: 'Term(days)',
day: 'days',
Suscribirse: 'Subscribe',
CantidadSuscripcin: 'Subscription Amount',
IngresaCantidad: 'Enter amount',
max: 'Max',
Disponible: 'Available',
SinDisponible: 'Not enough assets?',
Comprar: 'Buy',
Lmitedecantidad: 'Amount limit',
Minimo: 'Minimum',
CuotaDisponible: 'Available Quota',
Resumen: 'Summary',
Fechadesuscripcion: 'Subscription date',
Fechadevalidez: 'Value date',
buciondeinterses: 'Interest distribution date',
Tasadenivel: 'APR Tier Rate',
Rendimiento: 'Tier',
InterEsest: 'Expected total revenue',
Leiyestoy: 'I have read and agreed to the Simple Earn Service agreement',
confirm: 'Confirm',
Token: 'Coin',
Suscripcion: 'Date',
Plazo: 'Term(days)',
SuscribirseMonto: 'Amount',
PrestacionesAcumuladas: 'Accumulated earnings',
Situacion: 'Status',
Enespera: 'Waiting',
EnCurso: 'In progress',
CompletamenteVendido: 'Completed',
Incompleto: 'Incomplete',
},
// 预售
upcoming: {
PreventaIDO: 'Pre-sale IDO',
Emisiondetokens: 'Token Issuance',
ZonapedidosAnticipados: 'Pre-sale Area',
Todaspreventas: 'All pre-sales',
Mipapeleta: 'My Positions',
myPre: 'My Presale',
Ventasencurso: 'On Sale',
Findeventa: 'Over',
DisponibleMonto: 'Number of raised',
Progreso: 'schedule',
Fechaventas: 'Sales started in:',
Verdetalles: 'View Details',
IDOpreventa: 'IDO Pre-sale details',
EmisionMonto: 'Number of issues:',
EmisionPrecio: 'Issue Price:',
Fechainiciopreventa: 'Sales started in:',
endTime: 'Sales end at:',
minbuy: 'Minimum Buy:',
maxBuy: 'Maximum Buy:',
Progresopreventa: 'Pre-sale schedule:',
Consiguepreventa: 'Buy',
Detallesproyecto: 'Projects',
Token: 'Coin',
Suscripcion: 'Date',
Preventapercio: 'Pre-sale price',
VolumenCompras: 'Amount',
Porcentajevotos: 'Positions Ratio',
ValorpapeletaUSDT: 'Positions Value USDT',
Situacion: 'Status',
Enespera: 'Waiting',
EnCurso: 'In progress',
CompletamenteVendido: 'Completed',
Incompleto: 'Incomplete',
countdown: 'End Countdown',
},
// 云矿机
pool: {
pool: 'Cloud mining',
LosArrendamientos:
"Mining machine full trust leasing, mining machine's mining pool arithmetic data open, operation and maintenance all inclusive!",
PoolZonaDepedidos: 'Cloud Miner Zone',
Trabajadorescomercial: 'Miner Mall',
MiTrabajadores: 'My mining pool',
MineriaRed: 'Profitability of the whole network',
Limitado: 'Limited',
Tropical: 'Hot Sale',
Cantidadestante: 'Remaining quantity ',
unidad: ' unit',
TrabajadoresComision: 'This rental',
Costes: 'Cost',
Tasasservicio: 'Service charge',
Cuotasmantenimiento: 'Maintenance Fee',
Terraza: 'Each',
veces: 'time',
Produccionprevista: 'Expected Nissan',
Ingresos: 'Revenue',
HashrateDelPool: 'Computing power:',
MineriaPeriodicidad: 'Mining period',
Comprar: 'Buy',
CosteTota: 'Full cost',
GananciasPrevistas: 'Expected revenue',
day: 'day',
InmediatamenteProof: 'Mine now',
Cerrado: 'Mining',
Stop: 'Deadline',
Yaproducido: 'Quantity produced',
TiempoConsumido: 'Time consuming',
IngresosGlobales: 'Profitability of the whole network:',
Valoprevisto: 'Projected output value USDT',
PoolDetalles: 'Mining Machine Details',
Todoslosmineros:
"Mining machine full trust leasing, mining machine's mining pool arithmetic data open, operation and maintenance all inclusive!",
HashrateTerraza: 'Computing power/Each',
CantidadRestanteTerraza: 'Remaining quantity/Each',
Tasasservicio2: 'Service charge',
Costetotal: 'Full cost',
Gananciasprevistas: 'Expected revenue',
Parametrosimportantes: 'Important parameters',
Otrosparametros: 'Other parameters',
},
// 买币
buy: {
Recarga: 'Crypto Deposit',
Elegisitotoken: 'Deposit',
confirmRed: 'Choose Network',
minRecharge: 'Minimum deposit',
Llegadaprevista: 'Expected arrival',
Desbloqueopervisto: 'Expected unlock',
r32confirmacion: '32 network confirmation',
r64confirmacion: '64 network confirmation',
Direcciondedeposito: 'Deposit Address',
buyNum: 'Amount',
minBuynum: 'Minimum 1USDT',
confirm: 'Confirm',
SolodUSDT: 'Only USDT assets can be funded at this address',
Reconfirmarla: 'Please confirm again that the main network you have selected is',
DepositoAunnohallegado: 'Deposit is not yet available?',
Siseencuentra:
'If you encounter the following problems during the top-up process, you can check the current top-up status or apply for the recovery of your assets through the "Manual Customer Service" function.',
DepositoAnnoha:
'Please click on the check button if you have not received your money for a long time after recharging. ',
Depositoolvido: 'Forgotten or incorrectly filled in when recharging Tag/Memo',
dedivisas: `Funded coins that are not live on ${Web_name}`,
Consultasayuda: 'Customer Service',
PruebasLlegada: 'Detect Arrival',
HistorialCreintegros: 'Recent Coin Charging and Withdrawal Records',
FechaPedidos: 'Time',
token: 'Coin',
DepositoCantidad: 'Recharge quantity',
Llegadareal: 'Amount',
Tipo: 'Type',
status: 'Status',
Depositar: 'Recharge',
Retirar: 'withdrawing coins',
Processing: 'Waiting',
exito: 'Success',
Fallo: 'Failed',
Pruebas: 'Detection',
EsperaRecargaLlegada: 'Waiting for the recharge to arrive',
deteccionencurso: 'Please do not close this page, it is in the process of arrival detection...',
Completed: 'Arrived',
Horas: 'Hours',
Puntuacion: 'Minutes',
Segundos: 'Seconds',
},
// 提币
sell: {
Screenshots: 'Address Screenshot',
TokenRetirar: 'Digital Currency Withdrawal',
VolverRetirarToken: 'Withdraw',
ComisiondelaRed: 'Network fee',
Cantidadarecibir: 'Receive amount',
Paraprotege:
'In order to protect the safety of funds, when your account security policy changes, password changes, we will conduct a manual review of coin withdrawals, please wait patiently for the staff to contact by phone or email.',
min: 'The minimum number of coins to be withdrawn is',
Red: 'Network',
address: 'Address',
Monto: 'Amount',
max: 'Max',
Retirar: 'Withdraw',
Depositoaun: 'Withdrawal of funds not arrived?',
SiSeEncuentra:
'If you encounter any of the following problems during the withdrawal process, you can check the current withdrawal status or apply to retrieve your assets through the "Manual Customer Service" function.',
LasRetiradas: 'Withdrawal of funds after a long time not arrived',
Olvidoocum: 'Forgotten or incorrectly filled in when withdrawing cash Tag/Memo',
ServiciosHumanos: 'Customer Service',
RetiradasConfirmadas: 'Confirm',
ningunaCo: 'And no security password set?',
Poravoajuste: 'Please set',
},
// 资产总览
assets: {
PosesionToken: 'Holding coins',
Depositar: 'Deposit',
Retirar: 'Withdraw',
Regular: 'User',
Valortotal: 'Total Value',
Disponibletotal: 'Available',
Token: 'Coin',
BalancesCantidad: 'Number of assets',
Cambiara: 'Converted(USDT)',
Acciones: 'Action',
Freeze: 'Freeze',
AssetsHeld: 'Assets Held',
LatestAnnouncements: 'Latest Announcements',
},
// 邀请
invitation: {
ganeToken: 'Referral, Earn Coins.',
Comisionesde: `Earn up to 60% commission on all transactions in ${Web_name} spot, contracts and mining pools.`,
ComisionRe: 'Handling fee rebate',
l3: 'First level rebate percentage',
l4: 'Secondary rebate percentage',
l5: 'Three levels of rebate ratio',
CodigoDereferidos: 'Referral Code',
EnlaceDeReferidos: 'Refer via',
TodoEltiempo: 'All Time',
Ayer: 'Yesterday',
EstaSemana: 'This week',
Estemes: 'This month',
Ingresos: 'Your Benefits',
AccionesAmigos: 'Trading Friends',
Numerodeamigos: 'Number of friends',
PremioAlMejorInvitacion: 'Top Referrer Bonus',
Reembolsounico: 'Single Cashback',
DevolucionAcumulada: 'Cumulative Cashback',
InvitacionCashback: 'Invitation Cashback',
RebajasComerciales: 'Trading Rebates',
mantenimientode:
"The data statistics time is based on UTC+0 time, and the data maintenance time is around 3-5pm (UTC+0) every day, during which the return value is calculated based on the previous day's assets. After the maintenance is over, the normal daily return can be displayed",
Debidoala:
'Special Note: Due to the complexity of the relevant business data, there may be calculation errors and calculation delays, the above data is for reference only, please understand the inconvenience caused to you.',
AgentesDirectos: 'Agent',
Comision: 'Commission(USDT)',
Fecha: 'Date',
LasComisiones:
'The cashback amount will be credited to your wallet balance within 72 hours. If you have not received the rebate within 72 hours, please contact our online customer service.',
currentRebate: 'Your current rebate amount is',
collectIt: 'Are you sure to transfer to the balance',
submitComplete: 'submit complete',
ExpectedCompletion: 'Expected completion of audit within 2-3 working days',
onlyApply: 'You can only apply on the first day of each month',
},
// 身份认证
auth: {
Uploading: 'Uploading',
UnderReview: 'Under Review',
auth: 'ID Verification',
Paraproteger:
'Completing ID verification brings greater account security, fewer limits on withdrawals, and more trading permissions.',
AutenticacionPersonal: 'Personal Verification',
emailauth: 'Email Address Authentication:',
phoneAuth: 'Phone:',
Identificacion: 'Government-issued ID cards:',
LlaveDeSeguridad: 'Biometrics:',
NoCertificado: 'Uncertified',
Acreditado: 'Certified',
SinAtaduras1: 'Unbound Mobile',
Correonico: 'Unbound email',
Privilegios: 'Privileges after verification',
VerificarAhora: 'Verify Now',
TodosLosday: ' Daily',
MonedaDepositar: 'Cash Deposit&Withdraw Limit',
Sinlimites: 'Unlimited',
TokenDepositar: 'Coin Deposit',
TokenRetirar: 'Coin Withdraw Limit',
Aumentarimporte: 'Increase the limit',
C2C: 'C2C Trading Limit',
other: 'Other Functions',
VerificacidadKYC: 'ID Verification KYC',
Nombrereal: 'Real Name',
Introduzcanombre: 'Enter name',
Telefono: 'Mobile Phone Number',
Seleccione: 'Seleccione',
Introduzcasu: 'Enter phone number',
NumeroDeID: 'ID',
Introduzcanumerodeid: 'Input ID card number',
Tomarunafoto: 'Self-portrait with ID in hand*',
IDentidadAnverso: 'Front side of the ID card',
IDentidadReverso: 'Back side of the ID card',
Confirmacion: 'OK',
},
// 账户安全
account: {
account: 'Security',
Cambiesu: 'Change your password regularly to help your account security.',
Autenticacifactores: 'Two-Factor Authentication',
NivelDeseguridad: 'Security Level',
Baja: 'Low',
Medio: 'Medium',
Alta: 'High',
Recomendamoseluso: 'We highly recommend using two-factor authentication',
Email: 'Email',
Usadopara: 'For login, withdrawals, password retrieval, change of security settings and API management.',
mobile: 'Phone',
Verificantidad: 'ID Verification',
ParaAumentarlos: 'For raising withdrawal limits, transaction limits, currency top-ups and other restrictions.',
NoAjustes: 'Not set',
AhoraAjustes: 'Settings',
Vincular: 'Link',
Encuadernacion: 'Bound',
Acreditado: 'Certified',
Gestiasa: 'Security Password Management',
Contraseacceder: 'Login Password',
ParaAsegura: 'To ensure account security',
Modificar: 'Change',
Contraseondos: 'Trading Password',
Paraprotec: 'For asset protection and security',
Ajustes: 'Settings',
Cambiarcontrasea: 'Set Trading Password',
Contraseoriginal: 'Trading Password',
Introduzcalam: 'Please enter your fund password',
Confirmaos: 'Confirm Trading Password',
Vuelvaintroducir: 'Please enter your funds password again',
clear: 'Cancel',
ok: 'Confirm',
CambiarContrasea: 'Reset Login Password',
Contraseriginal: 'Old Login Password',
Contrasenueva: 'New Login Password',
ConfirmarLanueva: 'Confirm the new password',
EnlazarMvil: 'Link Phone',
NumerodeMvil: 'Phone Number',
Seleccione: 'Seleccione',
CodigorSMS: 'SMS Verification Code',
Obtenerdeverificacion: 'Get Verification Code',
CorreosElecinculados: 'Link Email',
Poremail: 'Email',
Introduzcaelco: 'Get Verification Code',
VerificationCode: 'Verification Code',
sendEmailCode: 'Verification code has been sent, please check your email',
sendPhoneCode: 'The verification code has been sent, please check the SMS you received',
},
award: {
record: 'Record',
Collectiontime: 'Collection time',
type: 'Type',
Rewards: 'Rewards',
AwardRecord: 'Award Record',
Rules: 'Rules',
Upgrade: 'Upgrade',
Signin: 'Sign in',
},
};
export default en;
import { getSiteTitle } from '@/config/site';
const Web_name = getSiteTitle();
// 西班牙语
const es = {
// 消息提示
message: {
imageRequired: 'Cargue una captura de pantalla de la dirección de retirada',
maintenance: 'Durante el mantenimiento del sistema, la recarga se suspende',
Team: 'El equipo',
empty: 'No hay datos disponibles',
error: 'Error de solicitud',
loginInfo: 'Los datos de acceso han caducado',
logoutSuccess: 'Salida correcta',
buySuccess: 'Compra con éxito',
minbuyNum: 'La cantidad mínima de compra es',
inputnum: 'Introduzca el número de compras',
upcomingprojectEnd: 'Los artículos en preventa están cerrados',
PostingSuccess: 'Liberación con éxito',
enterpriceandquantity: 'Introduzca primero el precio de venta y la cantidad',
deseaVender: 'Introduzca la cantidad que desea vender',
deVenta: 'Introduzca un precio de venta',
IntroduzcaPrimero: 'Introduzca primero el precio de compra y la cantidad',
deCompras: 'Introduzca el número de compras',
unPrecio: 'Introduzca un precio de compra',
VenderConExito: 'Vender con éxito',
IntroduzcaUnPrecio: 'Introduzca un precio',
Todoslos: 'Todos los pedidos han sido cancelados',
RetiradoCon: 'Retirado con éxito',
Retiradamin: 'Retirada mínima de 1U',
deRetirada: 'Introduzca la dirección de retirada',
laRetirada: 'Introduzca el importe de la retirada',
hanPresentado: 'Se han presentado solicitudes de retirada',
RegistroEfectuado: 'Registro efectuado con éxito',
Seleccioneel: 'Seleccione el prefijo de su móvil',
EnviadoCon: 'Enviado con éxito',
loginSuccess: 'Inicio de sesión correcto',
SehaEnviado: 'Se ha enviado el código de verificación',
ReinicioCorrecto: 'Reinicio correcto',
ComprMinima: 'Compra mínima de',
Introduzcaimporte: 'Introduzca el importe de la entrada',
Nopuede: 'No puede superar el número de unidades restantes',
Llegada: 'Llegada',
haLlegado: 'Aún no ha llegado',
RecargaCon: 'Recarga con éxito',
ElPedido: 'El pedido ha sido enviado, por favor recárguelo lo antes posible',
IntroduzcaEl: 'Introduzca el importe de la recarga',
EnviadoCon2: 'Enviado con éxito',
Erroralfile: 'Error al cargar el archivo',
ModificadoCon: 'Modificado con éxito',
EncuadernacionCorrecta: 'Encuadernación correcta',
copySuccess: 'Éxito reproductivo',
copyerror: 'Fallo de copia',
ConfiguraciCorrecta: 'Configuración correcta',
notVip: 'Aún no eres usuario vip',
},
// 输入框校验
input: {
addresshere: 'Rellene aquí la dirección de retirada de monedas',
MinimumWithdrawa: 'Retirada mínima de 10U',
CannotBeEmpty: 'No puede estar vacío',
Emptyphone: 'El número de teléfono móvil no puede estar vacío',
phoneError: 'Número de teléfono móvil incorrecto',
emptyEmail: 'El buzón no puede estar vacío',
emailError: 'Error de buzón',
EmptyAccount: 'El número de cuenta no puede estar vacío',
EmptyPassword: 'La contraseña no puede estar vacía',
passwordMin: 'Se requiere un mínimo de 6 personas',
invitation: 'Se requiere código de invitación',
DosEntradas: 'Dos entradas de contraseña incoherentes',
inputName: 'Introduzca su nombre',
IDError: 'Identificación incorrecta',
Captchaligatorio: 'Captcha obligatorio',
SeRequiere: 'Código de financiación requerido',
},
header: {
home: 'Inicio',
Descubre: 'Descubre',
spot: 'spot',
Pool: 'Pool',
PreventaIDO: 'Preventa IDO',
Ingresosfijos: 'Ingresos fijos',
login: 'Inicie sesión',
reg: 'Registrarse',
Regular: 'Regular',
Verified: 'Verified',
NoCertificado: 'No certificado',
MisActivos: 'Mis activos',
InvitacionCashback: 'Invitación Cashback',
Verificaciondeidentidad: 'Verificación de identidad',
RegularSeguridad: 'Regular& Seguridad',
Temasdecolor: 'Temas de color',
CerrarSesion: 'Cerrar sesión',
DailysignIn: 'Registro diario',
Generalusers: 'Usuarios en general',
},
signIn: {
Signinsuccess: 'Iniciar sesión correctamente',
premiosvip: 'premios vip',
Received: 'Recopilado',
SignInReward: 'Reglas de registro',
VIPLevel: 'Nivel VIP',
Numberactivation: 'Número de activaciones',
SignInRewa: 'Bonificación por inscripción',
Caution: 'Precauciones',
tip1: `1. Los usuarios invitados con una recarga acumulada de 50 USDT o más se contarán como una activación.`,
tip2: `2. Cuando el nivel VIP llegue a VIP1, las recompensas VIP se enviarán automáticamente a tu cuenta, y así sucesivamente, así que no lo pierdas de vista.`,
tip3: `3. Entra en esta página, se mostrará que te has registrado con éxito, el bono de registro se enviará a los fondos de tu cuenta automáticamente de acuerdo a tu nivel VIP, por favor mantente atento.`,
moreUsers: 'Invite a más usuarios a disfrutar de más recompensas de nivel de beneficios VIP.',
},
footer: {
SobreMxcus: `Sobre ${Web_name}`,
Concenos: 'Conócenos',
Contactanos: 'Contactanos',
ComunidadMxcus: `Comunidad de ${Web_name}`,
Anuncios: 'Anuncios',
Servicios: 'Servicios',
DescargarApp: 'Descargar App',
Compra: 'Compra/Venta rápida',
InvitacinHistoria: 'Invitación Historia',
Contratos2: 'Contratos',
Ayuda: 'Ayuda',
CentroDayuda: 'Centro de ayuda',
CentroAlCliente: 'Centro de atención al cliente',
TasaEscalonada: 'Tasa escalonada',
SugerenciasYcomentarios: 'Sugerencias y comentarios',
},
home: {
Empieza: 'Empieza a construir tu cartera de criptomonedas aquí',
CryptoCappuedes:
'Sólo en CryptoCap puedes construir una buena cartera y aprender sobre las mejores prácticas de criptomoneda.',
reg: 'Registrarse',
Unaforma: 'Una forma fácil y sencilla de empezar a invertir en criptomonedas en más lugares.',
more: 'Ver más',
Cryptocurrency: 'Cryptocurrency Categories',
tokenName: 'Moneda',
lastPrice: 'Último precio',
r24h: 'Cambio de 24 horas',
empezar: 'Cómo empezar',
criptomonedas: 'La forma más fácil y sencilla de empezar a invertir En criptomonedas',
EmpezarUtilice: 'Empezar Utilice',
Crearuna: 'Crear una cuenta',
SuCuenta: 'Su cuenta y su identidad personal están protegidas',
autenticacin: 'Vincular la información de identidad para completar la autenticación',
deidentidad: 'Verificación de identidad para garantizar la seguridad de sus cuentas y transacciones personales.',
EmpezarComercio: 'Empezar Comercio',
Todolisto: `¡Todo listo! Compra y vende criptomonedas y explora los productos y servicios de ${Web_name}.`,
OpereEn: 'Opere en cualquier momento y lugar',
EscanearAndroid: 'Escanear código para descargar Android',
SiempreAtulado: 'Siempre a tu lado',
r7x24atención: '7x24 atención al cliente por horas',
sabesNada:
'¿No sabes nada de criptomonedas? ¿No sabe cómo empezar a operar? ¿No entiende el mercado? No dude en preguntar al servicio de atención al cliente.',
Comunidad: 'Comunidad',
comunidadMxcus: `Únase a la comunidad ${Web_name} para debatir juntos sobre criptomonedas. Obtenga más información en tiempo real sobre las criptomonedas en el grupo.`,
NoticiasTiempoReal: 'Noticias en tiempo real',
actualizaDiariamente: `${Web_name} se actualiza diariamente con las últimas noticias, noticias de última hora y actualizaciones en directo sobre criptodivisas, únete a ${Web_name} para estar un paso por delante de los demás.`,
},
login: {
Inicie: 'Inicie sesión',
IEmailmeroTeléfono: 'IEmail/número de teléfono',
Contrasea: 'Contraseña',
Contrasea2: 'Contraseña',
Recordarla: 'Recordar la contraseña',
lacontrasea: '¿Olvidaste la contraseña?',
login: 'Iniciar sesión',
notienecuenta: 'Aún no tiene cuenta?',
reg: 'Regístrese',
email: 'Correo electrónico',
phone: 'Teléfono',
CorreoElectrnico: 'Correo electrónico',
Contraseasesin: 'Contraseña de inicio de sesión',
confirmPwd: 'Confirmar contraseña',
Cdigoinvitac: 'Código de invitación',
Helos: 'He leído y acepto los',
createAccount: 'Crear cuenta personal',
tienesunacuenta: '¿Ya tienes una cuenta?',
toLogin: 'Iniciar sesión',
Telefono: 'Teléfono',
IntroduceElCdigo: 'Introduce el código',
Siguiente: 'Siguiente',
NorecibisteElcdigo: '¿No recibiste el código?',
Reenviar: 'Reenviar el código',
Crearpersonal: 'Crear una cuenta personal',
Seleccione: 'Seleccione',
// 忘记密码
suContras: '¿Ha olvidado su contraseña?',
NingunaRetirada:
'Ninguna retirada en el nuevo dispositivo en las 24 horas siguientes al cambio de contraseña de acceso',
Introduzcatel: 'Introduzca su número de teléfono móvil',
Introduzcaemail: 'Introduzca su dirección de correo electrónico',
forgotCode: 'Obtener un código de verificación',
},
trading: {
Todo: 'Todo',
lastprice: 'Precio',
Cambiar: 'Cambiar',
Perpetuo: 'Perpetuo',
r24h: '24Hcambio',
r24hMax: '24HMáximo',
r24hMin: '24HMínimo',
r24hVolume: '24Hvolumen',
Market: 'Market',
Preciolimit: 'Precio limit',
Comprarcripto: 'Comprar cripto',
Disponible: 'Disponible',
buynum: 'Total',
sellnum: 'Cantidad',
Comprar: 'Comprar',
Vender: 'Vender',
Comprar2: 'Comprar',
Vender2: 'Vender',
buyprice: 'Price',
sellPrice: 'Precio',
Ciro: 'Total',
Orderbook: 'Orderbook',
Transacciones: 'Transacciones',
num: 'Monto',
Acumulado: 'Total',
time: 'Fecha',
PedidosActuales: 'Pedidos actuales',
Historiaedidos: 'Historia de pedidos',
ComercioHistoria: 'Comercio Historia',
allTodo: 'Todo',
FechaPedidos: 'Fecha Pedidos',
Pares: 'Pares',
histype: 'Método',
Tipo: 'Tipo',
Cantidad: 'Cantidad',
historyTotal: 'Total',
Acciones: 'Acciones',
RetiradaTotal: 'Retirada total',
Enespera: 'En espera',
EnCurso: 'En curso',
CompletamenteVendido: 'Completamente vendido',
Incompleto: 'Incompleto',
curprice: 'precio actual',
market: 'Market',
limit: 'Precio limit',
buy: 'Comprar',
sell: 'Vender',
},
// 行情页
Mercado: {
Mercado: 'Mercado',
Nuevos: 'Nuevos',
Ganadores: 'Ganadores',
alltodo: 'Todo',
NuevaDistribucin: 'Nueva Distribución',
Pares: 'Pares',
Precio: 'Precio',
maxprice: 'Alto',
minprice: 'Bajo',
r24hVolume: '24H Turnover',
Cambio: 'Cambio',
},
// 赚币宝
earncoins: {
Ingresosfijos: 'Ingresos fijos',
Nohagas: 'No hagas simplemente HODL. Gana con Earn.',
EarnAhorros: 'Earn Ahorros',
activosDeposi: 'Ingresos estables procedentes de activos depositados',
Mercados: 'Mercados',
MiCompra: 'Mi compra',
token: 'Moneda',
Ingresosest: 'Ingresos est.',
Duracindas: 'Duración(días)',
day: 'días',
Suscribirse: 'Suscribirse',
CantidadSuscripcin: 'Cantidad de suscripción',
IngresaCantidad: 'Ingresa la cantidad',
max: 'Máx',
Disponible: 'Disponible',
SinDisponible: 'Sin restante disponible?',
Comprar: 'Comprar',
Lmitedecantidad: 'Límite de cantidad',
Minimo: 'Mínimo',
CuotaDisponible: 'Cuota disponible',
Resumen: 'Resumen',
Fechadesuscripcion: 'Fecha de suscripción',
Fechadevalidez: 'Fecha de validez',
buciondeinterses: 'Fecha de distribución de intersés',
Tasadenivel: 'Tasa de nivel ?',
Rendimiento: 'Rendimiento',
InterEsest: 'Interés est.',
Leiyestoy: 'Lei y estoy de acuerdo con el Acuerdo de servicio de Simple Earn',
confirm: 'Confirmar',
Token: 'Token',
Suscripcion: 'Suscripción',
Plazo: 'Plazo(días)',
SuscribirseMonto: 'Suscribirse Monto',
PrestacionesAcumuladas: 'Prestaciones acumuladas',
Situacion: 'Situación',
Enespera: 'En espera',
EnCurso: 'En curso',
CompletamenteVendido: 'Completado',
Incompleto: 'Incompleto',
},
// 预售
upcoming: {
PreventaIDO: 'Preventa IDO',
Emisiondetokens: 'Emisión de tokens',
ZonapedidosAnticipados: 'Zona de pedidos anticipados',
Todaspreventas: 'Todas las preventas',
Mipapeleta: 'Mi papeleta',
myPre: 'Mi preventa',
Ventasencurso: 'Ventas en curso',
Findeventa: 'Fin de venta',
DisponibleMonto: 'Disponible Suscribirse Monto',
Progreso: 'Progreso',
Fechaventas: 'Fecha de inicio de las ventas:',
Verdetalles: 'Ver detalles',
IDOpreventa: 'IDO Detalles de la preventa',
EmisionMonto: 'Emisión Monto:',
EmisionPrecio: 'Emisión Precio:',
Fechainiciopreventa: 'Fecha inicio preventa:',
endTime: 'Hora finalización preventa:',
minbuy: 'Compra mínima:',
maxBuy: 'Compra máxima:',
Progresopreventa: 'Progreso preventa:',
Consiguepreventa: 'Consigue preventa',
Detallesproyecto: 'Detalles proyecto',
Token: 'Token',
Suscripcion: 'Suscripción',
Preventapercio: 'Preventa percio',
VolumenCompras: 'Volumen compras',
Porcentajevotos: 'Porcentaje votos',
ValorpapeletaUSDT: 'Valor papeleta USDT',
Situacion: 'Situación',
Enespera: 'En espera',
EnCurso: 'En curso',
CompletamenteVendido: 'Completado',
Incompleto: 'Incompleto',
countdown: 'Cuenta atrás',
},
// 云矿机
pool: {
pool: 'Pool',
LosArrendamientos: `
Los arrendamientos de las máquinas mineras están totalmente alojados,
los datos aritméticos del pool minero están a disposición del público,
¡y la operación y el mantenimiento son todo incluido!`,
PoolZonaDepedidos: 'Pool Zona de pedidos ',
Trabajadorescomercial: 'Trabajadores Centro comercial',
MiTrabajadores: 'Mi Trabajadores',
MineriaRed: 'Minería en la nube Red',
Limitado: 'Limitado',
Tropical: 'Tropical',
Cantidadestante: 'Cantidad restante ',
unidad: ' unidad',
TrabajadoresComision: 'Trabajadores Comision',
Costes: 'Costes',
Tasasservicio: 'Tasas servicio',
Cuotasmantenimiento: 'Cuotas mantenimiento',
Terraza: 'Terraza',
veces: 'veces',
Produccionprevista: 'Producción diaria prevista',
Ingresos: 'Ingresos',
HashrateDelPool: 'Hashrate del pool:',
MineriaPeriodicidad: 'Minería Periodicidad',
Comprar: 'Comprar',
CosteTota: 'Coste tota',
GananciasPrevistas: 'Ganancias previstas',
day: 'Días',
InmediatamenteProof: 'Inmediatamente Proof',
Cerrado: 'Cerrado',
Stop: 'Stop',
Yaproducido: 'Ya producido',
TiempoConsumido: 'Tiempo consumido',
IngresosGlobales: 'Ingresos globales',
Valoprevisto: 'Valor de producción previs to USDT',
PoolDetalles: 'Pool Detalles',
Todoslosmineros:
'Todos los mineros están alojados y alquilados, los datos aritméticos del pool minero son públicos y el funcionamiento y mantenimiento ¡lo incluye todo!',
HashrateTerraza: 'Hashrate del pool/Terraza',
CantidadRestanteTerraza: 'Cantidad restante/Terraza',
Tasasservicio2: 'Tasas servicio',
Costetotal: 'Coste total',
Gananciasprevistas: 'Ganancias previstas',
Parametrosimportantes: 'Parámetros importantes',
Otrosparametros: 'Otros parámetros',
},
// 买币
buy: {
Recarga: 'Recarga con moneda digital',
Elegisitotoken: 'Elegir depósito token',
confirmRed: 'Red',
minRecharge: 'depósito mínimo',
Llegadaprevista: 'Llegada prevista',
Desbloqueopervisto: 'Desbloqueo pervisto',
r32confirmacion: '32confirmación de red',
r64confirmacion: '64confirmación de red',
Direcciondedeposito: 'Dirección de depósito',
buyNum: 'Depósito Número',
minBuynum: 'Depósito mínimo 1USDT',
confirm: 'Confirmar Depósito',
SolodUSDT: 'Sólo direcciones de depósito USDT ',
Reconfirmarla: 'Reconfirmar la red maestra seleccionada',
DepositoAunnohallegado: 'Deposito aún no ha llegado?',
Siseencuentra:
'Si se encuentra con alguno de los siguientes problemas durante el proceso de recarga, puede comprobar el estado actual de su recarga o solicitar la recuperación de sus activos a través de la función "Servicios Humanos"。',
DepositoAnnoha: 'Deposito aún no ha llegado,Haga clic en el botón de prueba',
Depositoolvido: 'Deposito olvido o cumplimentación incorrecta Tag/Memo',
dedivisas: `Los depósitos de divisas aún no están activos en ${Web_name}`,
Consultasayuda: 'Consultas ayuda',
PruebasLlegada: 'Pruebas Llegada',
HistorialCreintegros: 'Historial cobros y reintegros',
FechaPedidos: 'Fecha Pedidos',
token: 'Token',
DepositoCantidad: 'Depósito Cantidad',
Llegadareal: 'Importe',
Tipo: 'Tipo',
status: 'Situación',
Depositar: 'Depósitar',
Retirar: 'Retirar',
Processing: 'Processing',
exito: 'Éxito',
Fallo: 'Fallo',
Pruebas: 'Pruebas',
EsperaRecargaLlegada: 'Espera Recarga Llegada',
deteccionencurso: 'detección de pagos en curso.....',
Completed: 'Completed',
Horas: 'Horas',
Puntuacion: 'Puntuación',
Segundos: 'Segundos',
},
// 提币
sell: {
Screenshots: 'Captura de pantalla de la dirección',
TokenRetirar: 'Token Retirar',
VolverRetirarToken: 'Volver retirar Token',
ComisiondelaRed: 'Comisión de la Red',
Cantidadarecibir: 'Cantidad a recibir',
Paraprotege:
'Para proteger la seguridad de sus fondos, revisaremos manualmente la retirada de monedas cuando cambie la seguridad de su cuenta, por favor espere pacientemente。',
min: 'Minimo',
Red: 'Red',
address: 'Dirección',
Monto: 'Monto',
max: 'Máx',
Retirar: 'Retirar',
Depositoaun: 'Deposito aún no ha llegado?',
SiSeEncuentra:
'Si se encuentra con alguno de los siguientes problemas durante el proceso de retirada, puede comprobar el estado actual de su retirada o solicitar la recuperación de sus activos a través de la función "Servicios Humanos"。',
LasRetiradas: 'Las retiradas tardan en llegar',
Olvidoocum: 'Olvido o cumplimentación incorrecta al retirar fondos Tag/Memo',
ServiciosHumanos: 'Servicios Humanos',
RetiradasConfirmadas: 'Retiradas confirmadas',
ningunaCo: '¿Y no se ha establecido ninguna contraseña de seguridad?',
Poravoajuste: 'Por favor, ajuste',
},
// 资产总览
assets: {
PosesionToken: 'Posesión Token',
Depositar: 'Depositar',
Retirar: 'Retirar',
Regular: 'Regular',
Valortotal: 'Valor total',
Disponibletotal: 'Disponible total',
Token: 'Token',
BalancesCantidad: 'Balances cantidad',
Cambiara: 'Cambiar a(USDT)',
Acciones: 'Acciones',
Freeze: 'Congelación',
AssetsHeld: 'Activos',
LatestAnnouncements: 'Últimos anuncios',
},
// 邀请
invitation: {
ganeToken: 'Referencia, gane token.',
Comisionesde: 'Comisiones de hasta el 60% en todas las transacciones。',
ComisionRe: 'Comisión Rebajas Proporción',
l3: 'Nivel 1 rebajas proporcion',
l4: 'Nivel 2 rebajas proporcion',
l5: 'Nivel 3 rebajas proporcion',
CodigoDereferidos: 'Código de referidos',
EnlaceDeReferidos: 'Enlace de referidos',
TodoEltiempo: 'Todo el tiempo',
Ayer: 'Ayer',
EstaSemana: 'Esta semana',
Estemes: 'Este mes',
Ingresos: 'Ingresos',
AccionesAmigos: 'Acciones Amigos',
Numerodeamigos: 'Número de amigos',
PremioAlMejorInvitacion: 'Premio al mejor Invitación',
Reembolsounico: 'Reembolso único',
DevolucionAcumulada: 'Devolución acumulada',
InvitacionCashback: 'Invitación Cashback',
RebajasComerciales: 'Rebajas comerciales',
mantenimientode:
'l mantenimiento de los datos tiene lugar diariamente entre las 15.00 y las 17.00 horas (UTC+0) y los rendimientos se calculan sobre la base de los activos del día anterior. Los rendimientos diarios normales se mostrarán al final del día。',
Debidoala:
'Nota especial: Debido a la complejidad de los datos comerciales pertinentes, puede haber errores de cálculo y retrasos de cálculo, los datos anteriores son sólo de referencia, por favor, comprenda los inconvenientes causados a usted.。',
AgentesDirectos: 'Agentes directos',
Comision: 'Comisión(USDT)',
Fecha: 'Fecha',
LasComisiones:
'Las comisiones se abonarán en el saldo de su monedero en un plazo de 72 horas. Si no recibe su comisión en un plazo de 72 horas, póngase en contacto con nuestro servicio de atención al cliente en línea.',
currentRebate: 'La cantidad de reembolso que puede recibir actualmente es',
collectIt: '¿ se confirma la transferencia al saldo',
submitComplete: 'enviar completo',
ExpectedCompletion: 'Se espera que la auditoría se complete en 2 - 3 días hábiles.',
onlyApply: 'Aplica solo el día 1 de cada mes',
},
// 身份认证
auth: {
Uploading: 'Carga en curso',
UnderReview: 'En revisión',
auth: 'Autenticación',
Paraproteger:
'Para proteger su cuenta y aumentar sus límites de retirada y privilegios de negociación, se recomienda activar la autenticación.',
AutenticacionPersonal: 'Autenticación personal',
emailauth: 'Autenticación por correo electrónico:',
phoneAuth: 'Teléfono:',
Identificacion: 'Identificación emitida por el gobierno:',
LlaveDeSeguridad: 'Autenticación biométrica y Llave de seguridad:',
NoCertificado: 'No certificado',
Acreditado: 'Acreditado',
SinAtaduras1: 'Sin ataduras al móvil',
Correonico: 'Correo electrónico',
Privilegios: 'Privilegios después de la verificación',
VerificarAhora: 'Verificar ahora',
TodosLosday: 'Todos los días',
MonedaDepositar: 'Moneda depositar&Retirar limites',
Sinlimites: 'Sin límites',
TokenDepositar: 'Token depositar',
TokenRetirar: 'Token retirar límites',
Aumentarimporte: 'Aumentar el importe',
C2C: 'C2C Límites comerciales',
other: 'Otras funciones',
VerificacidadKYC: 'Verificación de identidad KYC',
Nombrereal: 'Nombre real',
Introduzcanombre: 'Introduzca su nombre',
Telefono: 'Teléfono',
Seleccione: 'Seleccione',
Introduzcasu: 'Introduzca su número de móvil',
NumeroDeID: 'Número de ID',
Introduzcanumerodeid: 'Introduzca el número de identificación',
Tomarunafoto: 'Tomar una foto con el DNI en la mano*',
IDentidadAnverso: 'IDentidad Anverso',
IDentidadReverso: 'IDentidad Reverso',
Confirmacion: 'Confirmación',
},
// 账户安全
account: {
account: 'Regular& Seguridad',
Cambiesu: 'Cambie su contraseña con regularidad para garantizar la seguridad de su cuenta.',
Autenticacifactores: 'Autenticación de dos factores',
NivelDeseguridad: 'Nivel de seguridad',
Baja: 'Baja',
Medio: 'Medio',
Alta: 'Alta',
Recomendamoseluso: 'Recomendamos el uso de la autenticación de dos factores.',
Email: 'Email',
Usadopara:
'Usado para iniciar sesión, retirar o recuperar la contraseña, cambiar la configuración de seguridad y verificar gestionando la API.',
mobile: 'Móvil',
Verificantidad: 'Verificación de identidad',
ParaAumentarlos:
'Para aumentar los límites de retirada, los límites de transacción, las recargas de divisas y otras restricciones.',
NoAjustes: 'No Ajustes',
AhoraAjustes: 'Ahora ajustes',
Vincular: 'Vincular',
Encuadernacion: 'Encuadernación',
Acreditado: 'Acreditado',
Gestiasa: 'Gestión de contraseña',
Contraseacceder: 'Contraseña para acceder',
ParaAsegura: 'Para asegurar la seguridad de su cuenta',
Modificar: 'Modificar',
Contraseondos: 'Contraseña de fondos',
Paraprotec: 'Para la protección y seguridad de la propiedad',
Ajustes: 'Ajustes',
Cambiarcontrasea: 'Establecer la contraseña de fondos',
Contraseoriginal: 'Contraseña de fondos',
Introduzcalam: 'Introduzca la máscara de financiación',
Confirmaos: 'Confirmar contraseña de activos',
Vuelvaintroducir: 'Vuelva a introducir su código de fondos',
clear: 'Cancelar',
ok: 'OK',
CambiarContrasea: 'Cambiar contraseña',
Contraseriginal: 'Contraseña original',
Contrasenueva: 'Contraseña nueva',
ConfirmarLanueva: 'Confirmar la contraseña nueva',
EnlazarMvil: 'Enlazar Móvil',
NumerodeMvil: 'Número de Móvil',
Seleccione: 'Seleccione',
CodigorSMS: 'Código de verificación por SMS',
Obtenerdeverificacion: 'Obtener un código de verificación',
CorreosElecinculados: 'Correos electrónicos vinculados',
Poremail: 'Por favor coloque su email',
Introduzcaelco: 'Introduzca el código de verificación',
VerificationCode: 'Código de verificación',
sendEmailCode: 'Se ha enviado el código de verificación, compruebe su correo electrónico',
sendPhoneCode: 'El código de verificación ha sido enviado, por favor compruebe el SMS que ha recibido',
},
award: {
record: 'Registros',
Collectiontime: 'Tiempo de recogida',
type: 'Tipo',
Rewards: 'Premios',
AwardRecord: 'Registros de premios',
Rules: 'Reglas',
Upgrade: 'Actualizar',
Signin: 'Iniciar sesión',
},
};
export default es;
import cn from './cn';
import en from './en';
import es from './es';
import ar from './ar';
import { initLanguage } from './options';
import { createI18n } from 'vue-i18n';
const i18n = createI18n({
legacy: false,
locale: initLanguage(),
messages: {
cn,
en,
es,
ar,
},
});
export default i18n;
import store from '../store';
import { SiteConfig, Web_name } from '../constants/token';
// 获取当前语言
export const getCurrentLanguage = () => {
return store.getters['language/getLang'];
};
// header语言可选的语言列表
export const LanguageList = [
{
label: '中文简体',
value: 'cn',
},
{
label: 'English',
value: 'en',
},
{
label: 'Español',
value: 'es',
},
{
label: 'العربية',
value: 'ar',
},
];
// 初始化语言列表
export const initLanguage = () => {
try {
let current_lang = '';
let browser_language = navigator.language;
let lan = localStorage.getItem('lang');
if (lan) {
browser_language = lan;
}
if (browser_language === 'zh-CN' || browser_language === 'zh-TW' || browser_language.indexOf('cn') !== -1) {
current_lang = 'cn';
} else if (browser_language.indexOf('en') !== -1) {
current_lang = 'en';
} else if (browser_language.indexOf('es') !== -1) {
// 西班牙
current_lang = 'es';
} else if (browser_language.indexOf('ar') !== -1) {
// 阿拉伯
current_lang = 'ar';
} else {
current_lang = 'en';
}
// 设置html 属性
document.documentElement.setAttribute('lang', current_lang);
return current_lang;
} catch (e) {
document.documentElement.setAttribute('lang', 'en');
return 'en';
}
};
// 表格total语言
export const TableTotalLanguage = (total: number) => {
const language = getCurrentLanguage();
switch (language) {
case 'cn':
return `共 ${total} 条数据`;
case 'en':
return `Total ${total} data`;
case 'es':
return `${total} dato en total`;
case 'ar':
return `مجموع البيانات ${total}`;
}
};
// tradingview 获取语言
export const TradingviewLanguage = () => {
const language = getCurrentLanguage();
// 默认
let CurLanguage = 'zh';
if (language == 'cn') {
CurLanguage = 'zh';
} else if (language == 'es') {
CurLanguage = 'es';
} else if (language == 'en') {
CurLanguage = 'en';
} else if (language == 'ar') {
CurLanguage = 'ar';
}
return CurLanguage;
};
// 获取预售标题--语序不一致
export const getUpcommingTitle = (project: string) => {
const language = getCurrentLanguage();
// 标题
const title = SiteConfig[Web_name].title;
if (language == 'es') {
return `${title} y ${project} han formado una asociación estratégica y pronto abrirán una preventa especial
para IDO, con proyectos premium próximamente.`;
} else if (language == 'cn') {
return `
${title}${project} 达成战略合作,即将开启IDO预售专场,有一个优质的项目即将登陆!
`;
} else if (language == 'en') {
return `${title} has entered into a strategic partnership with ${project} and will soon open an IDO pre-sale special, with a quality project on the horizon!`;
} else if (language == 'ar') {
// 阿拉伯
return `وصلت ${title} إلى تعاون استراتيجي مع ${project} ، وستفتح قريبًا معرض IDO المسبق ، وهناك مشروع عالي الجودة قريبًا!`;
}
};
<template>
<div class="tdesign-wrapper">
<router-view />
</div>
</template>
<style lang="less">
.tdesign-wrapper {
height: 100vh;
display: flex;
flex-direction: column;
}
</style>
@import '@/style/flex.less';
.certification-box {
margin-left: auto;
.certification {
.da();
height: 27px;
border-radius: 15px 0px 0px 15px;
font-weight: 400;
font-size: 11px;
white-space: nowrap;
& > * {
padding: 0 6px;
}
}
.green {
color: #5eba89;
background: #e3f4ed;
}
.blue {
background: #c7d5fc;
color: #2962ff;
}
.yellow {
background: #fff2c5;
color: #ffb800;
}
}
import { defineComponent, computed } from 'vue';
import { useI18n } from 'vue-i18n';
import { useStore } from 'vuex';
import './index.less';
export default defineComponent({
setup(props, { slots }) {
const store = useStore();
const { t } = useI18n();
const userInfo = computed(() => store.getters['user/userInfo']);
const imgs = {
// 已认证
certified: new URL('../../../assets/svg/user/certified.svg', import.meta.url).href,
// 审核中
UnderReview: new URL('../../../assets/svg/user/UnderReview.svg', import.meta.url).href,
// 未认证
NotCertified: new URL('../../../assets/svg/user/NotCertified.svg', import.meta.url).href,
};
// 当前显示的认证状态
const getAuthStatus = () => {
if (userInfo.value.is_real_name) {
// 已认证
return (
<div class="certification green">
<img src={imgs.certified} alt="" class="img" />
<span>{t('auth.Acreditado')}</span>
</div>
);
} else if (userInfo.value.is_real_name_audit) {
// 审核中
return (
<div class="certification blue">
<img src={imgs.UnderReview} alt="" class="img" />
<span>{t('auth.UnderReview')}</span>
</div>
);
} else {
// 未认证
return (
<div class="certification yellow">
<img src={imgs.NotCertified} alt="" class="img" />
<span>{t('auth.NoCertificado')}</span>
</div>
);
}
};
return () => <div class="certification-box">{getAuthStatus()}</div>;
},
});
<template>
<router-view v-slot="{ Component }">
<transition name="fade">
<component :is="Component" />
</transition>
</router-view>
</template>
<script lang="ts" setup>
import { useRoute } from 'vue-router';
const route = useRoute();
const key = () => {
let time = new Date().valueOf();
return route.fullPath + time;
};
</script>
<style lang="less">
@import '@/style/variables';
.fade-leave-active,
.fade-enter-active {
transition: opacity @anim-duration-slow @anim-time-fn-easing;
}
.fade-enter,
.fade-leave-to {
opacity: 0;
}
</style>
<template>
<div class="s-footer"></div>
</template>
<script lang="ts" setup>
import WebSiteLogo from '@/components/WebSiteLogo.vue';
import { computed, onMounted, reactive } from 'vue';
import { useI18n } from 'vue-i18n';
import { useRouter } from 'vue-router';
import tgSvg from '@/assets/svg/footer/footerlink5.svg?component';
import facebookSvg from '@/assets/svg/footer/footerlink2.svg?component';
import twitterSvg from '@/assets/svg/footer/footerlink3.svg?component';
import youtubeSvg from '@/assets/svg/footer/footerlink4.svg?component';
import { useStore } from 'vuex';
import { getFooterLinks } from '@/config/site';
const { t } = useI18n();
const router = useRouter();
const store = useStore();
const language = computed(() => store.getters['language/getLang']);
// 获取对应网站的链接
const FOOTER_LINKS = getFooterLinks();
const routerChange = (item: any) => {
if (!item) {
return;
}
if (item.type == 'article') {
let res = router.resolve({
path: '/Articles',
query: {
type: item.value,
},
});
window.open(res.href);
} else if (item.type == 'link' && item.value) {
window.open(item.value);
} else if (item.type == 'announcement') {
// 去新页面获取列表
let res = router.resolve({
path: '/Articles',
});
window.open(res.href);
}
};
const JoinUs = (link: string) => {
if (link) {
window.open(link);
}
};
</script>
<style lang="less">
@import '@/style/variables.less';
@import '@/style/flex.less';
@import '@/style/modules/logo.less';
.s-footer {
width: @pageWidth;
height: 250px;
margin: 0 auto;
padding-top: 20px;
padding-bottom: 20px;
display: flex;
justify-content: space-between;
overflow: hidden;
background: var(--theme-color5);
.custom-footer-left {
.dj(space-evenly);
flex-direction: column;
.links {
display: flex;
& > * {
margin: 0 12px;
cursor: pointer;
fill: var(--theme-color-17);
}
:nth-child(1) {
margin-left: 0;
}
}
}
.custom-footer-right {
width: 60%;
.dj(space-between);
.right-utils {
.dj(space-evenly);
flex-direction: column;
:nth-child(1) {
font-size: 18px;
font-weight: 600;
color: var(--theme-color-3);
padding-top: 20px;
}
:not(:nth-child(1)) {
font-size: 16px;
color: var(--theme-color-9);
cursor: pointer;
padding-top: 12px;
}
}
}
}
</style>
<template>
<div class="s-header">
<t-head-menu :theme="theme">
<template v-for="item in buttons" :key="item.value">
<t-button
v-if="!item.is_hidden"
class="router-btns"
:class="{ active: route.name == item.name }"
:value="item.value"
:disabled="item.disabled"
@click="ChangeRouter(item)"
>
{{ item.label }}
</t-button>
</template>
<template #logo>
<span @click="backHome">
<WebSiteLogo></WebSiteLogo>
</span>
</template>
<template #operations>
<SwitchLanguage></SwitchLanguage>
<span class="line"> | </span>
<div class="line">USD</div>
<span class="line"> | </span>
<ChangeTheme></ChangeTheme>
<span class="line"> | </span>
<t-button class="login-button" @click="login" v-show="!token">{{ $t('header.login') }}</t-button>
<t-button class="reg-button" v-show="!token" @click="toReg">{{ $t('header.reg') }}</t-button>
<div v-if="token">
<LoginDropdown></LoginDropdown>
</div>
</template>
</t-head-menu>
</div>
</template>
<script setup lang="ts">
import WebSiteLogo from '@/components/WebSiteLogo.vue';
import { computed, onMounted, ref } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { useStore } from 'vuex';
import SwitchLanguage from '@/components/SwitchLanguage/index';
import ChangeTheme from '@/components/changeTheme.vue';
import LoginDropdown from './LoginDropdown.vue';
import { useI18n } from 'vue-i18n';
import { getNavList } from '@/config/site';
const router = useRouter();
const store = useStore();
const route = useRoute();
const { t } = useI18n();
// 用户token
const token = computed(() => store.getters['user/token']);
const CurRouter = ref(route.name);
const theme = computed(() => store.getters['setting/mode']);
const toReg = () => {
router.push({
path: `/login`,
name: 'login',
query: {
type: 'register',
},
});
};
// 前往首页
const backHome = () => {
router.push({
path: '/',
});
};
const buttons = computed(() => {
let list = [
{
label: t('header.home'),
value: '/',
name: 'Snow',
disabled: false,
},
{
label: t('header.Descubre'),
value: '/live',
name: 'live',
disabled: false,
},
];
return getNavList(list);
});
const ChangeRouter = (item: any) => {
CurRouter.value = item.name;
// 跳转
router.push({
path: item.value,
name: item.name,
});
};
// 去登录
const login = () => {
router.push({
path: '/login',
});
};
</script>
<style lang="less" scoped>
@import '../../style/variables.less';
@import '@/style/flex.less';
@import '@/style/modules/logo.less';
.s-header {
border-bottom: 0.5px solid var(--theme-color-7);
background: var(--theme-color-6);
.home-logo {
width: 190px;
height: 100%;
}
.join-us {
margin-left: 1vw;
color: var(--td-Search-info-color-1);
.dja();
cursor: pointer;
white-space: nowrap;
span {
padding-left: 10px;
}
}
:hover .home-logo {
cursor: pointer;
}
:deep(.t-menu) {
height: 90px;
background: var(--theme-color-6);
.router-btns {
color: var(--theme-color-1);
background: transparent;
border: none;
--ripple-color: none;
font-size: 16px;
transition: all 0.2s;
&:hover {
color: var(--theme-color-2);
transition: all 0.2s;
}
}
.active {
color: var(--theme-color-2);
font-weight: 600;
font-size: 18px;
transition: all 0.2s;
}
.t-head-menu__inner {
height: 100%;
.t-menu__operations {
height: 100%;
.line {
padding: 0 12px;
color: var(--theme-color-4);
}
.login-button {
background: transparent;
border: none;
color: var(--theme-color-3);
}
.reg-button {
background: var(--theme-color-2);
border: none;
border-radius: 10px;
height: 50px;
padding: 0 20px;
}
}
}
}
.operations-container {
.da();
height: 70px;
line-height: 70px;
}
}
</style>
<!--
* @Author: walker.liu
* @Date: 2022-03-04 10:04:35
* @Copyright(C): 2019-2020 ZP Inc. All rights reserved.
-->
<template>
<t-popup
class="placement top center"
placement="bottom-left"
trigger="click"
show-arrow
v-model:visible="user_popup_visible"
>
<template #content>
<div class="s-header-user-info-dropdown">
<div class="user-info-dropdown-header">
<div class="info-dropdown-header-email">
{{ ShowUserInfo() }}
</div>
<div class="info-dropdown-header-vip">
<div class="info-header-vip-left">
<template v-if="userInfo.vip_level">
<img :src="Imgs.userVip" alt="" />
<div class="vip-title">VIP{{ userInfo.vip_level }}</div>
</template>
<template v-else>
<img :src="Imgs.notVip" alt="" />
<div class="vip-title not-vip">{{ $t('header.Generalusers') }}</div>
</template>
</div>
<AuthStatus></AuthStatus>
</div>
</div>
<!-- content -->
<div class="user-info-dropdown-content">
<div @click="backRouter('AssetsOverview')">
<img :src="Imgs.myMoney" alt="" />
<div class="dropdown-content-text">{{ $t('header.MisActivos') }}</div>
</div>
<div @click="backRouter('Invitation')">
<img :src="Imgs.Invitation" alt="" />
<div class="dropdown-content-text">{{ $t('header.InvitacionCashback') }}</div>
</div>
<div @click="backRouter('daily-sign-in')">
<img :src="Imgs.signIn" alt="" />
<div class="dropdown-content-text">{{ $t('header.DailysignIn') }}</div>
</div>
<div @click="backRouter('Authentication')">
<img :src="Imgs.auth" alt="" />
<div class="dropdown-content-text">{{ $t('header.Verificaciondeidentidad') }}</div>
</div>
<div @click="backRouter('AccountSecurity')">
<img :src="Imgs.safe" alt="" />
<div class="dropdown-content-text">{{ $t('header.RegularSeguridad') }}</div>
</div>
<div>
<img :src="Imgs.theme" alt="" />
<div class="dropdown-content-text">{{ $t('header.Temasdecolor') }}</div>
<div class="theme-swicth">
<t-switch v-model="swicth_checked" @change="swicth_onChange" />
</div>
</div>
</div>
<div class="user-info-dropdown-footer" @click="logout">
<img :src="Imgs.logout" alt="" />
<div class="dropdown-footer-text">{{ $t('header.CerrarSesion') }}</div>
</div>
</div>
</template>
<div class="custom-header-user-info">
<UserOneSvg></UserOneSvg>
<UserAvatar></UserAvatar>
<div class="user-message-dot" v-if="mes_num">{{ mes_num }}</div>
<div v-else></div>
</div>
</t-popup>
</template>
<script setup lang="ts">
import AuthStatus from './AuthStatus';
import { computed, onMounted, ref } from 'vue';
import { useStore } from 'vuex';
import { useRoute, useRouter } from 'vue-router';
import UserOneSvg from '@/assets/svg/user/user-1.svg';
import UserAvatar from '@/assets/svg/user/user-avatar.svg';
import STYLE_CONFIG from '@/config/style';
const Imgs = {
userVip: new URL('../../assets/svg/user/user-vip.svg', import.meta.url).href,
notVip: new URL('../../assets/svg/user/notvip.svg', import.meta.url).href,
Already: new URL('../../assets/svg/user/Already.svg', import.meta.url).href,
myMoney: new URL('../../assets/svg/user/userdropdown/myMoney.svg', import.meta.url).href,
Invitation: new URL('../../assets/svg/user/userdropdown/Invitation.svg', import.meta.url).href,
auth: new URL('../../assets/svg/user/userdropdown/auth.svg', import.meta.url).href,
safe: new URL('../../assets/svg/user/userdropdown/safe.svg', import.meta.url).href,
theme: new URL('../../assets/svg/user/userdropdown/theme.svg', import.meta.url).href,
logout: new URL('../../assets/svg/user/userdropdown/logout.svg', import.meta.url).href,
signIn: new URL('../../assets/svg/user/userdropdown/signIn.svg', import.meta.url).href,
};
// 消息数量
const mes_num = ref<number>(0);
const store = useStore();
const route = useRoute();
const router = useRouter();
const userInfo = computed(() => store.getters['user/userInfo']);
// 当前主题
const Tmode = computed(() => store.getters['setting/mode']);
// 当前主题开关
const swicth_checked = ref(Tmode.value === 'dark' ? true : false);
// 用户登录状态
const userToken = computed(() => store.getters['user/token']);
// 当前模式
const mode = computed(() => store.getters['setting/mode']);
const user_popup_visible = ref<boolean>(false);
// 需要展示的内容
const ShowUserInfo = computed(() => {
return function () {
if (userInfo.value.email) {
return userInfo.value.email;
} else if (userInfo.value.phone) {
return userInfo.value.phone;
}
};
});
onMounted(() => {
if (!Object.keys(userInfo.value).length) {
store.dispatch('user/getUserInfo');
}
});
// 跳转路由
const backRouter = (value: string) => {
router.push({
path: value,
name: value,
});
user_popup_visible.value = false;
};
// 切换主题
const swicth_onChange = (value: boolean) => {
let mode = Tmode.value === 'dark' ? 'light' : 'dark';
store.dispatch('setting/changeTheme', {
...STYLE_CONFIG,
mode,
});
};
// 点击不同选项
const gotoMember = (label: string) => {
if (label === 'install') {
return;
}
const resUrl = router.resolve({
path: label,
});
window.open(resUrl.href);
};
// 退出
const logout = () => {
store.dispatch('user/logout');
};
</script>
<style lang="less">
@import '../../style/variables.less';
@import '@/style/flex.less';
.t-popup__content {
padding: 0;
}
.s-header-user-info-dropdown {
background: var(--theme-color-28);
border-radius: 4px;
width: 250px;
.user-info-dropdown-header {
padding-left: 12px;
border-bottom: 0.5px solid #848e9c;
.info-dropdown-header-email {
font-weight: 800;
font-size: 15px;
color: var(--theme-color-17);
padding: 6px 0;
}
.info-dropdown-header-vip {
.dj(space-between);
padding-bottom: 4px;
.info-header-vip-left {
.da();
.vip-title {
font-size: 12px;
transform: scale(0.8);
color: #cc9f00;
}
.not-vip {
color: #bcbcbc;
}
}
}
}
.user-info-dropdown-content {
border-bottom: 1px solid #595a5a;
& > * {
.da();
height: 45px;
cursor: pointer;
transition: background 0.3s;
&:hover {
background: rgba(244, 244, 244, 0.5);
transition: background 0.3s;
}
img {
margin: 0 12px;
}
.dropdown-content-text {
font-weight: 300;
font-size: 15px;
color: var(--theme-color-14);
padding-left: 12px;
}
.theme-swicth {
margin-left: auto;
padding-right: 12px;
}
}
}
.user-info-dropdown-footer {
.da();
height: 45px;
cursor: pointer;
transition: background 0.3s;
&:hover {
background: rgba(244, 244, 244, 0.5);
transition: background 0.3s;
}
img {
margin: 0 12px;
width: 29px;
height: 29px;
}
.dropdown-footer-text {
font-weight: 300;
font-size: 15px;
color: var(--theme-color-14);
padding-left: 12px;
}
}
}
.custom-header-user-info {
border: 1px solid #595a5a;
border-radius: 25px;
height: 44px;
cursor: pointer;
.dja(space-between);
position: relative;
& > :not(:last-child) {
margin: 0 8px;
}
.user-message-dot {
position: absolute;
right: 0;
top: 0;
border-radius: 50%;
background: #2962ff;
width: 20px;
height: 20px;
line-height: 20px;
.dja();
font-size: 12px;
color: white;
}
}
</style>
import { defineComponent, ref } from 'vue';
import Header from './components/Header.vue';
// import Footer from './components/Footer.vue';
import Content from './components/Content.vue';
import '@/style/layout.less';
import { onBeforeRouteUpdate, useRoute } from 'vue-router';
const name = `s-base-layout`;
export default defineComponent({
name,
setup() {
const route = useRoute();
const footer = ref(route.meta.footer !== false);
onBeforeRouteUpdate((to) => {
footer.value = false;
});
return {
footer,
};
},
watch: {
'$route.meta': {
deep: true,
handler(v) {
if (v.footer) {
this.footer = v.footer !== false;
}
},
},
},
render() {
return (
<div>
<t-layout key="no-side">
<t-header class="s-layout-header">
<Header />
</t-header>
<t-content class="s-layout-content narrow-scrollbar" id="layout-scroll">
<Content />
{/* {this.footer ? (
<t-footer class="s-layout-footer">
<Footer></Footer>
</t-footer>
) : (
''
)} */}
</t-content>
</t-layout>
</div>
);
},
});
import { createApp } from 'vue';
// 组件库按需引入---注意--以后要加新组件,记得去文件里引入
import TDesign from './utils/Tdesign';
// 配置了cdn引入,使用这个
// import TDesign from 'tdesign-vue-next';
import 'tdesign-vue-next/es/style/index.css';
import { store } from './store';
import router from './router';
import '@/style/index.less';
// 谷歌浏览器关于滚动事件警告去除
import 'default-passive-events';
import VueClipboard from 'vue3-clipboard';
import App from './App.vue';
// font
// import '@/style/font-family.css';
// 全局样式
import '@/style/theme/default.less';
import '@/style/theme/global.less';
import '@/style/ui.less';
import '@/style/language/index.less';
// vue-i18n
import i18n from './language';
// 自定义表格空数据
import customComponents from '@/utils/customComponents';
const app = createApp(App);
app.use(TDesign);
app.use(store);
app.use(router);
app.use(i18n);
app.use(customComponents);
app.use(VueClipboard);
app.mount('#app');
<template>
<div class="custom-home-page">
{{ token }}
<button id="sent" @click="sent()">向前端传值</button>
<button class="btn" @click="sentBack()">向后端传值</button>
<button @click="show()">show the value</button>
{{ py_text }}
</div>
</template>
<script lang="ts" setup>
import { onBeforeUnmount, onMounted, ref } from 'vue';
import { show_message } from '@/utils/tool';
import { testRequest } from '@/utils/api/userApi';
import { initPyqtToWindow, injectWindow } from '@/utils/pyqt';
const py_text = ref('你好');
const token = ref('null');
const waitingMessage = ref(null); //等待接收python传来的数据
const message2py = ref('message from js'); //向python发送的数据
function sentBack() {
window.pyjs.testJS2Py(message2py.value);
}
function sent() {
try {
var get = 1;
get = window.pyjs.testPy2JS();
} catch (e) {
alert(e);
}
}
function show() {
alert(waitingMessage.value);
}
const py_receive = (value: string) => {
py_text.value = value;
};
// 接收token
const sendToken = (value: string) => {
if (value) {
token.value = value;
show_message(`收到的token${value}`, 'success');
} else {
show_message(`没有收到token`, 'success');
}
};
onMounted(() => {
initPyqtToWindow();
injectWindow('sendToken', sendToken);
injectWindow('py_receive', py_receive);
// 请求接口测试
testRequest();
});
</script>
<style lang="less">
.custom-home-page {
}
</style>
<template>
<div class="">直播管理页面</div>
</template>
<script lang="ts" setup></script>
<style lang="less"></style>
import { createRouter, createWebHashHistory, createWebHistory, RouteRecordRaw } from 'vue-router';
import { getSiteRouter } from '../config/site';
const routerList = getSiteRouter();
// 存放固定的路由
const defaultRouterList: Array<RouteRecordRaw> = [...routerList];
const router = createRouter({
history: createWebHashHistory(),
routes: defaultRouterList,
scrollBehavior() {
return {
el: '#app',
top: 0,
behavior: 'smooth',
};
},
});
export default router;
export default [
{
path: '/',
component: () => import('@/layouts'),
children: [
{
path: '/',
name: 'Snow',
component: () => import('@/pages/home/index.vue'),
meta: { title: 'snowhome' },
},
{
path: '/live',
name: 'live',
component: () => import('@/pages/liveManagement/index.vue'),
meta: { title: 'snowhome' },
},
],
},
];
// 统一管理路由
import 'vue-router';
declare module '*.vue' {
import { DefineComponent } from 'vue';
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
const component: DefineComponent<{}, {}, any>;
export default component;
}
declare module 'vue-router' {
interface RouteMeta {
login?: boolean; //是否需要登录
title?: string; // 标题
bread?: string; //面包屑名字
}
}
declare global {
interface Window {
tvWidget: any;
}
}
import { createStore } from 'vuex';
import user from './modules/user';
import setting from './modules/setting';
import theme from './modules/theme';
import reload from './modules/reload';
import token from './modules/token';
import language from './modules/language';
export const store = createStore({
modules: {
user,
setting,
theme,
reload,
token,
language,
},
});
export default store;
const state = {
language: '',
};
type StateType = typeof state;
const mutations = {
setLang(state: StateType, info: string) {
state.language = info;
// 设置html 属性
document.documentElement.setAttribute('lang', info);
},
};
const getters = {
getLang: (state: StateType) => {
return state.language;
},
};
const actions = {};
export default {
namespaced: true,
state,
mutations,
actions,
getters,
};
const state = {
load: 0,
};
type StateType = typeof state;
const mutations = {
setLoad(state: StateType, info: number) {
state.load += info;
},
};
const getters = {
getLoad: (state: StateType) => {
return state.load;
},
};
const actions = {};
export default {
namespaced: true,
state,
mutations,
actions,
getters,
};
/*
* @Author: walker.liu
* @Date: 2022-03-04 11:05:34
* @Copyright(C): 2019-2020 ZP Inc. All rights reserved.
*/
import STYLE_CONFIG from '@/config/style';
import { ColorToken, LIGHT_CHART_COLORS, DARK_CHART_COLORS } from '@/config/color';
// 定义的state初始值
const state = {
...STYLE_CONFIG,
showSettingPanel: false,
chartColors: LIGHT_CHART_COLORS,
};
type IInitStateType = typeof state;
interface IStateType extends IInitStateType {
isAsideFooter: boolean;
showSettingPanel: boolean;
}
const mutations = {
update(state: IStateType, payload: IStateType) {
window.localStorage.setItem('mode', payload.mode);
state.mode = payload.mode;
state.showHeader = payload.showHeader;
state.showFooter = payload.showFooter;
state.backgroundTheme = payload.backgroundTheme;
state.brandTheme = payload.brandTheme;
},
toggleSettingPanel(state: IStateType, payload: boolean) {
state.showSettingPanel = payload;
},
changeChartColor(state: IStateType, payload: ColorToken) {
state.chartColors = { ...payload };
},
};
const getters = {
showHeader: (state: IStateType) => state.showHeader,
showFooter: (state: IStateType) => state.showFooter,
mode: (state: IStateType) => {
if (state.mode === 'auto') {
const media = window.matchMedia('(prefers-color-scheme:dark)');
if (media.matches) {
return 'dark';
}
return 'light';
}
// return state.mode;
return window.localStorage.getItem('mode') || state.mode;
},
};
const actions = {
async changeTheme({ commit, dispatch }, payload) {
dispatch('changeMode', payload);
dispatch('changeBrandTheme', payload);
commit('update', payload);
},
async changeMode({ commit }, payload: IStateType) {
let theme = payload.mode;
if (payload.mode === 'auto') {
const media = window.matchMedia('(prefers-color-scheme:dark)');
if (media.matches) {
theme = 'dark';
} else {
theme = 'light';
}
}
const isDarkMode = theme === 'dark';
document.documentElement.setAttribute('theme-mode', isDarkMode ? 'dark' : '');
commit('changeChartColor', isDarkMode ? DARK_CHART_COLORS : LIGHT_CHART_COLORS);
},
changeBrandTheme(_: { state: IStateType }, payload: IStateType) {
const { brandTheme } = payload;
document.documentElement.setAttribute('theme-color', brandTheme);
},
};
export default {
namespaced: true,
state,
mutations,
actions,
getters,
};
const state = {
theme: 'light',
};
type StateType = typeof state;
const mutations = {
setTheme(state: StateType, info:string) {
state.theme = info;
},
};
const getters = {
getTheme: (state: StateType) => (token) => {
return state.theme;
},
};
const actions = {};
export default {
namespaced: true,
state,
mutations,
actions,
getters,
};
\ No newline at end of file
const state = {
// k线页面当前币的id
token_id: null,
// 最新价格
new_price: {},
subscribers: {
tbname: '',
ts: null,
list: [],
PriceNum: null,
},
};
type StateType = typeof state;
const mutations = {
setTokenID(state: StateType, info: number) {
state.token_id = info;
},
// 更新k线页面的最新价格
setTradePrice(state: StateType, info: any) {
state.new_price[info.key] = info.value;
},
// 提交k线更新的线
setTradingNewList(state: StateType, info: any) {
if ('tbname' in info) {
state.subscribers.tbname = info.tbname;
}
if ('ts' in info) {
state.subscribers.ts = info.ts;
}
if ('list' in info) {
state.subscribers.list = info.list;
}
if ('PriceNum' in info) {
state.subscribers.PriceNum = info.PriceNum;
}
},
// 清空newlist数据
deleteTradingNewList(state: StateType) {
state.subscribers.tbname = '';
state.subscribers.ts = null;
state.subscribers.list = [];
state.subscribers.PriceNum = null;
},
};
const getters = {
getTokenID: (state: StateType) => {
return state.token_id;
},
// 获取price
getTradePrice: (state: StateType) => {
return state.new_price;
},
getTradingNewList: (state: StateType) => {
return state.subscribers;
},
};
const actions = {
async computerPrice({ commit }) {
if (state.subscribers.tbname && state.subscribers.list.length) {
// 先获取小数位
let str = state.subscribers.PriceNum + '';
let count = (str.match(/0/g) || []).length;
if (!state.subscribers.ts) {
// 定时任务还没有取到数据--直接取最后一条
commit('setTradePrice', {
key: state.subscribers.tbname,
value: state.subscribers.list[state.subscribers.list.length - 1].close.toFixed(count),
});
} else {
// 最后的时间戳存在--找到时间戳对应的close
let obj = state.subscribers.list.find((item: any) => item.ts == state.subscribers.ts);
if (obj) {
commit('setTradePrice', {
key: state.subscribers.tbname,
value: obj.close.toFixed(count),
});
}
}
}
},
};
export default {
namespaced: true,
state,
mutations,
actions,
getters,
};
import { TOKEN_NAME } from '@/config/global';
import { UserInfo } from '@/interface';
import Cookies from 'js-cookie';
import { MessagePlugin } from 'tdesign-vue-next';
import i18n from '@/language';
interface MyState {
token: String | undefined | null;
userInfo: any;
}
// 定义的state初始值
const state: MyState = {
token: Cookies.get(TOKEN_NAME), // 默认token不走权限
userInfo: {},
};
type StateType = typeof state;
const mutations = {
setToken(state: StateType, obj: any) {
// expires--按天算
Cookies.set(TOKEN_NAME, obj.token, {
expires: obj.time / 60 / 60 / 24,
});
state.token = obj.token;
},
removeToken(state: StateType) {
Cookies.remove(TOKEN_NAME);
state.token = '';
state.userInfo = {};
},
removeUserInfo(state: StateType) {
state.userInfo = {};
},
setUserInfo(state: StateType, userInfo: UserInfo) {
if (!userInfo.avatar) {
userInfo.avatar =
'https://thirdwx.qlogo.cn/mmopen/vi_32/DYAIOgq83eq3CbZYiataq17DyyniaKOGs2ZwQxqWDwA5mMhlqfaHBpBwvrwan9QBicSsKHcHTTyHWFU9mFiaH7bawQ/132';
}
state.userInfo = {};
Object.assign(state.userInfo, userInfo);
},
// 修改用户信息中的某一项
setUserInfoChildren(state: StateType, user: any) {
// 目前只修改name
if (state.userInfo[user.key]) {
state.userInfo[user.key] = user.value;
}
},
};
const getters = {
token: (state: StateType) => {
return state.token;
},
userInfo: (state: StateType) => {
return state.userInfo;
},
};
const actions = {
async getUserInfo({ commit, state }) {
try {
// const data: any = await getUserInfo();
// commit('setUserInfo', data.data);
// return data;
} catch (e) {
console.log(e);
}
},
};
export default {
namespaced: true,
state,
mutations,
actions,
getters,
};
//默认center
.dja(@flex:center,@align:center) {
display: flex;
justify-content: @flex;
align-items: @align;
}
.dj(@flex:center) {
display: flex;
justify-content: @flex;
}
.da(@align:center) {
display: flex;
align-items: @align;
}
/* @font-face {
font-family: 'twoFont';
src: url("../style/fonts/SourceHanSansCN-ExtraLight.otf");
font-weight: normal;
font-style: normal;
} */
@font-face {
font-family: 'fiveFont';
src: url('../style/fonts/SourceHanSansCN-Medium.ttf');
font-weight: normal;
font-style: normal;
}
/* @font-face {
font-family: 'sexFont';
src: url("../style/fonts/SourceHanSansCN-Normal.otf");
font-weight: normal;
font-style: normal;
} */
/* @font-face {
font-family: 'sevenFont';
src: url("../style/fonts/SourceHanSansCN-Regular.otf");
font-weight: normal;
font-style: normal;
} */
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
@font-face {
font-family: 'testfonff';
src: url('./SourceHanSansCN-Medium.otf');
font-weight: normal;
font-style: normal;
}
* {
font-family: 'testfonff';
}
</style>
</head>
<body>
<div>
abcdefghrjklmnopqrstuvwxyz::ABCDEFGHRJKLMNOPQRSTUVWXYZ,0123456789,代币名称价格流动池成交量交易笔数分钟小时线图数据分析
+-*/%$¥.。{}[]()日成交量流动池wbnb余额流动池usdt余额总市值:代币供应量:最高价:最低价:持有人:
时间区间流动池大小涨跌幅新增持有人成交量交易笔数,是否。开关是否貔貅:买入Gas费:卖出Gas费:购买税率:卖出税率:
交易开关:能否收回所有权:能否出售所有:是否开源:可修改税费:交易冷却时间:可被暂停交易:
</div>
</body>
<script>
(function () {
let date = new Date();
let newDate = `${date.getFullYear()}-${
date.getMonth() + 1
}-${date.getDate()}--${date.getHours()}.${date.getMinutes()}`;
console.log(newDate);
})();
</script>
</html>
@import './variables.less';
body {
color: @text-color-secondary;
font-size: @font-size-base;
line-height: 1.5;
-webkit-font-smoothing: antialiased;
padding: 0;
margin: 0;
user-select: none;
}
pre {
font-family: @font-family;
}
ul,
dl,
li,
dd,
dt {
margin: 0;
padding: 0;
list-style: none;
}
figure,
h1,
h2,
h3,
h4,
h5,
h6,
p {
margin: 0;
}
* {
box-sizing: border-box;
}
.t-button-link {
color: @brand-color;
text-decoration: none;
margin-right: @spacer-3;
cursor: pointer;
transition: color @anim-duration-base @anim-time-fn-easing;
&:hover {
color: @brand-color-hover;
}
&:active {
color: @brand-color-active;
}
&--active {
color: @brand-color-active;
}
&:focus {
text-decoration: none;
}
&:last-child {
margin-right: 0;
}
}
.t-button + .t-button {
margin-left: @spacer;
}
.container-base-margin-top {
margin-top: 16px;
}
html[lang='ar'] {
direction: rtl;
// 交易
.custom-transaction-box {
.buy {
right: unset;
left: 12px;
}
}
// 百分比拖动不反转
// 轮播图不反转
.trading-slider,
.home-swiper-fa {
direction: ltr;
}
// 轮播图文字反转
.home-swiper-fa {
.poistion-span {
direction: rtl;
}
}
// 实时交易
.custom-handicap {
border-right: 1px solid var(--theme-color-10);
}
// 币种列表
.custom-chose-token {
border-right: none;
}
// 修改主题颜色
.theme-swicth {
margin-left: 20px !important;
margin-right: auto;
}
}
@import './variables.less';
// layout rewrite
.t-layout__sider {
width: fit-content;
}
.t-button + .t-button {
margin-left: @spacer;
}
.t-layout.t-layout--with-sider {
> .t-layout {
flex: 1;
min-width: 760px;
}
}
.t-menu--dark .t-menu__operations .t-icon {
color: rgba(255, 255, 255, 0.55);
&:hover {
cursor: pointer;
}
}
.t-default-menu.t-menu--dark {
background: var(--td-gray-color-13);
}
.t-default-menu:not(.t-menu--dark) .t-menu__item.t-is-active:not(.t-is-opened) {
background-color: @brand-color-1;
color: @brand-color;
.t-icon {
color: @brand-color;
}
}
.logo-container {
cursor: pointer;
display: inline-flex;
height: 64px;
margin-left: 24px;
}
.version-container {
color: @text-color-primary;
opacity: 0.4;
}
.s-layout-header {
width: 100%;
position: sticky;
top: 0;
z-index: 100;
&.my {
position: static;
background-color: @brand-color;
.s-header {
// width: 1280px;
.t-menu {
background-color: @brand-color;
color: #fff;
}
.user-info .company {
color: rgba(255, 255, 255, 0.9);
}
}
}
.s-header {
padding: 0 24px;
.t-menu__logo {
img {
cursor: pointer;
}
.logo-text {
margin-left: 18px;
font-size: 12px;
color: var(--td-font-gray-3);
line-height: 20px;
}
}
.t-menu {
& > .t-menu__item {
min-width: unset;
padding: 0 24px;
font-size: 16px;
color: rgba(255, 255, 255, 0.9);
line-height: 22px;
&:hover {
background-color: unset;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
}
&.t-is-active {
background-color: unset;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
&::after {
content: '';
position: absolute;
bottom: 0px;
height: 2px;
left: 50%;
transform: translate(-50%);
width: 32px;
background-color: #fff;
}
}
}
}
.go-my {
margin-right: 32px;
}
.user-info {
display: flex;
align-items: center;
cursor: pointer;
img {
width: 32px;
height: 32px;
display: block;
border-radius: 50%;
}
.company {
margin-left: 8px;
font-size: 14px;
color: rgba(0, 0, 0, 0.9);
line-height: 20px;
cursor: pointer;
}
}
}
}
.t-layout__header {
height: 90px;
}
.s-layout-content {
height: calc(100vh - 90px);
overflow-y: auto;
overflow-x: auto;
background: var(--theme-color-5);
& > :first-child {
width: @pageWidth;
height: 100%;
margin: 0 auto 0 auto;
}
}
.s-layout-footer {
padding: 0;
}
@import '@/style/flex.less';
// 隐藏时间选择组件的部分按钮
.custom_chose_time_popup {
.t-time-picker__panel-section-footer {
:nth-child(2) {
display: none;
}
}
}
.custom_chose_date_popup {
.t-jumper {
display: flex;
}
}
.cust-filterdialog-content {
.dja();
margin-top: 16px;
.cust-filterdialog-input-Splitline {
width: 50px;
.dja();
}
.custom-chose-date-time {
.custom-chose-date-time_tips {
.dj();
flex-direction: column;
font-weight: bold;
font-size: 16px;
.label {
white-space: nowrap;
}
}
}
.custom-chose-date-box {
margin: 16px 0;
font-weight: bold;
.dja(space-between, center);
}
.custom-chose-time-box {
.dja();
font-weight: bold;
.t-time-picker {
width: 120px;
.dja(space-between, center);
.t-input__wrap {
width: 100%;
}
}
}
}
.cust-filterdialog-submit {
.dja();
.t-button {
width: 100px;
}
}
.t-date-range-picker__panel-content-wrapper {
.t-jumper {
display: flex;
}
}
// 网站logo的文字
.custom-web-logo-text {
color: #2962ff;
font-weight: bold;
font-size: 16px;
}
.dot-box {
width: 10px;
height: 10px;
background: red;
border-radius: 50%;
}
// 第二层dialog的蒙层颜色
:deep(.hierarchy-dialog) {
.t-dialog__mask {
background: rgba(0, 0, 0, 0.1);
}
}
:root,
:root[theme-mode='light'] {
--th-color-1: #222222;
--th-color-2: #2962ff;
--th-color-3: #1e2329;
--th-color-4: #1e2329;
--th-color-5: white;
--th-color-6: #ececec;
--th-color-7: #707a8a;
--th-color-8: #25a69a;
--th-color-9: #f05451;
--th-color-10: #1b1e23;
--th-color-11: #595a5a;
--th-color-12: #fcfcfc;
--th-color-13: #b6b6b6;
--th-color-14: rgba(132, 142, 156, 0.3);
--th-color-15: #feffff;
--th-color-16: #848e9c;
--th-color-17: #f9f9f9;
--th-color-18: rgba(89, 90, 90, 0.8);
--th-color-19: #d2d5db;
--th-color-20: #848e9c;
}
:root[theme-mode='dark'] {
--th-color-1: #ecf1f0;
--th-color-2: #2962ff;
--th-color-3: #c6c6c6;
--th-color-4: #b6b6b6;
--th-color-5: #131722;
--th-color-6: #15181c;
--th-color-7: #848e9c;
--th-color-8: rgba(255, 255, 255, 0.02);
--th-color-9: #eaecef;
--th-color-10: #25a69a;
--th-color-11: #f05451;
--th-color-12: rgba(255, 255, 255, 0.05);
--th-color-13: rgba(132, 142, 156, 0.3);
--th-color-14: #2b3139;
--th-color-15: #1e2329;
--th-color-16: rgba(68, 176, 255, 0.2);
--th-color-17: rgba(89, 90, 90, 0.7);
--th-color-18: #ffffff;
--th-color-19: #000000;
--th-color-20: white;
}
:root,
:root[theme-mode='light'] {
--theme-color-1: var(--th-color-1);
--theme-color-2: var(--th-color-2);
--theme-color-3: var(--th-color-3);
--theme-color-4: var(--th-color-4);
--theme-color-5: var(--th-color-5);
--theme-color-6: var(--th-color-5);
--theme-color-7: var(--th-color-6);
--theme-color-8: var(--th-color-5);
--theme-color-9: var(--th-color-7);
--theme-color-10: var(--th-color-6);
--theme-color-11: var(--th-color-8);
--theme-color-12: var(--th-color-9);
--theme-color-13: var(--th-color-10);
--theme-color-14: var(--th-color-11);
--theme-color-15: var(--th-color-11);
--theme-color-16: var(--th-color-12);
--theme-color-17: var(--th-color-1);
--theme-color-18: var(--th-color-1);
--theme-color-19: var(--th-color-11);
--theme-color-20: var(--th-color-1);
--theme-color-21: var(--th-color-6);
--theme-color-22: var(--th-color-14);
--theme-color-23: var(--th-color-6);
--theme-color-24: var(--th-color-5);
--theme-color-25: var(--th-color-15);
--theme-color-26: var(--th-color-16);
--theme-color-27: var(--th-color-17);
--theme-color-28: var(--th-color-15);
--theme-color-29: var(--th-color-5);
--theme-color-30: var(--th-color-6);
--theme-color-31: var(--th-color-6);
--theme-color-32: var(--th-color-18);
--theme-color-33: var(--th-color-11);
--theme-color-34: var(--th-color-11);
--theme-color-35: transparent;
--theme-color-36: var(--th-color-11);
--theme-color-37: var(--th-color-1);
--theme-color-38: var(--th-color-19);
--theme-color-39: var(--th-color-17);
--theme-color-40: var(--th-color-17);
--theme-color-41: var(--th-color-1);
--theme-color-42: var(--th-color-17);
--theme-color-43: var(--th-color-17);
}
:root[theme-mode='dark'] {
--theme-color-1: var(--th-color-1);
--theme-color-2: var(--th-color-2);
--theme-color-3: var(--th-color-3);
--theme-color-4: var(--th-color-4);
--theme-color-5: var(--th-color-5);
--theme-color-6: var(--th-color-6);
--theme-color-7: var(--th-color-7);
--theme-color-8: var(--th-color-8);
--theme-color-9: var(--th-color-4);
--theme-color-10: var(--th-color-7);
--theme-color-11: var(--th-color-10);
--theme-color-12: var(--th-color-11);
--theme-color-13: var(--th-color-9);
--theme-color-14: var(--th-color-9);
--theme-color-15: var(--th-color-7);
--theme-color-16: var(--th-color-5);
--theme-color-17: var(--th-color-9);
--theme-color-18: var(--th-color-7);
--theme-color-19: var(--th-color-4);
--theme-color-20: var(--th-color-4);
--theme-color-21: var(--th-color-12);
--theme-color-22: var(--th-color-13);
--theme-color-23: transparent;
--theme-color-24: var(--th-color-14);
--theme-color-25: var(--th-color-6);
--theme-color-26: var(--th-color-5);
--theme-color-27: var(--th-color-14);
--theme-color-28: var(--th-color-15);
--theme-color-29: var(--th-color-15);
--theme-color-30: var(--th-color-16);
--theme-color-31: var(--th-color-14);
--theme-color-32: var(--th-color-17);
--theme-color-33: var(--th-color-18);
--theme-color-34: transparent;
--theme-color-35: var(--th-color-14);
--theme-color-36: var(--th-color-18);
--theme-color-37: var(--th-color-18);
--theme-color-38: var(--th-color-7);
--theme-color-39: transparent;
--theme-color-40: var(--th-color-19);
--theme-color-41: var(--th-color-7);
--theme-color-42: var(--th-color-7);
--theme-color-43: var(--th-color-2);
}
:root:not(.theme-dark) {
// 白色主题
// --tv-color-platform-background: white;
// 工具栏背景色
--tv-color-pane-background: white;
}
.theme-dark:root {
--theme: rgb(40, 126, 255);
// 黑色主题
// --tv-color-platform-background: rgb(36, 36, 36);
// 工具栏背景色
--tv-color-pane-background: rgb(36, 36, 36);
// 按钮默认颜色
--tv-color-toolbar-button-text: white;
// 鼠标移入按钮后的颜色
--tv-color-toolbar-button-background-hover: rgb(200, 200, 200);
--tv-color-toolbar-button-text-active-hover: var(--theme);
--tv-color-toolbar-button-text-hover: var(--theme);
// 收起左侧工具栏按钮hover
--tv-color-toolbar-button-background-secondary-hover: var(--theme);
// 按钮选中后的颜色
--tv-color-toolbar-button-text-active: var(--theme);
--tv-color-toolbar-toggle-button-background-active: var(--theme);
//
// --tv-color-pane-background-secondary: rgb(249, 185, 233);
// --tv-color-toolbar-button-background-expanded: rgb(244, 143, 177);
// --tv-color-item-active-text: rgb(6, 255, 6);
// --tv-color-toolbar-toggle-button-background-active-hover: magenta;
}
input[type='number'] {
// 火狐
-moz-appearance: textfield;
}
/* input 类型为 number 时去掉数字加减上下箭头 */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none !important;
appearance: none !important;
}
/* 分页 */
.t-pagination {
.t-is-current {
background: #595a5a;
border-radius: 8px;
line-height: 32px;
}
.t-pagination__number {
border: none;
border-radius: 8px;
&:hover {
color: var(--td-component-border);
}
}
}
/* 表格 */
.t-table {
thead {
tr {
th {
background: var(--theme-color-5) !important;
color: var(--theme-color-18);
}
}
}
tbody {
tr {
td {
background: var(--theme-color-5);
}
&:hover {
td {
background: var(--theme-color-21) !important;
}
}
}
}
}
// form
.t-form {
.t-form__label {
color: var(--theme-color-13);
}
}
.t-dialog {
background: var(--theme-color-29);
}
html {
overflow: hidden;
}
/* 各个页面的padding */
@homepadding:0 100px;
// 部分页面需要固定宽度
@pageWidth: 1300px;
/** 公共前缀 */
@prefix: tdesign-starter;
/* 颜色色板 */
@brand-color-1: var(--td-brand-color-1);
@brand-color-2: var(--td-brand-color-2);
@brand-color-3: var(--td-brand-color-3);
@brand-color-4: var(--td-brand-color-4);
@brand-color-5: var(--td-brand-color-5);
@brand-color-6: var(--td-brand-color-6);
@brand-color-7: var(--td-brand-color-7);
@brand-color-8: var(--td-brand-color-8);
@brand-color-9: var(--td-brand-color-9);
@brand-color-10: var(--td-brand-color-10);
@warning-color-1: var(--td-warning-color-1);
@warning-color-2: var(--td-warning-color-2);
@warning-color-3: var(--td-warning-color-3);
@warning-color-4: var(--td-warning-color-4);
@warning-color-5: var(--td-warning-color-5);
@warning-color-6: var(--td-warning-color-6);
@warning-color-7: var(--td-warning-color-7);
@warning-color-8: var(--td-warning-color-8);
@warning-color-9: var(--td-warning-color-9);
@warning-color-10: var(--td-warning-color-10);
@error-color-1: var(--td-error-color-1);
@error-color-2: var(--td-error-color-2);
@error-color-3: var(--td-error-color-3);
@error-color-4: var(--td-error-color-4);
@error-color-5: var(--td-error-color-5);
@error-color-6: var(--td-error-color-6);
@error-color-7: var(--td-error-color-7);
@error-color-8: var(--td-error-color-8);
@error-color-9: var(--td-error-color-9);
@error-color-10: var(--td-error-color-10);
@success-color-1: var(--td-success-color-1);
@success-color-2: var(--td-success-color-2);
@success-color-3: var(--td-success-color-3);
@success-color-4: var(--td-success-color-4);
@success-color-5: var(--td-success-color-5);
@success-color-6: var(--td-success-color-6);
@success-color-7: var(--td-success-color-7);
@success-color-8: var(--td-success-color-8);
@success-color-9: var(--td-success-color-9);
@success-color-10: var(--td-success-color-10);
@gray-color-1: var(--td-gray-color-1);
@gray-color-2: var(--td-gray-color-2);
@gray-color-3: var(--td-gray-color-3);
@gray-color-4: var(--td-gray-color-4);
@gray-color-5: var(--td-gray-color-5);
@gray-color-6: var(--td-gray-color-6);
@gray-color-7: var(--td-gray-color-7);
@gray-color-8: var(--td-gray-color-8);
@gray-color-9: var(--td-gray-color-9);
@gray-color-10: var(--td-gray-color-10);
@gray-color-11: var(--td-gray-color-11);
@gray-color-12: var(--td-gray-color-12);
@gray-color-13: var(--td-gray-color-13);
@gray-color-14: var(--td-gray-color-14);
/* 文字 & 图标 颜色 */
@font-white-1: var(--td-font-white-1);
@font-white-2: var(--td-font-white-2);
@font-white-3: var(--td-font-white-3);
@font-white-4: var(--td-font-white-4);
@font-gray-1: var(--td-font-gray-1);
@font-gray-2: var(--td-font-gray-2);
@font-gray-3: var(--td-font-gray-3);
@font-gray-4: var(--td-font-gray-4);
/* 基础颜色 */
@brand-color: var(--td-brand-color); // 色彩-品牌-可操作
@warning-color: var(--td-warning-color); // 色彩-功能-警告
@error-color: var(--td-error-color); // 色彩-功能-失败
@success-color: var(--td-success-color); // 色彩-功能-成功
// 基础颜色的扩展 用于 hover / 聚焦 / 禁用 / 点击 等状态
@brand-color-hover: var(--td-brand-color-hover); // hover态
@brand-color-focus: var(--td-brand-color-focus); // focus态,包括鼠标和键盘
@brand-color-active: var(--td-brand-color-active); // 点击态
@brand-color-disabled: var(--td-brand-color-disabled); // 禁用态
@brand-color-light: var(--td-brand-color-light); // 浅色的选中态
// 警告色扩展
@warning-color-hover: var(--td-warning-color-hover);
@warning-color-focus: var(--td-warning-color-focus);
@warning-color-active: var(--td-warning-color-active);
@warning-color-disabled: var(--td-warning-color-disabled);
@warning-color-light: var(--td-warning-color-light);
// 失败/错误色扩展
@error-color-hover: var(--td-error-color-hover);
@error-color-focus: var(--td-error-color-focus);
@error-color-active: var(--td-error-color-active);
@error-color-disabled: var(--td-error-color-disabled);
@error-color-light: var(--td-error-color-light);
// 成功色扩展
@success-color-hover: var(--td-success-color-hover);
@success-color-focus: var(--td-success-color-focus);
@success-color-active: var(--td-success-color-active);
@success-color-disabled: var(--td-success-color-disabled);
@success-color-light: var(--td-success-color-light);
// 遮罩
@mask-active: var(--td-mask-active); // 遮罩-弹出
@mask-disabled: var(--td-mask-disabled); // 遮罩-禁用
// 背景色
@bg-color-page: var(--td-bg-color-page); // 色彩 - page
@bg-color-container: var(--td-bg-color-container); // 色彩 - 容器
@bg-color-container-hover: var(--td-bg-color-container-hover); // 色彩 - 容器 - hover
@bg-color-container-active: var(--td-bg-color-container-active); // 色彩 - 容器 - active
@bg-color-container-select: var(--td-bg-color-container-select); // 色彩 - 容器 - select
@bg-color-secondarycontainer: var(--td-bg-color-secondarycontainer); // 色彩 - 次级容器
@bg-color-secondarycontainer-hover: var(--td-bg-color-secondarycontainer-hover); // 色彩 - 次级容器 - hover
@bg-color-secondarycontainer-active: var(--td-bg-color-secondarycontainer-active); // 色彩 - 次级容器 - active
@bg-color-component: var(--td-bg-color-component); // 色彩 - 组件
@bg-color-component-hover: var(--td-bg-color-component-hover); // 色彩 - 组件 - hover
@bg-color-component-active: var(--td-bg-color-component-active); // 色彩 - 组件 - active
@bg-color-component-disabled: var(--td-bg-color-component-disabled); // 色彩 - 组件 - disabled
// TODO: 考虑是否在组件内部做判断,不增加额外变量
// 特殊组件背景色,目前只用于 button、input 组件多主题场景,浅色主题下固定为白色,深色主题下为 transparent 适配背景颜色
@bg-color-specialcomponent: var(--td-bg-color-specialcomponent);
// 文本颜色
@text-color-primary: var(--td-text-color-primary); // 色彩-文字-主要
@text-color-secondary: var(--td-text-color-secondary); // 色彩-文字-次要
@text-color-placeholder: var(--td-text-color-placeholder); // 色彩-文字-占位符/说明
@text-color-disabled: var(--td-text-color-disabled); // 色彩-文字-禁用
@text-color-anti: var(--td-text-color-anti); // 色彩-文字-反色
@text-color-brand: var(--td-text-color-brand); // 色彩-文字-品牌
@text-color-link: var(--td-text-color-link); // 色彩-文字-链接
// 分割线
@border-level-1-color: var(--td-border-level-1-color);
@component-stroke: var(--td-component-stroke);
// 边框
@border-level-2-color: var(--td-border-level-2-color);
@component-border: var(--td-component-border);
// shadow
// 基础/下层 投影 hover 使用的组件包括:表格 /
@shadow-1: var(--td-shadow-1);
// 中层投影 下拉 使用的组件包括:下拉菜单 / 气泡确认框 / 选择器 /
@shadow-2: var(--td-shadow-2);
// 上层投影(警示/弹窗)使用的组件包括:全局提示 / 消息通知
@shadow-3: var(--td-shadow-3);
// 内投影 用于弹窗类组件(气泡确认框 / 全局提示 / 消息通知)的内描边
@shadow-inset-top: var(--td-shadow-inset-top);
@shadow-inset-right: var(--td-shadow-inset-right);
@shadow-inset-bottom: var(--td-shadow-inset-bottom);
@shadow-inset-left: var(--td-shadow-inset-left);
@shadow-inset: @shadow-inset-top, @shadow-inset-right, @shadow-inset-bottom, @shadow-inset-left;
// 融合阴影
@shadow-2-inset: @shadow-2, @shadow-inset;
@shadow-3-inset: @shadow-3, @shadow-inset;
// Spacer
@spacer: 8px;
@spacer-s: @spacer * 0.5; // 间距-4
@spacer-l: @spacer * 1.5; // 间距-12
@spacer-1: @spacer; // 间距-8
@spacer-2: @spacer * 2; // 间距-16
@spacer-3: @spacer * 3; // 间距-24
@spacer-4: @spacer * 4; // 间距-32
@spacer-5: @spacer * 5; // 间距-大-40
@spacer-6: @spacer * 6; // 间距-大-48
@spacer-7: @spacer * 7; // 间距-大-48
@spacer-8: @spacer * 8; // 间距-大-48
@spacer-9: @spacer * 9; // 间距-大-48
@spacer-10: @spacer * 10; // 间距-大-80
// Font
@font-size: 10px;
@font-size-s: @font-size * 1.2; // 字号-五级字号
@font-size-base: @font-size * 1.4; // 字号-四级字号
@font-size-l: @font-size * 1.6; // 字号-三级字号
@font-size-xl: @font-size * 2; // 字号-二级字号
@font-size-xxl: @font-size * 3.6; // 字号-一级字号
// Line Height
@text-line-height: 1.5; // 行高-常规
@text-line-height-s: 20px; // 行高-对应五级文字
@text-line-height-base: 22px; // 行高-对应四级文字
@text-line-height-l: 24px; // 行高-对应三级文字
@text-line-height-xl: 28px; // 行高-对应二级文字
@text-line-height-xxl: 44px; //行高-对应一级文字
@font-family: PingFang SC, Microsoft YaHei, Arial Regular; // 字体-磅数-常规
@font-family-medium: PingFang SC, Microsoft YaHei, Arial Medium; // 字体-磅数-粗体
// Border Radius
@border-radius: 3px; // 圆角-全局
@border-radius-50: 50%; // 圆角-全圆角
// 表单相关
@form-height: 30px;
@form-text-color: @text-color-primary;
@form-bg-color: @bg-color-container;
@form-border-color: @border-level-2-color;
// 图标尺寸
@icon-default: 16px;
@icon-l: 24px;
// 滚动条颜色
@scrollbar-color: var(--td-scrollbar-color);
// 响应式断点
@screen-sm: 768px;
@screen-md: 992px;
@screen-lg: 1200px;
@screen-xl: 1400px;
@screen-sm-min: @screen-sm;
@screen-md-min: @screen-md;
@screen-lg-min: @screen-lg;
@screen-xl-min: @screen-xl;
@screen-sm-max: (@screen-md-min - 1px);
@screen-md-max: (@screen-lg-min - 1px);
@screen-lg-max: (@screen-xl-min - 1px);
// 动画
@anim-time-fn-easing: cubic-bezier(0.38, 0, 0.24, 1);
@anim-time-fn-ease-out: cubic-bezier(0, 0, 0.15, 1);
@anim-time-fn-ease-in: cubic-bezier(0.82, 0, 1, 0.9);
@anim-duration-base: 0.2s;
@anim-duration-moderate: 0.24s;
@anim-duration-slow: 0.28s;
// 统一管理各组件层级关系
@z-index-affix: 500;
@z-index-drawer: 1500;
@z-index-dialog: 2500;
@z-index-loading: 3500;
@z-index-message: 5000;
@z-index-Popup: 5500;
@z-index-Notification: 6000;
import { getWhatsAppLink } from '@/config/site';
import { MessagePlugin } from 'tdesign-vue-next';
const ContactUs = () => {
const link = getWhatsAppLink();
if (link) {
window.open(link);
} else {
MessagePlugin.closeAll();
MessagePlugin.warning('empty');
}
};
export default ContactUs;
/*
* 组件库按需引入
*/
import {
Layout as TLayout,
Header as THeader,
HeadMenu as THeadMenu,
Content as TContent,
Footer as TFooter,
Button as TButton,
Select as TSelect,
RadioGroup as TRadioGroup,
RadioButton as TRadioButton,
Option as TOption,
Pagination as TPagination,
Table as TTable,
Form as TForm,
Input as TInput,
Switch as TSwitch,
FormItem as TFormItem,
Dialog as TDialog,
Loading as TLoading,
Icon as TIcon,
Checkbox as TCheckbox,
Popup as TPopup,
Progress as TProgress,
Upload as TUpload,
Swiper as TSwiper,
SwiperItem as TSwiperItem,
} from 'tdesign-vue-next';
const components = [
TLayout,
THeader,
THeadMenu,
TContent,
TFooter,
TButton,
TSelect,
TRadioGroup,
TRadioButton,
TOption,
TPagination,
TForm,
TFormItem,
TInput,
TSwitch,
TDialog,
TLoading,
TCheckbox,
TPopup,
TProgress,
TUpload,
TSwiper,
TSwiperItem,
];
// 无法循环挂载的组件--单独拎出来
const oncomponents = [TTable, TIcon];
export default {
install(app) {
components.forEach((component, index) => {
app.component(component.name, component);
});
app.component('t-table', oncomponents[0]);
app.component('t-icon', oncomponents[1]);
},
};
// import Web3 from 'web3';
// import TronWeb from 'tronweb';
// export const WebS = (token) => {
// let web3 = null;
// let newToken = '';
// if (typeof Web3 !== 'undefined') {
// web3 = new Web3(Web3.ethereum);
// }
// try {
// newToken = web3.utils.toChecksumAddress(token);
// } catch (e) {
// newToken = token;
// }
// return newToken;
// };
// // ETH-校验合法地址
// export const isAddress = (address) => {
// let web3 = null;
// if (typeof Web3 !== 'undefined') {
// web3 = new Web3(Web3.ethereum);
// }
// try {
// if (web3.utils.isAddress(address)) {
// return true;
// } else {
// return false;
// }
// } catch (e) {
// console.log(e);
// return false;
// }
// };
// // TRX
// export const TronIsAddress = (address) => {
// const HttpProvider = TronWeb.providers.HttpProvider;
// const fullNode = new HttpProvider('https://api.trongrid.io');
// const solidityNode = new HttpProvider('https://api.trongrid.io');
// const eventServer = new HttpProvider('https://api.trongrid.io');
// const tronWeb = new TronWeb(fullNode, solidityNode, eventServer);
// return tronWeb.isAddress(address);
// };
import request from '@/utils/request';
import store from '@/store';
// 获取cookie
export const getUserCookie = () => {
return store.getters['user/token'];
};
// 获取语言
export const getLanguage = () => {
return store.getters['language/getLang'];
};
// 获取邮箱注册验证码
export const getVerificationCode = (data: any) => {
return request.post('/api/users/register-code', {
...data,
});
};
// 用户余额
export const getUserBalance = (data: any) => {
const token = store.getters['user/token'];
return request.get('/api/users/balance', {
...data,
headers: {
authorization: `Bearer ${token}`,
},
});
};
export const testRequest = () => {
const token = store.getters['user/token'];
return request.get('/api/users/accounts', {});
};
const COLLECT_KEY = 'COLLECTION_LIST';
// export const isCollectionToken = ()=> {
// const res = localStorage.getItem(COLLECT_KEY);
// if(!res){
// return false;
// }
// }
export const getCollectionList = () => {
const res = localStorage.getItem(COLLECT_KEY);
if (!res) {
return false;
}
try {
const tokenList = JSON.parse(res);
if (tokenList === false) {
return [];
}
return tokenList;
} catch (error) {
console.log(error);
return [];
}
};
export const hasSet = (hash) => {
const res = localStorage.getItem(COLLECT_KEY);
if (!res) {
return false;
}
try {
const tokenList = JSON.parse(res);
if (tokenList === false) {
return false;
}
return tokenList.findIndex((item) => item.hash === hash) > -1;
} catch (error) {
return false;
}
};
export const setCollection = (token) => {
const res = localStorage.getItem(COLLECT_KEY);
let list = [];
if (res) {
try {
const tokenList = JSON.parse(res);
list = [...tokenList];
} catch (error) {}
}
if (list.findIndex((item) => item.hash == token.hash) === -1) {
list = [token].concat(list);
localStorage.setItem(COLLECT_KEY, JSON.stringify(list));
}
};
export const deleteCollection = (tokenHash) => {
const res = localStorage.getItem(COLLECT_KEY);
if (res) {
try {
const tokenList = JSON.parse(res);
if (tokenList !== false) {
let index = tokenList.findIndex((item) => (item.hash === tokenHash));
if (index >= 0) {
tokenList.splice(index, 1);
localStorage.setItem(COLLECT_KEY, JSON.stringify(tokenList));
}
}
} catch (error) {}
}
};
import Empty from '@/components/empty';
import Total from '@/components/tableTotal';
export default {
install(app) {
app.component('c-empty', Empty);
app.component('c-total', Total);
},
};
// 获取常用时间
import dayjs from 'dayjs';
export const LAST_7_DAYS = [
dayjs().subtract(7, 'day').format('YYYY-MM-DD'),
dayjs().subtract(1, 'day').format('YYYY-MM-DD'),
];
export const LAST_30_DAYS = [
dayjs().subtract(30, 'day').format('YYYY-MM-DD'),
dayjs().subtract(1, 'day').format('YYYY-MM-DD'),
];
export function zipImg(file: File) {
return new Promise((resolve) => {
if (file && (file.size / 1024 > 500 || file.type !== 'image/gif')) {
let img = new Image();
img.src = URL.createObjectURL(file);
let cvs = document.createElement('canvas');
let maxRatio = 0.75; // 大图比率
let minRatio = 0.8; // 小图比率
let imgQulity = 0.2; // 图像质量
img.onload = async function () {
let ratio = img.naturalWidth > 1000 || img.naturalHeight > 1000 ? maxRatio : minRatio;
cvs.width = img.naturalWidth * ratio;
cvs.height = img.naturalHeight * ratio;
let ctx: any = cvs.getContext('2d');
ctx.drawImage(img, 0, 0, cvs.width, cvs.height);
// 压缩后新图的 base64
let zipBase64 = cvs.toDataURL('image/jpeg', imgQulity);
let name = file.name.split('.')[0];
let add = base642File(zipBase64);
resolve(add);
};
} else {
resolve(file);
}
});
}
// base64转图片
export function dataURLtoFile(dataurl: any, filename: any, mime: any) {
return new Promise((resolve) => {
let arr = dataurl.split(';base64,');
let suffix = mime.split('/')[1];
let bstr = atob(arr[1]);
let n = bstr.length;
let u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
let data = new File([u8arr], `${filename}`, {
type: mime,
});
resolve(data);
});
}
export function base642File(base64: any) {
const arr = base64.split(',');
const mime = arr[0].match(/:(.*?);/)[1];
const bstr = atob(arr[1]);
let n = bstr.length;
const u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: mime });
}
export const initPyqtToWindow = (key: string = '') => {
if (key) {
window[key] = {};
} else {
window.py_event = {};
}
};
// 将pyqt要执行的事件挂载到window
export const injectWindow = (key: string, value: any, parent: string = '') => {
if (parent) {
window[parent][key] = value;
} else {
window.py_event[key] = value;
}
};
import axios from 'axios';
import { store } from '@/store/index';
import { MessagePlugin } from 'tdesign-vue-next';
import router from '@/router';
import i18n from '@/language';
import { show_message } from './tool';
const mode = import.meta.env.MODE;
const getBaseUrl = () => {
if (mode == 'development') {
//
return 'http://43.138.133.103:85';
}
return 'http://43.138.133.103:85';
};
const instance = axios.create({
baseURL: getBaseUrl(),
timeout: 1000,
// withCredentials: mode == 'development' ? false : true,
withCredentials: true,
});
// 请求头
instance.interceptors.request.use((config) => {
return config;
});
instance.defaults.timeout = 60000;
instance.interceptors.response.use(
(response) => {
const { data } = response;
if (data.code === 0) {
return data;
} else {
//@ts-ignore
if (response.config.needCode) {
return data;
} else {
MessagePlugin.closeAll();
MessagePlugin.error(data.msg || i18n.global.t('message.error'));
return Promise.reject(data.msg);
}
}
},
(err) => {
if ('response' in err && err['response']) {
const { message: msg, status_code } = err.response.data;
if (status_code == 403) {
MessagePlugin.closeAll();
// MessagePlugin.warning(i18n.global.t('message.loginInfo'));
router.push({
path: '/login',
});
// 清除cookie
store.commit('user/removeToken');
store.commit('user/removeUserInfo');
store.commit('user/removeBindInfo');
return;
}
MessagePlugin.closeAll();
MessagePlugin.error(msg || i18n.global.t('message.error'));
return err.response;
} else {
// 格式不一致的
let res = err.toJSON();
show_message(res.message, 'error');
}
},
);
export default instance;
import router from '@/router';
export const ToTradePage = (name: string, price: string | number, type: string) => {
let path = `/Trading/${name}`;
router[type]({
path: path,
query: {
price: price,
},
});
};
export const WatchupDownColor = (value: any) => {
try {
if (value) {
if (value[0] === '-') {
// 跌
return 'var(--theme-color-12)';
} else {
return 'var(--theme-color-11)';
}
}
} catch (e) {
console.log(e);
}
};
/*
* @Author: walker.liu
* @Date: 2022-03-07 16:37:46
* @Copyright(C): 2019-2020 ZP Inc. All rights reserved.
*/
import dayjs from 'dayjs';
import { MessagePlugin } from 'tdesign-vue-next';
export const commafy = function (num, fixedNum) {
num = parseFloat(num);
if (fixedNum != 0 && !fixedNum) fixedNum = 2;
if (num || 0 == num) {
num = num.toFixed(fixedNum) + '';
var re = /\d{1,3}(?=(\d{3})+(\.\d*)?$)/g;
num = num.replace(re, '$&,');
return num;
}
return '';
};
export const selectMonthList = function (initMonth = 202203) {
let monthOptions = [
{
label: '最近30天',
value: 30,
},
];
let currentMonth = parseInt(dayjs().format('YYYYMM'));
while (currentMonth > initMonth) {
currentMonth = parseInt(dayjs(String(currentMonth)).subtract(1, 'month').format('YYYYMM'));
monthOptions.push({
label: dayjs(String(currentMonth)).format('YYYY-MM'),
value: currentMonth,
});
}
return monthOptions;
};
/**
* 分转成千分位元展示
* @param {*} value
* @returns
*/
export const thousandthMoney = function (value, unit = '') {
if (value !== '') {
value = (Number(value) / 100000).toFixed(2);
value = String(value);
const match = value.split('.');
const res = match.map((item) => item.replace(/(\d)(?=(\d{3})+$)/g, '$1,')).join('.');
return unit ? unit + res : res;
}
return '';
};
// 转换成美式数字展示---并展示两位小数
export const conversionNum = (value: string, fra: number = 0) => {
let num;
try {
num = parseFloat(value).toFixed(fra);
//先保留两位小数
num = num.toString().replace(/\B(?=(\d{3})+\b)/g, ',');
return num;
} catch (e) {
return value;
}
};
// 去除字符串之间的空格
export const RemoveSpaces = (value: string) => {
let newVal = value.replace(/\s*/g, '');
return newVal;
};
export const parseCoinAmount = function (value) {
let res = '';
if (!value) {
return res;
}
let valueStr = '';
let str = String(value).toLowerCase();
if (str.indexOf('e') >= 1) {
let precision = str.substring(str.indexOf('e') + 2);
valueStr = Number(value).toFixed(~~precision + 3);
} else {
valueStr = value + '';
}
// 大于1时, 展示2位小数
if (value >= 1) {
res = parseFloat(parseFloat(valueStr).toFixed(2)) + '';
} else if (value * 10000 >= 1) {
res = parseFloat(parseFloat(valueStr).toFixed(6)) + '';
} else {
let match = valueStr.match(/\.(\d+?)[1-9]/g);
if (match && match[0]) {
res = '0.0{' + (match[0].length - 2) + '}' + valueStr.substring(match[0].length, match[0].length + 4);
}
}
return res;
};
// 加百分比
export const parsePercent = function (value: string | number, prefix: boolean = false) {
if (value === undefined || value === null) {
return 'N/A';
}
let result = (parseFloat(value + '') * 100).toFixed(1);
let prefixStr = '';
if (prefix) {
prefixStr = value >= 0 ? '+' : '';
return prefixStr + result + '%';
}
return result + '%';
};
export const parseScore = function (value: string | number) {
if (value === undefined || value === null) {
return 'N/A';
}
return parseFloat((~~value / 10).toFixed(2));
};
export const parseUrlQuery = function (url: string) {
const parseResult = url.split('?');
let result = {
path: parseResult[0],
query: {},
};
if (!parseResult[1]) {
return result;
}
const vars = parseResult[1].split('&');
for (var i = 0; i < vars.length; i++) {
const pair = vars[i].split('=');
result.query[pair[0]] = pair[1];
}
return result;
};
//获取元素是否在可视区域
export function isElementInViewport(el) {
let rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right <= (window.innerWidth || document.documentElement.clientWidth)
);
}
export function parseNumberToK(num, fixed = 1) {
if (!num) {
return '0';
}
if (num < 1000) {
return parseFloat(parseFloat(num).toFixed(1));
} else if (num >= 1000 && num < 1000000) {
return parseFloat((num / 1000).toFixed(fixed)) + 'K';
} else {
return parseFloat((num / 1000000).toFixed(fixed)) + 'M';
}
}
//
export const filterEmptyParams = (params) => {
const result = {};
for (const index in params) {
if (
params[index] === undefined ||
params[index] === '' ||
params[index] === null ||
(Array.isArray(params[index]) && params[index].length === 0)
) {
} else {
result[index] = params[index];
}
}
return result;
};
/**
* 函数节流处理
*/
export function throttle(func, delay) {
let timer = null;
let startTime = Date.now();
return function (...args) {
const curTime = Date.now();
const remaining = delay - (curTime - startTime);
const context = this;
clearTimeout(timer);
if (remaining <= 0) {
func.call(context, ...args);
startTime = Date.now();
} else {
timer = setTimeout(() => {
func.call(context, ...args);
}, remaining);
}
};
}
/**
* 防抖--可选择首次是否执行
* @param func -fn
* @param delay -time
* @param Immediate -首次立即执行
* @returns
*/
export function debounce(func, delay, Immediate = false) {
let timer = null;
let closeImmed = null;
let immed = Immediate;
return function (...args) {
const context = this;
if (Immediate) {
if (closeImmed) {
clearTimeout(closeImmed);
}
if (immed) {
func.call(context, ...args);
immed = false;
closeImmed = setTimeout(() => {
immed = true;
}, delay);
return;
}
}
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(() => {
func.call(context, ...args);
immed = true;
}, delay);
};
}
/**
* 科学计数法转换
*/
// 将科学计数法转换成小数
export const scientificToNumber = function (num: number) {
let m: any = num.toExponential().match(/\d(?:\.(\d*))?e([+-]\d+)/);
return num.toFixed(Math.max(0, (m[1] || '').length - m[2]));
};
// 获取k线图价格精度
export const PriceAccuracy = (number: number) => {
let num = number + '';
// 有的数据是科学计数法展示的
let StrValue = num.toString().replace('$', '');
let numLength = 0;
// 判断数据是否有{}
if (StrValue.indexOf('{') !== -1) {
let par = /{(.+?)}/g;
let zeroNum: any = StrValue.match(par);
let ThisZero = zeroNum[0].replace('{', '');
ThisZero = ThisZero.replace('}', '');
if (parseInt(ThisZero) <= 10) {
let newValue = StrValue.replace(zeroNum[0], '');
let newArr: any = newValue.split('.')[1];
// 在小数点后面添0
for (let i = 0; i <= parseInt(ThisZero); i++) {
// 拆分后的
newArr = '0' + newArr;
}
newArr = newArr.match('[0]{0,20}')[0];
numLength = parseInt('1' + newArr) * 100;
}
if (numLength === 0) {
numLength = 10000000000;
}
return numLength;
} else {
// 没有{}的
if (StrValue.indexOf('.') !== -1 && StrValue.indexOf('e') === -1) {
StrValue = StrValue.toString().split('.')[1];
let pat = '[0]{0,20}';
let zeroNum: any = StrValue.match(pat);
StrValue = '1' + zeroNum[0];
} else if (StrValue.indexOf('e') !== -1) {
// 科学计数法
let NewNum = parseFloat(StrValue);
StrValue = scientificToNumber(NewNum);
StrValue = StrValue.toString().split('.')[1];
let pat = '[0]{0,20}';
let zeroNum: any = StrValue.match(pat);
if (zeroNum[0].length <= 10) {
StrValue = '1' + zeroNum[0];
} else if (zeroNum[0].length == 15) {
StrValue = '1' + zeroNum[0] + '0';
return parseInt(StrValue);
} else {
// 最多支持16位小数
return 10000000000000000;
}
} else {
StrValue = '1';
}
return parseInt(StrValue) * 10000;
}
};
// k线图计算当前时间
export const computedTime = (value: string) => {
// 需要返回的时间戳
let FinishTime = null;
// 当前时间
let current = new Date().getTime();
// 当前时间的整分时间
let mm = dayjs(current).format('YYYY-MM-DD HH:mm');
// 当前时间的整时时间
let hh = dayjs(current).format('YYYY-MM-DD HH');
if (value == '1') {
// 上一分钟--ok
FinishTime = dayjs(mm).subtract(1, 'minute').valueOf();
} else if (value === '5') {
// 上五分钟
let current = new Date().getTime();
let Time = parseInt(dayjs(current).format('mm'));
if (Time % 5 == 0) {
FinishTime = dayjs(mm).subtract(5, 'minute').valueOf();
} else {
FinishTime = dayjs(mm)
.subtract(Time % 5, 'minute')
.valueOf();
}
} else if (value == '15') {
// 15分钟的
let current = new Date().getTime();
let Time = parseInt(dayjs(current).format('mm'));
if (Time % 15 == 0) {
FinishTime = dayjs(mm).subtract(15, 'minute').valueOf();
} else {
FinishTime = dayjs(mm)
.subtract(Time % 15, 'minute')
.valueOf();
}
} else if (value == '60') {
// 一小时的
FinishTime = dayjs(hh).valueOf();
} else if (value == '240') {
// 当前的整点时间
let curH = dayjs(current).format('HH');
// 应该减去的时间
let num = parseInt(curH) % 4;
FinishTime = dayjs(hh).subtract(num, 'hour').valueOf(); //ok
} else if (value == '1D') {
// 一天的
let DD = dayjs(current).format('YYYY-MM-DD');
FinishTime = dayjs(DD).valueOf(); // ok
}
return FinishTime;
};
// 右侧详情图标排序,有链接的放前面
export const sortImg = (list: any) => {
let temp = [];
for (let i = 0; i < list.length; i++) {
// 如果没有链接,放最后
if (!list[i]['url']) {
temp.push(list[i]);
} else {
temp.unshift(list[i]);
}
}
return temp;
};
// 过滤两者之间的值--比较number大小
export const filtercriteria = (filter, list) => {
// 解构
const { min, max, filtervalue } = filter;
let newList: any = [];
for (let i = 0; i < list.length; i++) {
if (list[i][filtervalue] >= min && list[i][filtervalue] <= max) {
newList.push(list[i]);
}
}
return newList;
};
/**
* @param key 比较的键
* @param value 比较的值
* @param list 过滤的数组
*/
export const filterIncludeValue = (key: string, value: string | number, list: any) => {
let filterList = list.filter((item: any) => item[key] === value);
return filterList;
};
/**
* 合并去重
* @param list :数据源
* @param newList :新进来的数据
*/
export const filterRepeatTimestamp = (list: any, newList: any) => {
// 需要插入的数据
let NewData: any = [];
for (let i = 0; i < newList.length; i++) {
let index = list.findIndex((item: any) => item.ts === newList[i].ts);
if (index == -1) {
// 没找到重复的
NewData.push(newList[i]);
}
}
return NewData;
};
// 将指定数据列置顶
export const ListSort = (list: any, sortlist: any) => {
let newList = JSON.parse(JSON.stringify(list));
for (let i in sortlist) {
let index = list.findIndex((item: any) => item.num == sortlist[i]);
if (index !== -1) {
// 存在,删除
newList.splice(index, 1);
// 置顶
newList.unshift(list[index]);
}
}
return newList;
};
// 随机获取指定长度的数组
export const getDesignationList = ({ list, num, max, min }: any) => {
let length = list.length;
let new_list: any = [];
let max_list: any = [];
let min_list: any = [];
let type = '';
if (max) {
// 限制最大的数据
max_list = list.filter((item: any) => item.price <= max);
if (max_list.length >= num) {
length = max_list.length;
type = 'num';
}
} else if (min) {
min_list = list.filter((item: any) => item.price >= min);
if (min_list.length >= num) {
length = min_list.length;
type = 'num';
}
}
// 循环指定次数
for (let i = 0; i < num; i++) {
let new_num = Math.floor(Math.random() * length + 1);
if (new_num >= length) {
new_num = length - 1;
}
if (max) {
if (type == 'num') {
new_list.push(max_list[new_num]);
} else {
new_list.push(list[new_num]);
}
} else if (min) {
if (type == 'num') {
new_list.push(min_list[new_num]);
} else {
new_list.push(list[new_num]);
}
} else {
new_list.push(list[new_num]);
}
}
return new_list;
};
// 表格排序--降序
export const TableSort = (list: any, field: string) => {
let minIndex, temp;
for (let i = 0; i < list.length - 1; i++) {
minIndex = i;
for (let j = i + 1; j < list.length; j++) {
if (list[j][field] > list[minIndex][field]) {
minIndex = j;
}
}
temp = list[i];
list[i] = list[minIndex];
list[minIndex] = temp;
}
return list;
};
// 升序
export const TableSortAsc = (list: any, field: string) => {
let maxIndex, temp;
for (let i = 0; i < list.length - 1; i++) {
maxIndex = i;
for (let j = i + 1; j < list.length; j++) {
if (list[j][field] < list[maxIndex][field]) {
maxIndex = j;
}
}
temp = list[i];
list[i] = list[maxIndex];
list[maxIndex] = temp;
}
return list;
};
/**
* 计算最大的值
*/
export const getMaxNum = (list: any, key: string) => {
let max = 0;
list.forEach((item: any) => {
let amount = item[key].replace(',', '');
if (parseFloat(amount) > max) {
max = parseFloat(amount);
}
});
return max;
};
// 判断今天是否为当月指定天数
export const todayOfMonth = (value: number) => {
let today = dayjs().date();
if (today !== value) {
return false;
}
return true;
};
export const show_message = (
value: string,
type: 'warning' | 'success' | 'info' | 'error' = 'warning',
close: boolean = true,
) => {
if (close) {
MessagePlugin.closeAll();
}
if (type == 'warning') {
MessagePlugin.warning(value);
} else if (type == 'success') {
MessagePlugin.success(value);
} else if (type == 'info') {
MessagePlugin.info(value);
} else if (type == 'error') {
MessagePlugin.error(value);
}
// 类型报错-所以用上面的方法
// MessagePlugin[type](value);
};
/*
* @Author: walker.liu
* @Date: 2022-05-24 10:51:56
* @Copyright(C): 2019-2020 ZP Inc. All rights reserved.
*/
import store from '@/store';
import request from '@/utils/request';
import { PriceAccuracy, computedTime } from './tool';
import { TradingviewLanguage } from '@/language/options';
declare const TradingView: any;
/**
* @key Server ding字段 supported_resolutions
*/
// 1min, 5min, 15min, 30min, 60min, 4hour, 1day, 1mon, 1week, 1year
export const intervalMap = {
'1min': '1',
'5min': '5',
'15min': '15',
'30min': '30',
'60min': '60',
'4hour': '240',
'1day': 'D',
'1week': 'W',
'1mon': 'M',
};
/** trading-view 的時間區間 */
export const supportedResolutions = ['1', '5', '15', '30', '60', '240', 'D', 'W', 'M'];
export class DataFeed {
private symbolInfo: any;
private subscribers: any[] = [];
private interval = null;
private TradingList: any[] = [];
private resolution = '1';
// 每个时间段都要给5次重试次数
private RetryTime = {
r1: 0,
r5: 0,
r15: 0,
r60: 0,
r240: 0,
r1D: 0,
};
private KPirce = null;
constructor(symbolInfo: any, timeInterval = 1000) {
this.KPirce = symbolInfo.KPirce;
// 将传过来的多余参数剔除
delete symbolInfo.KPirce;
this.symbolInfo = symbolInfo;
this.intervalGetBars(symbolInfo.ticker, timeInterval);
}
public onReady(onGameLoad) {
new Promise((resolve) => {
resolve(void 0);
}).then(() => {
onGameLoad({
supported_resolutions: supportedResolutions,
});
});
}
public searchSymbols() {}
public resolveSymbol(symbolName, onSymbolResolvedCallback, onResolveErrorCallback) {
new Promise((resolve) => {
resolve(void 0);
}).then(() => {
let PriceNum = 10000000000;
PriceNum = PriceAccuracy(this.KPirce);
store.commit('token/setTradingNewList', {
PriceNum: PriceNum,
});
onSymbolResolvedCallback({
session: '24x7',
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
supported_resolutions: supportedResolutions,
has_intraday: true,
has_daily: true,
// has_no_volume: true,
minmov: 1,
// minmove2:0,
// 最多支持16位小数
pricescale: PriceNum,
...this.symbolInfo,
});
});
}
/**
* 订阅K线数据。图表库将调用onRealtimeCallback方法以更新实时数据
*/
public subscribeBars(
symbolInfo,
resolution: string,
onRealtimeCallback,
subscriberUID: string,
onResetCacheNeededCallback: () => void,
) {
if (this.subscribers[subscriberUID]) {
return;
}
this.resolution = resolution;
this.subscribers[subscriberUID] = {
lastBarTime: null,
listener: onRealtimeCallback,
resolution: resolution,
symbolInfo: symbolInfo,
};
}
/**
* 取消订阅K线数据
*/
public unsubscribeBars(subscriberUID: string) {
if (!this.subscribers[subscriberUID]) {
return;
}
delete this.subscribers[subscriberUID];
}
public updateKLine(bar) {
for (const listenerGuid in this.subscribers) {
const subscriptionRecord = this.subscribers[listenerGuid];
if (subscriptionRecord.lastBarTime !== null && bar.time < subscriptionRecord.lastBarTime) {
continue;
}
subscriptionRecord.lastBarTime = bar.time;
subscriptionRecord.listener(bar);
store.commit('token/setTradingNewList', {
tbname: this.symbolInfo.name,
ts: subscriptionRecord.lastBarTime,
});
store.dispatch('token/computerPrice');
}
}
public async getBars(symbolInfo, resolution, periodParams, onHistoryCallback, onErrorCallback) {
try {
const token = store.getters['user/token'];
let params = {
...periodParams,
resolution,
symbol: symbolInfo.ticker,
};
params.from = params.from * 1000;
params.to = params.to * 1000;
// 是否第一次請求歷史數據
if (periodParams.firstDataRequest) {
// params.to = Date.now();
params.is_first = true;
// 添加limit
params.limit = params.countBack + 50;
delete params.firstDataRequest;
delete params.countBack;
} else {
params.is_first = false;
delete params.firstDataRequest;
// 添加limit
params.limit = params.countBack;
delete params.countBack;
}
request
.get(`/api/currencies/kline`, {
params: params,
headers: {
authorization: `Bearer ${token}`,
},
})
.then((res: any) => {
let result = {
bars: [],
meta: { noData: false },
};
if (res.data.list && res.data.list.length > 0 && this.RetryTime[`r${resolution}`] < 5) {
result.meta.noData = false;
result.bars = res.data.list.map((item) => {
return {
time: item.ts,
open: item.open,
high: item.high,
low: item.low,
close: item.close,
volume: item.volume,
};
});
} else {
if (this.RetryTime[`r${resolution}`] < 5) {
this.RetryTime[`r${resolution}`] += 1;
} else {
result.meta.noData = true;
}
}
this.TradingList = this.TradingList.concat(result.bars);
store.commit('token/setTradingNewList', {
tbname: this.symbolInfo.name,
list: this.TradingList,
});
store.dispatch('token/computerPrice');
onHistoryCallback(result.bars, result.meta);
});
} catch (error) {
onHistoryCallback({
bars: [],
meta: { noData: true },
});
}
}
public intervalGetBars(symbol, timeInterval) {
this.interval = setInterval(() => {
const token = store.getters['user/token'];
let from = computedTime(this.resolution);
let current = new Date().getTime();
let params = {
resolution: this.resolution,
to: current,
// from: current - timeInterval,
from: from ? from : current - timeInterval,
// from: current - 5000,
symbol: symbol,
is_first: false,
limit: 2,
};
request
.get(`/api/currencies/kline`, {
params: params,
headers: {
authorization: `Bearer ${token}`,
},
})
.then((res: any) => {
if (res && res.data.list.length) {
res.data.list.forEach((item) => {
this.updateKLine({
time: item.ts,
open: item.open,
high: item.high,
low: item.low,
close: item.close,
volume: item.volume,
});
});
this.TradingList = this.TradingList.concat(res.data.list);
store.commit('token/setTradingNewList', {
list: this.TradingList,
});
store.dispatch('token/computerPrice');
}
});
}, 5000);
}
public clearIntervalGetBars() {
clearInterval(this.interval);
}
}
export class Widget {
private options: any;
public widget = null;
constructor(options = {}) {
// 主题
const mode = store.getters['setting/mode'];
var d1 = new Date(2009, 0, 1);
var d2 = new Date(2009, 6, 1);
// Asia/Baghdad--(+3)
if (d1.getTimezoneOffset() != d2.getTimezoneOffset()) {
// console.log('夏令时');
} else {
// console.log('非夏令时');
}
this.options = {
// debug: true,
library_path: '/charting_library/',
// 主题
// theme: 'light',
theme: mode,
locale: TradingviewLanguage(),
autosize: !0,
container: 'tv_chart_container',
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
interval: '1',
favorites: {
intervals: ['1', '5', '15', '60', '240', 'D', 'W', 'M'],
chartTypes: ['Candles', 'Line'],
},
// enabled_features: ['study_templates'],
disabled_features: [
'header_symbol_search',
'header_compare',
'header_saveload',
'header_fullscreen_button',
// 禁用本地存储功能
// 'use_localstorage_for_settings',
'save_chart_properties_to_local_storage',
],
overrides: {
// 默认展示的图表
'mainSeriesProperties.style': 1,
// 'mainSeriesProperties.highLowAvgPrice.highLowPriceLinesVisible': true, //高低线值
// 'mainSeriesProperties.highLowAvgPrice.highLowPriceLabelsVisible': true, //高低线名称
// 'mainSeriesProperties.highLowAvgPrice.averageClosePriceLineVisible': true, //均线
// 'mainSeriesProperties.highLowAvgPrice.averageClosePriceLabelVisible': true, //均线
},
// custom_css_url: '/src/style/tradingview.less',
...options,
};
this.initWidget();
}
public initWidget() {
this.widget = window.tvWidget = new TradingView.widget(this.options);
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
module.exports = {
defaultSeverity: 'error',
extends: ['stylelint-config-prettier'],
plugins: ['stylelint-less'],
};
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"moduleResolution": "node",
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"lib": ["esnext", "dom"],
"noEmit": true,
"baseUrl": "./",
"skipLibCheck": true,
"paths": {
"@/*": ["src/*"]
},
"types": [
// 一定要声明
"vite-svg-loader"
]
},
"include": ["**/*.ts", "src/**/*.d.ts", "src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"],
"exclude": ["node_modules", "public", "dist"],
"compileOnSave": false
}
import { getBuildOutName } from './src/config/site';
import { defineConfig } from 'vite';
import { viteMockServe } from 'vite-plugin-mock';
import createVuePlugin from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import svgLoader from 'vite-svg-loader';
import legacy from '@vitejs/plugin-legacy';
import viteCompression from 'vite-plugin-compression';
import path from 'path';
import { visualizer } from 'rollup-plugin-visualizer';
// import importToCDN from 'vite-plugin-cdn-import';
// cdn https://unpkg.com/tdesign-vue-next@0.22.1/dist/tdesign.min.js
// https://unpkg.com/tdesign-vue-next@0.22.1/dist/tdesign.min.css
export default defineConfig(({ command, mode }) => {
// https://m.coinwg.com 测试服务器
// https://tidrk.com/
return {
base: './',
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
},
plugins: [
createVuePlugin(),
vueJsx(),
viteMockServe({
mockPath: 'mock',
localEnabled: true,
}),
svgLoader(),
// 低版本兼容
legacy({
targets: ['defaults', 'not IE 11'],
}),
// viteCompression(),
// 打包体积分析
// visualizer({
// open: true, //注意这里要设置为true,否则无效
// filename: 'stats.html', //分析图生成的文件名
// gzipSize: true, // 收集 gzip 大小并将其显示
// brotliSize: true, // 收集 brotli 大小并将其显示
// }),
// importToCDN({
// modules: [
// {
// name: 'vue',
// var: 'Vue',
// path: 'https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.31/vue.global.prod.min.js',
// },
// {
// name: 'tdesign-vue-next',
// var: 'TDesign',
// path: 'https://unpkg.com/tdesign-vue-next@0.22.1/dist/tdesign.min.js',
// css: 'https://unpkg.com/tdesign-vue-next@0.22.1/dist/tdesign.min.css',
// },
// ],
// }),
],
server: {
port: 3010,
host: '0.0.0.0',
proxy: {
// '/api': api,
},
},
build: {
minify: 'terser', // 混淆器,terser构建后文件体积更小
outDir: getBuildOutName(), //指定输出路径
cssCodeSplit: false, // 如果设置为false,整个项目中的所有 CSS 将被提取到一个 CSS 文件中
terserOptions: {
compress: {
//生产环境时移除console
drop_console: true,
drop_debugger: true,
},
output: {
// 去掉注释内容--false--去掉
comments: false,
},
},
rollupOptions: {
output: {
manualChunks: {
// 拆分代码,这个就是分包,配置完后自动按需加载
vue: ['vue', 'vue-router', 'vuex'],
TdesignNext: ['tdesign-vue-next'],
lodash: ['lodash'],
},
},
},
},
};
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment