dxl 5 months ago
parent f1b2d5ba55
commit 4342ec797a

@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

@ -0,0 +1,9 @@
<!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"><link rel="icon" href="./favicon.ico">
<title>赛界智慧管家后台管理系统</title><link href="./css/app.8ba4db22.css" rel="preload" as="style">
<link href="./css/chunk-vendors.0fdd4e14.css" rel="preload" as="style"><link href="./js/app.c5ed17a5.js" rel="preload" as="script">
<link href="./js/chunk-vendors.66d3be90.js" rel="preload" as="script"><link href="./css/chunk-vendors.0fdd4e14.css" rel="stylesheet">
<link href="./css/app.8ba4db22.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but mas-creator-admin doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app">
</div><script src="./js/chunk-vendors.66d3be90.js"></script><script src="./js/app.c5ed17a5.js"></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

@ -0,0 +1,62 @@
{
"name": "mas-creator-admin",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
"lint": "vue-cli-service lint"
},
"dependencies": {
"axios": "^0.19.2",
"core-js": "^3.4.4",
"echarts": "^4.6.0",
"element-ui": "^2.13.0",
"js-md5": "^0.7.3",
"print-js": "^1.5.0",
"vue": "^2.6.10",
"vue-quill-editor": "^3.0.6",
"vue-amap": "^0.5.10",
"vue-json-excel": "^0.3.0",
"vue-router": "^3.1.5"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^4.1.0",
"@vue/cli-plugin-eslint": "^4.1.0",
"@vue/cli-service": "^4.1.0",
"babel-eslint": "^10.0.3",
"babel-plugin-component": "^1.1.1",
"eslint": "^5.16.0",
"eslint-plugin-vue": "^5.0.0",
"node-sass": "^4.13.1",
"sass-loader": "^8.0.2",
"svg-sprite-loader": "4.1.3",
"svgo": "1.2.2",
"vue-template-compiler": "^2.6.10"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"rules": {
"no-console": "off",
"no-unused-vars": 0,
"no-useless-escape": "off"
},
"parserOptions": {
"parser": "babel-eslint"
}
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8",
"Android >= 4.0"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

@ -0,0 +1,21 @@
<!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">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>后台管理系统</title>
</head>
<body>
<noscript>
<strong>We're sorry but mas-creator-admin doesn't work properly without JavaScript enabled. Please enable it to
continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>

@ -0,0 +1,30 @@
<template>
<div id="app" class="">
<router-view></router-view>
</div>
</template>
<script>
export default {
name: "app",
};
</script>
<style lang="scss">
*{
padding: 0;
margin:0;
}
html,body{
width: 100%;
height: 100%;
}
#app{
height:100%;
}
body {
padding: 0;
margin: 0;
}
</style>

@ -0,0 +1,9 @@
/* 改变主题色变量 */
$--color-primary: #00c292 !default;
$--color-success: #67c23a !default;
$--color-warning: #e6a23c !default;
$--color-danger: #f56c6c !default;
$--color-info: #909399 !default;
/* 改变 icon 字体路径变量,必需 */
$--font-path: '~element-ui/lib/theme-chalk/fonts';
@import "~element-ui/packages/theme-chalk/src/index";

@ -0,0 +1,47 @@
.form-content {
background: #ffffff;
padding: 10px 10px 0 10px;
}
.table-content {
background: #ffffff;
padding: 0 10px;
}
.pagination-content {
margin-top: 10px;
padding-bottom: 10px;
text-align: right;
}
.detail-form-content{
background: #ffffff;
padding: 10px;
.el-input{
min-width: 200px;
max-width: 600px;
}
}
.bg {
position: absolute;
top: 0;
left: 0;
height: 100%;
}
.login-form {
position: absolute;
top: 0;
right: 0;
width: 350px;
height: 100%;
background: #ffffff;
padding: 0 60px;
font-size: 18px;
font-weight: bold;
}
.h1 {
margin-top: 80px;
font-size: 20px;
font-weight: bold;
}
.btn-login {
margin-top: 50px;
width: 100%;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 843 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,43 @@
<template>
<svg :class="svgClass" aria-hidden="true" v-on="$listeners">
<use :xlink:href="iconName" />
</svg>
</template>
<script>
export default {
name: 'SvgIcon',
props: {
iconClass: {
type: String,
required: true
},
className: {
type: String,
default: ''
}
},
computed: {
iconName() {
return `#icon-${this.iconClass}`
},
svgClass() {
if (this.className) {
return 'svg-icon ' + this.className
} else {
return 'svg-icon'
}
}
}
}
</script>
<style scoped>
.svg-icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
</style>

@ -0,0 +1,109 @@
<template>
<el-breadcrumb class="app-breadcrumb" separator="∰" style="height:50px;backgroundColor:rgba(255, 255, 255, 1);borderRadius:10px;padding:0px 20px 0px 20px;boxShadow:0px 0px 0px #f903d4;borderWidth:0px;borderStyle:dotted solid double dashed;borderColor:rgba(40, 36, 36, 1);">
<transition-group name="breadcrumb" class="box" :style="1==1?'justifyContent:flex-start;':1==2?'justifyContent:center;':'justifyContent:flex-end;'">
<el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path">
<span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="no-redirect">{{ item.name }}</span>
<a v-else @click.prevent="handleLink(item)">{{ item.name }}</a>
</el-breadcrumb-item>
</transition-group>
</el-breadcrumb>
</template>
<script>
import pathToRegexp from 'path-to-regexp'
import { generateTitle } from '@/utils/i18n'
export default {
data() {
return {
levelList: null
}
},
watch: {
$route() {
this.getBreadcrumb()
}
},
created() {
this.getBreadcrumb()
this.breadcrumbStyleChange()
},
methods: {
generateTitle,
getBreadcrumb() {
// only show routes with meta.title
let route = this.$route
let matched = route.matched.filter(item => item.meta)
const first = matched[0]
matched = [{ path: '/index' }].concat(matched)
this.levelList = matched.filter(item => item.meta)
},
isDashboard(route) {
const name = route && route.name
if (!name) {
return false
}
return name.trim().toLocaleLowerCase() === 'Index'.toLocaleLowerCase()
},
pathCompile(path) {
// To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561
const { params } = this.$route
var toPath = pathToRegexp.compile(path)
return toPath(params)
},
handleLink(item) {
const { redirect, path } = item
if (redirect) {
this.$router.push(redirect)
return
}
this.$router.push(path)
},
breadcrumbStyleChange(val) {
this.$nextTick(()=>{
document.querySelectorAll('.app-breadcrumb .el-breadcrumb__separator').forEach(el=>{
el.innerText = "∰"
el.style.color = "rgba(255, 0, 0, 1)"
})
document.querySelectorAll('.app-breadcrumb .el-breadcrumb__inner a').forEach(el=>{
el.style.color = "rgba(0, 0, 0, 1)"
})
document.querySelectorAll('.app-breadcrumb .el-breadcrumb__inner .no-redirect').forEach(el=>{
el.style.color = "rgba(255, 0, 0, 1)"
})
let str = "vertical"
if("vertical" === str) {
let headHeight = "80px"
headHeight = parseInt(headHeight) + 10 + 'px'
document.querySelectorAll('.app-breadcrumb').forEach(el=>{
el.style.marginTop = headHeight
})
}
})
},
}
}
</script>
<style lang="scss" scoped>
.app-breadcrumb {
display: block;
font-size: 14px;
line-height: 50px;
.box {
display: flex;
width: 100%;
height: 100%;
justify-content: flex-start;
align-items: center;
}
.no-redirect {
color: #97a8be;
cursor: text;
}
}
</style>

@ -0,0 +1,77 @@
<template>
<el-breadcrumb class="app-breadcrumb" separator="/">
<transition-group name="breadcrumb">
<el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path">
<span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="no-redirect">{{ item.name }}</span>
<a v-else @click.prevent="handleLink(item)">{{ item.name }}</a>
</el-breadcrumb-item>
</transition-group>
</el-breadcrumb>
</template>
<script>
import pathToRegexp from 'path-to-regexp'
import { generateTitle } from '@/utils/i18n'
export default {
data() {
return {
levelList: null
}
},
watch: {
$route() {
this.getBreadcrumb()
}
},
created() {
this.getBreadcrumb()
},
methods: {
generateTitle,
getBreadcrumb() {
// only show routes with meta.title
console.log(this.$route)
let matched = this.$route.matched.filter(item => item.meta)
const first = matched[0]
matched = [{ path: '/index' }].concat(matched)
this.levelList = matched.filter(item => item.meta)
},
isDashboard(route) {
const name = route && route.name
if (!name) {
return false
}
return name.trim().toLocaleLowerCase() === 'Index'.toLocaleLowerCase()
},
pathCompile(path) {
// To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561
const { params } = this.$route
var toPath = pathToRegexp.compile(path)
return toPath(params)
},
handleLink(item) {
const { redirect, path } = item
if (redirect) {
this.$router.push(redirect)
return
}
this.$router.push(path)
}
}
}
</script>
<style lang="scss" scoped>
.app-breadcrumb.el-breadcrumb {
display: inline-block;
font-size: 14px;
line-height: 50px;
margin-left: 8px;
.no-redirect {
color: #97a8be;
cursor: text;
}
}
</style>

@ -0,0 +1,240 @@
<template>
<div>
<!-- 图片上传组件辅助-->
<el-upload
class="avatar-uploader"
:action="getActionUrl"
name="file"
:headers="header"
:show-file-list="false"
:on-success="uploadSuccess"
:on-error="uploadError"
:before-upload="beforeUpload"
></el-upload>
<quill-editor
class="editor"
v-model="value"
ref="myQuillEditor"
:options="editorOption"
@blur="onEditorBlur($event)"
@focus="onEditorFocus($event)"
@change="onEditorChange($event)"
></quill-editor>
</div>
</template>
<script>
//
const toolbarOptions = [
["bold", "italic", "underline", "strike"], // 线 线
["blockquote", "code-block"], //
[{ header: 1 }, { header: 2 }], // 12
[{ list: "ordered" }, { list: "bullet" }], //
[{ script: "sub" }, { script: "super" }], // /
[{ indent: "-1" }, { indent: "+1" }], //
// [{'direction': 'rtl'}], //
[{ size: ["small", false, "large", "huge"] }], //
[{ header: [1, 2, 3, 4, 5, 6, false] }], //
[{ color: [] }, { background: [] }], //
[{ font: [] }], //
[{ align: [] }], //
["clean"], //
["link", "image", "video"] //
];
import { quillEditor } from "vue-quill-editor";
import "quill/dist/quill.core.css";
import "quill/dist/quill.snow.css";
import "quill/dist/quill.bubble.css";
export default {
props: {
/*编辑器的内容*/
value: {
type: String
},
action: {
type: String
},
/*图片大小*/
maxSize: {
type: Number,
default: 4000 //kb
}
},
components: {
quillEditor
},
data() {
return {
content: this.value,
quillUpdateImg: false, // loadingfalse,
editorOption: {
placeholder: "",
theme: "snow", // or 'bubble'
modules: {
toolbar: {
container: toolbarOptions,
// container: "#toolbar",
handlers: {
image: function(value) {
if (value) {
// input
document.querySelector(".avatar-uploader input").click();
} else {
this.quill.format("image", false);
}
}
// link: function(value) {
// if (value) {
// var href = prompt('url');
// this.quill.format("link", href);
// } else {
// this.quill.format("link", false);
// }
// },
}
}
}
},
// serverUrl: `${base.url}sys/storage/uploadSwiper?token=${storage.get('token')}`, //
header: {
// token: sessionStorage.token
'Token': this.$storage.get("Token")
} // token
};
},
computed: {
// getter
getActionUrl: function() {
// return this.$base.url + this.action + "?token=" + this.$storage.get("token");
return `/${this.$base.name}/` + this.action;
}
},
methods: {
onEditorBlur() {
//
},
onEditorFocus() {
//
},
onEditorChange() {
console.log(this.value);
//
this.$emit("input", this.value);
},
//
beforeUpload() {
// loading
this.quillUpdateImg = true;
},
uploadSuccess(res, file) {
// res
//
let quill = this.$refs.myQuillEditor.quill;
//
if (res.code === 0) {
//
let length = quill.getSelection().index;
// res.url
quill.insertEmbed(length, "image", this.$base.url+ "upload/" +res.file);
//
quill.setSelection(length + 1);
} else {
this.$message.error("图片插入失败");
}
// loading
this.quillUpdateImg = false;
},
//
uploadError() {
// loading
this.quillUpdateImg = false;
this.$message.error("图片插入失败");
}
}
};
</script>
<style>
.editor {
line-height: normal !important;
}
.ql-snow .ql-tooltip[data-mode="link"]::before {
content: "请输入链接地址:";
}
.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
border-right: 0px;
content: "保存";
padding-right: 0px;
}
.ql-snow .ql-tooltip[data-mode="video"]::before {
content: "请输入视频地址:";
}
.ql-container {
height: 400px;
}
.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before {
content: "14px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before {
content: "10px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before {
content: "18px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before {
content: "32px";
}
.ql-snow .ql-picker.ql-header .ql-picker-label::before,
.ql-snow .ql-picker.ql-header .ql-picker-item::before {
content: "文本";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
content: "标题1";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
content: "标题2";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
content: "标题3";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
content: "标题4";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
content: "标题5";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
content: "标题6";
}
.ql-snow .ql-picker.ql-font .ql-picker-label::before,
.ql-snow .ql-picker.ql-font .ql-picker-item::before {
content: "标准字体";
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before {
content: "衬线字体";
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before {
content: "等宽字体";
}
</style>

@ -0,0 +1,137 @@
<template>
<div>
<!-- 上传文件组件 -->
<el-upload
ref="upload"
:action="getActionUrl"
list-type="picture-card"
:multiple="multiple"
:limit="limit"
:headers="myHeaders"
:file-list="fileList"
:on-exceed="handleExceed"
:on-preview="handleUploadPreview"
:on-remove="handleRemove"
:on-success="handleUploadSuccess"
:on-error="handleUploadErr"
:before-upload="handleBeforeUpload"
>
<i class="el-icon-plus"></i>
<div slot="tip" class="el-upload__tip" style="color:#838fa1;">{{tip}}</div>
</el-upload>
<el-dialog :visible.sync="dialogVisible" size="tiny" append-to-body>
<img width="100%" :src="dialogImageUrl" alt>
</el-dialog>
</div>
</template>
<script>
import storage from "@/utils/storage";
import base from "@/utils/base";
export default {
data() {
return {
//
dialogVisible: false,
//
dialogImageUrl: "",
//
fileList: [],
fileUrlList: [],
myHeaders:{}
};
},
props: ["tip", "action", "limit", "multiple", "fileUrls"],
mounted() {
this.init();
this.myHeaders= {
'Token':storage.get("Token")
}
},
watch: {
fileUrls: function(val, oldVal) {
// console.log("new: %s, old: %s", val, oldVal);
this.init();
}
},
computed: {
// getter
getActionUrl: function() {
// return base.url + this.action + "?token=" + storage.get("token");
return `/${this.$base.name}/` + this.action;
}
},
methods: {
//
init() {
// console.log(this.fileUrls);
if (this.fileUrls) {
this.fileUrlList = this.fileUrls.split(",");
let fileArray = [];
this.fileUrlList.forEach(function(item, index) {
var url = item;
var name = index;
var file = {
name: name,
url: url
};
fileArray.push(file);
});
this.setFileList(fileArray);
}
},
handleBeforeUpload(file) {
},
//
handleUploadSuccess(res, file, fileList) {
if (res && res.code === 0) {
fileList[fileList.length - 1]["url"] =
this.$base.url + "upload/" + file.response.file;
this.setFileList(fileList);
this.$emit("change", this.fileUrlList.join(","));
} else {
this.$message.error(res.msg);
}
},
//
handleUploadErr(err, file, fileList) {
this.$message.error("文件上传失败");
},
//
handleRemove(file, fileList) {
this.setFileList(fileList);
this.$emit("change", this.fileUrlList.join(","));
},
//
handleUploadPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
//
handleExceed(files, fileList) {
this.$message.warning(`最多上传${this.limit}张图片`);
},
// fileList
setFileList(fileList) {
var fileArray = [];
var fileUrlArray = [];
// token
var token = storage.get("token");
fileList.forEach(function(item, index) {
var url = item.url.split("?")[0];
var name = item.name;
var file = {
name: name,
url: url + "?token=" + token
};
fileArray.push(file);
fileUrlArray.push(url);
});
this.fileList = fileArray;
this.fileUrlList = fileUrlArray;
}
}
};
</script>
<style lang="scss" scoped>
</style>

@ -0,0 +1,60 @@
<template>
<el-card class="box-card">
<div slot="header" class="header">
<span>{{title}}</span>
<span>
<el-tag size="small" :type="titleTag">{{titleUnit}}</el-tag>
</span>
</div>
<div class="content">
{{content}}&nbsp;&nbsp;
<span class="unit">{{contentUnit}}</span>
</div>
<div class="bottom">
<span>{{bottomTitle}}</span>
<span>
{{bottomContent}}
<i :class="bottomIcon"></i>
</span>
</div>
</el-card>
</template>
<script>
export default {
props: [
"title",
"titleTag",
"titleUnit",
"content",
"contentUnit",
"bottomTitle",
"bottomContent",
"bottomIcon"
]
};
</script>
<style lang="scss" scoped>
.box-card {
margin-right: 10px;
.header {
display: flex;
justify-content: space-between;
align-items: center;
}
.content {
font-size: 30px;
font-weight: bold;
color: #666;
text-align: center;
.unit {
font-size: 16px;
}
}
.bottom {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 10px;
}
}
</style>

@ -0,0 +1,126 @@
<template>
<div id="home-chart" style="width:100%;height:400px;"></div>
</template>
<script>
export default {
mounted() {
this.homeChart();
},
methods: {
homeChart() {
// domecharts
var myChart = this.$echarts.init(document.getElementById("home-chart"));
//
var option = {
tooltip: {
trigger: "axis"
},
legend: {
data: ["访问量", "用户量", "收入"]
},
grid: {
left: "3%",
right: "4%",
bottom: "3%",
containLabel: true
},
xAxis: {
type: "category",
boundaryGap: false,
data: [
"1月",
"2月",
"3月",
"4月",
"5月",
"6月",
"7月",
"8月",
"9月",
"10月",
"11月",
"12月"
]
},
yAxis: {
type: "value"
},
series: [
{
name: "访问量",
type: "line",
stack: "总量",
data: [
120,
132,
101,
134,
90,
230,
210,
120,
132,
101,
134,
90,
230
]
},
{
name: "用户量",
type: "line",
stack: "总量",
data: [
220,
182,
191,
234,
290,
330,
310,
182,
191,
234,
290,
330,
310
]
},
{
name: "收入",
type: "line",
stack: "总量",
data: [
150,
232,
201,
154,
190,
330,
410,
232,
201,
154,
190,
330,
410
]
}
]
};
// // 使
myChart.setOption(option);
//
window.onresize = function() {
myChart.resize();
};
}
}
};
</script>
<style lang="scss" scoped>
#home-chart {
background: #ffffff;
padding: 20px 0;
}
</style>

@ -0,0 +1,101 @@
<template>
<div class="home-comment">
<div class="title">用户留言</div>
<div class="comment-list">
<div v-for="(item,index) in list" v-bind:key="index" class="comment-item">
<div class="user-content">
<el-image
class="avator"
:src="item.avator"
></el-image>
<span class="user">{{item.name}}</span>
</div>
<div class="comment">{{item.content}}</div>
<div class="create-time">{{item.createTime}}</div>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
list: [
{
name: "MaskLin",
avator:
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
content:
"你以为只要长得漂亮就有男生喜欢?你以为只要有了钱漂亮妹子就自己贴上来了?你以为学霸就能找到好工作?我告诉你吧,这些都是真的!",
createTime: "5月02日 00:00"
},
{
name: "MaskLin",
avator:
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
content: "作者太帅了",
createTime: "5月04日 00:00"
},
{
name: "MaskLin",
avator:
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
content: "作者太帅了",
createTime: "5月04日 00:00"
},
{
name: "MaskLin",
avator: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
content: "作者太帅了",
createTime: "5月04日 00:00"
}
]
};
}
};
</script>
<style lang="scss" scoped>
.home-comment {
background: #ffffff;
.title {
font-size: 18px;
color: #666;
font-weight: bold;
padding: 10px;
border-bottom: 1px solid #eeeeee;
}
.comment-list {
padding: 10px;
.comment-item {
padding: 10px;
border-bottom: 1px solid #eeeeee;
.user-content {
display: flex;
align-items: center;
.user {
font-size: 18px;
color: #666;
font-weight: bold;
line-height: 50px;
margin-left: 10px;
}
.avator {
width: 50px;
height: 50px;
border-radius: 50%;
}
}
.comment {
margin-top: 10px;
font-size: 14px;
color: #888888;
}
.create-time {
margin-top: 15px;
font-size: 14px;
color: #888888;
}
}
}
}
</style>

@ -0,0 +1,55 @@
<template>
<div class="home-progress">
<div class="title">月访问量</div>
<div class="tip">同上期增长</div>
<el-progress
class="progress"
:text-inside="true"
:stroke-width="24"
:percentage="20"
status="success"
></el-progress>
<div class="title">月用户量</div>
<div class="tip">同上期增长</div>
<el-progress
class="progress"
:text-inside="true"
:stroke-width="24"
:percentage="50"
status="success"
></el-progress>
<div class="title">月收入</div>
<div class="tip">同上期减少</div>
<el-progress
class="progress"
:text-inside="true"
:stroke-width="24"
:percentage="28"
status="exception"
></el-progress>
</div>
</template>
<script>
export default {};
</script>
<style lang="scss">
.home-progress {
background: #ffffff;
height: 400px;
padding: 20px;
.title {
color: #666666;
font-weight: bold;
font-size: 20px;
margin-top: 10px;
}
.tip {
color: #888888;
font-size: 16px;
margin-top: 10px;
}
.progress {
margin-top: 10px;
}
}
</style>

@ -0,0 +1,56 @@
<template>
<el-aside class="index-aside" width="200px">
<div class="index-aside-inner">
<el-menu default-active="1">
<el-menu-item @click="menuHandler('/')" index="1">
<!-- <i class="el-icon-s-home"></i> -->
首页
</el-menu-item>
<sub-menu
v-for="menu in menuList"
:key="menu.menuId"
:menu="menu"
:dynamicMenuRoutes="dynamicMenuRoutes"
></sub-menu>
</el-menu>
</div>
</el-aside>
</template>
<script>
import SubMenu from "@/components/index/IndexAsideSub";
export default {
data() {
return {
menuList: [],
dynamicMenuRoutes: []
};
},
components: {
SubMenu
},
mounted() {
//
this.menuList = JSON.parse(sessionStorage.getItem("menuList") || "[]");
this.dynamicMenuRoutes = JSON.parse(
sessionStorage.getItem("dynamicMenuRoutes") || "[]"
);
},
methods: {
menuHandler(path) {
this.$router.push({ path: path });
}
}
};
</script>
<style lang="scss" scoped>
.index-aside {
margin-top: 80px;
overflow: hidden;
.index-aside-inner {
width: 217px;
height: 100%;
overflow-y: scroll;
}
}
</style>

@ -0,0 +1,240 @@
<template>
<el-aside class="index-aside" height="100vh" width="260px">
<div class="index-aside-inner menulist" style="height:100%">
<div v-for="item in menuList" :key="item.roleName" v-if="role==item.roleName" class="menulist-item" style="height:100%;broder:0;background-color:#304156">
<div class="menulistImg" style="backgroundColor:#ff0000;padding:25px 0" v-if="false && menulistStyle == 'vertical'">
<el-image v-if="''" src="" fit="cover" />
</div>
<el-menu mode="vertical" :unique-opened="true" class="el-menu-demo" style="height:100%;" background-color="#304156" text-color="#ffffff" active-text-color="#FFFFFF" default-active="0">
<el-menu-item index="0" :style="menulistBorderBottom" @click="menuHandler('')"><i v-if="true" class="el-icon-s-home" />首页</el-menu-item>
<el-submenu :index="1+''" :style="menulistBorderBottom">
<template slot="title">
<i v-if="true" class="el-icon-user-solid" />
<span>个人中心</span>
</template>
<el-menu-item :index="1-1" @click="menuHandler('updatePassword')"></el-menu-item>
<el-menu-item :index="1-2" @click="menuHandler('center')"></el-menu-item>
</el-submenu>
<el-submenu :style="menulistBorderBottom" v-for=" (menu,index) in item.backMenu" :key="menu.menu" :index="index+2+''">
<template slot="title">
<i v-if="true" :class="icons[index]" />
<span>{{ menu.menu }}</span>
</template>
<el-menu-item v-for=" (child,sort) in menu.child" :key="sort" :index="(index+2)+'-'+sort" @click="menuHandler(child.tableName)">{{ child.menu }}</el-menu-item>
</el-submenu>
</el-menu>
</div>
</div>
</el-aside>
</template>
<script>
import menu from '@/utils/menu'
export default {
data() {
return {
menuList: [],
dynamicMenuRoutes: [],
role: '',
icons: [
'el-icon-s-cooperation',
'el-icon-s-order',
'el-icon-s-platform',
'el-icon-s-fold',
'el-icon-s-unfold',
'el-icon-s-operation',
'el-icon-s-promotion',
'el-icon-s-release',
'el-icon-s-ticket',
'el-icon-s-management',
'el-icon-s-open',
'el-icon-s-shop',
'el-icon-s-marketing',
'el-icon-s-flag',
'el-icon-s-comment',
'el-icon-s-finance',
'el-icon-s-claim',
'el-icon-s-custom',
'el-icon-s-opportunity',
'el-icon-s-data',
'el-icon-s-check',
'el-icon-s-grid',
'el-icon-menu',
'el-icon-chat-dot-square',
'el-icon-message',
'el-icon-postcard',
'el-icon-position',
'el-icon-microphone',
'el-icon-close-notification',
'el-icon-bangzhu',
'el-icon-time',
'el-icon-odometer',
'el-icon-crop',
'el-icon-aim',
'el-icon-switch-button',
'el-icon-full-screen',
'el-icon-copy-document',
'el-icon-mic',
'el-icon-stopwatch',
],
menulistStyle: 'vertical',
menulistBorderBottom: {},
}
},
mounted() {
const menus = menu.list()
this.menuList = menus
this.role = this.$storage.get('role')
},
created(){
setTimeout(()=>{
this.menulistStyleChange()
},10)
this.icons.sort(()=>{
return (0.5-Math.random())
})
this.lineBorder()
},
methods: {
lineBorder() {
let style = 'vertical'
let w = '0'
let s = 'solid'
let c = '${template.back.menulist.menulistLineColor}'
if(style == 'vertical') {
this.menulistBorderBottom = {
borderBottomWidth: w,
borderBottomStyle: s,
borderBottomColor: c
}
} else {
this.menulistBorderBottom = {
borderRightWidth: w,
borderRightStyle: s,
borderRightColor: c
}
}
},
menuHandler(name) {
let router = this.$router
name = '/'+name
router.push(name)
},
//
setMenulistHoverColor(){
let that = this
this.$nextTick(()=>{
document.querySelectorAll('.menulist .el-menu-item').forEach(el=>{
el.addEventListener("mouseenter", e => {
e.stopPropagation()
el.style.backgroundColor = "rgba(24, 144, 255, 1)"
})
el.addEventListener("mouseleave", e => {
e.stopPropagation()
el.style.backgroundColor = "#304156"
})
el.addEventListener("focus", e => {
e.stopPropagation()
el.style.backgroundColor = "rgba(24, 144, 255, 1)"
})
})
document.querySelectorAll('.menulist .el-submenu__title').forEach(el=>{
el.addEventListener("mouseenter", e => {
e.stopPropagation()
el.style.backgroundColor = "rgba(24, 144, 255, 1)"
})
el.addEventListener("mouseleave", e => {
e.stopPropagation()
el.style.backgroundColor = "#304156"
})
})
})
},
setMenulistIconColor() {
this.$nextTick(()=>{
document.querySelectorAll('.menulist .el-submenu__title .el-submenu__icon-arrow').forEach(el=>{
el.style.color = "rgba(153, 153, 153, 1)"
})
})
},
menulistStyleChange() {
this.setMenulistIconColor()
this.setMenulistHoverColor()
this.setMenulistStyleHeightChange()
let str = "vertical"
if("horizontal" === str) {
this.$nextTick(()=>{
document.querySelectorAll('.el-container .el-container').forEach(el=>{
el.style.display = "block"
el.style.paddingTop = "80px" // header
})
document.querySelectorAll('.el-aside').forEach(el=>{
el.style.width = "100%"
el.style.height = "60px"
el.style.paddingTop = '0'
})
document.querySelectorAll('.index-aside .index-aside-inner').forEach(el=>{
el.style.paddingTop = '0'
})
})
}
if("vertical" === str) {
this.$nextTick(()=>{
document.querySelectorAll('.index-aside .index-aside-inner').forEach(el=>{
el.style.paddingTop = "80px"
})
})
}
},
setMenulistStyleHeightChange() {
this.$nextTick(()=>{
document.querySelectorAll('.menulist-item>.el-menu--horizontal>.el-menu-item').forEach(el=>{
el.style.height = "60px"
el.style.lineHeight = "60px"
})
document.querySelectorAll('.menulist-item>.el-menu--horizontal>.el-submenu>.el-submenu__title').forEach(el=>{
el.style.height = "60px"
el.style.lineHeight = "60px"
})
})
},
}
}
</script>
<style lang="scss" scoped>
.index-aside {
position: relative;
overflow: hidden;
.menulistImg {
padding: 24px 0;
box-sizing: border-box;
.el-image {
margin: 0 auto;
width: 100px;
height: 100px;
border-radius: 100%;
display: block;
}
}
.index-aside-inner {
height: 100%;
margin-right: -17px;
margin-bottom: -17px;
overflow: scroll;
overflow-x: hidden !important;
padding-top: 60px;
box-sizing: border-box;
&:focus {
outline: none;
}
.el-menu {
border: 0;
}
}
}
</style>

@ -0,0 +1,76 @@
<template>
<el-aside class="index-aside" width="200px">
<div class="index-aside-inner">
<div v-for="item in menuList" v-bind:key="item.roleName">
<el-menu
background-color="#263238"
text-color="#fff"
active-text-color="#ffd04b"
default-active="0"
v-if="role==item.roleName"
>
<el-menu-item @click="menuHandler('home')" index="0">首页</el-menu-item>
<el-submenu
:index="1+''"
>
<template slot="title">
<span>个人中心</span>
</template>
<el-menu-item
@click="menuHandler('updatePassword')"
:index="1-1"
>修改密码</el-menu-item>
<el-menu-item
@click="menuHandler('center')"
:index="1-2"
>个人信息</el-menu-item>
</el-submenu>
<el-submenu
v-for=" (menu,index) in item.backMenu"
v-bind:key="menu.menu"
:index="index+2+''"
>
<template slot="title">
<span>{{menu.menu}}</span>
</template>
<el-menu-item
v-for=" (child,sort) in menu.child"
v-bind:key="sort"
@click="menuHandler(child.tableName)"
:index="(index+2)+'-'+sort"
>{{child.menu}}</el-menu-item>
</el-submenu>
</el-menu>
</div>
</div>
</el-aside>
</template>
<script>
import menu from "@/utils/menu";
export default {
data() {
return {
menuList: [],
dynamicMenuRoutes: [],
role: ""
};
},
mounted() {
let menus = menu.list();
this.menuList = menus;
this.role = this.$storage.get("role");
console.log(this.menuList)
console.log(this.role)
},
methods: {
menuHandler(name) {
this.$router.push({
name: name
});
}
}
};
</script>
<style lang="scss" scoped>
</style>

@ -0,0 +1,51 @@
<template>
<el-submenu v-if="menu.list && menu.list.length >= 1" :index="menu.menuId + ''">
<template slot="title">
<span>{{ menu.name }}</span>
</template>
<sub-menu
v-for="item in menu.list"
:key="item.menuId"
:menu="item"
:dynamicMenuRoutes="dynamicMenuRoutes"
></sub-menu>
</el-submenu>
<el-menu-item v-else :index="menu.menuId + ''" @click="gotoRouteHandle(menu)">
<span>{{ menu.name }}</span>
</el-menu-item>
</template>
<script>
import SubMenu from "./IndexAsideSub";
export default {
name: "sub-menu",
props: {
menu: {
type: Object,
required: true
},
dynamicMenuRoutes: {
type: Array,
required: true
}
},
components: {
SubMenu
},
methods: {
// menuId()
gotoRouteHandle(menu) {
var route = this.dynamicMenuRoutes.filter(
item => item.meta.menuId === menu.menuId
);
if (route.length >= 1) {
if (route[0].component != null) {
this.$router.replace({ name: route[0].name });
} else {
this.$router.push({ name: "404" });
}
}
}
}
};
</script>

@ -0,0 +1,184 @@
<template>
<!-- <el-header>
<el-menu background-color="#00c292" text-color="#FFFFFF" active-text-color="#FFFFFF" mode="horizontal">
<div class="fl title">{{this.$project.projectName}}</div>
<div class="fr logout" style="display:flex;">
<el-menu-item index="3">
<div>{{this.$storage.get('role')}} {{this.$storage.get('adminName')}}</div>
</el-menu-item>
<el-menu-item @click="onLogout" index="2">
<div>退出登录</div>
</el-menu-item>
</div>
</el-menu>
</el-header> -->
<div class="navbar" :style="{backgroundColor:heads.headBgColor,height:heads.headHeight,boxShadow:heads.headBoxShadow,lineHeight:heads.headHeight}">
<div class="title-menu" :style="{justifyContent:heads.headTitleStyle=='1'?'flex-start':'center'}">
<el-image v-if="heads.headTitleImg" class="title-img" :style="{width:heads.headTitleImgWidth,height:heads.headTitleImgHeight,boxShadow:heads.headTitleImgBoxShadow,borderRadius:heads.headTitleImgBorderRadius}" :src="heads.headTitleImgUrl" fit="cover"></el-image>
<div class="title-name" :style="{color:heads.headFontColor,fontSize:heads.headFontSize}">{{this.$project.projectName}}</div>
</div>
<div class="right-menu">
<div class="user-info" :style="{color:heads.headUserInfoFontColor,fontSize:heads.headUserInfoFontSize}">{{this.$storage.get('role')}} {{this.$storage.get('adminName')}}</div>
<div class="logout" :style="{color:heads.headLogoutFontColor,fontSize:heads.headLogoutFontSize}" @click="onIndexTap">退</div>
<div class="logout" :style="{color:heads.headLogoutFontColor,fontSize:heads.headLogoutFontSize}" @click="onLogout">退</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
ruleForm: {},
user: {},
heads: {"headLogoutFontHoverColor":"#fff","headFontSize":"20px","headUserInfoFontColor":"rgba(255, 255, 255, 1)","headBoxShadow":"0 10px 0px rgba(13, 142, 235, 1)","headTitleImgHeight":"44px","headLogoutFontHoverBgColor":"rgba(213, 17, 17, 1)","headFontColor":"rgba(255, 255, 255, 1)","headTitleImg":false,"headHeight":"80px","headTitleImgBorderRadius":"22px","headTitleImgUrl":"","headBgColor":"#2B3C4F","headTitleImgBoxShadow":"0 1px 6px #444","headLogoutFontColor":"rgba(255, 255, 255, 1)","headUserInfoFontSize":"16px","headTitleImgWidth":"44px","headTitleStyle":"1","headLogoutFontSize":"16px"},
};
},
created() {
this.setHeaderStyle()
},
mounted() {
let sessionTable = this.$storage.get("sessionTable")
this.$http({
url: sessionTable + '/session',
method: "get"
}).then(({
data
}) => {
if (data && data.code === 0) {
this.user = data.data;
} else {
let message = this.$message
message.error(data.msg);
}
});
},
methods: {
onLogout() {
let storage = this.$storage
let router = this.$router
storage.remove("Token");
router.replace({
name: "login"
});
},
onIndexTap(){
window.location.href = `${this.$base.indexUrl}`
},
setHeaderStyle() {
this.$nextTick(()=>{
document.querySelectorAll('.navbar .right-menu .logout').forEach(el=>{
el.addEventListener("mouseenter", e => {
e.stopPropagation()
el.style.backgroundColor = this.heads.headLogoutFontHoverBgColor
el.style.color = this.heads.headLogoutFontHoverColor
})
el.addEventListener("mouseleave", e => {
e.stopPropagation()
el.style.backgroundColor = "transparent"
el.style.color = this.heads.headLogoutFontColor
})
})
})
},
}
};
</script>
<style lang="scss" scoped>
.navbar {
height: 60px;
line-height: 60px;
width: 100%;
padding: 0 34px;
box-sizing: border-box;
background-color: #ff00ff;
position: relative;
z-index: 111;
.right-menu {
position: absolute;
right: 34px;
top: 0;
height: 100%;
display: flex;
justify-content: flex-end;
align-items: center;
z-index: 111;
.user-info {
font-size: 16px;
color: red;
padding: 0 12px;
}
.logout {
font-size: 16px;
color: red;
padding: 0 12px;
cursor: pointer;
}
}
.title-menu {
display: flex;
justify-content: flex-start;
align-items: center;
width: 100%;
height: 100%;
.title-img {
width: 44px;
height: 44px;
border-radius: 22px;
box-shadow: 0 1px 6px #444;
margin-right: 16px;
}
.title-name {
font-size: 24px;
color: #fff;
font-weight: 700;
}
}
}
// .el-header .fr {
// float: right;
// }
// .el-header .fl {
// float: left;
// }
// .el-header {
// width: 100%;
// color: #333;
// text-align: center;
// line-height: 60px;
// padding: 0;
// z-index: 99;
// }
// .logo {
// width: 60px;
// height: 60px;
// margin-left: 70px;
// }
// .avator {
// width: 40px;
// height: 40px;
// background: #ffffff;
// border-radius: 50%;
// }
// .title {
// color: #ffffff;
// font-size: 20px;
// font-weight: bold;
// margin-left: 20px;
// }
</style>

@ -0,0 +1,89 @@
<template>
<el-header>
<el-menu background-color="#00c292" text-color="#FFFFFF" active-text-color="#FFFFFF" mode="horizontal">
<div class="fl title">{{this.$project.projectName}}</div>
<div class="fr logout" style="display:flex;">
<el-menu-item index="3">
<div>{{this.$storage.get('role')}} {{this.$storage.get('adminName')}}</div>
</el-menu-item>
<el-menu-item @click="onLogout" index="2">
<div>退出登录</div>
</el-menu-item>
</div>
</el-menu>
</el-header>
</template>
<script>
export default {
data() {
return {
dialogVisible: false,
ruleForm: {},
user: {}
};
},
mounted() {
this.$http({
url: `${this.$storage.get("sessionTable")}/session`,
method: "get"
}).then(({
data
}) => {
if (data && data.code === 0) {
this.user = data.data;
} else {
this.$message.error(data.msg);
}
});
},
methods: {
onLogout() {
this.$storage.remove("Token");
this.$router.replace({
name: "login"
});
}
}
};
</script>
<style lang="scss" scoped>
.el-header .fr {
float: right;
}
.el-header .fl {
float: left;
}
.el-header {
width: 100%;
color: #333;
text-align: center;
line-height: 60px;
padding: 0;
z-index: 99;
}
.logo {
width: 60px;
height: 60px;
margin-left: 70px;
}
.avator {
width: 40px;
height: 40px;
background: #ffffff;
border-radius: 50%;
}
.title {
color: #ffffff;
font-size: 20px;
font-weight: bold;
margin-left: 20px;
}
</style>

@ -0,0 +1,124 @@
<template>
<el-main>
<bread-crumbs :title="title" class="bread-crumbs"></bread-crumbs>
<router-view class="router-view"></router-view>
</el-main>
</template>
<script>
import menu from "@/utils/menu";
export default {
data() {
return {
menuList: [],
role: "",
currentIndex: -2,
itemMenu: [],
title: ''
};
},
mounted() {
let menus = menu.list();
this.menuList = menus;
this.role = this.$storage.get("role");
},
methods: {
menuHandler(menu) {
this.$router.push({
name: menu.tableName
});
this.title = menu.menu;
},
titleChange(index, menus) {
this.currentIndex = index
this.itemMenu = menus;
console.log(menus);
},
homeChange(index) {
this.itemMenu = [];
this.title = ""
this.currentIndex = index
this.$router.push({
name: 'home'
});
},
centerChange(index) {
this.itemMenu = [{
"buttons": ["新增", "查看", "修改", "删除"],
"menu": "修改密码",
"tableName": "updatePassword"
}, {
"buttons": ["新增", "查看", "修改", "删除"],
"menu": "个人信息",
"tableName": "center"
}];
this.title = ""
this.currentIndex = index
this.$router.push({
name: 'home'
});
}
}
};
</script>
<style lang="scss" scoped>
a {
text-decoration: none;
color: #555;
}
a:hover {
background: #00c292;
}
.nav-list {
width: 100%;
margin: 0 auto;
text-align: left;
margin-top: 20px;
.nav-title {
display: inline-block;
font-size: 15px;
color: #333;
padding: 15px 25px;
border: none;
}
.nav-title.active {
color: #555;
cursor: default;
background-color: #fff;
}
}
.nav-item {
margin-top: 20px;
background: #FFFFFF;
padding: 15px 0;
.menu {
padding: 15px 25px;
}
}
.el-main {
background-color: #F6F8FA;
padding: 0 24px;
// padding-top: 60px;
}
.router-view {
padding: 10px;
margin-top: 10px;
background: #FFFFFF;
box-sizing: border-box;
}
.bread-crumbs {
width: 100%;
// border-bottom: 1px solid #e9eef3;
// border-top: 1px solid #e9eef3;
margin-top: 10px;
box-sizing: border-box;
}
</style>

@ -0,0 +1,9 @@
import Vue from 'vue'
import SvgIcon from '@/components/SvgIcon'// svg component
// register globally
Vue.component('svg-icon', SvgIcon)
const req = require.context('./svg/svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys().map(requireContext)
requireAll(req)

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M931.6 585.6v79c28.6-60.2 44.8-127.4 44.8-198.4C976.4 211 769.4 4 514.2 4S52 211 52 466.2c0 3.2.2 6.4.2 9.6l166-206h96.4L171.8 485.6h46.4v-54.8l99.2-154.6V668h-99.2v-82.4H67.6c43 161 170.6 287.4 332.4 328.6-10.4 26.2-40.6 89.4-90.8 100.6-62.2 14 168.8 3.4 333.6-104.6C769.4 873.6 873.6 784.4 930.2 668h-97.6v-82.4H666.4V476l166.2-206.2h94L786.2 485.6h46.4v-59l99.2-154v313zM366.2 608c-4.8-11.2-7.2-23.2-7.2-36V357.6c0-12.8 2.4-24.8 7.2-36 4.8-11.2 11.4-21 19.6-29.2 8.2-8.2 18-14.8 29.2-19.6 11.2-4.8 23.2-7.2 36-7.2h81.6c12.8 0 24.8 2.4 36 7.2 11 4.8 20.6 11.2 28.8 19.2l-88.6 129.4v-23c0-4.8-1.6-8.8-4.8-12-3.2-3.2-7.2-4.8-12-4.8s-8.8 1.6-12 4.8c-3.2 3.2-4.8 7.2-4.8 12v72L372.6 620c-2.4-3.8-4.6-7.8-6.4-12zm258.2-36c0 12.8-2.4 24.8-7.2 36-4.8 11.2-11.4 21-19.6 29.2-8.2 8.2-18 14.8-29.2 19.6-11.2 4.8-23.2 7.2-36 7.2h-81.6c-12.8 0-24.8-2.4-36-7.2-11.2-4.8-21-11.4-29.2-19.6-3.6-3.6-7-7.8-10-12l99.2-144.6v50.6c0 4.8 1.6 8.8 4.8 12 3.2 3.2 7.2 4.8 12 4.8s8.8-1.6 12-4.8c3.2-3.2 4.8-7.2 4.8-12v-99.6L601 296.4c6.6 7.4 12 15.8 16 25.2 4.8 11.2 7.2 23.2 7.2 36V572z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M320.158 564.399c-.66.88-1.319 1.786-1.62 2.886L267.34 761.32c-2.97 11.302.083 23.481 8.167 32.06 6.049 6.104 14.02 9.459 22.518 9.459 2.804 0 5.607-.33 8.358-1.1l186.336-52.545c.303 0 .44.275.66.275 2.145 0 4.263-.798 5.829-2.501l498.274-515.073c14.792-15.314 22.903-36.184 22.903-58.896 0-25.736-10.56-51.444-29.035-70.526l-47.045-48.721C925.829 34.644 900.917 23.7 876.06 23.7c-21.968 0-42.149 8.387-56.997 23.673L320.9 562.61c-.523.496-.384 1.212-.743 1.79m628.548-382.96l-49.493 51.14-80.203-84.272 48.774-50.427c7.699-8.029 22.658-6.846 31.511 2.338l47.101 48.721c4.894 5.087 7.696 11.823 7.696 18.505-.026 5.472-1.894 10.448-5.386 13.995M408.749 572.48l359.528-371.738 80.287 84.33-358.87 371.021-80.945-83.613zm-65.494 150.73l25.984-98.6 69.315 71.654-95.299 26.946zM980.27 385.566c-18.863 0-34.316 15.866-34.398 35.635V901.41c0 25.186-19.771 45.642-44.159 45.642H116.005c-24.361 0-44.213-20.458-44.213-45.642V117.596c0-25.213 19.852-45.67 44.213-45.67H622.03c18.972 0 34.37-15.946 34.37-35.55C656.402 16.8 641.006.85 622.032.85H110.753C51.39.85 3.054 50.783 3.054 112.208v794.644c0 61.425 48.337 111.33 107.699 111.33H906.91c59.418 0 107.7-49.905 107.7-111.33v-485.9c-.056-19.52-15.48-35.386-34.341-35.386"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M969.143 548.571q0 14.848-10.862 25.71t-25.71 10.862h-128q0 97.719-38.29 165.705L885.138 870.29Q896 881.152 896 896t-10.862 25.71q-10.276 10.861-25.71 10.861t-25.71-10.861l-113.15-112.567q-2.853 2.852-8.558 7.424t-23.99 16.274-37.157 20.846-46.848 16.567-55.443 7.424v-512H475.43v512q-29.148 0-58.003-7.717t-49.7-18.87-37.705-22.273-24.869-18.578l-8.558-8.01-104.557 118.273q-11.447 11.995-27.429 11.995-13.714 0-24.576-9.143-10.862-10.276-11.703-25.417t8.85-26.587L252.6 741.632q-33.134-65.134-33.134-156.562h-128q-14.848 0-25.71-10.862t-10.861-25.71 10.861-25.71 25.71-10.861h128v-168.01l-98.852-98.852q-10.862-10.862-10.862-25.71t10.862-25.71 25.71-10.861 25.709 10.862l98.853 98.852H753.19l98.852-98.852q10.862-10.862 25.71-10.862t25.71 10.862 10.861 25.71-10.861 25.71l-98.853 98.852v168.009h128q14.848 0 25.71 10.862t10.861 25.71zM694.857 219.43H329.143q0-75.996 53.43-129.427T512 36.572t129.426 53.43 53.431 129.427z"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M960 591.424V368.96c0-.288.16-.512.16-.768s-.16-.512-.16-.768V192a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v175.424c0 .288-.16.512-.16.768s.16.48.16.768v222.464c0 .288-.16.512-.16.768s.16.48.16.768V864a32 32 0 0 0 32 32h832a32 32 0 0 0 32-32V592.96c0-.288.16-.512.16-.768s-.16-.512-.16-.768zm-560-31.232v-160h208v160H400zm208 64V832H400V624.192h208zm-480-224h208v160H128v-160zm544 0h224v160H672v-160zM896 224v112.192H128V224h768zM128 624.192h208V832H128V624.192zM672 832V624.192h224V832H672z"/></svg>

After

Width:  |  Height:  |  Size: 629 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M625.394 937.881l52.214 21.775 36.2-57.885c16.286 2.541 32.481 2.541 48.404.227l36.428 57.839 52.396-21.504-15.378-66.322c13.065-9.481 24.678-20.959 34.659-34.251l66.322 15.061 21.865-52.259-57.431-35.838a162.455 162.455 0 0 0 .317-48.721l57.522-35.566-21.367-52.396-66.141 14.381c-9.527-13.065-21.095-24.814-34.478-34.794l15.515-65.642-52.214-21.82-36.654 56.75a162.458 162.458 0 0 0-48.949-.137l-35.429-57.431-52.486 21.458 14.425 66.187c-13.02 9.617-24.633 21.095-34.523 34.432l-66.005-15.515-21.775 52.214 57.25 36.881c-2.449 16.286-2.404 32.707.091 48.584l-57.794 36.428 21.504 52.35 66.414-15.378c9.527 12.884 20.959 24.497 34.16 34.296l-15.061 66.596zm40.284-228.637c16.831-40.193 63.012-59.2 103.34-42.37 40.193 16.831 59.11 63.103 42.28 103.34-16.877 40.239-63.057 59.2-103.34 42.37-40.148-16.831-59.11-63.103-42.28-103.34zM317.46 650.861h74.034l14.425-88.097c20.822-5.217 40.465-13.382 58.431-24.224l73.218 51.352 52.305-52.35-51.988-72.22c10.932-18.054 19.234-37.743 24.451-58.793l87.688-15.332v-74.034l-87.417-14.245c-5.127-21.049-13.336-40.873-24.179-58.929l51.397-72.038-52.305-52.396-72.447 50.671c-18.146-10.932-37.924-19.28-59.11-24.542l-14.471-87.008h-74.034l-15.378 86.919c-21.14 5.262-40.965 13.564-59.155 24.588l-71.812-51.397-52.396 52.35 50.808 72.583c-10.887 18.146-19.143 37.878-24.315 58.929l-87.463 14.517v74.08l87.688 15.56a212.499 212.499 0 0 0 24.542 58.611l-51.307 73.037 52.396 52.35 72.402-52.124c18.009 10.797 37.607 19.008 58.52 24.134l15.469 88.052zm-66.821-296.048c0-57.024 46.227-103.249 103.249-103.249s103.204 46.227 103.204 103.249-46.227 103.204-103.204 103.204c-57.024 0-103.249-46.18-103.249-103.204z"/></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1048 1024" xmlns="http://www.w3.org/2000/svg" width="131" height="128"><defs><style/></defs><path d="M52.466 182.01a89.8 89.8 0 0 1 109.997-87.491l191.906 44.272a45.057 45.057 0 0 0 22.483-.583l280.406-80.093a89.89 89.89 0 0 1 44.832-1.166l222.236 51.288a89.822 89.822 0 0 1 69.625 87.469v646.262a89.8 89.8 0 0 1-109.997 87.49l-191.906-44.271a45.057 45.057 0 0 0-22.484.583L389.16 965.885a89.89 89.89 0 0 1-44.878 1.166l-222.235-51.288a89.822 89.822 0 0 1-69.58-87.514V182.01zm44.832 0v646.24c0 20.959 14.459 39.116 34.858 43.846l222.213 51.266a45.057 45.057 0 0 0 22.483-.583l280.383-80.094a89.89 89.89 0 0 1 44.878-1.165l191.928 44.294a44.967 44.967 0 0 0 55.077-43.846v-646.24c0-20.937-14.459-39.094-34.857-43.824l-222.213-51.243a45.057 45.057 0 0 0-22.484.583l-280.405 80.07a89.89 89.89 0 0 1-44.878 1.166l-191.906-44.294a44.967 44.967 0 0 0-55.077 43.846z"/><path d="M343.878 186.964v739.738h44.832V186.964zm313.828-89.666v739.738h44.833V97.298z"/></svg>

After

Width:  |  Height:  |  Size: 990 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M64 448h256v512H64V448zm640-192h256v704H704V256zM384 64h256v896H384V64z"/></svg>

After

Width:  |  Height:  |  Size: 210 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M438.857 950.857h512V585.143H713.143q-22.82 0-38.839-16.018t-16.018-38.84V292.572H438.857v658.286zM585.143 128V91.429q0-7.461-5.413-12.874t-12.873-5.412H164.571q-7.46 0-12.873 5.412t-5.412 12.874V128q0 7.46 5.412 12.873t12.873 5.413h402.286q7.46 0 12.873-5.413T585.143 128zm146.286 384H902.29L731.43 341.138V512zM1024 585.143v384q0 22.82-16.018 38.839T969.142 1024h-548.57q-22.821 0-38.84-16.018t-16.018-38.84v-91.428H54.857q-22.82 0-38.839-16.018T0 822.857v-768q0-22.82 16.018-38.839T54.858 0H676.57q22.821 0 38.84 16.018t16.018 38.84v187.464q11.995 7.46 20.553 16.019l233.18 233.179q16.017 16.018 27.428 43.447t11.41 50.322z"/></svg>

After

Width:  |  Height:  |  Size: 765 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M318.578 819.2L17.067 512l301.51-307.2 45.512 45.511L96.71 512l267.38 261.689zm386.844 0l-45.51-45.511L927.288 512 659.91 250.311l45.511-45.511L1006.933 512zM540.786 221.867l55.75 11.15-113.379 569.116-55.75-11.093z"/></svg>

After

Width:  |  Height:  |  Size: 356 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M64 64h384v384H64V64zm0 512h384v384H64V576zm512 0h384v384H576V576zm192-128c106.039 0 192-85.961 192-192S874.039 64 768 64s-192 85.961-192 192 85.961 192 192 192z"/></svg>

After

Width:  |  Height:  |  Size: 300 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M763.89 211.607l-50.833 50.898a367.43 367.43 0 0 0-6.108.597c-4.07.42-8.677.91-10.544.888l-.21-.083-.74-.013a95.407 95.407 0 0 0-13.213.688l-28.45 3.696-.686.037c-1.013.053-2.162.112-3.217.244l-1.262.157-.3.27-136.768 17.456-136.572-17.44-.277-.279-1.404-.167c-1.135-.134-2.257-.192-3.341-.248l-29.026-3.731a94.557 94.557 0 0 0-13.177-.683l-.76.013-.204.083h-.022c-1.923 0-6.83-.505-10.772-.911a378.719 378.719 0 0 0-5.804-.571l-50.93-50.899L62 408.945l96.321 154.362c2.72 5.06 15.65 28.884 20.505 33.723l220.752 220.636c8.502 8.573 19.454 13.489 30.05 13.489 7.805 0 14.867-2.78 19.868-7.814l9.486-9.438 6.278 6.29c5.983 6.025 14.195 9.344 23.126 9.344 8.06 0 16.182-2.666 23.184-7.561 7.044 4.894 15.198 7.561 23.267 7.561 8.944 0 17.15-3.32 23.081-9.331l6.309-6.299 9.427 9.427c5.045 5.045 12.12 7.822 19.922 7.822 10.589 0 21.558-4.913 30.09-13.476l220.63-220.644c4.857-4.84 17.817-28.673 20.538-33.728l96.387-154.362-197.33-197.339zM584.507 793.678c2.607-2.623 4.735-5.723 6.305-9.149 7.169 7.204 16.57 11.59 26.142 12.275l-7.115 7.142c-3.717 3.715-8.583 5.935-13.016 5.935-2.017 0-4.888-.464-7.097-2.66l-9.348-9.433 4.129-4.11zm33.474-18.527c-4.46 0-9.008-1.977-12.451-5.398 0 0-9.738-9.87-23.004-23.283l-3.598-3.647c-1.735-1.759-3.523-3.57-5.36-5.443-18.472-18.67-37.56-37.789-49.796-49.874a661.88 661.88 0 0 0-9.44-9.288c-7.087-6.802-7.087-6.802-8.98-6.802l-1.309.005-1.053.746-.266.206c-3.628 3.056-6.737 5.521-9.786 7.763l-3.795 2.793 19.55 19.532 49.86 49.926 13.064 12.96c.91 4.677-.287 9.272-3.235 12.2l-17.42 17.367-9.164 9.234c-2.798 2.794-6.225 3.385-8.609 3.385-3.268 0-6.742-1.111-9.74-3.102-.443-.304-.9-.583-1.356-.863-.709-.433-1.32-.806-1.75-1.247l-95.336-95.351-1.91.19c-5.922.588-11.291.807-16.87.673l-10.128-.248 44.558 44.596 17.683 17.647c2.312 5.264 1.856 10.599-1.21 13.717l-11.467 11.365-12.21 12.294c-2.216 2.213-5.073 2.677-7.078 2.677-4.415 0-9.272-2.22-12.983-5.932l-14.985-15.03-49.189-49.124-156.492-156.489c-4.306-5.488-62.719-103.954-102.103-170.784L259.246 243.93l41.394 42.103 7.11.397c5.46.344 11.317.895 16.981 1.426 5.746.54 11.176 1.05 16.285 1.371l74.63 9.561c-20.148 3.98-33.96 24.736-31.104 47.499l6.095 47.548c2.762 21.737 19.93 38.13 39.933 38.13 1.447 0 2.91-.09 4.353-.264 2.648-.124 38.187-1.77 62.922-2.647l.183-.011c.158-.013.31-.022.46-.031 1.322 1.411 2.454 2.587 3.093 3.212l187.01 186.995c3.1 3.093 4.809 7.233 4.809 11.654 0 4.424-1.71 8.572-4.812 11.678l-30.547 30.552c-3.102 3.115-7.242 4.83-11.66 4.83-4.413 0-8.542-1.715-11.64-4.838l-94.655-94.584-2.575 4.824c-2.81 5.264-5.351 9.811-7.775 13.905l-1.6 2.707 123.555 123.589c3.205 3.2 5.123 7.246 5.402 11.396.265 3.946-1.003 7.534-3.574 10.109l-26.53 26.582c-2.297 2.275-5.497 3.528-9.008 3.528zm51.663-81.262a311.856 311.856 0 0 1 4.524-4.666l30.58-30.526.348-.396c17.195-22.33 20.259-42.97-17.537-76.792L534.449 428.42l-1.22-1.279c-1.25-1.304-2.353-2.459-3.341-3.479l.029-.03c3.9-4 8.32-8.536 11.459-11.473.777-.73 1.767-1.646 2.524-2.273l9.33-7.699-120.93 5.241-.335.028c-.606.078-1.221.117-1.83.117-8.416 0-15.682-7.166-16.904-16.662l-6.032-47.556c-.7-5.321.667-10.666 3.749-14.667 2.605-3.378 6.219-5.516 10.18-6.02L512.073 311l64.238-8.21 105.83-13.568c5.152-.322 10.871-.858 16.402-1.377 5.645-.53 11.48-1.076 16.868-1.417l7.137-.399 41.362-42.1 168.59 168.59c-39.368 66.822-97.77 165.289-102.096 170.778L681.411 732.356c-.958-5.01-3.615-9.754-7.918-14.047l-14.908-15.05c3.562-1.53 6.788-4.905 11.059-9.37zM495.169 806.66c-1.718.573-3.466.872-5.154.872-3.409 0-6.41-1.177-8.642-3.374l-6.39-6.439a26.466 26.466 0 0 0 4.104-7.142l16.082 16.083z"/></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="32" height="32"><defs><style/></defs><path d="M219.429 658.286q0-30.286-21.429-51.715t-51.714-21.428T94.57 606.57t-21.428 51.715T94.57 710t51.715 21.429T198 710t21.429-51.714zm109.714-256q0-30.286-21.429-51.715T256 329.143t-51.714 21.428-21.429 51.715T204.286 454 256 475.429 307.714 454t21.429-51.714zm244.571 274.857l57.715-218.286q3.428-14.857-4.286-27.714t-22-16.857T577.714 418t-17.143 22.571l-57.714 218.286q-34.286 2.857-61.143 24.857t-36 56.286q-11.428 44 11.429 83.429T484 874.286t83.429-11.429T618.286 796q9.143-34.286-3.429-66.857t-41.143-52zm377.143-18.857q0-30.286-21.428-51.715t-51.715-21.428T826 606.57t-21.429 51.715T826 710t51.714 21.429T929.43 710t21.428-51.714zM585.143 292.57q0-30.285-21.429-51.714T512 219.43t-51.714 21.428-21.429 51.714 21.429 51.715T512 365.714t51.714-21.428 21.429-51.715zm256 109.715q0-30.286-21.429-51.715T768 329.143t-51.714 21.428-21.429 51.715T716.286 454 768 475.429 819.714 454t21.429-51.714zm182.857 256q0 149.143-80.571 276-10.858 16.571-30.858 16.571H111.43q-20 0-30.858-16.571Q0 808 0 658.286q0-104 40.571-198.857T149.714 296t163.429-109.143T512 146.286t198.857 40.571T874.286 296t109.143 163.429T1024 658.286z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M947.2 1024H76.8C38.4 1024 0 992 0 953.6V172.8c0-38.4 38.4-70.4 76.8-70.4h38.4v102.4c0 38.4 38.4 70.4 76.8 70.4h76.8c44.8 0 76.8-32 76.8-70.4V102.4h313.6v102.4c0 38.4 38.4 70.4 76.8 70.4h76.8c44.8 0 76.8-32 76.8-70.4V102.4H928c44.8 0 76.8 32 76.8 70.4V960c19.2 32-19.2 64-57.6 64zM352 339.2H115.2V512H352V339.2zm0 204.8H115.2v172.8H352V544zm0 204.8H115.2v172.8H352V748.8zm275.2-409.6H396.8V512h236.8V339.2zm0 204.8H396.8v172.8h236.8V544zm0 204.8H396.8v172.8h236.8V748.8zm281.6-409.6H672V512h236.8V339.2zm0 204.8H672v172.8h236.8V544zm0 204.8H672v172.8h236.8V748.8zm-121.6-512c-44.8 0-76.8-32-76.8-70.4v-96C710.4 32 748.8 0 787.2 0S864 32 864 70.4v102.4c0 38.4-32 64-76.8 64zm-550.4 0c-44.8 0-76.8-25.6-76.8-64V70.4C160 32 192 0 236.8 0s76.8 32 76.8 70.4v102.4c0 38.4-32 64-76.8 64z"/></svg>

After

Width:  |  Height:  |  Size: 921 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M928.256 647.168h-84.48V512c0-38.912-31.744-70.656-70.656-70.656H251.392c-38.912 0-70.656 31.744-70.656 70.656v135.168h-87.04c-24.576 0-44.544 19.968-44.544 44.544V898.56c0 24.576 19.968 45.056 44.544 45.056h206.848c24.576 0 44.544-19.968 44.544-45.056V691.712c0-24.576-19.968-44.544-44.544-44.544h-80.896V512c0-17.408 14.336-31.744 31.744-31.744H773.12c17.408 0 31.744 14.336 31.744 31.744v135.168h-84.48c-24.576 0-45.056 19.968-45.056 44.544V898.56c0 24.576 19.968 45.056 45.056 45.056h206.848c24.576 0 45.056-19.968 45.056-45.056V691.712c.512-24.576-19.456-44.544-44.032-44.544zm-620.544 44.544V898.56c0 3.584-3.072 6.144-6.144 6.144H94.208c-3.584 0-6.144-3.072-6.144-6.656V691.2c0-3.584 3.072-6.144 6.144-6.144h206.848c3.584.512 6.656 3.072 6.656 6.656zM934.4 898.56c0 3.584-3.072 6.144-6.656 6.144H720.896c-3.584 0-6.144-3.072-6.144-6.144V691.712c0-3.584 3.072-6.144 6.144-6.144h206.848c3.584 0 6.656 3.072 6.656 6.144V898.56zM615.424 117.248v216.576H398.336V117.248h217.088m0-39.936H398.336c-22.016 0-39.936 17.92-39.936 39.936v216.576c0 22.016 17.92 39.936 39.936 39.936h217.088c22.016 0 39.936-17.92 39.936-39.936V117.248c0-22.016-17.92-39.936-39.936-39.936z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M1002.085 744.672l-33.568 10.368c.96 7.264 2.144 14.304 2.144 21.76 0 7.328-1.184 14.432-2.368 21.568l33.792 10.56c7.936 2.24 14.496 7.616 18.336 14.752 3.84 7.328 4.672 15.808 1.952 23.552-5.376 16-23.168 24.672-39.936 19.68l-34.176-10.624c-7.136 12.8-15.776 24.672-26.208 35.2l20.8 27.488a28.96 28.96 0 0 1 5.824 22.816 29.696 29.696 0 0 1-12.704 19.616 32.544 32.544 0 0 1-44.416-6.752l-20.8-27.552c-13.696 6.56-28.192 11.2-43.008 13.888v33.632c0 16.736-14.112 30.432-31.648 30.432-17.6 0-31.872-13.696-31.872-30.432v-33.632a167.616 167.616 0 0 1-42.88-13.888l-20.928 27.552c-10.72 13.76-30.08 16.64-44.288 6.752a29.632 29.632 0 0 1-12.704-19.616 29.28 29.28 0 0 1 5.696-22.816l20.896-27.808a166.72 166.72 0 0 1-27.008-34.688l-33.376 10.432c-16.8 5.184-34.56-3.552-39.936-19.616a29.824 29.824 0 0 1 20.224-38.24l33.472-10.432c-.8-7.264-2.016-14.304-2.016-21.824 0-7.36 1.184-14.496 2.304-21.632L589.893 744.8c-16.672-5.376-25.632-22.496-20.224-38.432 5.376-16 23.136-24.672 39.936-19.68l34.016 10.752c7.328-12.672 15.84-24.8 26.336-35.328l-20.8-27.552a29.44 29.44 0 0 1 6.944-42.432 32.704 32.704 0 0 1 44.384 6.752l20.832 27.616c13.696-6.432 28.224-11.2 43.104-13.952v-33.568c0-16.736 14.048-30.432 31.648-30.432 17.536 0 31.808 13.568 31.808 30.432v33.504c15.072 2.688 29.344 7.808 42.848 14.016l20.992-27.616a32.48 32.48 0 0 1 44.224-6.752 29.568 29.568 0 0 1 7.136 42.432l-21.024 27.808c10.432 10.432 19.872 21.888 27.04 34.752l33.376-10.432c16.768-5.12 34.56 3.68 39.936 19.68 5.536 15.936-3.712 33.056-20.32 38.304zM796.069 670.24c-61.344 0-111.136 47.808-111.136 106.56 0 58.88 49.792 106.496 111.136 106.496 61.312 0 111.104-47.616 111.104-106.496 0-58.752-49.792-106.56-111.104-106.56z"/><path d="M802.789 57.152H726.34c0-22.08-21.024-38.24-42.848-38.24H39.397A39.68 39.68 0 0 0 .037 58.944V854.56s41.888 120.192 110.752 120.192h562.496a227.488 227.488 0 0 1-107.04-97.44H117.637s-40.608-13.696-40.608-41.248l470.304-.256 1.664 3.36a227.68 227.68 0 0 1-12.64-73.632c0-60.576 24-118.624 66.88-161.44a228.352 228.352 0 0 1 123.552-63.392l-3.2.288 2.144-424.672h38.208l.576 421.024c27.04 0 52.672 4.8 76.64 13.344V101.536c.032 0-6.304-44.384-38.368-44.384zM149.765 514.336H72.389v-77.408h77.376v77.408zm0-144.32H72.389v-77.44h77.376v77.44zm0-137.248H72.389v-77.44h77.376v77.44zM651.62 514.336H206.085v-77.408H651.62v77.408zm0-144.32H206.085v-77.44H651.62v77.44zm0-137.248H206.085v-77.44H651.62v77.44z"/></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M554.667 384h234.666L554.667 149.333V384M256 85.333h341.333l256 256v512A85.333 85.333 0 0 1 768 938.667H256a85.333 85.333 0 0 1-85.333-85.334V170.667A85.038 85.038 0 0 1 256 85.333M640 768v-85.333H256V768h384m128-170.667V512H256v85.333h512z"/></svg>

After

Width:  |  Height:  |  Size: 379 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M768.355 416a256 256 0 1 0-512 0 192 192 0 1 0 0 384v64a256 256 0 0 1-58.88-505.216 320.128 320.128 0 0 1 629.76 0A256.128 256.128 0 0 1 768.355 864v-64a192 192 0 0 0 0-384zm-512 384h64v64h-64v-64zm448 0h64v64h-64v-64z"/><path d="M539.043 845.248V512.192a32.448 32.448 0 0 0-32-32.192c-17.664 0-32 14.912-32 32.192v333.056l-36.096-36.096a32.192 32.192 0 0 0-45.056.192 31.616 31.616 0 0 0-.192 45.056l90.88 90.944a31.36 31.36 0 0 0 22.528 9.088 30.08 30.08 0 0 0 22.4-9.088l90.88-90.88a32.192 32.192 0 0 0-.192-45.12 31.616 31.616 0 0 0-45.056-.192l-36.096 36.096z"/></svg>

After

Width:  |  Height:  |  Size: 705 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M574.958 267.016h-63.454 204.649L511.213 63.655 307.85 267.016h141.191V456.68H258.688v125.917H449.04V772.95h125.917V582.596h188.875V456.679H574.958V267.016zm-63.704 693.33l189.62-187.396H323.126l188.129 187.395zM71.292 518.891l187.395 189.62v-377.75L71.292 518.892zm692.54-188.13v377.75L952.708 518.89 763.833 330.762z"/></svg>

After

Width:  |  Height:  |  Size: 457 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M832 128H192a64.19 64.19 0 0 0-64 64v640a64.19 64.19 0 0 0 64 64h640a64.19 64.19 0 0 0 64-64V192a64.19 64.19 0 0 0-64-64zm0 703.89l-.11.11H192.11l-.11-.11V768h640zM832 544H720L605.6 696.54 442.18 435.07 333.25 544H192v-64h114.75l147.07-147.07L610.4 583.46 688 480h144zm0-288H192v-63.89l.11-.11h639.78l.11.11z"/></svg>

After

Width:  |  Height:  |  Size: 449 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M860 504c-19.9 0-36 16.1-36 36 0 1.4.1 2.7.2 4h-.2v344H136V200h376c19.9 0 36-16.1 36-36s-16.1-36-36-36H136c-39.8 0-72 32.2-72 72v688c0 39.8 32.2 72 72 72h688c39.8 0 72-32.2 72-72V544h-.2c.1-1.3.2-2.6.2-4 0-19.9-16.1-36-36-36z"/><path d="M1002.7 100.3L923.4 21c-28.1-28.1-73.9-27.9-102 .2L424.2 418.4c-2.9 2.9-5.2 6.4-6.8 10.2L317.6 664c-5.6 13.2-1.7 26.5 6.8 35.1 8.5 8.6 21.9 12.5 35.2 6.9l235.5-99.7c3.8-1.6 7.2-3.9 10.2-6.8l397.2-397.2c28.1-28.1 28.3-73.9.2-102zM559.8 543l-137.4 58.2 58.2-137.4L759.4 185l79.2 79.2L559.8 543zm391.7-391.7l-62 62-79.2-79.2 62-62 .2-.2 79.2 79.2-.2.2z"/></svg>

After

Width:  |  Height:  |  Size: 727 B

@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M88.883 119.565c-7.284 0-19.434 2.495-21.333 8.25v.127c-4.232.13-5.222 0-7.108 0-1.895-5.76-14.045-8.256-21.333-8.256H0V0h42.523c9.179 0 17.109 5.47 21.47 13.551C68.352 5.475 76.295 0 85.478 0H128v119.57l-39.113-.005h-.004zM60.442 24.763c0-9.651-8.978-16.507-17.777-16.507H7.108V111.43H39.11c7.054-.14 18.177.082 21.333 6.12v-4.628c-.134-5.722-.004-13.522 0-13.832V27.413l.004-2.655-.004.005zm60.442-16.517h-35.55c-8.802 0-17.78 6.856-17.78 16.493v74.259c.004.32.138 8.115 0 13.813v4.627c3.155-6.022 14.279-6.26 21.333-6.114h32V8.25l-.003-.005z"/></svg>

After

Width:  |  Height:  |  Size: 627 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M513 583.8l448.5-448.5c-11.6-4.7-24.3-7.3-37.5-7.3H100c-12.7 0-24.9 2.4-36.1 6.7L513 583.8z"/><path d="M513 674.3L14.6 175.9C5.3 191.1 0 208.9 0 228v568c0 55.2 44.8 100 100 100h824c55.2 0 100-44.8 100-100V228c0-18.5-5.1-35.9-13.9-50.8L513 674.3z"/></svg>

After

Width:  |  Height:  |  Size: 384 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M625.664 132.608v67.072h309.76v43.008h-309.76v69.632h309.76v43.008h-309.76v68.608h309.76v43.008h-309.76v68.608h309.76v43.008h-309.76v68.608h309.76v43.008h-309.76v68.096h309.76v43.008h-309.76v89.088H1024v-757.76H625.664zM0 914.944L577.024 1024V0L0 109.056"/><path d="M229.376 660.48h-89.6l118.272-187.904-112.64-180.736h92.16l65.536 119.808 67.584-119.808h89.088l-112.64 177.664L466.944 660.48h-93.696l-70.144-125.44-73.728 125.44z"/></svg>

After

Width:  |  Height:  |  Size: 569 B

@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M49.217 41.329l-.136-35.24c-.06-2.715-2.302-4.345-5.022-4.405h-3.65c-2.712-.06-4.866 2.303-4.806 5.016l.152 19.164-24.151-23.79a6.698 6.698 0 0 0-9.499 0 6.76 6.76 0 0 0 0 9.526l23.93 23.713-18.345.074c-2.712-.069-5.228 1.813-5.64 5.02v3.462c.069 2.721 2.31 4.97 5.022 5.03l35.028-.207c.052.005.087.025.133.025l2.457.054a4.626 4.626 0 0 0 3.436-1.38c.88-.874 1.205-2.096 1.169-3.462l-.262-2.465c0-.048.182-.081.182-.136h.002zm52.523 51.212l18.32-.073c2.713.06 5.224-1.609 5.64-4.815v-3.462c-.068-2.722-2.317-4.97-5.021-5.04l-34.58.21c-.053 0-.086-.021-.138-.021l-2.451-.06a4.64 4.64 0 0 0-3.445 1.381c-.885.868-1.201 2.094-1.174 3.46l.27 2.46c.005.06-.177.095-.177.141l.141 34.697c.069 2.713 2.31 4.338 5.022 4.397l3.45.006c2.705.062 4.867-2.31 4.8-5.026l-.153-18.752 24.151 23.946a6.69 6.69 0 0 0 9.494 0 6.747 6.747 0 0 0 0-9.523L101.74 92.54v.001zM48.125 80.662a4.636 4.636 0 0 0-3.437-1.382l-2.457.06c-.05 0-.082.022-.137.022l-35.025-.21c-2.712.07-4.957 2.318-5.022 5.04v3.462c.409 3.206 2.925 4.874 5.633 4.814l18.554.06-24.132 23.928c-2.62 2.626-2.62 6.89 0 9.524a6.694 6.694 0 0 0 9.496 0l24.155-23.79-.155 18.866c-.06 2.722 2.094 5.093 4.801 5.025h3.65c2.72-.069 4.962-1.685 5.022-4.406l.141-34.956c0-.05-.182-.082-.182-.136l.262-2.46c.03-1.366-.286-2.592-1.166-3.46h-.001zM80.08 47.397a4.62 4.62 0 0 0 3.443 1.374l2.45-.054c.055 0 .088-.02.143-.028l35.08.21c2.712-.062 4.953-2.312 5.021-5.033l.009-3.463c-.417-3.211-2.937-5.084-5.64-5.025l-18.615-.073 23.917-23.715c2.63-2.623 2.63-6.879.008-9.513a6.691 6.691 0 0 0-9.494 0L92.251 26.016l.155-19.312c.065-2.713-2.097-5.085-4.802-5.025h-3.45c-2.713.069-4.954 1.693-5.022 4.406l-.139 35.247c0 .054.18.088.18.136l-.267 2.465c-.028 1.366.288 2.588 1.174 3.463v.001z"/></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M908.288 360.96v-61.44c0-52.736-41.984-111.616-97.792-111.616H528.384l-11.776-22.016c-11.776-22.016-34.304-35.84-59.392-35.84H156.16c-50.176 0-91.136 41.984-91.136 93.696v573.44c0 51.712 40.96 93.696 91.136 93.696h708.608c50.176 0 91.136-41.984 91.136-93.696V444.928c0-30.72-20.48-62.976-47.616-83.968zm-97.792-116.736c19.456 0 41.472 29.696 41.472 55.808v38.912H607.744l-49.664-94.72h252.416zm89.088 552.448c0 20.48-15.872 37.376-34.816 37.376H156.16c-19.456 0-34.816-16.896-34.816-37.376v-573.44c0-20.48 15.872-37.376 34.816-37.376h301.056c4.096 0 7.68 2.048 9.728 6.144l99.328 187.904c5.12 9.216 14.336 14.848 25.088 14.848h258.048c19.968 0 50.176 30.208 50.176 50.176v351.744z"/></svg>

After

Width:  |  Height:  |  Size: 821 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M942.827 80.337c-11.424-11.407-26.41-17.118-41.377-17.118-14.985 0-29.952 5.71-41.36 17.118L719.393 221.015l-19.441 19.441-18.374 18.376-112.06 112.078-193.52 193.502v84.392h81.156l95.418-95.436 213.398-213.4 3.142-3.142h-.02l9.98-9.977 163.756-163.776c22.87-22.814 22.87-59.887 0-82.736z"/><path d="M793.542 367.521l-213.4 213.418-95.416 95.438L473.3 687.8H337V548.265l11.425-11.426 193.519-193.5 112.06-112.08 11.424-11.424H64.02V960.78h740.946V356.117l-8.359 8.358z"/></svg>

After

Width:  |  Height:  |  Size: 607 B

@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M38.47 52L52 38.462l-23.648-23.67L43.209 0H.035L0 43.137l14.757-14.865L38.47 52zm74.773 47.726L89.526 76 76 89.536l23.648 23.672L84.795 128h43.174L128 84.863l-14.757 14.863zM89.538 52l23.668-23.648L128 43.207V.038L84.866 0 99.73 14.76 76 38.472 89.538 52zM38.46 76L14.792 99.651 0 84.794v43.173l43.137.033-14.865-14.757L52 89.53 38.46 76z"/></svg>

After

Width:  |  Height:  |  Size: 421 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M871.424 61.44q18.432 0 34.816 6.656t28.672 18.944 19.456 28.672 7.168 35.84v720.896q0 38.912-25.088 64.512t-62.976 25.6h-721.92q-40.96 0-66.048-26.624t-25.088-66.56V150.528q0-35.84 24.576-62.464t65.536-26.624h720.896zm-237.568 768q18.432 0 26.624-8.704t8.192-23.04q0-13.312-8.192-22.528t-26.624-9.216h-62.464q1.024-2.048 1.024-6.144V251.904h63.488q18.432 0 25.6-9.216t7.168-22.528-7.168-22.528-25.6-9.216H386.048q-18.432 0-25.6 9.216t-7.168 22.528 7.168 22.528 25.6 9.216h57.344v507.904q0 2.048.512 3.072t.512 3.072h-56.32q-18.432 0-26.624 9.216t-8.192 22.528q0 14.336 8.192 23.04t26.624 8.704h245.76z"/></svg>

After

Width:  |  Height:  |  Size: 741 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="32" height="32"><defs><style/></defs><path d="M666.298 824.087c-12.567-30.72-54.225-83.316-123.578-156.392-18.618-19.55-17.455-34.444-10.705-78.895v-5.12c4.421-30.487 12.101-48.407 114.501-64.698 52.131-8.146 65.63 12.567 84.713 41.425l6.284 9.542a101.004 101.004 0 0 0 51.432 41.658c9.077 4.19 20.248 9.31 35.375 17.92 36.77 20.248 36.77 43.288 36.77 94.022v5.818a215.273 215.273 0 0 1-41.425 139.637 472.436 472.436 0 0 1-152.203 88.203c27.927-52.363 6.516-114.502 0-132.422zM512 40.96a468.015 468.015 0 0 1 203.87 46.545 434.502 434.502 0 0 0-102.866 82.619c-7.448 10.24-13.731 19.781-19.782 28.625-19.55 29.556-29.091 42.822-46.546 44.916a200.844 200.844 0 0 1-33.745 0c-34.211-2.327-80.756-5.12-95.651 35.375-9.542 25.833-11.17 95.65 19.55 131.956a32.35 32.35 0 0 1 2.56 28.626 56.087 56.087 0 0 1-16.525 25.833 151.505 151.505 0 0 1-23.272-23.273 151.273 151.273 0 0 0-66.56-52.83c-10.008-2.792-21.178-5.12-31.884-7.447-30.254-6.283-64.233-13.498-72.145-30.487a119.156 119.156 0 0 1-5.819-46.545 175.476 175.476 0 0 0-11.17-74.008 70.982 70.982 0 0 0-44.451-39.563A469.644 469.644 0 0 1 512 40.96zM0 512A512 512 0 1 0 512 0 512 512 0 0 0 0 512z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M934.912 1016.832H192c-14.336 0-25.6-11.264-25.6-25.6v-189.44c0-14.336 11.264-25.6 25.6-25.6s25.6 11.264 25.6 25.6v163.84h691.712V64H217.6v148.48c0 14.336-11.264 25.6-25.6 25.6s-25.6-11.264-25.6-25.6V38.4c0-14.336 11.264-25.6 25.6-25.6h742.912c14.336 0 25.6 11.264 25.6 25.6v952.832c0 14.336-11.264 25.6-25.6 25.6z"/><path d="M232.96 371.2H115.2c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6h117.76c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6zm0 168.96H115.2c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6h117.76c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6zm0 158.72H115.2c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6h117.76c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6zm341.504 64c-134.144 0-243.2-109.056-243.2-243.2s109.056-243.2 243.2-243.2 243.2 109.056 243.2 243.2-109.056 243.2-243.2 243.2zm0-435.2c-105.984 0-192 86.016-192 192s86.016 192 192 192 192-86.016 192-192-86.016-192-192-192z"/><path d="M663.04 545.28H576c-14.336 0-25.6-11.264-25.6-25.6s11.264-25.6 25.6-25.6h87.04c14.336 0 25.6 11.264 25.6 25.6s-11.264 25.6-25.6 25.6z"/><path d="M576 545.28c-14.336 0-25.6-11.264-25.6-25.6v-87.04c0-14.336 11.264-25.6 25.6-25.6s25.6 11.264 25.6 25.6v87.04c0 14.336-11.264 25.6-25.6 25.6z"/></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1088 1024" xmlns="http://www.w3.org/2000/svg" width="34" height="32"><defs><style/></defs><path d="M729.6 294.4c19.2 57.6 44.8 102.4 89.6 147.2 38.4-38.4 64-89.6 83.2-147.2H729.6zm-422.4 320h166.4l-83.2-224z"/><path d="M947.2 0h-768c-70.4 0-128 57.6-128 128v768c0 70.4 57.6 128 128 128h768c70.4 0 128-57.6 128-128V128c0-70.4-51.2-128-128-128zM633.6 825.6c-12.8 12.8-25.6 12.8-38.4 12.8-6.4 0-19.2 0-25.6-6.4s-12.8 0-12.8-6.4-6.4-12.8-12.8-25.6-6.4-19.2-12.8-32l-25.6-70.4h-224L256 768c-12.8 25.6-19.2 44.8-25.6 57.6-6.4 12.8-19.2 12.8-38.4 12.8-12.8 0-25.6-6.4-38.4-12.8-12.8-12.8-19.2-19.2-19.2-32 0-6.4 0-12.8 6.4-25.6s6.4-19.2 12.8-32l140.8-358.4c6.4-12.8 6.4-25.6 12.8-38.4s12.8-25.6 19.2-32 12.8-19.2 25.6-25.6c12.8-6.4 25.6-6.4 38.4-6.4 12.8 0 25.6 0 38.4 6.4 12.8 6.4 19.2 12.8 25.6 25.6 6.4 6.4 12.8 19.2 19.2 32 6.4 12.8 12.8 25.6 19.2 44.8l140.8 352c12.8 25.6 19.2 44.8 19.2 57.6-6.4 6.4-12.8 19.2-19.2 32zm352-249.6c-70.4-25.6-121.6-57.6-166.4-96-44.8 44.8-102.4 76.8-172.8 96l-19.2-32c70.4-19.2 128-44.8 172.8-89.6-44.8-44.8-83.2-102.4-96-166.4h-64v-25.6h172.8c-12.8-19.2-25.6-44.8-38.4-64l19.2-6.4c12.8 19.2 32 44.8 44.8 70.4h160v32h-64c-19.2 64-51.2 121.6-89.6 160 44.8 38.4 96 70.4 166.4 89.6l-25.6 32z"/></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z"/><path d="M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z"/><path d="M127.893 37.982h-12.375V12.375H88.706V0h39.187z"/></svg>

After

Width:  |  Height:  |  Size: 285 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M40 212.8a4.2 4.2 0 1 0 134.4 0 4.2 4.2 0 1 0-134.4 0zm940.8-67.2H297.6c-9.6 0-16 8-16 16V264c0 9.6 8 16 16 16h683.2c9.6 0 16-8 16-16V161.6c0-9.6-8-16-16-16zm-952 352a4.2 4.2 0 1 0 134.4 0 4.2 4.2 0 1 0-134.4 0zM968 430.4H284.8c-9.6 0-16 8-16 16v102.4c0 9.6 8 16 16 16H968c9.6 0 16-8 16-16V446.4c0-8-6.4-16-16-16zM28.8 795.2a4.2 4.2 0 1 0 134.4 0 4.2 4.2 0 1 0-134.4 0zM968 728H284.8c-9.6 0-16 8-16 16v102.4c0 9.6 8 16 16 16H968c9.6 0 16-8 16-16V744c0-8-6.4-16-16-16z"/></svg>

After

Width:  |  Height:  |  Size: 608 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="64" height="64"><defs><style/></defs><path d="M818.247 412.327h-45.989v-70.992c0-152.308-123.463-275.779-275.778-275.779S220.698 189.027 220.698 341.335v70.992h-45.987c-25.379 0-45.988 20.566-45.988 45.987v455.407c0 25.428 20.56 45.989 45.988 45.989h643.536c25.377 0 45.988-20.56 45.988-45.989V458.314c-.045-25.42-20.611-45.987-45.988-45.987zm-137.915 0H312.625v-70.992c0-101.554 82.345-183.853 183.855-183.853 101.51 0 183.853 82.343 183.853 183.853v70.992h-.001zm0 0"/></svg>

After

Width:  |  Height:  |  Size: 561 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M208.736 566.336H64.384v59.328h144.352v-59.328zm0-336.096H165.44V74.592c0-7.968 4.896-14.848 10.464-14.848H677.92V.448H175.936c-38.72 1.248-69.248 34.368-68.192 74.144V230.24h-43.36v59.36h144.352v-59.36zm0 168.096H64.384v59.328h144.352v-59.328zm714.656 76.576h-57.76v474.496c0 7.936-4.896 14.848-10.464 14.848H175.936c-5.568 0-10.464-6.912-10.464-14.848v-155.68h43.296v-59.296H64.384v59.296h43.328v155.68c-1.024 39.776 29.472 72.896 68.192 74.144h679.232c38.72-1.184 69.248-34.368 68.256-74.144V474.912zm14.944-290.336l-83.072-85.312a71.264 71.264 0 0 0-52.544-21.728 71.52 71.52 0 0 0-51.616 23.872L386.528 507.264a30.496 30.496 0 0 0-6.176 10.72L308.16 740.512a30.016 30.016 0 0 0 6.976 30.24c7.712 7.968 19.2 10.752 29.568 7.2l216.544-74.112a28.736 28.736 0 0 0 12.128-7.936l367.072-408.448a75.552 75.552 0 0 0-2.112-102.88zm-557.12 518.272l39.104-120.64 78.336 80.416-117.44 40.224zm170.048-70.016L447.712 526.816l200.16-222.4 103.52 106.304-200.128 222.112zm346.688-385.76l-.256.224L790.56 366.464 687.04 259.936l106.432-118.624a14.144 14.144 0 0 1 10.304-4.736 13.44 13.44 0 0 1 10.464 4.288l83.264 85.696c5.472 5.6 5.664 14.72.448 20.512z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M896 128h-85.333a42.667 42.667 0 0 0 0 85.333h42.666v640H170.667v-640h42.666a42.667 42.667 0 0 0 0-85.333H128a42.667 42.667 0 0 0-42.667 42.667V896A42.667 42.667 0 0 0 128 938.667h768A42.667 42.667 0 0 0 938.667 896V170.667A42.667 42.667 0 0 0 896 128z"/><path d="M341.333 298.667A42.667 42.667 0 0 0 384 256V128a42.667 42.667 0 0 0-85.333 0v128a42.667 42.667 0 0 0 42.666 42.667zm170.667 0A42.667 42.667 0 0 0 554.667 256V128a42.667 42.667 0 0 0-85.334 0v128A42.667 42.667 0 0 0 512 298.667zm170.667 0A42.667 42.667 0 0 0 725.333 256V128A42.667 42.667 0 0 0 640 128v128a42.667 42.667 0 0 0 42.667 42.667zM341.333 768A42.667 42.667 0 0 0 384 725.333a128 128 0 0 1 256 0 42.667 42.667 0 0 0 85.333 0 213.333 213.333 0 0 0-107.52-184.32A128 128 0 0 0 640 469.333a128 128 0 0 0-256 0 128 128 0 0 0 22.187 71.68 213.333 213.333 0 0 0-107.52 184.32A42.667 42.667 0 0 0 341.333 768zm128-298.667A42.667 42.667 0 1 1 512 512a42.667 42.667 0 0 1-42.667-42.667z"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M162.352 162.352h87.488v87.488h-87.488v-87.488zm128.902 0h570.394v87.488H291.254v-87.488zM162.352 468.256h87.488v87.488h-87.488v-87.488zm128.902 0h570.394v87.488H291.254v-87.488zM162.352 775.335h87.488v87.488h-87.488v-87.488zm128.902 0h570.394v87.488H291.254v-87.488z"/></svg>

After

Width:  |  Height:  |  Size: 408 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="32" height="32"><defs><style/></defs><path d="M0 202.7V631c0 83.3 68.3 150.7 152.6 150.7h228.9l8 190.3 224.9-190.3h257c84.3 0 152.6-67.4 152.6-150.7V202.7C1024 119.4 955.7 52 871.4 52H152.6C68.3 52 0 119.4 0 202.7zm658.6 237.9c0-39.7 32.1-71.4 72.3-71.4 40.2 0 72.3 31.7 72.3 71.4S771 512 730.9 512c-40.2 0-72.3-31.7-72.3-71.4zm-220.9 0c0-39.7 32.1-71.4 72.3-71.4 40.2 0 72.3 31.7 72.3 71.4S550.1 512 510 512c-40.2 0-72.3-31.7-72.3-71.4zm-216.8 0c0-39.7 32.1-71.4 72.3-71.4 40.2 0 72.3 31.7 72.3 71.4S333.3 512 293.1 512c-40.1 0-72.2-31.7-72.2-71.4z"/></svg>

After

Width:  |  Height:  |  Size: 642 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="32" height="32"><defs><style/></defs><path d="M463.3 958.3V772.1H228.8v-77.5h234.5v-80.5H228.8v-83.5H420L191.5 128h113.7L469 420.6c18.2 33.4 32.4 62.4 42.7 86.9 9-19.8 24.6-50.5 46.8-92.1L713.9 128h120.8L605.5 530.6h192.9v83.5H564.9v80.5h233.5v77.5H564.9v186.2H463.3z"/></svg>

After

Width:  |  Height:  |  Size: 360 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style>@font-face{font-family:rbicon;src:url(chrome-extension://dipiagiiohfljcicegpgffpbnjmgjcnf/fonts/rbicon.woff2) format(&quot;woff2&quot;);font-weight:400;font-style:normal}</style></defs><path d="M64 64v576h832V64H64zM0 0h960v704H0V0z"/><path d="M192 896h576v64H192zm256-256h64v256h-64zm31.232-78.396l309.99-348.33-47.803-42.548-259.567 291.67-177.895-222.387L163.21 438.605l52.224 37.009 91.622-129.28z"/></svg>

After

Width:  |  Height:  |  Size: 525 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1167 1024" xmlns="http://www.w3.org/2000/svg" width="227.93" height="200"><defs><style/></defs><path d="M.016 74.46a2.286 2.286 1440 1 0 145.836 0 2.286 2.286 1440 1 0-145.836 0zM291.72 1.524h875.081v145.837h-875.08zm0 364.639a2.286 2.286 1440 1 0 145.837 0 2.286 2.286 1440 1 0-145.837 0zm291.705-72.934H1166.8v145.836H583.425zM291.72 949.54a2.286 2.286 1440 1 0 145.837 0 2.286 2.286 1440 1 0-145.837 0zm291.705-72.902H1166.8v145.837H583.425zm0-218.802a2.286 2.286 1440 1 0 145.836 0 2.286 2.286 1440 1 0-145.836 0zm291.704-72.902h291.672V730.77H875.13z"/></svg>

After

Width:  |  Height:  |  Size: 595 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1167 1024" xmlns="http://www.w3.org/2000/svg" width="227.93" height="200"><defs><style/></defs><path d="M.016 74.46a2.286 2.286 1440 1 0 145.836 0 2.286 2.286 1440 1 0-145.836 0zM291.72 1.524h875.081v145.837h-875.08zm0 364.639a2.286 2.286 1440 1 0 145.837 0 2.286 2.286 1440 1 0-145.837 0zm291.705-72.934H1166.8v145.836H583.425zM291.72 949.54a2.286 2.286 1440 1 0 145.837 0 2.286 2.286 1440 1 0-145.837 0zm291.705-72.902H1166.8v145.837H583.425zm0-218.802a2.286 2.286 1440 1 0 145.836 0 2.286 2.286 1440 1 0-145.836 0zm291.704-72.902h291.672V730.77H875.13z"/></svg>

After

Width:  |  Height:  |  Size: 595 B

@ -0,0 +1 @@
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="200" height="200"><defs><style/></defs><path d="M356.246 681.563C288.09 639.613 249 577.722 249 511.757c0-65.966 39.09-127.86 107.246-169.809 12.047-7.415 15.801-23.19 8.386-35.237-7.414-12.046-23.191-15.801-35.236-8.387-39.641 24.4-72.54 56.045-95.138 91.516-23.867 37.46-36.482 79.62-36.482 121.917 0 42.298 12.615 84.455 36.482 121.915 22.599 35.47 55.497 67.115 95.138 91.513a25.489 25.489 0 0 0 13.4 3.805c8.599 0 16.998-4.33 21.836-12.19 7.415-12.048 3.66-27.823-8.386-35.237zm-92.302 73.018C171.34 693.469 118.23 604.957 118.23 511.74c0-93.196 53.094-181.684 145.668-242.775 11.806-7.79 15.06-23.677 7.27-35.483-7.791-11.806-23.678-15.062-35.484-7.27C128.488 296.954 67.007 401.024 67.007 511.74c0 110.737 61.496 214.83 168.721 285.594a25.487 25.487 0 0 0 14.083 4.238c8.317 0 16.476-4.046 21.4-11.507 7.793-11.807 4.538-27.693-7.267-35.484zM788.66 226.213c-11.805-7.791-27.693-4.536-35.484 7.27-7.79 11.806-4.536 27.692 7.27 35.483 92.575 61.092 145.67 149.58 145.67 242.774 0 93.216-53.111 181.728-145.715 242.84-11.806 7.791-15.06 23.68-7.27 35.485 4.926 7.462 13.082 11.507 21.4 11.507a25.5 25.5 0 0 0 14.085-4.238C895.844 726.572 957.34 622.476 957.34 511.74c0-110.714-61.48-214.785-168.68-285.527zm1.43 407.46c23.865-37.46 36.48-79.618 36.48-121.916s-12.615-84.456-36.48-121.917c-22.6-35.471-55.498-67.116-95.14-91.516-12.048-7.413-27.822-3.659-35.237 8.387-7.415 12.046-3.66 27.822 8.386 35.237 68.156 41.95 107.247 103.842 107.247 169.81 0 65.964-39.09 127.855-107.247 169.804-12.046 7.415-15.801 23.19-8.386 35.237 4.838 7.861 13.236 12.191 21.835 12.191 4.58 0 9.216-1.228 13.4-3.805 39.642-24.398 72.541-56.042 95.141-91.513zM567.128 518.274c24.124-17.15 39.888-45.306 39.888-77.071 0-52.129-42.453-94.539-94.635-94.539-52.18 0-94.633 42.41-94.633 94.539 0 31.695 15.696 59.798 39.73 76.958-49.875 21.129-84.916 70.235-84.916 127.302 0 2.367.061 4.762.182 7.119l1.25 24.296h276.373l1.238-24.308c.12-2.36.181-4.75.181-7.107 0-56.967-34.921-105.998-84.658-127.19zM512.38 397.888c23.937 0 43.412 19.43 43.412 43.315 0 23.883-19.475 43.313-43.412 43.313-23.936 0-43.41-19.43-43.41-43.313 0-23.883 19.474-43.315 43.41-43.315zm-86.29 227.769c9.12-38.543 44.255-67.338 86.085-67.338s76.967 28.795 86.086 67.338H426.09z"/></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

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

Loading…
Cancel
Save