From f75e20642e428661189891376895a2011a05c0fb Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 05 九月 2023 09:25:33 +0800
Subject: [PATCH] 整理

---
 /dev/null |    0 
 1 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/admin/.svn/entries b/admin/.svn/entries
deleted file mode 100644
index 48082f7..0000000
--- a/admin/.svn/entries
+++ /dev/null
@@ -1 +0,0 @@
-12
diff --git a/admin/.svn/format b/admin/.svn/format
deleted file mode 100644
index 48082f7..0000000
--- a/admin/.svn/format
+++ /dev/null
@@ -1 +0,0 @@
-12
diff --git a/admin/.svn/pristine/01/0183d03411d13853fe5c0ca75affa66704b60faf.svn-base b/admin/.svn/pristine/01/0183d03411d13853fe5c0ca75affa66704b60faf.svn-base
deleted file mode 100644
index 5c67584..0000000
--- a/admin/.svn/pristine/01/0183d03411d13853fe5c0ca75affa66704b60faf.svn-base
+++ /dev/null
@@ -1,99 +0,0 @@
-<template>
-  <TableLayout :permissions="['system:dict:query']">
-    <!-- 鎼滅储琛ㄥ崟 -->
-    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-      <el-form-item label="瀛楀吀缂栫爜" prop="code">
-        <el-input v-model="searchForm.code" v-trim placeholder="璇疯緭鍏ュ瓧鍏哥紪鐮�" @keypress.enter.native="search"/>
-      </el-form-item>
-      <el-form-item label="瀛楀吀鍚嶇О" prop="name">
-        <el-input v-model="searchForm.name" v-trim placeholder="璇疯緭鍏ュ瓧鍏稿悕绉�" @keypress.enter.native="search"/>
-      </el-form-item>
-      <section>
-        <el-button type="primary" @click="search">鎼滅储</el-button>
-        <el-button @click="reset">閲嶇疆</el-button>
-      </section>
-    </el-form>
-    <!-- 琛ㄦ牸鍜屽垎椤� -->
-    <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['system:dict:create', 'system:dict:delete']">
-        <li><el-button type="primary" @click="$refs.operaDictWindow.open('鏂板缓瀛楀吀')" icon="el-icon-plus" v-permissions="['system:dict:create']">鏂板缓</el-button></li>
-        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:dict:delete']">鍒犻櫎</el-button></li>
-      </ul>
-      <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        :default-sort = "{prop: 'createTime', order: 'descending'}"
-        stripe
-        @selection-change="handleSelectionChange"
-        @sort-change="handleSortChange"
-      >
-        <el-table-column type="selection" fixed="left" width="55"></el-table-column>
-        <el-table-column prop="code" label="瀛楀吀缂栫爜" fixed="left" min-width="100px"></el-table-column>
-        <el-table-column prop="name" label="瀛楀吀鍚嶇О" fixed="left" min-width="100px"></el-table-column>
-        <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column>
-        <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="140px" sortable="custom" sort-by="dict.CREATE_TIME"></el-table-column>
-        <el-table-column prop="updateUser" label="鏇存柊浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="140px"></el-table-column>
-        <el-table-column
-          v-if="containPermissions(['system:dict:update', 'system:dict:delete'])"
-          label="鎿嶄綔"
-          min-width="210"
-          fixed="right"
-        >
-          <template slot-scope="{row}">
-            <el-button type="text" @click="$refs.operaDictWindow.open('缂栬緫瀛楀吀', row)" icon="el-icon-edit" v-permissions="['system:dict:update']">缂栬緫</el-button>
-            <el-button type="text" @click="$refs.dictDataManagerWindow.open(row.id, row.name)" icon="el-icon-edit" v-permissions="['system:dict:update']">鏁版嵁绠$悊</el-button>
-            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['system:dict:delete']">鍒犻櫎</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-      <pagination
-        @size-change="handleSizeChange"
-        @current-change="handlePageChange"
-        :pagination="tableData.pagination"
-      ></pagination>
-    </template>
-    <!-- 鏂板缓/淇敼 -->
-    <OperaDictWindow ref="operaDictWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
-    <!-- 鏁版嵁绠$悊 -->
-    <DictDataManagerWindow ref="dictDataManagerWindow"/>
-  </TableLayout>
-</template>
-
-<script>
-import Pagination from '@/components/common/Pagination'
-import TableLayout from '@/layouts/TableLayout'
-import BaseTable from '@/components/base/BaseTable'
-import OperaDictWindow from '@/components/system/dict/OperaDictWindow'
-import DictDataManagerWindow from '@/components/system/dict/DictDataManagerWindow'
-export default {
-  name: 'SystemDict',
-  extends: BaseTable,
-  components: { DictDataManagerWindow, OperaDictWindow, TableLayout, Pagination },
-  data () {
-    return {
-      // 鎼滅储
-      searchForm: {
-        code: '',
-        name: ''
-      }
-    }
-  },
-  created () {
-    this.config({
-      module: '瀛楀吀',
-      api: '/system/dict',
-      sorts: [{
-        property: 'dict.CREATE_TIME',
-        direction: 'DESC'
-      }]
-    })
-    this.search()
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/01/01dd0cba4d12b4f1c0f088d89e21e8cf9b092f57.svn-base b/admin/.svn/pristine/01/01dd0cba4d12b4f1c0f088d89e21e8cf9b092f57.svn-base
deleted file mode 100644
index 975a875..0000000
--- a/admin/.svn/pristine/01/01dd0cba4d12b4f1c0f088d89e21e8cf9b092f57.svn-base
+++ /dev/null
@@ -1,40 +0,0 @@
-<template>
-  <div class="table-pagination">
-    <el-pagination
-      :current-page="pagination.pageIndex"
-      :page-sizes="[10, 20, 30, 40]"
-      :page-size="pagination.pageSize"
-      layout="total, sizes, prev, pager, next, jumper"
-      :total="pagination.total"
-      @size-change="sizeChange"
-      @current-change="currentChange"
-      background>
-    </el-pagination>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'Pagination',
-  props: {
-    pagination: {
-      type: Object,
-      default: function () {
-        return {}
-      }
-    }
-  },
-  data () {
-    return {
-    }
-  },
-  methods: {
-    sizeChange (value) {
-      this.$emit('size-change', value)
-    },
-    currentChange (value) {
-      this.$emit('current-change', value)
-    }
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/03/03794d063cbe224b6e31077e89f3c05758587aad.svn-base b/admin/.svn/pristine/03/03794d063cbe224b6e31077e89f3c05758587aad.svn-base
deleted file mode 100644
index a9d2ce8..0000000
--- a/admin/.svn/pristine/03/03794d063cbe224b6e31077e89f3c05758587aad.svn-base
+++ /dev/null
@@ -1,96 +0,0 @@
-import Vue from 'vue'
-import VueRouter from 'vue-router'
-import AppLayout from '@/layouts/AppLayout'
-import { getUserInfo } from '@/api/system/common'
-const Login = () => import('@/views/login')
-const ErrorNoPermissions = () => import('@/views/no-permissions')
-const Error404 = () => import('@/views/not-found')
-
-Vue.use(VueRouter)
-
-const router = new VueRouter({
-  base: process.env.VUE_APP_CONTEXT_PATH + (process.env.VUE_APP_ROUTER_MODE === 'hash' ? '#' : ''),
-  mode: process.env.VUE_APP_ROUTER_MODE,
-  routes: [
-    // 鐧诲綍
-    {
-      name: 'login',
-      path: '/login',
-      component: Login
-    },
-    // 鏃犳潈闄�
-    {
-      name: 'no-permissions',
-      path: '/no-permissions',
-      component: ErrorNoPermissions
-    },
-    // 404
-    {
-      name: 'not-found',
-      path: '/not-found',
-      component: Error404
-    },
-    // 鍐呭椤碉紙鍔ㄦ�佸姞杞斤級
-    {
-      name: 'layout',
-      path: '',
-      component: AppLayout,
-      children: []
-    }
-  ]
-})
-router.beforeEach((to, from, next) => {
-  // 鏃犳潈璁块棶&404椤甸潰鍙洿鎺ヨ闂�
-  if (to.name === 'no-permissions' || to.name === 'not-found') {
-    next()
-    return
-  }
-  // 濡傛灉璁块棶鐨勬槸layout锛堝洖閫�鏃跺彲鑳藉瓨鍦ㄨ鎯呭喌锛夛紝鐩村index
-  if (to.name === 'layout') {
-    next({ name: 'index' })
-    return
-  }
-  // 楠岃瘉鐢ㄦ埛鏄惁鐧诲綍
-  const userInfo = router.app.$options.store.state.userInfo
-  if (userInfo != null) {
-    // 濡傛灉鐢ㄦ埛涓嶅瓨鍦ㄦ潈闄�
-    if (userInfo.permissions.length === 0) {
-      next({ name: 'no-permissions' })
-      return
-    }
-    // 濡傛灉璁块棶鐨勬槸鐧诲綍椤甸潰锛屽垯鐩存帴璺宠浆鑷抽椤�
-    if (to.name === 'login') {
-      next({ name: 'index' })
-      return
-    }
-    next()
-    return
-  }
-  getUserInfo()
-    .then(userInfo => {
-      // 濡傛灉鐢ㄦ埛涓嶅瓨鍦ㄦ潈闄�
-      if (userInfo.permissions.length === 0) {
-        next({ name: 'no-permissions' })
-        return
-      }
-      // 宸茬櫥褰曪紝瀛樺偍userInfo
-      router.app.$store.commit('setUserInfo', userInfo)
-      // 濡傛灉璁块棶鐨勬槸鐧诲綍椤甸潰锛屽垯鐩存帴璺宠浆鑷抽椤�
-      if (to.name === 'login') {
-        next({ name: 'index' })
-        return
-      }
-      next()
-    })
-    .catch(e => {
-      // 濡傛灉璁块棶鐨勬槸鐧诲綍椤甸潰锛屽垯鐩存帴鏀捐
-      if (to.name === 'login') {
-        next()
-        return
-      }
-      // 鏈櫥褰曪紝璺宠浆鑷崇櫥褰曢〉
-      next({ name: 'login' })
-    })
-})
-
-export default router
diff --git a/admin/.svn/pristine/04/042aa589df327a85f21dfcfa6e669f4257a90938.svn-base b/admin/.svn/pristine/04/042aa589df327a85f21dfcfa6e669f4257a90938.svn-base
deleted file mode 100644
index c96efda..0000000
--- a/admin/.svn/pristine/04/042aa589df327a85f21dfcfa6e669f4257a90938.svn-base
+++ /dev/null
@@ -1,22 +0,0 @@
-export default {
-  inserted: function (el, binding, vnode) {
-    // 鑾峰彇鐢ㄦ埛淇℃伅
-    const userInfo = vnode.context.$store.state.userInfo
-    if (userInfo == null) {
-      el.parentNode && el.parentNode.removeChild(el)
-      return
-    }
-    // 鑾峰彇閰嶇疆鏉冮檺
-    const configPermissions = binding.value
-    if (configPermissions == null) {
-      return
-    }
-    if (!(configPermissions instanceof Array)) {
-      throw new Error('v-permissions鐨勫�煎繀椤讳负涓�涓暟缁�')
-    }
-    // 楠岃瘉鏉冮檺
-    if (configPermissions.findIndex(code => userInfo.permissions.findIndex(p => p === code) > -1) === -1) {
-      el.parentNode && el.parentNode.removeChild(el)
-    }
-  }
-}
diff --git a/admin/.svn/pristine/07/07f2371624b1ad955c3ce868ab97679b765d68b3.svn-base b/admin/.svn/pristine/07/07f2371624b1ad955c3ce868ab97679b765d68b3.svn-base
deleted file mode 100644
index df41c8d..0000000
--- a/admin/.svn/pristine/07/07f2371624b1ad955c3ce868ab97679b765d68b3.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621750614796" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6622" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M782.215429 604.888761l-18.436207-15.623905-4.609052-3.749737c-3.827857-3.2029-7.811952-6.249562-11.48357-9.296223l-5.234008-3.905976-1.093673-0.859315-6.56204-4.765291c-3.359139-2.421705-6.796398-4.765291-10.233658-7.030757l-2.343585-1.56239a382.082586 382.082586 0 0 0-109.367332-49.293419 264.668943 264.668943 0 1 0-204.438791 0 385.129247 385.129247 0 0 0-108.0393 48.98094l-2.265466 1.562391c-3.515379 2.265466-6.952638 4.609052-10.233658 7.030757l-6.640159 4.84341-0.937434 0.624957-5.312128 4.062215c-3.905976 2.968542-7.811952 6.093323-11.952287 9.608701l-4.062215 3.437259-18.592446 15.623905 0.937434 0.546836A397.159653 397.159653 0 0 0 122.183582 889.321943V914.085832a109.757929 109.757929 0 0 0 109.757929 109.367331h559.257663a109.757929 109.757929 0 0 0 109.367332-109.367331v-24.998248a396.847175 396.847175 0 0 0-119.288511-283.730106z" fill="#f7f7f7" p-id="6623"></path><path d="M232.253989 576.297015c3.984096-3.359139 7.811952-6.327681 11.327331-9.139984l5.858964-4.452813 0.859315-0.624956 6.952637-5.077769 10.936734-7.811952 2.421705-1.562391a403.409215 403.409215 0 0 1 74.526024-38.512924 286.698648 286.698648 0 0 1-138.115316-244.748465c0-6.405801 0-12.733482 0.703076-18.983044a171.081755 171.081755 0 0 0 24.52953 330.914298zM225.926308 581.609143a252.951015 252.951015 0 0 0-102.805292 39.059761l-1.562391 1.015554c-2.265466 1.56239-4.530932 3.046661-6.718278 4.687171l-4.374694 3.202901c-1.406151 1.015554-2.812303 2.031108-4.140334 3.124781-2.577944 1.952988-5.155888 3.984096-7.811953 6.093322l-0.859314 0.781196-2.187347 1.718629A262.950313 262.950313 0 0 0 5.004298 839.872285v17.342534a63.979889 63.979889 0 0 0 63.979889 63.979889h12.186645v-21.482869a421.220466 421.220466 0 0 1 107.648703-281.230281zM678.863301 509.426704a406.221518 406.221518 0 0 1 74.526024 38.512925l2.343586 1.56239 11.014853 7.811952 6.874518 5.077769 0.937434 0.624956 5.858964 4.452813c3.593498 2.812303 7.343235 5.780845 11.327331 9.139984a171.081755 171.081755 0 0 0 24.52953-330.914298c0.390598 6.249562 0.703076 12.577243 0.703076 18.983044A286.698648 286.698648 0 0 1 678.863301 509.426704zM928.220817 641.136219l-2.109227-1.718629-0.937434-0.781196c-2.499825-2.109227-4.999649-4.140335-7.811953-6.093322l-4.140334-3.124781-4.374694-3.202901c-2.187347-1.64051-4.452813-3.124781-6.796398-4.687171l-1.484271-1.015554a253.341612 253.341612 0 0 0-102.805292-39.059761l37.106773 36.716175a421.142347 421.142347 0 0 1 107.570583 281.230282v21.482869h12.186646a64.058009 64.058009 0 0 0 64.058008-63.979889v-17.030056a262.715955 262.715955 0 0 0-90.462407-198.736066z" fill="#f7f7f7" p-id="6624"></path></svg>
diff --git a/admin/.svn/pristine/0a/0af70751df62dcc0a3ae5183f4953225d2971c89.svn-base b/admin/.svn/pristine/0a/0af70751df62dcc0a3ae5183f4953225d2971c89.svn-base
deleted file mode 100644
index bc975bc..0000000
--- a/admin/.svn/pristine/0a/0af70751df62dcc0a3ae5183f4953225d2971c89.svn-base
+++ /dev/null
@@ -1,20 +0,0 @@
-// 鍘荤┖
-export function trim (data) {
-  if (data == null) {
-    return null
-  }
-  if (typeof data === 'string') {
-    return data.trim()
-  }
-  if (data instanceof Array) {
-    for (const item of data) {
-      trim(item)
-    }
-  }
-  if (typeof data === 'object') {
-    for (const key in data) {
-      data[key] = trim(data[key])
-    }
-  }
-  return data
-}
diff --git a/admin/.svn/pristine/0b/0b58138411751c3fe38512314fd8c594f0e973f2.svn-base b/admin/.svn/pristine/0b/0b58138411751c3fe38512314fd8c594f0e973f2.svn-base
deleted file mode 100644
index d64e0ae..0000000
--- a/admin/.svn/pristine/0b/0b58138411751c3fe38512314fd8c594f0e973f2.svn-base
+++ /dev/null
@@ -1,160 +0,0 @@
-<template>
-  <div class="table-layout">
-    <!-- 澶撮儴 -->
-    <div v-if="withBreadcrumb" class="table-header">
-      <el-breadcrumb separator="/">
-        <el-breadcrumb-item v-for="path in paths" :key="path">{{path}}</el-breadcrumb-item>
-      </el-breadcrumb>
-    </div>
-    <Profile :roles="roles" :permissions="permissions">
-      <!-- 鎼滅储琛ㄥ崟閮ㄥ垎 -->
-      <div class="table-search-form">
-        <div class="form-wrap">
-          <slot name="search-form"></slot>
-        </div>
-      </div>
-      <slot name="space"></slot>
-      <!-- 鍒楄〃鍜屽垎椤甸儴鍒� -->
-      <div class="table-content">
-        <div class="table-wrap">
-          <slot name="table-wrap"></slot>
-        </div>
-      </div>
-      <slot></slot>
-    </Profile>
-  </div>
-</template>
-
-<script>
-import Profile from '../components/common/Profile'
-export default {
-  name: 'TableLayout',
-  components: { Profile },
-  props: {
-    // 瑙掕壊
-    roles: {
-      type: Array
-    },
-    // 鏉冮檺
-    permissions: {
-      type: Array
-    },
-    // 鏄惁灞曠ず澶撮儴闈㈠寘灞�
-    withBreadcrumb: {
-      type: Boolean,
-      default: true
-    }
-  },
-  computed: {
-    paths () {
-      return this.$route.meta.paths
-    }
-  }
-}
-</script>
-
-<style lang="scss">
-@import "@/assets/style/variables.scss";
-.table-layout {
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  .not-allow-wrap {
-    padding-top: 0;
-  }
-}
-// 澶撮儴
-.table-header {
-  overflow: hidden;
-  padding: 12px 16px;
-  flex-shrink: 0;
-  // 椤甸潰璺緞
-  .el-breadcrumb {
-    .el-breadcrumb__item {
-      .el-breadcrumb__inner {
-        color: #ABB2BE;
-        font-size: 12px;
-      }
-      &:last-of-type .el-breadcrumb__inner {
-        color: #606263;
-        font-size: 14px;
-      }
-    }
-  }
-}
-// 鎼滅储
-.table-search-form {
-  display: flex;
-  flex-wrap: wrap;
-  padding: 0 16px;
-  .form-wrap {
-    padding: 16px 16px 0 16px;
-    width: 100%;
-    background: #fff;
-    &:empty {
-      padding: 0;
-    }
-  }
-  section {
-    display: inline-block;
-    margin-left: 16px;
-    margin-bottom: 18px;
-  }
-}
-// 鍒楄〃鍜屽垎椤�
-.table-content {
-  margin-top: 10px;
-  padding: 0 16px;
-  .table-wrap {
-    padding: 16px 16px 0 16px;
-    background: #fff;
-    // 宸ュ叿鏍�
-    .toolbar {
-      border-bottom: 1px solid #eee;
-      padding-bottom: 10px;
-      li {
-        display: inline-block;
-        margin-right: 6px;
-      }
-    }
-    // 琛ㄦ牸
-    .el-table {
-      th {
-        .cell {
-          color: #666;
-        }
-      }
-      // 澶嶉�夋鍒�
-      .el-table-column--selection {
-        .cell {
-          text-align: center !important;
-        }
-      }
-      // 澶氬�煎瓧娈�
-      .table-column-strings {
-        ul {
-          li {
-            display: inline-block;
-            background: #eee;
-            border-radius: 3px;
-            padding: 0 3px;
-            margin-right: 3px;
-            margin-bottom: 3px;
-          }
-        }
-      }
-      // 鏍戣瑙夎皟鏁�
-      [class*=el-table__row--level] .el-table__expand-icon {
-        position: relative;
-        left: -6px;
-        margin-right: 0;
-      }
-    }
-    // 鍒嗛〉
-    .table-pagination {
-      padding: 16px 0;
-      text-align: left;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/0d/0d44040e55eebb46be6dd560b5a75924cd681c7a.svn-base b/admin/.svn/pristine/0d/0d44040e55eebb46be6dd560b5a75924cd681c7a.svn-base
deleted file mode 100644
index eb6b15b..0000000
--- a/admin/.svn/pristine/0d/0d44040e55eebb46be6dd560b5a75924cd681c7a.svn-base
+++ /dev/null
@@ -1,12 +0,0 @@
-# 鐢熶骇鐜閰嶇疆
-NODE_ENV = 'production'
-
-# VUE_APP_API = 'https://dmtest.ahapp.net/preselect_interface/'
-
-VUE_APP_API = 'http://127.0.0.1/'
-
-# VUE_APP_API = 'https://dm.ahapp.net/preselect_interface/'
-
-# VUE_APP_API = 'http://yx.doumee.com/preselect_interface/'
-
-# VUE_APP_API = 'http://mjyx.doumee.com/preselect_interface/'
\ No newline at end of file
diff --git a/admin/.svn/pristine/0f/0fbfa417d9d6dd95954d89df9d0ad5527d479c0c.svn-base b/admin/.svn/pristine/0f/0fbfa417d9d6dd95954d89df9d0ad5527d479c0c.svn-base
deleted file mode 100644
index bbad831..0000000
--- a/admin/.svn/pristine/0f/0fbfa417d9d6dd95954d89df9d0ad5527d479c0c.svn-base
+++ /dev/null
@@ -1,106 +0,0 @@
-<template>
-  <GlobalWindow
-    :title="dictName + '鏁版嵁绠$悊'"
-    width="78%"
-    :visible.sync="visible"
-    :with-footer="false"
-  >
-    <TableLayout :with-breadcrumb="false">
-      <!-- 琛ㄦ牸鍜屽垎椤� -->
-      <template v-slot:table-wrap>
-        <ul class="toolbar">
-          <li><el-button type="primary" @click="$refs.operaDictDataWindow.open('鏂板缓瀛楀吀鏁版嵁', searchForm.dictId)" icon="el-icon-plus">鏂板缓</el-button></li>
-          <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete">鍒犻櫎</el-button></li>
-        </ul>
-        <el-table
-          v-loading="isWorking.search"
-          :data="tableData.list"
-          stripe
-          @selection-change="handleSelectionChange"
-        >
-          <el-table-column type="selection" width="55"></el-table-column>
-          <el-table-column prop="label" label="鏁版嵁鏍囩" min-width="100px"></el-table-column>
-          <el-table-column prop="code" label="鏁版嵁鍊�" min-width="100px"></el-table-column>
-          <el-table-column prop="disabled" label="鐘舵��" min-width="100px">
-            <template slot-scope="{row}">{{row.disabled | disabledText}}</template>
-          </el-table-column>
-          <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px">
-            <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template>
-          </el-table-column>
-          <el-table-column prop="updateUser" label="鏇存柊浜�" min-width="100px">
-            <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template>
-          </el-table-column>
-          <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
-          <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column>
-          <el-table-column
-            label="鎿嶄綔"
-            min-width="120"
-            fixed="right"
-          >
-            <template slot-scope="{row}">
-              <el-button type="text" @click="$refs.operaDictDataWindow.open('缂栬緫瀛楀吀鏁版嵁', dictId, row)" icon="el-icon-edit">缂栬緫</el-button>
-              <el-button type="text" @click="deleteById(row)" icon="el-icon-delete">鍒犻櫎</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-        <pagination
-          @size-change="handleSizeChange"
-          @current-change="handlePageChange"
-          :pagination="tableData.pagination"
-        ></pagination>
-      </template>
-      <!-- 鏂板缓/淇敼 -->
-      <OperaDictDataWindow ref="operaDictDataWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
-    </TableLayout>
-  </GlobalWindow>
-</template>
-
-<script>
-import BaseTable from '@/components/base/BaseTable'
-import Pagination from '@/components/common/Pagination'
-import GlobalWindow from '@/components/common/GlobalWindow'
-import TableLayout from '@/layouts/TableLayout'
-import OperaDictDataWindow from './OperaDictDataWindow'
-export default {
-  name: 'DictDataManagerWindow',
-  extends: BaseTable,
-  components: { OperaDictDataWindow, TableLayout, GlobalWindow, Pagination },
-  data () {
-    return {
-      visible: false,
-      searchForm: {
-        // 瀛楀吀ID
-        dictId: null
-      },
-      // 瀛楀吀鍚嶇О
-      dictName: ''
-    }
-  },
-  methods: {
-    // 鎵撳紑鏁版嵁绠$悊
-    open (dictId, dictName) {
-      this.searchForm.dictId = dictId
-      this.dictName = dictName
-      this.visible = true
-      this.search()
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/dictData',
-      'field.main': 'label'
-    })
-  }
-}
-</script>
-
-<style scoped lang="scss">
-/deep/ .window__body {
-  .table-content {
-    padding: 0;
-    .table-wrap {
-      padding-top: 0;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/10/105a72f8ee18be4a424009b7d31769e199871186.svn-base b/admin/.svn/pristine/10/105a72f8ee18be4a424009b7d31769e199871186.svn-base
deleted file mode 100644
index 114ca0e..0000000
--- a/admin/.svn/pristine/10/105a72f8ee18be4a424009b7d31769e199871186.svn-base
+++ /dev/null
@@ -1,32 +0,0 @@
-@import "variables.scss";
-// 鏍峰紡閲嶇疆
-html {
-  height: 100%;
-  padding: 0;
-  margin: 0;
-  color: $font-color;
-  font-family: 'Avenir', Helvetica, Arial, sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  body {
-    height: 100%;
-    padding: 0;
-    margin: 0;
-  }
-  h1,h2,h3,h4,h5,h6,ul {
-    margin: 0;
-    padding: 0;
-  }
-  ul {
-    list-style: none;
-  }
-  #app {
-    height: 100%;
-    min-width: $page-min-width;
-  }
-}
-
-// 绌挎妗嗙殑鎸夐挳
-.el-transfer__buttons {
-  padding: 0 16px !important;
-}
diff --git a/admin/.svn/pristine/17/17708cd30624666f5f46d91a9378f912766b24ca.svn-base b/admin/.svn/pristine/17/17708cd30624666f5f46d91a9378f912766b24ca.svn-base
deleted file mode 100644
index d59bd50..0000000
--- a/admin/.svn/pristine/17/17708cd30624666f5f46d91a9378f912766b24ca.svn-base
+++ /dev/null
@@ -1,125 +0,0 @@
-<template>
-  <el-drawer
-    class="global-window"
-    title="title"
-    :visible="visible"
-    :with-header="true"
-    :size="width"
-    :close-on-press-escape="false"
-    :wrapper-closable="false"
-    :append-to-body="true"
-    @close="close"
-  >
-    <div slot="title" class="window__header">
-      <span class="header__btn-back" @click="close"><i class="el-icon-arrow-left"></i></span>{{title}}
-    </div>
-    <div class="window__body">
-      <slot></slot>
-    </div>
-    <div v-if="withFooter" class="window__footer">
-      <slot name="footer">
-        <el-button @click="confirm" :loading="confirmWorking" type="primary">纭畾</el-button>
-        <el-button @click="close">鍙栨秷</el-button>
-      </slot>
-    </div>
-  </el-drawer>
-</template>
-
-<script>
-export default {
-  name: 'GlobalWindow',
-  props: {
-    width: {
-      type: String,
-      default: '36%'
-    },
-    // 鏄惁鍖呭惈搴曢儴鎿嶄綔
-    withFooter: {
-      type: Boolean,
-      default: true
-    },
-    // 纭鎸夐挳loading鐘舵��
-    confirmWorking: {
-      type: Boolean,
-      default: false
-    },
-    // 鏍囬
-    title: {
-      type: String,
-      default: ''
-    },
-    // 鏄惁灞曠ず
-    visible: {
-      type: Boolean,
-      required: true
-    }
-  },
-  methods: {
-    confirm () {
-      this.$emit('confirm')
-    },
-    close () {
-      this.$emit('update:visible', false)
-    }
-  }
-}
-</script>
-
-<style scoped lang="scss">
-@import "@/assets/style/variables.scss";
-// 杈撳叆妗嗛珮搴�
-$input-height: 32px;
-.global-window {
-  // 澶撮儴鏍囬
-  /deep/ .el-drawer__header {
-    padding: 0 10px 0 0;
-    line-height: 40px;
-    border-bottom: 1px solid #eee;
-    // 杩斿洖鎸夐挳
-    .header__btn-back {
-      display: inline-block;
-      width: 30px;
-      background: $primary-color;
-      color: #fff;
-      text-align: center;
-      margin-right: 12px;
-      border-right: 1px solid #eee;
-    }
-    .el-drawer__close-btn:focus {
-      outline: none;
-    }
-  }
-  // 涓讳綋
-  /deep/ .el-drawer__body {
-    display: flex;
-    flex-direction: column;
-    position: absolute;
-    top: 40px;
-    bottom: 0;
-    width: 100%;
-    overflow: hidden;
-    // 鍐呭
-    .window__body {
-      height: 100%;
-      overflow-y: auto;
-      padding: 12px 16px;
-      // 鏍囩
-      .el-form-item__label {
-        float: none;
-      }
-      // 鍏冪礌瀹藉害涓�100%
-      .el-form-item__content > *{
-        width: 100%;
-      }
-    }
-    // 灏鹃儴
-    .window__footer {
-      user-select: none;
-      border-top: 1px solid #eee;
-      height: 60px;
-      line-height: 60px;
-      text-align: center;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/1b/1bca6c429b7eb0c07bdb3517e74be98adf88d10b.svn-base b/admin/.svn/pristine/1b/1bca6c429b7eb0c07bdb3517e74be98adf88d10b.svn-base
deleted file mode 100644
index 379bde0..0000000
--- a/admin/.svn/pristine/1b/1bca6c429b7eb0c07bdb3517e74be98adf88d10b.svn-base
+++ /dev/null
@@ -1,67 +0,0 @@
-<template>
-  <el-select
-    class="data-perm-type-select"
-    :class="{select__block: !inline}"
-    :value="value"
-    :placeholder="placeholder"
-    :clearable="clearable"
-    :disabled="disabled"
-    @change="$emit('change', $event)"
-    @input="$emit('input', $event)"
-  >
-    <el-option v-for="type in filterTypes" :key="type.code" :value="type.code" :label="type.remark"/>
-  </el-select>
-</template>
-
-<script>
-import { fetchTypes } from '@/api/system/dataPermission'
-export default {
-  name: 'DataPermTypeSelect',
-  props: {
-    value: {},
-    // 妯″潡鍚嶇О
-    module: {},
-    placeholder: {
-      default: '璇烽�夋嫨鏉冮檺绫诲瀷'
-    },
-    inline: {
-      default: true
-    },
-    disabled: {},
-    clearable: {
-      default: false
-    }
-  },
-  data () {
-    return {
-      types: []
-    }
-  },
-  computed: {
-    filterTypes () {
-      if (this.module == null || this.module === '') {
-        return []
-      }
-      const types = []
-      for (const type of this.types) {
-        if (type.modules.length === 0 || type.modules.indexOf(this.module) !== -1) {
-          types.push(type)
-        }
-      }
-      return types
-    }
-  },
-  created () {
-    fetchTypes()
-      .cache()
-      .then(data => {
-        this.types = data
-      })
-  }
-}
-</script>
-<style lang="scss" scoped>
-  .select__block {
-    display: block;
-  }
-</style>
diff --git a/admin/.svn/pristine/1d/1d83cff35cf4ab93455aa7721c9a90dd4a0a19fc.svn-base b/admin/.svn/pristine/1d/1d83cff35cf4ab93455aa7721c9a90dd4a0a19fc.svn-base
deleted file mode 100644
index 1dc0133..0000000
--- a/admin/.svn/pristine/1d/1d83cff35cf4ab93455aa7721c9a90dd4a0a19fc.svn-base
+++ /dev/null
@@ -1,30 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-  return request.post('/system/dictData/page', data)
-}
-
-// 鏂板缓
-export function create (data) {
-  return request.post('/system/dictData/create', data)
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/system/dictData/updateById', data)
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/system/dictData/delete/${id}`)
-}
-
-// 鎵归噺鍒犻櫎
-export function deleteByIdInBatch (ids) {
-  return request.get('/system/dictData/delete/batch', {
-    params: {
-      ids
-    }
-  })
-}
diff --git a/admin/.svn/pristine/1e/1e0407c556ee7ea367360750d13b23b61ebf708c.svn-base b/admin/.svn/pristine/1e/1e0407c556ee7ea367360750d13b23b61ebf708c.svn-base
deleted file mode 100644
index 3b1e3bb..0000000
--- a/admin/.svn/pristine/1e/1e0407c556ee7ea367360750d13b23b61ebf708c.svn-base
+++ /dev/null
@@ -1,5 +0,0 @@
-/**
- * 甯搁噺瀹氫箟
- */
-export default {
-}
diff --git a/admin/.svn/pristine/1e/1ea753c1571f28629c50380fe118258f8f33112b.svn-base b/admin/.svn/pristine/1e/1ea753c1571f28629c50380fe118258f8f33112b.svn-base
deleted file mode 100644
index 7103b4c..0000000
--- a/admin/.svn/pristine/1e/1ea753c1571f28629c50380fe118258f8f33112b.svn-base
+++ /dev/null
@@ -1,16 +0,0 @@
-import request from '../../utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-  return request.post('/system/loginLog/page', data, {
-    trim: true
-  })
-}
-
-// 瀵煎嚭Excel
-export function exportExcel (data) {
-  return request.post('/system/loginLog/exportExcel', data, {
-    download: true,
-    trim: true
-  })
-}
diff --git a/admin/.svn/pristine/1f/1f79ddbb8e54a86c7850c7f5c6b6a87981f27ec2.svn-base b/admin/.svn/pristine/1f/1f79ddbb8e54a86c7850c7f5c6b6a87981f27ec2.svn-base
deleted file mode 100644
index e96f19f..0000000
--- a/admin/.svn/pristine/1f/1f79ddbb8e54a86c7850c7f5c6b6a87981f27ec2.svn-base
+++ /dev/null
@@ -1,35 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ
-export function fetchTree () {
-  return request.post('/system/department/tree')
-}
-
-// 鏌ヨ閮ㄩ棬鐢ㄦ埛
-export function fetchUserList (data) {
-  return request.post('/system/department/users', data)
-}
-
-// 鏂板缓
-export function create (data) {
-  return request.post('/system/department/create', data)
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/system/department/updateById', data)
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/system/department/delete/${id}`)
-}
-
-// 鎵归噺鍒犻櫎
-export function deleteByIdInBatch (ids) {
-  return request.get('/system/department/delete/batch', {
-    params: {
-      ids
-    }
-  })
-}
diff --git a/admin/.svn/pristine/20/20bdf4c4a7e8a14c9bf3e33b0a2ba61913cb78a9.svn-base b/admin/.svn/pristine/20/20bdf4c4a7e8a14c9bf3e33b0a2ba61913cb78a9.svn-base
deleted file mode 100644
index fbc1edb..0000000
--- a/admin/.svn/pristine/20/20bdf4c4a7e8a14c9bf3e33b0a2ba61913cb78a9.svn-base
+++ /dev/null
@@ -1,35 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ鍒楄〃鏍�
-export function fetchTree (data) {
-  return request.post('/system/position/tree', data)
-}
-
-// 鏌ヨ鍒楄〃
-export function fetchList (data) {
-  return request.post('/system/position/list', data)
-}
-
-// 鏂板缓
-export function create (data) {
-  return request.post('/system/position/create', data)
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/system/position/updateById', data)
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/system/position/delete/${id}`)
-}
-
-// 鎵归噺鍒犻櫎
-export function deleteByIdInBatch (ids) {
-  return request.get('/system/position/delete/batch', {
-    params: {
-      ids
-    }
-  })
-}
diff --git a/admin/.svn/pristine/20/20c9d314abe076aa49b0d94745f965c436fb4a28.svn-base b/admin/.svn/pristine/20/20c9d314abe076aa49b0d94745f965c436fb4a28.svn-base
deleted file mode 100644
index 82d800e..0000000
--- a/admin/.svn/pristine/20/20c9d314abe076aa49b0d94745f965c436fb4a28.svn-base
+++ /dev/null
@@ -1,71 +0,0 @@
-const sessionCache = {
-  set (key, value) {
-    if (!sessionStorage) {
-      return
-    }
-    if (key != null && value != null) {
-      sessionStorage.setItem(key, value)
-    }
-  },
-  get (key) {
-    if (!sessionStorage) {
-      return null
-    }
-    if (key == null) {
-      return null
-    }
-    return sessionStorage.getItem(key)
-  },
-  setJSON (key, jsonValue) {
-    if (jsonValue != null) {
-      this.set(key, JSON.stringify(jsonValue))
-    }
-  },
-  getJSON (key) {
-    const value = this.get(key)
-    if (value != null) {
-      return JSON.parse(value)
-    }
-  }
-}
-const localCache = {
-  set (key, value) {
-    if (!localStorage) {
-      return
-    }
-    if (key != null && value != null) {
-      localStorage.setItem(key, value)
-    }
-  },
-  get (key) {
-    if (!localStorage) {
-      return null
-    }
-    if (key == null) {
-      return null
-    }
-    return localStorage.getItem(key)
-  },
-  setJSON (key, jsonValue) {
-    if (jsonValue != null) {
-      this.set(key, JSON.stringify(jsonValue))
-    }
-  },
-  getJSON (key) {
-    const value = this.get(key)
-    if (value != null) {
-      return JSON.parse(value)
-    }
-  }
-}
-
-export default {
-  /**
-   * 浼氳瘽绾х紦瀛�
-   */
-  session: sessionCache,
-  /**
-   * 鏈湴缂撳瓨
-   */
-  local: localCache
-}
diff --git a/admin/.svn/pristine/24/24999e0c1eb2fa55beef3446435bf1f7cad982dd.svn-base b/admin/.svn/pristine/24/24999e0c1eb2fa55beef3446435bf1f7cad982dd.svn-base
deleted file mode 100644
index 2892abe..0000000
--- a/admin/.svn/pristine/24/24999e0c1eb2fa55beef3446435bf1f7cad982dd.svn-base
+++ /dev/null
@@ -1,12 +0,0 @@
-<template>
-  <router-view/>
-</template>
-
-<style lang="scss">
-// 寮曞叆鍏ㄥ眬鏍峰紡
-@import "assets/style/style";
-// 寮曞叆绯荤粺鍐呯疆鍥炬爣
-@import "assets/icons/system/index";
-// 寮曞叆鑷畾涔夊浘鏍�
-@import "assets/icons/ext/index";
-</style>
diff --git a/admin/.svn/pristine/25/25b12b3658bc9f01c26b90ac4d96ef9dbb48eb6b.svn-base b/admin/.svn/pristine/25/25b12b3658bc9f01c26b90ac4d96ef9dbb48eb6b.svn-base
deleted file mode 100644
index 4080420..0000000
--- a/admin/.svn/pristine/25/25b12b3658bc9f01c26b90ac4d96ef9dbb48eb6b.svn-base
+++ /dev/null
@@ -1,44 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-  return request.post('/system/user/page', data)
-}
-
-// 鏂板缓
-export function create (data) {
-  return request.post('/system/user/create', data, {
-    trim: true
-  })
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/system/user/updateById', data, {
-    trim: true
-  })
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/system/user/delete/${id}`)
-}
-
-// 鎵归噺鍒犻櫎
-export function deleteByIdInBatch (ids) {
-  return request.get('/system/user/delete/batch', {
-    params: {
-      ids
-    }
-  })
-}
-
-// 閰嶇疆鐢ㄦ埛瑙掕壊
-export function createUserRole (data) {
-  return request.post('/system/user/createUserRole', data)
-}
-
-// 閲嶇疆瀵嗙爜
-export function resetPwd (data) {
-  return request.post('/system/user/resetPwd', data)
-}
diff --git a/admin/.svn/pristine/26/261281316565c3b85eda0fb72b79280bbaeb8a1f.svn-base b/admin/.svn/pristine/26/261281316565c3b85eda0fb72b79280bbaeb8a1f.svn-base
deleted file mode 100644
index 3be2adb..0000000
--- a/admin/.svn/pristine/26/261281316565c3b85eda0fb72b79280bbaeb8a1f.svn-base
+++ /dev/null
@@ -1,49 +0,0 @@
-import Vue from 'vue'
-import Vuex from 'vuex'
-Vue.use(Vuex)
-
-const state = {
-  // 鐧诲綍鐢ㄦ埛淇℃伅
-  userInfo: null,
-  // 棣栭〉
-  homePage: null,
-  // 鑿滃崟
-  menuData: {
-    // 鑿滃崟鍒楄〃
-    list: [],
-    // 鏄惁鏀惰捣
-    collapse: false
-  }
-}
-
-const mutations = {
-  // 鍒囨崲鑿滃崟鐘舵��
-  switchCollapseMenu (state, value) {
-    if (value != null) {
-      state.menuData.collapse = value
-    } else {
-      state.menuData.collapse = !state.menuData.collapse
-    }
-    window.localStorage.setItem('MENU_STATUS', state.menuData.collapse)
-  },
-  // 璁剧疆宸茬櫥褰曠殑鐢ㄦ埛淇℃伅
-  setUserInfo: (state, data) => {
-    state.userInfo = data
-  },
-  // 璁剧疆棣栭〉璺敱淇℃伅
-  setHomePage (state, homePage) {
-    state.homePage = homePage
-  },
-  // 閲嶇疆鑿滃崟
-  resetMenus: (state) => {
-    state.menuData.list = []
-  }
-}
-const actions = {}
-const getters = {}
-export default new Vuex.Store({
-  state,
-  mutations,
-  actions,
-  getters
-})
diff --git a/admin/.svn/pristine/26/26bb9a8f4256656648e6f4c135e488bad1dbf98c.svn-base b/admin/.svn/pristine/26/26bb9a8f4256656648e6f4c135e488bad1dbf98c.svn-base
deleted file mode 100644
index 523d8c4..0000000
--- a/admin/.svn/pristine/26/26bb9a8f4256656648e6f4c135e488bad1dbf98c.svn-base
+++ /dev/null
@@ -1,80 +0,0 @@
-{
-  "name": "intelligent_manufacture",
-  "version": "1.0.0",
-  "private": true,
-  "scripts": {
-    "serve": "vue-cli-service serve",
-    "build": "vue-cli-service build",
-    "build:staging": "vue-cli-service build --mode staging",
-    "lint": "vue-cli-service lint",
-    "fix": "eslint --ext .js,.vue src --fix"
-  },
-  "dependencies": {
-    "@riophae/vue-treeselect": "^0.4.0",
-    "axios": "^0.21.1",
-    "core-js": "^3.6.5",
-    "element-ui": "^2.3.6",
-    "js-cookie": "^2.2.1",
-    "js-file-download": "^0.4.12",
-    "vue": "^2.6.11",
-    "vue-clipboard2": "^0.3.1",
-    "vue-router": "^3.5.1",
-    "vuescroll": "^4.17.3",
-    "vuex": "^3.4.0"
-  },
-  "devDependencies": {
-    "@vue/cli-plugin-babel": "~4.5.0",
-    "@vue/cli-plugin-eslint": "~4.5.0",
-    "@vue/cli-plugin-router": "~4.5.0",
-    "@vue/cli-plugin-vuex": "~4.5.0",
-    "@vue/cli-service": "~4.5.0",
-    "@vue/eslint-config-standard": "^5.1.2",
-    "babel-eslint": "^10.1.0",
-    "eslint": "^6.7.2",
-    "eslint-plugin-import": "^2.20.2",
-    "eslint-plugin-node": "^11.1.0",
-    "eslint-plugin-promise": "^4.2.1",
-    "eslint-plugin-standard": "^4.0.0",
-    "eslint-plugin-vue": "^6.2.2",
-    "lint-staged": "^9.5.0",
-    "node-sass": "^4.12.0",
-    "sass-loader": "^8.0.2",
-    "vue-cli-plugin-element-ui": "~1.1.4",
-    "vue-template-compiler": "^2.6.11"
-  },
-  "eslintConfig": {
-    "root": true,
-    "env": {
-      "node": true
-    },
-    "extends": [
-      "plugin:vue/essential",
-      "@vue/standard"
-    ],
-    "parserOptions": {
-      "parser": "babel-eslint"
-    },
-    "rules": {
-      "indent": [
-        "error",
-        2
-      ],
-      "generator-star-spacing": "off",
-      "no-debugger": "error"
-    }
-  },
-  "browserslist": [
-    "> 1%",
-    "last 2 versions",
-    "not dead"
-  ],
-  "gitHooks": {
-    "pre-commit": "lint-staged"
-  },
-  "lint-staged": {
-    "*.{js,jsx,vue}": [
-      "vue-cli-service lint",
-      "git add"
-    ]
-  }
-}
diff --git a/admin/.svn/pristine/2c/2ca67584294257ad828510cd399f1f63785bbb14.svn-base b/admin/.svn/pristine/2c/2ca67584294257ad828510cd399f1f63785bbb14.svn-base
deleted file mode 100644
index a8bc941..0000000
--- a/admin/.svn/pristine/2c/2ca67584294257ad828510cd399f1f63785bbb14.svn-base
+++ /dev/null
@@ -1,293 +0,0 @@
-export default [
-  // 鑷畾涔夊浘鏍�
-  'eva-icon-role',
-  'eva-icon-permission',
-  'eva-icon-department',
-  'eva-icon-position',
-  'eva-icon-dictionary',
-  'eva-icon-listener',
-  'eva-icon-log',
-  'eva-icon-log-opera',
-  'eva-icon-log-login',
-  // element-ui鍥炬爣
-  'el-icon-platform-eleme',
-  'el-icon-eleme',
-  'el-icon-delete-solid',
-  'el-icon-delete',
-  'el-icon-s-tools',
-  'el-icon-setting',
-  'el-icon-user-solid',
-  'el-icon-user',
-  'el-icon-phone',
-  'el-icon-phone-outline',
-  'el-icon-more',
-  'el-icon-more-outline',
-  'el-icon-star-on',
-  'el-icon-star-off',
-  'el-icon-s-goods',
-  'el-icon-goods',
-  'el-icon-warning',
-  'el-icon-warning-outline',
-  'el-icon-question',
-  'el-icon-info',
-  'el-icon-remove',
-  'el-icon-circle-plus',
-  'el-icon-success',
-  'el-icon-error',
-  'el-icon-zoom-in',
-  'el-icon-zoom-out',
-  'el-icon-remove-outline',
-  'el-icon-circle-plus-outline',
-  'el-icon-circle-check',
-  'el-icon-circle-close',
-  'el-icon-s-help',
-  'el-icon-help',
-  'el-icon-minus',
-  'el-icon-plus',
-  'el-icon-check',
-  'el-icon-close',
-  'el-icon-picture',
-  'el-icon-picture-outline',
-  'el-icon-picture-outline-round',
-  'el-icon-upload',
-  'el-icon-upload2',
-  'el-icon-download',
-  'el-icon-camera-solid',
-  'el-icon-camera',
-  'el-icon-video-camera-solid',
-  'el-icon-video-camera',
-  'el-icon-message-solid',
-  'el-icon-bell',
-  '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-home',
-  '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-share',
-  'el-icon-d-caret',
-  'el-icon-caret-left',
-  'el-icon-caret-right',
-  'el-icon-caret-bottom',
-  'el-icon-caret-top',
-  'el-icon-bottom-left',
-  'el-icon-bottom-right',
-  'el-icon-back',
-  'el-icon-right',
-  'el-icon-bottom',
-  'el-icon-top',
-  'el-icon-top-left',
-  'el-icon-top-right',
-  'el-icon-arrow-left',
-  'el-icon-arrow-right',
-  'el-icon-arrow-down',
-  'el-icon-arrow-up',
-  'el-icon-d-arrow-left',
-  'el-icon-d-arrow-right',
-  'el-icon-video-pause',
-  'el-icon-video-play',
-  'el-icon-refresh',
-  'el-icon-refresh-right',
-  'el-icon-refresh-left',
-  'el-icon-finished',
-  'el-icon-sort',
-  'el-icon-sort-up',
-  'el-icon-sort-down',
-  'el-icon-rank',
-  'el-icon-loading',
-  'el-icon-view',
-  'el-icon-c-scale-to-original',
-  'el-icon-date',
-  'el-icon-edit',
-  'el-icon-edit-outline',
-  'el-icon-folder',
-  'el-icon-folder-opened',
-  'el-icon-folder-add',
-  'el-icon-folder-remove',
-  'el-icon-folder-delete',
-  'el-icon-folder-checked',
-  'el-icon-tickets',
-  'el-icon-document-remove',
-  'el-icon-document-delete',
-  'el-icon-document-copy',
-  'el-icon-document-checked',
-  'el-icon-document',
-  'el-icon-document-add',
-  'el-icon-printer',
-  'el-icon-paperclip',
-  'el-icon-takeaway-box',
-  'el-icon-search',
-  'el-icon-monitor',
-  'el-icon-attract',
-  'el-icon-mobile',
-  'el-icon-scissors',
-  'el-icon-umbrella',
-  'el-icon-headset',
-  'el-icon-brush',
-  'el-icon-mouse',
-  'el-icon-coordinate',
-  'el-icon-magic-stick',
-  'el-icon-reading',
-  'el-icon-data-line',
-  'el-icon-data-board',
-  'el-icon-pie-chart',
-  'el-icon-data-analysis',
-  'el-icon-collection-tag',
-  'el-icon-film',
-  'el-icon-suitcase',
-  'el-icon-suitcase-1',
-  'el-icon-receiving',
-  'el-icon-collection',
-  'el-icon-files',
-  'el-icon-notebook-1',
-  'el-icon-notebook-2',
-  'el-icon-toilet-paper',
-  'el-icon-office-building',
-  'el-icon-school',
-  'el-icon-table-lamp',
-  'el-icon-house',
-  'el-icon-no-smoking',
-  'el-icon-smoking',
-  'el-icon-shopping-cart-full',
-  'el-icon-shopping-cart-1',
-  'el-icon-shopping-cart-2',
-  'el-icon-shopping-bag-1',
-  'el-icon-shopping-bag-2',
-  'el-icon-sold-out',
-  'el-icon-sell',
-  'el-icon-present',
-  'el-icon-box',
-  'el-icon-bank-card',
-  'el-icon-money',
-  'el-icon-coin',
-  'el-icon-wallet',
-  'el-icon-discount',
-  'el-icon-price-tag',
-  'el-icon-news',
-  'el-icon-guide',
-  'el-icon-male',
-  'el-icon-female',
-  'el-icon-thumb',
-  'el-icon-cpu',
-  'el-icon-link',
-  'el-icon-connection',
-  'el-icon-open',
-  'el-icon-turn-off',
-  'el-icon-set-up',
-  'el-icon-chat-round',
-  'el-icon-chat-line-round',
-  'el-icon-chat-square',
-  'el-icon-chat-dot-round',
-  'el-icon-chat-dot-square',
-  'el-icon-chat-line-square',
-  'el-icon-message',
-  'el-icon-postcard',
-  'el-icon-position',
-  'el-icon-turn-off-microphone',
-  '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',
-  'el-icon-medal-1',
-  'el-icon-medal',
-  'el-icon-trophy',
-  'el-icon-trophy-1',
-  'el-icon-first-aid-kit',
-  'el-icon-discover',
-  'el-icon-place',
-  'el-icon-location',
-  'el-icon-location-outline',
-  'el-icon-location-information',
-  'el-icon-add-location',
-  'el-icon-delete-location',
-  'el-icon-map-location',
-  'el-icon-alarm-clock',
-  'el-icon-timer',
-  'el-icon-watch-1',
-  'el-icon-watch',
-  'el-icon-lock',
-  'el-icon-unlock',
-  'el-icon-key',
-  'el-icon-service',
-  'el-icon-mobile-phone',
-  'el-icon-bicycle',
-  'el-icon-truck',
-  'el-icon-ship',
-  'el-icon-basketball',
-  'el-icon-football',
-  'el-icon-soccer',
-  'el-icon-baseball',
-  'el-icon-wind-power',
-  'el-icon-light-rain',
-  'el-icon-lightning',
-  'el-icon-heavy-rain',
-  'el-icon-sunrise',
-  'el-icon-sunrise-1',
-  'el-icon-sunset',
-  'el-icon-sunny',
-  'el-icon-cloudy',
-  'el-icon-partly-cloudy',
-  'el-icon-cloudy-and-sunny',
-  'el-icon-moon',
-  'el-icon-moon-night',
-  'el-icon-dish',
-  'el-icon-dish-1',
-  'el-icon-food',
-  'el-icon-chicken',
-  'el-icon-fork-spoon',
-  'el-icon-knife-fork',
-  'el-icon-burger',
-  'el-icon-tableware',
-  'el-icon-sugar',
-  'el-icon-dessert',
-  'el-icon-ice-cream',
-  'el-icon-hot-water',
-  'el-icon-water-cup',
-  'el-icon-coffee-cup',
-  'el-icon-cold-drink',
-  'el-icon-goblet',
-  'el-icon-goblet-full',
-  'el-icon-goblet-square',
-  'el-icon-goblet-square-full',
-  'el-icon-refrigerator',
-  'el-icon-grape',
-  'el-icon-watermelon',
-  'el-icon-cherry',
-  'el-icon-apple',
-  'el-icon-pear',
-  'el-icon-orange',
-  'el-icon-coffee',
-  'el-icon-ice-tea',
-  'el-icon-ice-drink',
-  'el-icon-milk-tea',
-  'el-icon-potato-strips',
-  'el-icon-lollipop',
-  'el-icon-ice-cream-square',
-  'el-icon-ice-cream-round'
-]
diff --git a/admin/.svn/pristine/2c/2cc194f9cb8c06a2e4a8bf3724e8d4933b6ec265.svn-base b/admin/.svn/pristine/2c/2cc194f9cb8c06a2e4a8bf3724e8d4933b6ec265.svn-base
deleted file mode 100644
index 9813a37..0000000
--- a/admin/.svn/pristine/2c/2cc194f9cb8c06a2e4a8bf3724e8d4933b6ec265.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621745695957" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3315" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M517.094527 1024c-153.345274 0-438.129353-228.234826-438.129353-444.242786V167.60995c0-10.189055 8.151244-17.830846 18.849751-18.340298l24.963184-0.509453c1.018905 0 98.324378-2.037811 198.686568-41.775124C423.864677 66.228856 490.093532 19.359204 491.112438 18.849751l14.774129-10.189054c3.056716-2.037811 7.132338-3.566169 11.20796-3.56617 4.075622 0 8.151244 1.018905 11.207961 3.56617l14.774129 10.698507c0.509453 0.509453 67.247761 47.379104 170.157214 88.135323 100.362189 39.737313 197.667662 41.775124 198.686567 41.775125l24.453731 0.509452c10.189055 0 18.849751 8.151244 18.849752 18.340299v412.147264c0 215.498507-284.78408 443.733333-438.129354 443.733333z m370.881592-808.501493c-37.699502-3.056716-117.174129-12.736318-199.196019-45.341293-84.569154-33.114428-146.212935-70.304478-171.685573-87.116418-25.472637 16.302488-87.116418 54.00199-171.685572 87.116418-82.021891 32.604975-160.987065 42.284577-199.19602 45.341293v364.258707c0 169.138308 248.103483 376.485572 370.881592 376.485572 47.379104 0 140.099502-38.718408 230.78209-123.287562 87.625871-81.512438 140.099502-176.270647 140.099502-253.19801V215.498507z m-406.03383 433.544279c-6.113433 6.622886-14.774129 10.189055-23.944279 10.189055-9.170149 0-17.321393-3.566169-23.944279-10.189055l-101.381094-101.890547a33.827662 33.827662 0 0 1 0-47.888557c13.245771-13.245771 34.133333-13.245771 47.379104-0.509453l0.509453 0.509453 77.436816 77.946268 195.120398-196.648756c12.736318-13.245771 34.133333-13.245771 47.379104-0.509453l0.509453 0.509453c13.245771 13.245771 13.245771 34.642786 0 47.888557l-219.064676 220.593035z" p-id="3316" fill="#c1c4cc"></path></svg>
diff --git a/admin/.svn/pristine/2d/2de90b2ca8afc60ada9542978f8ab664ee4716f1.svn-base b/admin/.svn/pristine/2d/2de90b2ca8afc60ada9542978f8ab664ee4716f1.svn-base
deleted file mode 100644
index 10e0270..0000000
--- a/admin/.svn/pristine/2d/2de90b2ca8afc60ada9542978f8ab664ee4716f1.svn-base
+++ /dev/null
@@ -1,16 +0,0 @@
-import request from '../../utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-  return request.post('/system/traceLog/page', data, {
-    trim: true
-  })
-}
-
-// 瀵煎嚭Excel
-export function exportExcel (data) {
-  return request.post('/system/traceLog/exportExcel', data, {
-    download: true,
-    trim: true
-  })
-}
diff --git a/admin/.svn/pristine/30/3080a3684c005dc26ee7fdec5c7e33e13ba82ab6.svn-base b/admin/.svn/pristine/30/3080a3684c005dc26ee7fdec5c7e33e13ba82ab6.svn-base
deleted file mode 100644
index 3e18a29..0000000
--- a/admin/.svn/pristine/30/3080a3684c005dc26ee7fdec5c7e33e13ba82ab6.svn-base
+++ /dev/null
@@ -1,122 +0,0 @@
-<template>
-  <div class="light" :class="{normal: !warn && !danger, warn: !danger && warn, danger, mini: mini}">
-    <em><i></i></em>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'Light',
-  props: {
-    warn: {
-      type: Boolean,
-      default: false
-    },
-    danger: {
-      type: Boolean,
-      default: false
-    },
-    mini: {
-      type: Boolean,
-      default: false
-    }
-  }
-}
-</script>
-
-<style scoped lang="scss">
-$cycle-size01: 16px;
-$cycle-size02: 6px;
-$normal-color: #00CC99;
-$warn-color: #FFCC33;
-$danger-color: #FF3300;
-@mixin light-status ($cycle-bg) {
-  em {
-    background: $cycle-bg;
-    i {
-      background: $cycle-bg - 30;
-    }
-  }
-}
-.light {
-  display: inline-block;
-  border-radius: 50%;
-  em {
-    width: $cycle-size01;
-    height: $cycle-size01;
-    border-radius: 50%;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    i {
-      display: block;
-      width: $cycle-size02;
-      height: $cycle-size02;
-      border-radius: 50%;
-    }
-  }
-  &.mini {
-    em {
-      width: 12px;
-      height: 12px;
-    }
-  }
-  // 姝e父
-  &.normal {
-    @include light-status($normal-color);
-    animation: shine-normal infinite 1s;
-  }
-  // 璀﹀憡
-  &.warn {
-    @include light-status($warn-color);
-    animation: shine-warn infinite .8s;
-  }
-  // 鍗遍櫓
-  &.danger {
-    @include light-status($danger-color);
-    animation: shine-danger infinite .5s;
-  }
-}
-@keyframes shine-normal {
-  0% {
-    box-shadow: 0 0 5px $normal-color + 10;
-  }
-  25% {
-    box-shadow: 0 0 10px $normal-color + 10;
-  }
-  50% {
-    box-shadow: 0 0 15px $normal-color + 10;
-  }
-  100% {
-    box-shadow: 0 0 20px $normal-color + 10;
-  }
-}
-@keyframes shine-warn {
-  0% {
-    box-shadow: 0 0 5px $warn-color - 50;
-  }
-  25% {
-    box-shadow: 0 0 10px $warn-color - 50;
-  }
-  50% {
-    box-shadow: 0 0 15px $warn-color - 50;
-  }
-  100% {
-    box-shadow: 0 0 20px $warn-color - 50;
-  }
-}
-@keyframes shine-danger {
-  0% {
-    box-shadow: 0 0 5px $danger-color + 10;
-  }
-  25% {
-    box-shadow: 0 0 10px $danger-color + 10;
-  }
-  50% {
-    box-shadow: 0 0 15px $danger-color + 10;
-  }
-  100% {
-    box-shadow: 0 0 20px $danger-color + 10;
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/30/30a1d8d9e31d9750b8aaa94c135c572f2aac91ed.svn-base b/admin/.svn/pristine/30/30a1d8d9e31d9750b8aaa94c135c572f2aac91ed.svn-base
deleted file mode 100644
index 94d78da..0000000
--- a/admin/.svn/pristine/30/30a1d8d9e31d9750b8aaa94c135c572f2aac91ed.svn-base
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/pristine/30/30a3600ebee5c1be197d7fa8ed1308a6d26db79e.svn-base b/admin/.svn/pristine/30/30a3600ebee5c1be197d7fa8ed1308a6d26db79e.svn-base
deleted file mode 100644
index 23dbab9..0000000
--- a/admin/.svn/pristine/30/30a3600ebee5c1be197d7fa8ed1308a6d26db79e.svn-base
+++ /dev/null
@@ -1,116 +0,0 @@
-<template>
-  <span v-if="content.length <= limit">{{content}}</span>
-  <el-popover
-    v-else
-    v-model="visible"
-    popper-class="eva-column-detail-popover"
-    trigger="click"
-  >
-    <div class="eva-column-detail">
-      <pre class="eva-column-detail__main">{{formattedContent}}</pre>
-      <div class="eva-column-detail__action">
-        <el-button size="mini" @click="cancel">鍏抽棴</el-button>
-        <el-button
-          size="mini"
-          type="primary"
-          v-clipboard:copy="formattedContent"
-          v-clipboard:success="copySuccess"
-          v-clipboard:error="copyFailed"
-          @click="confirm"
-        >{{ confirmButtonText }}</el-button>
-      </div>
-    </div>
-    <el-button slot="reference" :type="buttonType">鏌ョ湅</el-button>
-  </el-popover>
-</template>
-
-<script>
-export default {
-  name: 'ColumnDetail',
-  props: {
-    // 鎸夐挳绫诲瀷
-    buttonType: {
-      type: String
-    },
-    // 鍐呭
-    content: {
-      type: String,
-      default: ''
-    },
-    // 闄愬埗锛屽ぇ浜庨檺鍒舵椂灞曠ず鏌ョ湅鎸夐挳
-    limit: {
-      type: Number,
-      default: 12
-    },
-    // 鑷姩璇嗗埆鏁版嵁绫诲瀷骞舵牸寮忓寲
-    analyse: {
-      type: Boolean,
-      default: true
-    },
-    // 鏄惁鍏佽澶嶅埗
-    allowCopy: {
-      type: Boolean,
-      default: true
-    }
-  },
-  data () {
-    return {
-      visible: false
-    }
-  },
-  computed: {
-    // 纭鎸夐挳鏂囨
-    confirmButtonText () {
-      return this.allowCopy ? '澶嶅埗' : '纭畾'
-    },
-    // 鏍煎紡鍖栧悗鐨勫唴瀹�
-    formattedContent () {
-      let content = this.content
-      if (this.analyse) {
-        try {
-          content = JSON.stringify(JSON.parse(this.content), null, 2)
-        } catch (e) {
-        }
-      }
-      return content
-    }
-  },
-  methods: {
-    // 鐐瑰嚮纭
-    confirm () {
-      this.visible = false
-      this.$emit('confirm')
-    },
-    // 鐐瑰嚮鍙栨秷
-    cancel () {
-      this.visible = false
-      this.$emit('cancel')
-    },
-    // 澶嶅埗鎴愬姛
-    copySuccess () {
-      this.$tip.success('澶嶅埗鎴愬姛')
-    },
-    // 澶嶅埗澶辫触
-    copyFailed () {
-      this.$tip.error('澶嶅埗澶辫触')
-    }
-  }
-}
-</script>
-
-<style lang="scss">
-.eva-column-detail-popover {
-  max-width: 80%;
-}
-</style>
-<style scoped lang="scss">
-.eva-column-detail {
-  .eva-column-detail__main {
-    max-height: 500px;
-    overflow: auto;
-  }
-  .eva-column-detail__action {
-    text-align: right;
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/34/3480e12259dc298e851ffad9f990080248d8a0d2.svn-base b/admin/.svn/pristine/34/3480e12259dc298e851ffad9f990080248d8a0d2.svn-base
deleted file mode 100644
index 08d05cd..0000000
--- a/admin/.svn/pristine/34/3480e12259dc298e851ffad9f990080248d8a0d2.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621750709361" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7590" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M890.96986 479.671711 545.11094 479.671711 545.11094 271.38592 684.78875 271.38592 684.78875 64.500013 343.028339 64.500013 343.028339 271.38592 480.338121 271.38592 480.338121 479.671711 133.397522 479.671711 133.397522 532.849864 133.397522 548.629245 133.397522 755.515153 64.284683 755.515153 64.284683 959.499987 270.160836 959.499987 270.160836 755.515153 202.498081 755.515153 202.498081 548.629245 480.338121 548.629245 480.338121 755.515153 409.786454 755.515153 409.786454 959.499987 615.662607 959.499987 615.662607 755.515153 545.11094 755.515153 545.11094 548.629245 822.225426 548.629245 822.225426 755.515153 753.863725 755.515153 753.863725 959.499987 959.714294 959.499987 959.714294 755.515153 890.96986 755.515153Z" p-id="7591" fill="#f7f7f7"></path></svg>
diff --git a/admin/.svn/pristine/35/35975e5d592843894041c0615af0b915980c2946.svn-base b/admin/.svn/pristine/35/35975e5d592843894041c0615af0b915980c2946.svn-base
deleted file mode 100644
index a62fd03..0000000
--- a/admin/.svn/pristine/35/35975e5d592843894041c0615af0b915980c2946.svn-base
+++ /dev/null
@@ -1,31 +0,0 @@
-import request from '../../utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-  return request.post('/business/brand/page', data, {
-    trim: true
-  })
-}
-
-// 瀵煎嚭Excel
-export function exportExcel (data) {
-  return request.post('/business/brand/exportExcel', data, {
-    trim: true,
-    download: true
-  })
-}
-
-// 鍒涘缓
-export function create (data) {
-  return request.post('/business/brand/create', data)
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/business/brand/updateById', data)
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/business/brand/delete/${id}`)
-}
diff --git a/admin/.svn/pristine/36/3691d0ad58f30c9f57c19ac0c35892cc30f54e37.svn-base b/admin/.svn/pristine/36/3691d0ad58f30c9f57c19ac0c35892cc30f54e37.svn-base
deleted file mode 100644
index cae7979..0000000
--- a/admin/.svn/pristine/36/3691d0ad58f30c9f57c19ac0c35892cc30f54e37.svn-base
+++ /dev/null
@@ -1,107 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:brand:query']">
-      <!-- 鎼滅储琛ㄥ崟 -->
-      <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-        <el-form-item label="鍝佺墝鍚嶇О" prop="name">
-          <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ搧鐗屽悕绉�" @keypress.enter.native="search"></el-input>
-        </el-form-item>
-        <section>
-          <el-button type="primary" @click="search">鎼滅储</el-button>
-          <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:brand:exportExcel']" @click="exportExcel">瀵煎嚭</el-button> -->
-          <el-button @click="reset">閲嶇疆</el-button>
-        </section>
-      </el-form>
-      <!-- 琛ㄦ牸鍜屽垎椤� -->
-      <template v-slot:table-wrap>
-        <ul class="toolbar" v-permissions="['business:brand:create']">
-          <li><el-button type="primary" @click="$refs.operaBrandWindow.open('鏂板缓鍝佺墝')" icon="el-icon-plus" v-permissions="['business:brand:create']">鏂板缓</el-button></li>
-        </ul>
-        <el-table
-          v-loading="isWorking.search"
-          :data="tableData.list"
-          stripe
-          border
-          :header-cell-style="rowStyle"
-          :cell-style="rowStyle"
-        >
-          <el-table-column prop="name" label="鍝佺墝鍚嶇О" min-width="100px"></el-table-column>
-          <el-table-column prop="imgurl" label="鍥炬爣" min-width="100px">
-            <template slot-scope="{row}">
-                <el-image
-                v-if="row.imgurl"
-                style="width: 70px; height: 70px"
-                :src="row.prefixUrl + row.imgurl"
-                :preview-src-list="[row.prefixUrl + row.imgurl]"
-                fit="cover"></el-image>
-            </template>
-          </el-table-column>
-          <el-table-column prop="sortnum" label="鎺掑簭鐮�(鍗囧簭)" min-width="100px"></el-table-column>
-          <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
-          <el-table-column
-            v-if="containPermissions(['business:brand:update', 'business:brand:delete'])"
-            label="鎿嶄綔"
-            min-width="120"
-            fixed="right"
-          >
-            <template slot-scope="{row}">
-              <el-button type="text" @click="edit(row)" icon="el-icon-edit" v-permissions="['business:brand:update']">缂栬緫</el-button>
-              <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:brand:delete']">鍒犻櫎</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-        <pagination
-          @size-change="handleSizeChange"
-          @current-change="handlePageChange"
-          :pagination="tableData.pagination"
-        >
-        </pagination>
-      </template>
-      <!-- 鏂板缓/淇敼 -->
-      <OperaBrandWindow ref="operaBrandWindow" @success="handlePageChange"/>
-    </TableLayout>
-  </template>
-  
-  <script>
-  import BaseTable from '@/components/base/BaseTable'
-  import TableLayout from '@/layouts/TableLayout'
-  import Pagination from '@/components/common/Pagination'
-  import OperaBrandWindow from '@/components/business/OperaBrandWindow'
-  export default {
-    name: 'Brand',
-    extends: BaseTable,
-    components: { TableLayout, Pagination, OperaBrandWindow },
-    data () {
-      return {
-        // 鎼滅储
-        searchForm: {
-          name: ''
-        }
-      }
-    },
-    created () {
-      this.config({
-        module: '鍝佺墝',
-        api: '/business/brand',
-        'field.id': 'id',
-        'field.main': 'name'
-      })
-      this.search()
-    },
-    methods: {
-      rowStyle() {
-      return "text-align:center";
-    },
-        edit(row) {
-            let obj = {
-                id: row.id,
-                name: row.name,
-                sortnum: row.sortnum,
-                imgurl: row.imgurl,
-                fileList: row.imgurl ? [ {url: row.prefixUrl + row.imgurl} ] : []
-            }
-            this.$refs.operaBrandWindow.open('缂栬緫鍝佺墝', obj)
-        }
-    }
-  }
-  </script>
-  
\ No newline at end of file
diff --git a/admin/.svn/pristine/37/3770ebc1c2b0f6411602249290de4636bbe41aab.svn-base b/admin/.svn/pristine/37/3770ebc1c2b0f6411602249290de4636bbe41aab.svn-base
deleted file mode 100644
index 19f25a0..0000000
--- a/admin/.svn/pristine/37/3770ebc1c2b0f6411602249290de4636bbe41aab.svn-base
+++ /dev/null
@@ -1,45 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ
-export function fetchTree (data) {
-  return request.post('/system/menu/treeList', data)
-}
-
-// 鏂板缓
-export function create (data) {
-  return request.post('/system/menu/create', data)
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/system/menu/updateById', data)
-}
-
-// 淇敼鐘舵��
-export function updateStatus (data) {
-  return request.post('/system/menu/updateStatus', data)
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/system/menu/delete/${id}`)
-}
-
-// 鎵归噺鍒犻櫎
-export function deleteByIdInBatch (ids) {
-  return request.get('/system/menu/delete/batch', {
-    params: {
-      ids
-    }
-  })
-}
-
-// 鏌ヨ鑿滃崟鏍�
-export function fetchMenuTree () {
-  return request.get('/system/menu/treeNodes')
-}
-
-// 鎺掑簭
-export function sort (data) {
-  return request.post('/system/menu/updateSort', data)
-}
diff --git a/admin/.svn/pristine/38/389b1aea99de351d738856d5662ea9d21bb919d6.svn-base b/admin/.svn/pristine/38/389b1aea99de351d738856d5662ea9d21bb919d6.svn-base
deleted file mode 100644
index 17c5eac..0000000
--- a/admin/.svn/pristine/38/389b1aea99de351d738856d5662ea9d21bb919d6.svn-base
+++ /dev/null
@@ -1,40 +0,0 @@
-妗嗘灦锛欵va v2.0
-Eva瀹樼綉锛歨ttp://eva.adjust-rd.com
-
-# 椤圭洰鐩綍璇存槑
-- src/assets锛氶潤鎬佽祫婧愮洰褰�
-- src/components锛氳嚜瀹氫箟缁勪欢鐩綍
-- src/plugins锛氭彃浠剁洰褰�
-- src/router锛氳矾鐢遍厤缃洰褰�
-- src/store锛歷uex store鐩綍
-- src/utils锛氬伐鍏风洰褰�
-- src/views锛氶〉闈㈢洰褰�
-
-# 鎶�鏈爤
-- 璺敱锛歏ue-Router-3.2.0
-- 棰勭紪璇戯細SASS-4.12.0
-- HTTP搴擄細axios-0.21.1
-- UI搴擄細element-ui-2.3.6
-- 浠g爜瑙勮寖妫�鏌ワ細eslint-6.7.2
-
-# 浠g爜妫�鏌�
-浠g爜妫�鏌ヨ鍒欓厤缃湪package.json鐨別slintConfig瀵硅薄涓�
-
-# 璺敱
-璺敱閰嶇疆鍦╯rc/router/index.js涓�
-
-# 鎺ュ彛浠g悊鍜岃皟鐢�
-鎺ュ彛浠g悊璺緞閰嶇疆鍦╲ue.config.js鏂囦欢涓紝鎺ュ彛璋冪敤宸ュ叿灏佽鍦╯rc/utils/request.js涓紝璋冪敤绀轰緥濡備笅
-```javascript
-import request from '@/utils/request'
-
-request.post('/api/myinterface', {
-  param1: 'param value'
-})
-    .then(data => {
-      console.log('璇锋眰鎴愬姛锛屾帴鍙h繑鍥�', data)
-    })
-    .catch(e => {
-      console.log('璋冪敤澶辫触', e)
-    })
-```
diff --git a/admin/.svn/pristine/3b/3b0f5518b4e6141542ca52e509d1063ffa015871.svn-base b/admin/.svn/pristine/3b/3b0f5518b4e6141542ca52e509d1063ffa015871.svn-base
deleted file mode 100644
index 516b96a..0000000
--- a/admin/.svn/pristine/3b/3b0f5518b4e6141542ca52e509d1063ffa015871.svn-base
+++ /dev/null
@@ -1,191 +0,0 @@
-<template>
-  <GlobalWindow
-    class="position-user-window"
-    width="80%"
-    :title="departmentName + '浜哄憳鍒楄〃'"
-    :visible.sync="visible"
-    :with-footer="false"
-  >
-    <TableLayout :with-breadcrumb="false">
-      <!-- 鎼滅储琛ㄥ崟 -->
-      <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="80px" inline>
-        <el-form-item label="鐢ㄦ埛鍚�" prop="username">
-          <el-input v-model="searchForm.username" placeholder="璇疯緭鍏ョ敤鎴峰悕" v-trim @keypress.enter.native="search"/>
-        </el-form-item>
-        <el-form-item label="濮撳悕" prop="realname">
-          <el-input v-model="searchForm.realname" placeholder="璇疯緭鍏ュ鍚�" v-trim @keypress.enter.native="search"/>
-        </el-form-item>
-        <el-form-item label="鎵嬫満鍙风爜" prop="mobile">
-          <el-input v-model="searchForm.mobile" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" v-trim @keypress.enter.native="search"/>
-        </el-form-item>
-        <section>
-          <el-button type="primary" icon="el-icon-search" @click="search">鎼滅储</el-button>
-          <el-button @click="reset">閲嶇疆</el-button>
-        </section>
-      </el-form>
-      <div slot="space" class="toolbar">
-        <el-switch v-model="onlyCurrentDept" @change="search" :disabled="isWorking.search"/>
-        <label>浠呮煡鐪嬪綋鍓嶉儴闂ㄤ汉鍛�</label>
-      </div>
-      <template v-slot:table-wrap>
-        <el-table
-          v-loading="isWorking.search"
-          :data="tableData.list"
-          stripe
-          @selection-change="handleSelectionChange"
-        >
-          <el-table-column prop="avatar" label="澶村儚" width="80px" class-name="table-column-avatar" fixed="left">
-            <template slot-scope="{row}">
-              <img :src="row.avatar == null ? '/static/avatar/man.png' : row.avatar">
-            </template>
-          </el-table-column>
-          <el-table-column prop="realname" label="濮撳悕" min-width="100px" fixed="left"></el-table-column>
-          <el-table-column prop="username" label="鐢ㄦ埛鍚�" min-width="100px"></el-table-column>
-          <el-table-column prop="empNo" label="宸ュ彿" min-width="80px"></el-table-column>
-          <el-table-column prop="department" label="閮ㄩ棬" min-width="120px">
-            <template slot-scope="{row}">{{row.department == null ? '' : row.department.name}}</template>
-          </el-table-column>
-                    <el-table-column prop="position" label="宀椾綅" min-width="120px" class-name="table-column-strings">
-            <template slot-scope="{row}">
-              <ul>
-                <li v-for="position in row.positions" :key="position.id">{{position.name}}</li>
-              </ul>
-            </template>
-          </el-table-column>
-          <el-table-column prop="sex" label="鎬у埆" min-width="80px">
-            <template slot-scope="{row}">
-              {{row.sex | sex}}
-            </template>
-          </el-table-column>
-          <el-table-column prop="mobile" label="鎵嬫満鍙风爜" min-width="100px"></el-table-column>
-          <el-table-column prop="email" label="閭" min-width="180px"></el-table-column>
-          <el-table-column prop="birthday" label="鐢熸棩" min-width="100px"></el-table-column>
-          <el-table-column prop="birthday" label="瑙掕壊" min-width="160px" class-name="table-column-role">
-            <template slot-scope="{row}">
-              <ul>
-                <li v-for="role in row.roles" :key="role.id">{{role.name}}</li>
-              </ul>
-            </template>
-          </el-table-column>
-        </el-table>
-        <pagination
-          @size-change="handleSizeChange"
-          @current-change="handlePageChange"
-          :pagination="tableData.pagination"
-        ></pagination>
-      </template>
-    </TableLayout>
-  </GlobalWindow>
-</template>
-
-<script>
-import TableLayout from '@/layouts/TableLayout'
-import BaseTable from '@/components/base/BaseTable'
-import GlobalWindow from '@/components/common/GlobalWindow'
-import Pagination from '@/components/common/Pagination'
-import { fetchUserList } from '@/api/system/department'
-export default {
-  name: 'DepartmentUserWindow',
-  extends: BaseTable,
-  components: { Pagination, GlobalWindow, TableLayout },
-  data () {
-    return {
-      departmentId: null,
-      departmentName: '',
-      visible: false,
-      // 浠呮煡鐪嬪綋鍓嶉儴闂�
-      onlyCurrentDept: true,
-      // 鎼滅储琛ㄥ崟
-      searchForm: {
-        departmentId: null,
-        username: '',
-        realname: '',
-        mobile: ''
-      }
-    }
-  },
-  methods: {
-    // 鎵撳紑鏌ョ湅浜哄憳绐楀彛
-    open (departmentId, departmentName) {
-      this.departmentId = departmentId
-      this.departmentName = departmentName
-      this.searchForm.departmentId = departmentId
-      this.visible = true
-      this.search()
-    },
-    // 澶勭悊鍒嗛〉
-    handlePageChange (pageIndex) {
-      // 浠呮煡鐪嬪綋鍓嶉儴闂ㄥ鐞�
-      this.searchForm.strictDeptId = null
-      this.searchForm.rootDeptId = this.searchForm.departmentId
-      if (this.onlyCurrentDept) {
-        this.searchForm.strictDeptId = this.searchForm.departmentId
-        this.searchForm.rootDeptId = null
-      }
-      this.tableData.pagination.pageIndex = pageIndex
-      this.isWorking.search = true
-      fetchUserList({
-        page: pageIndex,
-        capacity: this.tableData.pagination.pageSize,
-        model: this.searchForm
-      })
-        .then(data => {
-          this.tableData.list = data.records
-          this.tableData.pagination.total = data.total
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          this.isWorking.search = false
-        })
-    }
-  }
-}
-</script>
-
-<style scoped lang="scss">
-.position-user-window {
-  /deep/ .table-search-form {
-    padding: 0;
-  }
-  /deep/ .window__body {
-    background: #f7f7f7;
-    .table-content {
-      padding: 0;
-      .table-wrap {
-        padding: 0;
-      }
-    }
-  }
-  .toolbar {
-    margin-top: 10px;
-    padding: 6px 12px;
-    background: #fff;
-    font-size: 13px;
-    label {
-      margin-left: 8px;
-      vertical-align: middle;
-      color: #999;
-    }
-  }
-  // 鍒楄〃澶村儚澶勭悊
-  .table-column-avatar {
-    img {
-      width: 48px;
-    }
-  }
-  // 鍒楄〃瑙掕壊澶勭悊
-  .table-column-role {
-    ul {
-      li {
-        display: inline-block;
-        background: #eee;
-        border-radius: 3px;
-        padding: 0 3px;
-        margin-right: 3px;
-      }
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/3b/3b11e879bffb2693c9835af5edf5d5a00e9258b3.svn-base b/admin/.svn/pristine/3b/3b11e879bffb2693c9835af5edf5d5a00e9258b3.svn-base
deleted file mode 100644
index d968a9f..0000000
--- a/admin/.svn/pristine/3b/3b11e879bffb2693c9835af5edf5d5a00e9258b3.svn-base
+++ /dev/null
@@ -1,51 +0,0 @@
-<template>
-  <el-select
-    class="role-select"
-    :class="{select__block: !inline}"
-    :value="value"
-    :placeholder="placeholder"
-    :clearable="clearable"
-    :disabled="disabled"
-    @change="$emit('change', $event)"
-    @input="$emit('input', $event)"
-  >
-    <el-option v-for="role in roles" :key="role.id" :value="role.id" :label="role.name"/>
-  </el-select>
-</template>
-
-<script>
-import { fetchAll } from '@/api/system/role'
-
-export default {
-  name: 'RoleSelect',
-  props: {
-    value: {},
-    placeholder: {
-      default: '璇烽�夋嫨瑙掕壊'
-    },
-    inline: {
-      default: true
-    },
-    disabled: {},
-    clearable: {
-      default: false
-    }
-  },
-  data () {
-    return {
-      roles: []
-    }
-  },
-  created () {
-    fetchAll()
-      .then(data => {
-        this.roles = data
-      })
-  }
-}
-</script>
-<style lang="scss" scoped>
-  .select__block {
-    display: block;
-  }
-</style>
diff --git a/admin/.svn/pristine/3b/3b4035a066103a2847286033bc74783a8da22c17.svn-base b/admin/.svn/pristine/3b/3b4035a066103a2847286033bc74783a8da22c17.svn-base
deleted file mode 100644
index 91cf09e..0000000
--- a/admin/.svn/pristine/3b/3b4035a066103a2847286033bc74783a8da22c17.svn-base
+++ /dev/null
@@ -1,104 +0,0 @@
-<template>
-  <TableLayout :permissions="['system:role:query']">
-    <!-- 鎼滅储琛ㄥ崟 -->
-    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-      <el-form-item label="瑙掕壊缂栫爜" prop="code">
-        <el-input v-model="searchForm.code" v-trim placeholder="璇疯緭鍏ヨ鑹茬紪鐮�" @keypress.enter.native="search"/>
-      </el-form-item>
-      <el-form-item label="瑙掕壊鍚嶇О" prop="name">
-        <el-input v-model="searchForm.name" v-trim placeholder="璇疯緭鍏ヨ鑹插悕绉�" @keypress.enter.native="search"/>
-      </el-form-item>
-      <section>
-        <el-button type="primary" icon="el-icon-search" @click="search">鎼滅储</el-button>
-        <el-button @click="reset">閲嶇疆</el-button>
-      </section>
-    </el-form>
-    <!-- 琛ㄦ牸鍜屽垎椤� -->
-    <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['system:role:create', 'system:role:delete']">
-        <li v-permissions="['system:role:create']"><el-button type="primary" @click="$refs.operaRoleWindow.open('鏂板缓瑙掕壊')" icon="el-icon-plus">鏂板缓</el-button></li>
-        <li v-permissions="['system:role:delete']"><el-button @click="deleteByIdInBatch" icon="el-icon-delete">鍒犻櫎</el-button></li>
-      </ul>
-      <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        :default-sort = "{prop: 'createTime', order: 'descending'}"
-        stripe
-        @selection-change="handleSelectionChange"
-        @sort-change="handleSortChange"
-      >
-        <el-table-column type="selection" fixed="left" width="55"></el-table-column>
-        <el-table-column prop="code" label="瑙掕壊缂栫爜" fixed="left" min-width="100px"></el-table-column>
-        <el-table-column prop="name" label="瑙掕壊鍚嶇О" fixed="left" min-width="100px"></el-table-column>
-        <el-table-column prop="remark" label="瑙掕壊澶囨敞" min-width="120px"></el-table-column>
-        <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="140px" sortable="custom" sort-by="role.CREATE_TIME"></el-table-column>
-        <el-table-column prop="updateUser" label="鏇存柊浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="140px"></el-table-column>
-        <el-table-column
-          v-if="containPermissions(['system:role:update', 'system:role:createRolePermission', 'system:role:createRoleMenu', 'system:role:delete'])"
-          label="鎿嶄綔"
-          min-width="270"
-          fixed="right"
-        >
-          <template v-if="isAdmin || (row.code !== adminCode && userInfo.roles.findIndex(code => code === row.code) === -1)" slot-scope="{row}">
-            <el-button type="text" @click="$refs.operaRoleWindow.open('缂栬緫瑙掕壊', row)" icon="el-icon-edit" v-permissions="['system:role:update']">缂栬緫</el-button>
-            <el-button type="text" @click="$refs.permissionConfigWindow.open(row)" v-permissions="['system:role:createRolePermission']">閰嶇疆鏉冮檺</el-button>
-            <el-button type="text" @click="$refs.menuConfigWindow.open(row)" icon="el-icon-menu" v-permissions="['system:role:createRoleMenu']">鎺堟潈鑿滃崟</el-button>
-            <el-button v-if="!row.fixed" type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['system:role:delete']">鍒犻櫎</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-      <pagination
-        @size-change="handleSizeChange"
-        @current-change="handlePageChange"
-        :pagination="tableData.pagination"
-      ></pagination>
-    </template>
-    <!-- 鏂板缓/淇敼 -->
-    <OperaRoleWindow ref="operaRoleWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
-    <!-- 閰嶇疆鏉冮檺 -->
-    <PermissionConfigWindow ref="permissionConfigWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
-    <!-- 鎺堟潈鑿滃崟 -->
-    <MenuConfigWindow ref="menuConfigWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
-  </TableLayout>
-</template>
-
-<script>
-import Pagination from '@/components/common/Pagination'
-import TableLayout from '@/layouts/TableLayout'
-import BaseTable from '@/components/base/BaseTable'
-import OperaRoleWindow from '@/components/system/role/OperaRoleWindow'
-import PermissionConfigWindow from '@/components/system/role/PermissionConfigWindow'
-import MenuConfigWindow from '@/components/system/role/MenuConfigWindow'
-export default {
-  name: 'SystemRole',
-  extends: BaseTable,
-  components: { MenuConfigWindow, PermissionConfigWindow, OperaRoleWindow, TableLayout, Pagination },
-  data () {
-    return {
-      // 鎼滅储
-      searchForm: {
-        code: '',
-        name: '',
-        remark: ''
-      }
-    }
-  },
-  created () {
-    this.config({
-      module: '瑙掕壊',
-      api: '/system/role',
-      sorts: [{
-        property: 'role.CREATE_TIME',
-        direction: 'DESC'
-      }]
-    })
-    this.search()
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/3b/3bf8d928d84e50aacfe829d17ded6dc2e9496abc.svn-base b/admin/.svn/pristine/3b/3bf8d928d84e50aacfe829d17ded6dc2e9496abc.svn-base
deleted file mode 100644
index 12054f2..0000000
--- a/admin/.svn/pristine/3b/3bf8d928d84e50aacfe829d17ded6dc2e9496abc.svn-base
+++ /dev/null
@@ -1,96 +0,0 @@
-<template>
-  <GlobalWindow
-    :title="title"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    @confirm="confirm"
-  >
-    <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="鏉冮檺缂栫爜" prop="code" required>
-        <el-input v-model="form.code" placeholder="璇疯緭鍏ユ潈闄愮紪鐮�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="鏉冮檺鍚嶇О" prop="name" required>
-        <el-input v-model="form.name" placeholder="璇疯緭鍏ユ潈闄愬悕绉�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="鏉冮檺澶囨敞" prop="remark">
-        <el-input v-model="form.remark" placeholder="璇疯緭鍏ユ潈闄愬娉�" type="textarea" :rows="3" v-trim maxlength="500"/>
-      </el-form-item>
-    </el-form>
-  </GlobalWindow>
-</template>
-
-<script>
-import BaseOpera from '@/components/base/BaseOpera'
-import GlobalWindow from '@/components/common/GlobalWindow'
-export default {
-  name: 'OperaPermissionWindow',
-  extends: BaseOpera,
-  components: { GlobalWindow },
-  data () {
-    return {
-      // 鍘熸潈闄愮爜
-      originPermissionCode: '',
-      // 琛ㄥ崟鏁版嵁
-      form: {
-        id: null,
-        code: '',
-        name: '',
-        remark: ''
-      },
-      // 楠岃瘉瑙勫垯
-      rules: {
-        code: [
-          { required: true, message: '璇疯緭鍏ユ潈闄愮紪鐮�' }
-        ],
-        name: [
-          { required: true, message: '璇疯緭鍏ユ潈闄愬悕绉�' }
-        ]
-      }
-    }
-  },
-  methods: {
-    open (title, target) {
-      this.title = title
-      this.visible = true
-      // 鏂板缓
-      if (target == null) {
-        this.$nextTick(() => {
-          this.$refs.form.resetFields()
-          this.form[this.configData['field.id']] = null
-        })
-        return
-      }
-      // 缂栬緫
-      this.$nextTick(() => {
-        this.originPermissionCode = target.code
-        for (const key in this.form) {
-          this.form[key] = target[key]
-        }
-      })
-    },
-    confirm () {
-      if (this.form.id == null || this.form.id === '') {
-        this.__confirmCreate()
-        return
-      }
-      if (this.originPermissionCode === this.form.code) {
-        this.__confirmEdit()
-        return
-      }
-      // 淇敼浜嗘潈闄愮紪鐮�
-      this.$dialog.confirm('妫�娴嬪埌鎮ㄤ慨鏀逛簡鏉冮檺缂栫爜锛屾潈闄愮紪鐮佷慨鏀瑰悗鍓嶅悗绔潎鍙兘闇�瑕佽皟鏁翠唬鐮侊紝纭淇敼鍚楋紵', '鎻愮ず', {
-        confirmButtonText: '纭淇敼',
-        type: 'warning'
-      })
-        .then(() => {
-          this.__confirmEdit()
-        })
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/permission'
-    })
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/3d/3d0e2cd20ee1d09e5c3d121e6c53141bc9a7c07f.svn-base b/admin/.svn/pristine/3d/3d0e2cd20ee1d09e5c3d121e6c53141bc9a7c07f.svn-base
deleted file mode 100644
index 7fec636..0000000
--- a/admin/.svn/pristine/3d/3d0e2cd20ee1d09e5c3d121e6c53141bc9a7c07f.svn-base
+++ /dev/null
@@ -1,207 +0,0 @@
-<template>
-  <div class="main-header">
-    <div class="header">
-      <h2>
-        <i class="el-icon-s-unfold" v-if="menuData.collapse" @click="switchCollapseMenu(null)"></i>
-        <i class="el-icon-s-fold" v-else @click="switchCollapseMenu(null)"></i>
-        {{title}}
-      </h2>
-      <div class="user">
-        <el-dropdown trigger="click">
-          <span class="el-dropdown-link">
-            <img v-if="userInfo != null" :src="userInfo.avatar == null ? '@/assets/images/avatar/man.png' : userInfo.avatar" alt="">{{userInfo | displayName}}<i class="el-icon-arrow-down el-icon--right"></i>
-          </span>
-          <el-dropdown-menu slot="dropdown">
-            <el-dropdown-item @click.native="changePwd">淇敼瀵嗙爜</el-dropdown-item>
-            <el-dropdown-item @click.native="logout">閫�鍑虹櫥褰�</el-dropdown-item>
-          </el-dropdown-menu>
-        </el-dropdown>
-      </div>
-    </div>
-    <!-- 淇敼瀵嗙爜 -->
-    <GlobalWindow
-      title="淇敼瀵嗙爜"
-      :visible.sync="visible.changePwd"
-      @confirm="confirmChangePwd"
-      @close="visible.changePwd = false"
-    >
-      <el-form :model="changePwdData.form" ref="changePwdDataForm" :rules="changePwdData.rules">
-        <el-form-item label="鍘熷瀵嗙爜" prop="oldPwd" required>
-          <el-input v-model="changePwdData.form.oldPwd" type="password" placeholder="璇疯緭鍏ュ師濮嬪瘑鐮�" maxlength="30" show-password></el-input>
-        </el-form-item>
-        <el-form-item label="鏂板瘑鐮�" prop="newPwd" required>
-          <el-input v-model="changePwdData.form.newPwd" type="password" placeholder="璇疯緭鍏ユ柊瀵嗙爜" maxlength="30" show-password></el-input>
-        </el-form-item>
-        <el-form-item label="纭鏂板瘑鐮�" prop="confirmPwd" required>
-          <el-input v-model="changePwdData.form.confirmPwd" type="password" placeholder="璇峰啀娆¤緭鍏ユ柊瀵嗙爜" maxlength="30" show-password></el-input>
-        </el-form-item>
-      </el-form>
-    </GlobalWindow>
-  </div>
-</template>
-
-<script>
-import { mapState, mapMutations } from 'vuex'
-import GlobalWindow from './GlobalWindow'
-import { logout, updatePwd } from '@/api/system/common'
-export default {
-  name: 'Header',
-  components: { GlobalWindow },
-  data () {
-    return {
-      visible: {
-        // 淇敼瀵嗙爜
-        changePwd: false
-      },
-      isWorking: {
-        // 淇敼瀵嗙爜
-        changePwd: false
-      },
-      username: 'bob', // 鐢ㄦ埛鍚�
-      // 淇敼瀵嗙爜寮规
-      changePwdData: {
-        form: {
-          oldPwd: '',
-          newPwd: '',
-          confirmPwd: ''
-        },
-        rules: {
-          oldPwd: [
-            { required: true, message: '璇疯緭鍏ュ師濮嬪瘑鐮�' }
-          ],
-          newPwd: [
-            { required: true, message: '璇疯緭鍏ユ柊瀵嗙爜' }
-          ],
-          confirmPwd: [
-            { required: true, message: '璇峰啀娆¤緭鍏ユ柊瀵嗙爜' }
-          ]
-        }
-      }
-    }
-  },
-  computed: {
-    ...mapState(['menuData', 'userInfo']),
-    title () {
-      return this.$route.meta.title
-    }
-  },
-  filters: {
-    // 灞曠ず鍚嶇О
-    displayName (userInfo) {
-      if (userInfo == null) {
-        return ''
-      }
-      if (userInfo.realname != null && userInfo.realname.trim().length > 0) {
-        return userInfo.realname
-      }
-      return userInfo.username
-    }
-  },
-  methods: {
-    ...mapMutations(['setUserInfo', 'switchCollapseMenu']),
-    // 淇敼瀵嗙爜
-    changePwd () {
-      this.visible.changePwd = true
-      this.$nextTick(() => {
-        this.$refs.changePwdDataForm.resetFields()
-      })
-    },
-    // 纭畾淇敼瀵嗙爜
-    confirmChangePwd () {
-      if (this.isWorking.changePwd) {
-        return
-      }
-      this.$refs.changePwdDataForm.validate((valid) => {
-        if (!valid) {
-          return
-        }
-        // 楠岃瘉涓ゆ瀵嗙爜杈撳叆鏄惁涓�鑷�
-        if (this.changePwdData.form.newPwd !== this.changePwdData.form.confirmPwd) {
-          this.$tip.warning('涓ゆ瀵嗙爜杈撳叆涓嶄竴鑷�')
-          return
-        }
-        // 鎵ц淇敼
-        this.isWorking.changePwd = true
-        updatePwd({
-          oldPwd: this.changePwdData.form.oldPwd,
-          newPwd: this.changePwdData.form.newPwd
-        })
-          .then(() => {
-            this.$tip.apiSuccess('淇敼鎴愬姛')
-            this.visible.changePwd = false
-          })
-          .catch(e => {
-            this.$tip.apiFailed(e)
-          })
-          .finally(() => {
-            this.isWorking.changePwd = false
-          })
-      })
-    },
-    // 閫�鍑虹櫥褰�
-    logout () {
-      logout()
-        .then(() => {
-          this.setUserInfo(null)
-          this.$router.push({ name: 'login' })
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-    }
-  }
-}
-</script>
-
-<style scoped lang="scss">
-@import "@/assets/style/variables.scss";
-.header {
-  overflow: hidden;
-  padding: 0 25px;
-  background: #fff;
-  height: 100%;
-  display: flex;
-  h2 {
-    width: 50%;
-    flex-shrink: 0;
-    line-height: $header-height;
-    font-size: 19px;
-    font-weight: 600;
-    color: #606263;
-    display: inline;
-    & > i {
-      font-size: 20px;
-      margin-right: 12px;
-    }
-  }
-  .user {
-    width: 50%;
-    flex-shrink: 0;
-    text-align: right;
-    .el-dropdown-link {
-      height: 100%;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-    }
-    .el-dropdown {
-      top: 2px;
-      height: 100%;
-    }
-    img {
-      width: 32px;
-      position: relative;
-      // top: 10px;
-      margin-right: 10px;
-    }
-  }
-}
-// 涓嬫媺鑿滃崟妗�
-.el-dropdown-menu {
-  width: 140px;
-  .el-dropdown-menu__item:hover {
-    background: #E3EDFB;
-    color: $primary-color;
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/3f/3ff6aa2a13667413a96154b55c504db1d8c2a7ff.svn-base b/admin/.svn/pristine/3f/3ff6aa2a13667413a96154b55c504db1d8c2a7ff.svn-base
deleted file mode 100644
index 872bde2..0000000
--- a/admin/.svn/pristine/3f/3ff6aa2a13667413a96154b55c504db1d8c2a7ff.svn-base
+++ /dev/null
@@ -1,162 +0,0 @@
-<template>
-  <GlobalWindow
-    class="handle-table-dialog"
-    :title="title"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    @confirm="confirm"
-  >
-    <p class="tip" v-if="form.parent != null && form.id == null">涓� <em>{{parentName}}</em> 鏂板缓瀛愯彍鍗�</p>
-    <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="涓婄骇鑿滃崟" prop="parentId">
-        <MenuSelect v-if="visible" v-model="form.parentId" placeholder="璇烽�夋嫨涓婄骇鑿滃崟" :exclude-id="excludeMenuId" clearable :inline="false"/>
-      </el-form-item>
-      <el-form-item label="鑿滃崟鍚嶇О" prop="name" required>
-        <el-input v-model="form.name" placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="璁块棶璺緞" prop="path">
-        <el-input v-model="form.path" placeholder="璇疯緭鍏ヨ闂矾寰�" v-trim maxlength="200"/>
-      </el-form-item>
-      <el-form-item label="鍥炬爣" prop="icon" class="form-item-icon">
-        <el-radio-group v-model="form.icon">
-          <el-radio :label="icon" v-for="icon in icons" :key="icon">
-            <i :class="{[icon]: true}"></i>
-          </el-radio>
-        </el-radio-group>
-      </el-form-item>
-      <el-form-item label="澶囨敞" prop="remark">
-        <el-input type="textarea" v-model="form.remark" placeholder="璇疯緭鍏ヨ彍鍗曞娉�" v-trim :rows="3" maxlength="500"/>
-      </el-form-item>
-    </el-form>
-  </GlobalWindow>
-</template>
-
-<script>
-import BaseOpera from '@/components/base/BaseOpera'
-import GlobalWindow from '@/components/common/GlobalWindow'
-import MenuSelect from '@/components/common/MenuSelect'
-import icons from '@/utils/icons'
-export default {
-  name: 'OperaMenuWindow',
-  extends: BaseOpera,
-  components: { MenuSelect, GlobalWindow },
-  data () {
-    return {
-      icons,
-      // 涓婄骇鑿滃崟鍚嶇О
-      parentName: '',
-      // 闇�鎺掗櫎閫夋嫨鐨勮彍鍗旾D
-      excludeMenuId: null,
-      // 琛ㄥ崟鏁版嵁
-      form: {
-        id: null,
-        parentId: null,
-        name: '',
-        path: '',
-        icon: '',
-        remark: ''
-      },
-      // 楠岃瘉瑙勫垯
-      rules: {
-        name: [
-          { required: true, message: '璇疯緭鍏ヨ彍鍗曞悕绉�' }
-        ]
-      }
-    }
-  },
-  methods: {
-    /**
-     * @title: 绐楀彛鏍囬
-     * @target: 缂栬緫鐨勮彍鍗曞璞�
-     * @parent: 鏂板缓鏃剁殑涓婄骇鑿滃崟
-     */
-    open (title, target, parent) {
-      this.title = title
-      this.visible = true
-      // 鏂板缓锛宮enu涓虹┖鏃惰〃绀烘柊寤鸿彍鍗�
-      if (target == null) {
-        this.excludeMenuId = null
-        this.$nextTick(() => {
-          this.$refs.form.resetFields()
-          this.form.id = null
-          this.form.parentId = parent == null ? null : parent.id
-          this.parentName = parent == null ? null : parent.name
-        })
-        return
-      }
-      // 缂栬緫
-      this.$nextTick(() => {
-        this.excludeMenuId = target.id
-        for (const key in this.form) {
-          this.form[key] = target[key]
-        }
-      })
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/menu'
-    })
-  }
-}
-</script>
-
-<style scoped lang="scss">
-@import "@/assets/style/variables";
-$icon-background-color: $primary-color;
-.global-window {
-  .tip {
-    margin-bottom: 12px;
-    em {
-      font-style: normal;
-      color: $primary-color;
-      font-weight: bold;
-    }
-  }
-  // 鍥炬爣
-  /deep/ .form-item-icon {
-    .el-form-item__content {
-      height: 193px;
-      overflow-y: auto;
-    }
-    .el-radio-group {
-      background: $icon-background-color;
-      padding: 4px;
-      .el-radio {
-        margin-right: 0;
-        color: #fff;
-        padding: 6px;
-        &.is-checked {
-          background: $icon-background-color - 30;
-          border-radius: 10px;
-        }
-        .el-radio__input.is-checked + .el-radio__label {
-          color: #fff;
-        }
-      }
-      .el-radio__input {
-        display: none;
-      }
-      .el-radio__label {
-        padding-left: 0;
-        // element-ui鍥炬爣
-        i {
-          font-size: 30px;
-        }
-        // 鑷畾涔夊浘鏍�
-        [class^="eva-icon-"], [class*=" eva-icon-"] {
-          width: 30px;
-          height: 30px;
-          background-size: 25px;
-          vertical-align: bottom;
-        }
-      }
-      .el-radio--small {
-        height: auto;
-        padding: 8px;
-        margin-left: 0;
-      }
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/41/41cfba518daeca997b5ff528caad1f0056a7886d.svn-base b/admin/.svn/pristine/41/41cfba518daeca997b5ff528caad1f0056a7886d.svn-base
deleted file mode 100644
index a386e02..0000000
--- a/admin/.svn/pristine/41/41cfba518daeca997b5ff528caad1f0056a7886d.svn-base
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/pristine/42/42331da8cc98ca5a76e05c9a6556a5785e1d6026.svn-base b/admin/.svn/pristine/42/42331da8cc98ca5a76e05c9a6556a5785e1d6026.svn-base
deleted file mode 100644
index 6172da5..0000000
--- a/admin/.svn/pristine/42/42331da8cc98ca5a76e05c9a6556a5785e1d6026.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621751435396" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11906" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M870 96H154c-49.5 0-90 40.6-90 90.2v651.6c0 49.6 40.5 90.2 90 90.2h716c49.5 0 90-40.6 90-90.2V186.2c0-49.6-40.5-90.2-90-90.2zM177.5 314.4h167.3v59.9H177.5v-59.9z m0 223.5h167.3v59.9H177.5v-59.9z m646.4 229.9v-0.2H362.8v0.2h-59.7c0-20.1 2.3-39.9 6.9-59.1v-1.2h0.3c3.8-15.7 9.1-31 16-46 14.8-32.3 35.9-61.3 62.7-86.1 36.8-34 81.6-57.7 130.5-69.7-39.8-24.8-66.3-69-66.3-119.4 0-77.6 62.7-140.6 140.2-140.6 77.5 0 140.2 63 140.2 140.6 0 50.4-26.5 94.6-66.3 119.4 48.9 11.9 93.7 35.6 130.5 69.7 26.8 24.8 47.9 53.8 62.7 86.1 15.4 33.7 23.2 69.4 23.2 106.3h-59.8z" fill="#f7f7f7" p-id="11907"></path></svg>
diff --git a/admin/.svn/pristine/43/4304f993e3f2ae7ba367c686b381fe669946f01e.svn-base b/admin/.svn/pristine/43/4304f993e3f2ae7ba367c686b381fe669946f01e.svn-base
deleted file mode 100644
index e22ce7f..0000000
--- a/admin/.svn/pristine/43/4304f993e3f2ae7ba367c686b381fe669946f01e.svn-base
+++ /dev/null
@@ -1,340 +0,0 @@
-<template>
-    <GlobalWindow
-      :title="title"
-      :visible.sync="visible"
-      :confirm-working="isWorking"
-      @confirm="confirm"
-    >
-      <el-form :model="form" ref="form" :rules="rules">
-        <div style="font-size: 18px;font-weight: bold;">鍩烘湰淇℃伅</div>
-        <el-form-item label="鍟嗗搧鍚嶇О" prop="name">
-          <el-input v-model="form.name" maxlength="50" placeholder="璇疯緭鍏ュ晢鍝佸悕绉帮紝涓嶈秴杩�50涓瓧" v-trim/>
-        </el-form-item>
-        <el-form-item label="鍟嗗搧鍝佺墝" prop="brandId">
-          <el-select v-model="form.brandId" placeholder="璇烽�夋嫨锛屽崟閫�">
-            <el-option
-              v-for="item in brandList"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="鍟嗗搧绫诲埆" prop="categoryId">
-          <!-- @change="changeCategory(form.categoryId)" -->
-          <el-select v-model="form.categoryId" placeholder="璇烽�夋嫨锛屽崟閫�">
-            <el-option
-              v-for="item in categoryList"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item :label="name1" prop="attrFirstIds" v-if="name1">
-          <el-select v-model="form.attrFirstIds" multiple placeholder="璇烽�夋嫨锛屾敮鎸佸閫�">
-            <el-option
-              v-for="item in form.attrFirstList"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item :label="name2" prop="attrSecodIds" v-if="name2">
-          <el-select v-model="form.attrSecodIds" multiple placeholder="璇烽�夋嫨锛屾敮鎸佸閫�">
-            <el-option
-              v-for="item in form.attrSecodList"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="鎸囧浠凤紙鍏冿級" prop="zdPrice">
-          <el-input v-model="form.zdPrice" @input="priceCHANEG(form.zdPrice, 1)" type="number" placeholder="寤鸿褰曞叆鏁存暟锛屽崟浣嶅厓" v-trim/>
-        </el-form-item>
-        <el-form-item label="鍏ユ墜浠凤紙鍏冿級" prop="price">
-          <el-input v-model="form.price" @input="priceCHANEG(form.price, 2)" type="number" placeholder="寤鸿褰曞叆鏁存暟锛屽崟浣嶅厓" v-trim/>
-        </el-form-item>
-        <el-form-item label="鍟嗗搧涓诲浘">
-          <el-upload
-            :action="action"
-            :file-list="form.ztList"
-            :data="{ folder: 'projects' }"
-            list-type="picture-card"
-            :limit="1"
-            :on-success="fileSuccess"
-            :on-exceed="exceed"
-            :on-remove="handleRemove">
-            <i class="el-icon-plus"></i>
-            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶鍥剧墖鏍煎紡锛宲ng鏍煎紡锛屽缓璁昂瀵�140*140px</div>
-          </el-upload>
-        </el-form-item>
-    <el-form-item label="鍟嗗搧鍥剧墖">
-          <el-upload
-            :action="action"
-            :file-list="form.files"
-            :multiple="true"
-            :data="{ folder: 'projects' }"
-            list-type="picture-card"
-            :on-success="fileSuccess1"
-            :on-remove="handleRemove1">
-            <i class="el-icon-plus"></i>
-            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶鍥剧墖鏍煎紡锛宲ng鏍煎紡锛屽缓璁昂瀵�600*600px</div>
-          </el-upload>
-        </el-form-item>
-        <div style="font-size: 18px;font-weight: bold;">鍙傛暟灞炴�у�奸厤缃� <span style="font-size: 13px; font-weight: 500;">鎸夐渶閰嶇疆褰撳墠鍟嗗搧鐨勪骇鍝佸弬鏁板�硷紝鍗曚釜鍙傛暟鍊间笉瓒呰繃30涓瓧</span></div>
-        <el-form-item :label="item.name" v-for="(item, index) in form.goodsParamList" :key="index">
-          <el-input v-model="item.val" maxlength="30" type="text" placeholder="璇疯緭鍏�" v-trim/>
-        </el-form-item>
-      </el-form>
-    </GlobalWindow>
-  </template>
-  
-  <script>
-  import BaseOpera from '@/components/base/BaseOpera'
-  import GlobalWindow from '@/components/common/GlobalWindow'
-  import { brand } from '@/api/system/common.js'
-  import { findListForGoodsId, create, updateById } from '@/api/business/goods.js'
-  export default {
-    name: 'OperaGoodsWindow',
-    extends: BaseOpera,
-    components: { GlobalWindow },
-    data () {
-      return {
-        action: process.env.VUE_APP_API_PREFIX + '/public/uploadLocal',
-        name1: '',
-        name2: '',
-        // 琛ㄥ崟鏁版嵁
-        form: {
-          id: null,
-          name: '',
-          categoryId: '',
-          brandId: '',
-          zdPrice: '',
-          price: '',
-          attrFirstIds: [],
-          attrFirstNames: '',
-          attrSecodIds: [],
-          attrSecodNames: '',
-          imgurl: '',
-          multifileList: [],
-          files: [],
-          ztList: [],
-          goodsParamList: [],
-          attrFirstList: [],
-          attrSecodList: []
-        },
-        // 楠岃瘉瑙勫垯
-        rules: {
-          name: [
-            { required: true, message: '涓嶈兘涓虹┖', trigger: 'blur' }
-          ],
-          categoryId: [
-            { required: true, message: '璇烽�夋嫨', trigger: 'change' }
-          ],
-          brandId: [
-            { required: true, message: '璇烽�夋嫨', trigger: 'change' }
-          ],
-          zdPrice: [
-            { required: true, message: '涓嶈兘涓虹┖', trigger: 'blur' }
-          ],
-          price: [
-            { required: true, message: '涓嶈兘涓虹┖', trigger: 'blur' }
-          ]
-        },
-        options: [],
-        categoryList: [],
-        brandList: []
-      }
-    },
-    created () {
-      this.config({
-        api: '/business/goods',
-        'field.id': 'id'
-      })
-      this.getbrand()
-      this.getcategory()
-    },
-    watch: {
-      'form.categoryId': {
-        immediate: true,
-        handler(news, old) {
-          if (news) {
-            this.name1 = ''
-            this.name2 = ''
-            if (old) {
-              this.form.attrFirstIds = []
-              this.form.attrSecodIds = []
-              this.form.goodsParamList = []
-            }
-            this.categoryList.forEach(item => {
-              if (item.id === news) {
-                this.name1 = item.attrFirst
-                this.name2 = item.attrSecond
-                this.form.attrFirstList = item.attrFirstList.length > 0 ? item.attrFirstList : []
-                this.form.attrSecodList = item.attrSecondList.length > 0 ? item.attrSecondList : []
-                this.form.goodsParamList = JSON.parse(JSON.stringify(item.paramList))
-                this.form.goodsParamList.forEach(item => {
-                  item.pramaId = item.id
-                })
-                console.log(this.form.goodsParamList)
-              }
-            })
-            this.getcategory(1)
-          }
-        }
-      },
-      visible: {
-        handler(news, old) {
-          if (!news) {
-            this.name1 = ''
-            this.name2 = ''
-            this.form = {
-              id: null,
-              name: '',
-              categoryId: '',
-              brandId: '',
-              zdPrice: '',
-              price: '',
-              attrFirstIds: [],
-              attrFirstNames: '',
-              attrSecodIds: [],
-              attrSecodNames: '',
-              imgurl: '',
-              multifileList: [],
-              files: [],
-              ztList: [],
-              goodsParamList: [],
-              attrFirstList: [],
-              attrSecodList: []
-            }
-          }
-        }
-      }
-    },
-    methods: {
-      priceCHANEG(val, type) {
-        if (!/^[1-9]+[0-9]*$/.test(val)) {
-          this.$message.warning('鍙兘杈撳叆姝f暣鏁�')
-          if (type === 1) {
-            this.form.zdPrice = ''
-          } else {
-            this.form.price = ''
-          }
-        }
-      },
-      confirm() {
-        this.$refs.form.validate((valid) => {
-          if (valid) {
-            if (this.form.attrFirstIds.length > 0) {
-              let arr = []
-              this.form.attrFirstIds.forEach(element => {
-                this.form.attrFirstList.forEach(item => {
-                  if (element === item.id) {
-                    arr.push(item.name)
-                  }
-                })
-              })
-              this.form.attrFirstNames = arr.join(',')
-              this.form.attrFirstIds = this.form.attrFirstIds.join(',')
-            } else {
-              this.form.attrFirstNames = ''
-              this.form.attrFirstIds = ''
-            }
-            if (this.form.attrSecodIds.length > 0) {
-              let arr = []
-              this.form.attrSecodIds.forEach(element => {
-                this.form.attrSecodList.forEach(item => {
-                  if (element === item.id) {
-                    arr.push(item.name)
-                  }
-                })
-              })
-              this.form.attrSecodNames = arr.join(',')
-              this.form.attrSecodIds = this.form.attrSecodIds.join(',')
-            } else {
-              this.form.attrSecodNames = ''
-              this.form.attrSecodIds = ''
-            }
-            if (!this.form.id) {
-              create(this.form)
-                .then(() => {
-                  this.visible = false
-                  this.$tip.apiSuccess('鏂板缓鎴愬姛')
-                  this.$emit('success')
-                })
-                .catch(e => {
-                  this.$tip.apiFailed(e)
-                })
-                .finally(() => {
-                  this.isWorking = false
-                })
-            } else {
-              updateById(this.form)
-                .then(() => {
-                  this.visible = false
-                  this.$tip.apiSuccess('缂栬緫鎴愬姛')
-                  this.$emit('success')
-                })
-                .catch(e => {
-                  this.$tip.apiFailed(e)
-                })
-                .finally(() => {
-                  this.isWorking = false
-                })
-            }
-          } else {
-            return false;
-          }
-        });
-      },
-      exceed() {
-        this.$message.warning({
-          message: '鍙兘涓婁紶涓�涓浘鏍�'
-        })
-      },
-      fileSuccess1(response, file, fileList) {
-        this.form.files = fileList
-        this.form.multifileList.push({ fileurl: response.data.imgaddr, name: response.data.imgname, url: response.data.url })
-      },
-      handleRemove1(file, fileList) {
-        this.form.files = fileList
-        this.form.multifileList = fileList
-      },
-      fileSuccess(response) {
-        this.form.ztList.push({ imgaddr: response.data.imgaddr, url: response.data.url })
-        this.form.imgurl = response.data.imgaddr
-      },
-      handleRemove() {
-        this.form.ztList = []
-        this.form.imgurl = ''
-      },
-        getbrand() {
-          brand({})
-            .then(res => {
-              this.brandList = res
-            })
-        },
-        getcategory(type) {
-          findListForGoodsId(this.form.id || '')
-            .then(res => {
-              this.categoryList = res
-              if (type === 1) {
-                this.categoryList.forEach(item => {
-                  if (item.id === this.form.categoryId) {
-                    this.form.goodsParamList = JSON.parse(JSON.stringify(item.paramList))
-                    this.form.goodsParamList.forEach(item => {
-                      item.pramaId = item.id
-                    })
-                    console.log(this.form.goodsParamList)
-                  }
-                })
-              }
-            })
-        }
-    }
-  }
-  </script>
-  
\ No newline at end of file
diff --git a/admin/.svn/pristine/43/43ad092daecce2d4ae4871e508f8983e774162ad.svn-base b/admin/.svn/pristine/43/43ad092daecce2d4ae4871e508f8983e774162ad.svn-base
deleted file mode 100644
index 17476a0..0000000
--- a/admin/.svn/pristine/43/43ad092daecce2d4ae4871e508f8983e774162ad.svn-base
+++ /dev/null
@@ -1,124 +0,0 @@
-<template>
-  <GlobalWindow
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    width="582px"
-    title="閰嶇疆瑙掕壊鏉冮檺"
-    @confirm="confirm"
-  >
-    <p class="tip" v-if="role != null">涓鸿鑹� <em>{{role.name}}</em> 閰嶇疆鏉冮檺</p>
-    <p class="tip-warn"><i class="el-icon-warning"></i>鎻愰啋锛氭潈闄愰厤缃悗闇�閲嶆柊鐧诲綍鍚庣敓鏁�</p>
-    <el-transfer
-      ref="permissionTransfer"
-      v-model="selectedIds"
-      filterable
-      :filter-method="filterPermissions"
-      :titles="['鏈巿鏉冩潈闄�', '宸叉巿鏉冩潈闄�']"
-      :props="{
-        key: 'id',
-        label: 'name'
-      }"
-      :data="permissions">
-    </el-transfer>
-  </GlobalWindow>
-</template>
-
-<script>
-import GlobalWindow from '@/components/common/GlobalWindow'
-import { createRolePermission } from '@/api/system/role'
-import { fetchAll } from '@/api/system/permission'
-export default {
-  name: 'PermissionConfigWindow',
-  components: { GlobalWindow },
-  data () {
-    return {
-      visible: false,
-      isWorking: false,
-      // 瑙掕壊瀵硅薄
-      role: null,
-      // 鏉冮檺鍒楄〃
-      permissions: [],
-      // 宸查�変腑鐨勬潈闄怚D
-      selectedIds: []
-    }
-  },
-  methods: {
-    /**
-     * @role 瑙掕壊瀵硅薄
-     */
-    open (role) {
-      if (this.$refs.permissionTransfer) {
-        this.$refs.permissionTransfer.clearQuery('left')
-        this.$refs.permissionTransfer.clearQuery('right')
-      }
-      fetchAll()
-        .then(records => {
-          this.role = role
-          this.permissions = records
-          // 濡傛灉涓哄浐瀹氳鑹诧紝鍒欏浐瀹氭潈闄愪笉鍙洿鏀�
-          if (this.role.fixed) {
-            for (const perm of this.permissions) {
-              if (perm.fixed) {
-                perm.disabled = true
-              }
-            }
-          }
-          this.selectedIds = role.permissions.map(r => r.id)
-          this.visible = true
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-    },
-    // 纭閫夋嫨鏉冮檺
-    confirm () {
-      this.isWorking = true
-      createRolePermission({
-        roleId: this.role.id,
-        permissionIds: this.selectedIds
-      })
-        .then(() => {
-          this.$tip.apiSuccess('鏉冮檺閰嶇疆鎴愬姛锛岀敤鎴烽噸鏂扮櫥褰曞悗鐢熸晥')
-          this.visible = false
-          this.$emit('success')
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          this.isWorking = false
-        })
-    },
-    // 鎼滅储鏉冮檺
-    filterPermissions (query, item) {
-      const lowerCaseQuery = query.toLowerCase()
-      return item.code.toLowerCase().indexOf(lowerCaseQuery) > -1 || item.name.toLowerCase().indexOf(lowerCaseQuery) > -1
-    }
-  }
-}
-</script>
-
-<style scoped lang="scss">
-@import "@/assets/style/variables.scss";
-.global-window {
-  .tip {
-    em {
-      font-style: normal;
-      color: $primary-color;
-      font-weight: bold;
-    }
-  }
-  .tip-warn {
-    margin: 4px 0 12px 0;
-    font-size: 12px;
-    color: #999;
-    i {
-      color: orange;
-      margin-right: 4px;
-      font-size: 14px;
-      position: relative;
-      top: 1px;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/44/44b09ab489a331382ada50b773a57035be65cdb9.svn-base b/admin/.svn/pristine/44/44b09ab489a331382ada50b773a57035be65cdb9.svn-base
deleted file mode 100644
index d8b3590..0000000
--- a/admin/.svn/pristine/44/44b09ab489a331382ada50b773a57035be65cdb9.svn-base
+++ /dev/null
@@ -1,6 +0,0 @@
-import request from '@/utils/request'
-
-// 鑾峰彇绯荤粺淇℃伅
-export function getSystemInfo () {
-  return request.get('/system/monitor/getSystemInfo')
-}
diff --git a/admin/.svn/pristine/45/4511a41f8116d9c5ba0b3ec66ed1086fa4cca597.svn-base b/admin/.svn/pristine/45/4511a41f8116d9c5ba0b3ec66ed1086fa4cca597.svn-base
deleted file mode 100644
index 287ce32..0000000
--- a/admin/.svn/pristine/45/4511a41f8116d9c5ba0b3ec66ed1086fa4cca597.svn-base
+++ /dev/null
@@ -1,91 +0,0 @@
-<template>
-  <GlobalWindow
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    width="576px"
-    title="閲嶇疆瀵嗙爜"
-    @confirm="confirm"
-  >
-    <p class="tip" v-if="user != null">涓虹敤鎴� <em>{{user.realname}}</em> 閲嶇疆瀵嗙爜</p>
-    <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="鏂板瘑鐮�" prop="password" required>
-        <el-input v-model="form.password" type="password" placeholder="璇疯緭鍏ユ柊瀵嗙爜" maxlength="30" show-password></el-input>
-      </el-form-item>
-    </el-form>
-  </GlobalWindow>
-</template>
-
-<script>
-import GlobalWindow from '@/components/common/GlobalWindow'
-import { resetPwd } from '@/api/system/user'
-export default {
-  name: 'ResetPwdWindow',
-  components: { GlobalWindow },
-  data () {
-    return {
-      isWorking: false,
-      visible: false,
-      user: null,
-      form: {
-        password: ''
-      },
-      rules: {
-        password: [
-          { required: true, message: '璇疯緭鍏ュ瘑鐮�' }
-        ]
-      }
-    }
-  },
-  methods: {
-    open (user) {
-      this.user = user
-      this.visible = true
-      this.$nextTick(() => {
-        this.$refs.form.resetFields()
-      })
-    },
-    // 纭閲嶇疆瀵嗙爜
-    confirm () {
-      if (this.isWorking) {
-        return
-      }
-      this.$refs.form.validate((valid) => {
-        if (!valid) {
-          return
-        }
-        this.isWorking = true
-        resetPwd({
-          id: this.user.id,
-          password: this.form.password
-        })
-          .then(() => {
-            this.$tip.apiSuccess('瀵嗙爜閲嶇疆鎴愬姛')
-            this.visible = false
-            this.$emit('success')
-          })
-          .catch(e => {
-            this.$tip.apiFailed(e)
-          })
-          .finally(() => {
-            this.isWorking = false
-          })
-      })
-    }
-  }
-}
-</script>
-
-<style scoped lang="scss">
-@import "@/assets/style/variables.scss";
-// 瑙掕壊閰嶇疆
-.global-window {
-  .tip {
-    margin-bottom: 12px;
-    em {
-      font-style: normal;
-      color: $primary-color;
-      font-weight: bold;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/48/487fe7387f02ec2a5a7d6b83e85669ced8f5c35f.svn-base b/admin/.svn/pristine/48/487fe7387f02ec2a5a7d6b83e85669ced8f5c35f.svn-base
deleted file mode 100644
index 2c3278e..0000000
--- a/admin/.svn/pristine/48/487fe7387f02ec2a5a7d6b83e85669ced8f5c35f.svn-base
+++ /dev/null
@@ -1,94 +0,0 @@
-<template>
-  <GlobalWindow
-    :title="title"
-    :visible.sync="visible"
-    :confirm-working="isWorking.create"
-    @confirm="confirm"
-  >
-    <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="鏁版嵁鏍囩" prop="label" required>
-        <el-input v-model="form.label" placeholder="璇疯緭鍏ユ暟鎹爣绛�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="鏁版嵁鍊�" prop="code" required>
-        <el-input v-model="form.code" placeholder="璇疯緭鍏ユ暟鎹��" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="鐘舵��" prop="disabled" required class="form-item-status">
-        <el-switch v-model="form.disabled" :active-value="false" :inactive-value="true"/>
-        <span class="status-text">{{form.disabled | disabledText}}</span>
-      </el-form-item>
-    </el-form>
-  </GlobalWindow>
-</template>
-
-<script>
-import BaseOpera from '@/components/base/BaseOpera'
-import GlobalWindow from '@/components/common/GlobalWindow'
-export default {
-  name: 'OperaDictDataWindow',
-  extends: BaseOpera,
-  components: { GlobalWindow },
-  data () {
-    return {
-      // 琛ㄥ崟鏁版嵁
-      form: {
-        id: null,
-        dictId: null,
-        code: '',
-        label: '',
-        disabled: false
-      },
-      // 楠岃瘉瑙勫垯
-      rules: {
-        label: [
-          { required: true, message: '璇疯緭鍏ユ暟鎹爣绛�' }
-        ],
-        code: [
-          { required: true, message: '璇疯緭鍏ユ暟鎹��' }
-        ]
-      }
-    }
-  },
-  methods: {
-    /**
-     * @title 绐楀彛鏍囬
-     * @dict 鎵�灞炲瓧鍏窱D
-     * @target 缂栬緫鐨勫瓧鍏告暟鎹璞�
-     */
-    open (title, dictId, target) {
-      this.title = title
-      this.visible = true
-      // 鏂板缓
-      if (target == null) {
-        this.$nextTick(() => {
-          this.$refs.form.resetFields()
-          this.form.id = null
-          this.form.dictId = dictId
-        })
-        return
-      }
-      // 缂栬緫
-      this.$nextTick(() => {
-        for (const key in this.form) {
-          this.form[key] = target[key]
-        }
-      })
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/dictData'
-    })
-  }
-}
-</script>
-
-<style scoped lang="scss">
-.form-item-status {
-  .status-text {
-    color: #999;
-    margin-left: 6px;
-    font-size: 13px;
-    vertical-align: middle;
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/49/4986a83e4103ee5d6654afeca41c0369b0eef316.svn-base b/admin/.svn/pristine/49/4986a83e4103ee5d6654afeca41c0369b0eef316.svn-base
deleted file mode 100644
index 21229fe..0000000
--- a/admin/.svn/pristine/49/4986a83e4103ee5d6654afeca41c0369b0eef316.svn-base
+++ /dev/null
@@ -1,114 +0,0 @@
-<template>
-  <GlobalWindow
-    class="menu-config-dialog"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    width="576px"
-    title="鎺堟潈鑿滃崟"
-    @confirm="confirm"
-  >
-    <p class="tip" v-if="role != null">涓鸿鑹� <em>{{role.name}}</em> 閰嶇疆鍙闂殑鑿滃崟</p>
-    <el-tree
-      ref="menuTree"
-      :data="menus"
-      show-checkbox
-      node-key="id"
-      default-expand-all
-      :default-checked-keys="selectedIds"
-      :expand-on-click-node="false"
-      :check-on-click-node="true"
-      :props="{children: 'children',label: 'name'}">
-    </el-tree>
-  </GlobalWindow>
-</template>
-
-<script>
-import GlobalWindow from '@/components/common/GlobalWindow'
-import { createRoleMenu } from '@/api/system/role'
-import { fetchTree as fetchMenuList } from '@/api/system/menu'
-export default {
-  name: 'MenuConfigWindow',
-  components: { GlobalWindow },
-  data () {
-    return {
-      visible: false,
-      isWorking: false,
-      // 瑙掕壊
-      role: null,
-      // 鎵�鏈夎彍鍗�
-      menus: [],
-      // 宸查�変腑鐨勮彍鍗�
-      selectedIds: []
-    }
-  },
-  methods: {
-    /**
-     * @role 瑙掕壊瀵硅薄
-     */
-    open (role) {
-      fetchMenuList({})
-        .then(records => {
-          this.role = role
-          this.menus = records
-          // 濡傛灉涓哄浐瀹氳鑹诧紝鍒欏浐瀹氳彍鍗曚笉鍙洿鏀�
-          this.__resetDisabled(this.menus, this.role)
-          // 鎵惧嚭鍙惰妭鐐�
-          role.menus = role.menus.filter(menu => role.menus.findIndex(m => m.parentId === menu.id) === -1)
-          // 鍒濆鍖栭�変腑
-          this.selectedIds = role.menus.map(r => r.id)
-          this.visible = true
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-    },
-    // 纭閫夋嫨鑿滃崟
-    confirm () {
-      const selectedMenus = this.$refs.menuTree.getCheckedNodes(false, true)
-      this.isWorking = true
-      createRoleMenu({
-        roleId: this.role.id,
-        menuIds: selectedMenus.map(menu => menu.id)
-      })
-        .then(() => {
-          this.$tip.apiSuccess('鑿滃崟鎺堟潈鎴愬姛')
-          this.visible = false
-          this.$emit('success')
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          this.isWorking = false
-        })
-    },
-    // 閲嶇疆disabled
-    __resetDisabled (menus, role) {
-      if (menus == null || menus.length === 0) {
-        return
-      }
-      for (const menu of menus) {
-        menu.disabled = false
-        if (role.fixed && menu.fixed) {
-          menu.disabled = true
-        }
-        this.__resetDisabled(menu.children, role)
-      }
-    }
-  }
-}
-</script>
-
-<style scoped lang="scss">
-  @import "@/assets/style/variables.scss";
-  .global-window {
-    .tip {
-      margin-bottom: 12px;
-      em {
-        font-style: normal;
-        color: $primary-color;
-        font-weight: bold;
-      }
-    }
-  }
-</style>
diff --git a/admin/.svn/pristine/4b/4bf4bb69bff467a6a62bfacce54d78592ee2d944.svn-base b/admin/.svn/pristine/4b/4bf4bb69bff467a6a62bfacce54d78592ee2d944.svn-base
deleted file mode 100644
index 938f726..0000000
--- a/admin/.svn/pristine/4b/4bf4bb69bff467a6a62bfacce54d78592ee2d944.svn-base
+++ /dev/null
@@ -1,43 +0,0 @@
-import request from '@/utils/request'
-
-// 鑾峰彇鍥剧墖楠岃瘉鐮�
-export function getCaptcha () {
-  return request.get('/common/captcha')
-}
-
-// 鏍规嵁瀵嗙爜鐧诲綍
-export function loginByPassword (data) {
-  return request.post('/system/login', data)
-}
-
-// 鐧诲嚭
-export function logout (data) {
-  return request.post('/system/logout', data)
-}
-
-// 淇敼瀵嗙爜
-export function updatePwd (data) {
-  return request.post('/system/updatePwd', data)
-}
-
-// 鑾峰彇宸茬櫥褰曠殑鐢ㄦ埛淇℃伅
-export function getUserInfo () {
-  return request.get('/system/getUserInfo', {
-    autoLogin: false
-  })
-}
-
-// 鍝佺墝鍒楄〃鏌ヨ
-export function brand (data) {
-  return request.post('/business/brand/list', data)
-}
-
-// 绫诲埆鍒楄〃鏌ヨ
-export function category (data) {
-  return request.post('/business/category/list', data)
-}
-
-// 瀵煎叆妯℃澘
-export function importExcel (data) {
-  return request.post('/business/goods/importExcel', data)
-}
\ No newline at end of file
diff --git a/admin/.svn/pristine/4e/4e053c2891ad9b23c4850028e23e94a566116d2e.svn-base b/admin/.svn/pristine/4e/4e053c2891ad9b23c4850028e23e94a566116d2e.svn-base
deleted file mode 100644
index e854f1e..0000000
--- a/admin/.svn/pristine/4e/4e053c2891ad9b23c4850028e23e94a566116d2e.svn-base
+++ /dev/null
@@ -1,21 +0,0 @@
-export default {
-  install (Vue) {
-    // 鎬у埆
-    Vue.filter('sex', (value) => {
-      if (value === '1') {
-        return '鐢�'
-      }
-      if (value === '0') {
-        return '濂�'
-      }
-      return '鏈煡'
-    })
-    // 鍚敤绂佺敤
-    Vue.filter('disabledText', (value) => {
-      if (value) {
-        return '鍋滅敤'
-      }
-      return '鍚敤'
-    })
-  }
-}
diff --git a/admin/.svn/pristine/50/50d093ec0cd835354bf14fbf33b9890a9b034a31.svn-base b/admin/.svn/pristine/50/50d093ec0cd835354bf14fbf33b9890a9b034a31.svn-base
deleted file mode 100644
index ab83114..0000000
--- a/admin/.svn/pristine/50/50d093ec0cd835354bf14fbf33b9890a9b034a31.svn-base
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/pristine/53/532ad37939622c414f7cb39a06ac10eb6d649be1.svn-base b/admin/.svn/pristine/53/532ad37939622c414f7cb39a06ac10eb6d649be1.svn-base
deleted file mode 100644
index ff3f939..0000000
--- a/admin/.svn/pristine/53/532ad37939622c414f7cb39a06ac10eb6d649be1.svn-base
+++ /dev/null
@@ -1,12 +0,0 @@
-// 涓昏壊璋�
-$primary-color: #2E68EC;
-// 澶撮儴楂樺害
-$header-height: 60px;
-// 鑿滃崟瀹藉害
-$menu-width: 208px;
-// 椤甸潰鏈�灏忓搴�
-$page-min-width: 1000px;
-
-// 瀛椾綋
-$font-color: #282828; // 棰滆壊
-$font-size: 12px; // 澶у皬
diff --git a/admin/.svn/pristine/53/53f009e0c0cf8196ef4361e495546fc2a01c1a1a.svn-base b/admin/.svn/pristine/53/53f009e0c0cf8196ef4361e495546fc2a01c1a1a.svn-base
deleted file mode 100644
index 30bf446..0000000
--- a/admin/.svn/pristine/53/53f009e0c0cf8196ef4361e495546fc2a01c1a1a.svn-base
+++ /dev/null
@@ -1,47 +0,0 @@
-import request from '../../utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-  return request.post('/system/dataPermission/page', data, {
-    trim: true
-  })
-}
-
-// 鏌ヨ鏁版嵁鏉冮檺妯″潡
-export function fetchModules () {
-  return request.cache('DATA_PERMISSION_MODULES').get('/system/dataPermission/modules')
-}
-
-// 鏌ヨ鏁版嵁鏉冮檺绫诲瀷
-export function fetchTypes () {
-  return request.cache('DATA_PERMISSION_TYPES').get('/system/dataPermission/types')
-}
-
-// 鍒涘缓
-export function create (data) {
-  return request.post('/system/dataPermission/create', data)
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/system/dataPermission/updateById', data)
-}
-
-// 淇敼鐘舵��
-export function updateStatus (data) {
-  return request.post('/system/dataPermission/updateStatus', data)
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/system/dataPermission/delete/${id}`)
-}
-
-// 鎵归噺鍒犻櫎
-export function deleteByIdInBatch (ids) {
-  return request.get('/system/dataPermission/delete/batch', {
-    params: {
-      ids
-    }
-  })
-}
diff --git a/admin/.svn/pristine/57/5771a358c7e379e5852e25a84c431de1ca5614d7.svn-base b/admin/.svn/pristine/57/5771a358c7e379e5852e25a84c431de1ca5614d7.svn-base
deleted file mode 100644
index 2e98085..0000000
--- a/admin/.svn/pristine/57/5771a358c7e379e5852e25a84c431de1ca5614d7.svn-base
+++ /dev/null
@@ -1,231 +0,0 @@
-<template>
-  <TableLayout class="menu-layout" :permissions="['system:menu:query']">
-    <!-- 琛ㄦ牸鍜屽垎椤� -->
-    <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['system:menu:create', 'system:menu:delete', 'system:menu:sort']">
-        <li><el-button type="primary" @click="$refs.operaMenuWindow.open('鏂板缓涓�绾ц彍鍗�')" icon="el-icon-plus" v-permissions="['system:menu:create']">鏂板缓</el-button></li>
-        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:menu:delete']">鍒犻櫎</el-button></li>
-        <li><el-button @click="sort('top')" :loading="isWorking.sort" icon="el-icon-sort-up" v-permissions="['system:menu:sort']">涓婄Щ</el-button></li>
-        <li><el-button @click="sort('bottom')" :loading="isWorking.sort" icon="el-icon-sort-down" v-permissions="['system:menu:sort']">涓嬬Щ</el-button></li>
-      </ul>
-      <el-table
-        ref="table"
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
-        row-key="id"
-        stripe
-        default-expand-all
-        @selection-change="handleSelectionChange"
-      >
-        <el-table-column type="selection" width="55" fixed="left"></el-table-column>
-        <el-table-column prop="name" label="鑿滃崟鍚嶇О"  fixed="left" min-width="160px"></el-table-column>
-        <el-table-column prop="icon" label="鍥炬爣" min-width="80px" class-name="table-column-icon">
-          <template slot-scope="{row}">
-            <i v-if="row.icon != null && row.icon !== ''" :class="{[row.icon]: true}"></i>
-            <template v-else>鏈缃�</template>
-          </template>
-        </el-table-column>
-        <el-table-column prop="path" label="璁块棶璺緞" min-width="140px"></el-table-column>
-        <el-table-column prop="remark" label="澶囨敞" min-width="120px"></el-table-column>
-        <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="140px"></el-table-column>
-        <el-table-column prop="updateUser" label="鏇存柊浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="140px"></el-table-column>
-        <el-table-column prop="disabled" label="鏄惁鍚敤" min-width="80px">
-          <template slot-scope="{row}">
-            <el-switch v-model="row.disabled" :active-value="false" :inactive-value="true" @change="switchDisabled(row)"/>
-          </template>
-        </el-table-column>
-        <el-table-column
-          v-if="containPermissions(['system:menu:update', 'system:menu:create', 'system:menu:delete'])"
-          label="鎿嶄綔"
-          min-width="220"
-          fixed="right"
-        >
-          <template slot-scope="{row}">
-            <el-button type="text" icon="el-icon-edit" @click="$refs.operaMenuWindow.open('缂栬緫鑿滃崟', row)" v-permissions="['system:menu:update']">缂栬緫</el-button>
-            <el-button type="text" icon="el-icon-plus" @click="$refs.operaMenuWindow.open('鏂板缓瀛愯彍鍗�', null, row)" v-permissions="['system:menu:create']">鏂板缓瀛愯彍鍗�</el-button>
-            <el-button v-if="!row.fixed" type="text" icon="el-icon-delete" @click="deleteById(row)" v-permissions="['system:menu:delete']">鍒犻櫎</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-    </template>
-    <!-- 鏂板缓/淇敼 -->
-    <OperaMenuWindow ref="operaMenuWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
-  </TableLayout>
-</template>
-
-<script>
-import TableLayout from '@/layouts/TableLayout'
-import BaseTable from '@/components/base/BaseTable'
-import OperaMenuWindow from '@/components/system/menu/OperaMenuWindow'
-import { fetchTree, updateStatus, sort } from '@/api/system/menu'
-export default {
-  name: 'SystemMenu',
-  extends: BaseTable,
-  components: { OperaMenuWindow, TableLayout },
-  data () {
-    return {
-      // 鏄惁姝e湪澶勭悊涓�
-      isWorking: {
-        sort: false
-      }
-    }
-  },
-  methods: {
-    // 鏌ヨ鏁版嵁
-    handlePageChange () {
-      this.isWorking.search = true
-      fetchTree()
-        .then(records => {
-          this.tableData.list = records
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          this.isWorking.search = false
-        })
-    },
-    // 鎺掑簭
-    sort (direction) {
-      if (this.isWorking.sort) {
-        return
-      }
-      if (this.tableData.selectedRows.length === 0) {
-        this.$tip.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
-        return
-      }
-      if (this.tableData.selectedRows.length > 1) {
-        this.$tip.warning('鎺掑簭鏃朵粎鍏佽閫夋嫨涓�鏉℃暟鎹�')
-        return
-      }
-      const menuId = this.tableData.selectedRows[0].id
-      // 鎵惧埌鑿滃崟鑼冨洿
-      let menuPool
-      for (const rootMenu of this.tableData.list) {
-        const parent = this.__findParent(menuId, rootMenu)
-        if (parent != null) {
-          menuPool = parent.children
-        }
-      }
-      menuPool = menuPool || this.tableData.list
-      const menuIndex = menuPool.findIndex(menu => menu.id === menuId)
-      // 涓婄Щ鏍¢獙
-      if (direction === 'top' && menuIndex === 0) {
-        this.$tip.warning('鑿滃崟宸插埌椤堕儴')
-        return
-      }
-      // 涓嬬Щ鏍¢獙
-      if (direction === 'bottom' && menuIndex === menuPool.length - 1) {
-        this.$tip.warning('鑿滃崟宸插埌搴曢儴')
-        return
-      }
-      this.isWorking.sort = true
-      sort({
-        id: this.tableData.selectedRows[0].id,
-        direction
-      })
-        .then(() => {
-          if (direction === 'top') {
-            menuPool.splice(menuIndex, 0, menuPool.splice(menuIndex - 1, 1)[0])
-          } else {
-            menuPool.splice(menuIndex, 0, menuPool.splice(menuIndex + 1, 1)[0])
-          }
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          this.isWorking.sort = false
-        })
-    },
-    // 鍚敤/绂佺敤鑿滃崟
-    switchDisabled (row) {
-      if (!row.disabled) {
-        this.__updateMenuStatus(row)
-        return
-      }
-      this.$dialog.disableConfirm(`纭绂佺敤 ${row.name} 鑿滃崟鍚楋紵`)
-        .then(() => {
-          this.__updateMenuStatus(row)
-        }).catch(() => {
-          row.disabled = !row.disabled
-        })
-    },
-    // 鏌ヨ鐖惰妭鐐�
-    __findParent (id, parent) {
-      if (parent.children === 0) {
-        return
-      }
-      for (const menu of parent.children) {
-        if (menu.id === id) {
-          return parent
-        }
-        if (menu.children.length > 0) {
-          const m = this.__findParent(id, menu)
-          if (m != null) {
-            return m
-          }
-        }
-      }
-      return null
-    },
-    // 淇敼鑿滃崟鐘舵��
-    __updateMenuStatus (row) {
-      updateStatus({
-        id: row.id,
-        parentId: row.parentId,
-        disabled: row.disabled
-      })
-        .then(() => {
-          this.$tip.apiSuccess('淇敼鎴愬姛')
-        })
-        .catch(e => {
-          row.disabled = !row.disabled
-          this.$tip.apiFailed(e)
-        })
-    }
-  },
-  created () {
-    this.config({
-      module: '鑿滃崟',
-      api: '/system/menu'
-    })
-    this.search()
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-@import "@/assets/style/variables.scss";
-.menu-layout {
-  /deep/ .table-content {
-    margin-top: 0;
-  }
-}
-// 鍥炬爣鍒�
-.table-column-icon {
-  // element-ui鍥炬爣
-  i {
-    background-color: $primary-color;
-    opacity: 0.72;
-    font-size: 20px;
-    color: #fff;
-    padding: 4px;
-    border-radius: 50%;
-  }
-  // 鑷畾涔夊浘鏍�
-  [class^="eva-icon-"] {
-    width: 20px;
-    height: 20px;
-    background-size: 16px;
-    vertical-align: middle;
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/58/58e0bb034efa92071c295a6ebf8709295a5112ea.svn-base b/admin/.svn/pristine/58/58e0bb034efa92071c295a6ebf8709295a5112ea.svn-base
deleted file mode 100644
index 3c2276e..0000000
--- a/admin/.svn/pristine/58/58e0bb034efa92071c295a6ebf8709295a5112ea.svn-base
+++ /dev/null
@@ -1,25 +0,0 @@
-<template>
-  <el-menu-item v-if="menu.children == null || menu.children.length == 0" :key="menu.index" :index="menu.index">
-    <i :class="menu.icon"></i>
-    <span slot="title">{{menu.label}}</span>
-  </el-menu-item>
-  <el-submenu v-else :index="menu.index">
-    <template slot="title">
-      <i :class="menu.icon"></i>
-      <span slot="title">{{menu.label}}</span>
-    </template>
-    <MenuItems v-for="child in menu.children" :menu="child" :key="child.index"/>
-  </el-submenu>
-</template>
-
-<script>
-export default {
-  name: 'MenuItems',
-  props: {
-    menu: {
-      type: Object,
-      required: true
-    }
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/59/59b58477e3f99d266169685a6a42be35236381a7.svn-base b/admin/.svn/pristine/59/59b58477e3f99d266169685a6a42be35236381a7.svn-base
deleted file mode 100644
index 6527b3f..0000000
--- a/admin/.svn/pristine/59/59b58477e3f99d266169685a6a42be35236381a7.svn-base
+++ /dev/null
@@ -1,8 +0,0 @@
-# 寮�鍙戠幆澧冮厤缃�
-NODE_ENV = 'development'
-
-# VUE_APP_API = 'https://dmtest.ahapp.net/preselect_interface/'
-
-VUE_APP_API = 'http://192.168.0.15:10017/'
-
-# VUE_APP_API = 'https://dmtest.ahapp.net/preselect_interface/'
\ No newline at end of file
diff --git a/admin/.svn/pristine/5b/5be8f851de33b33fed26c93c1f611b529210bba5.svn-base b/admin/.svn/pristine/5b/5be8f851de33b33fed26c93c1f611b529210bba5.svn-base
deleted file mode 100644
index 70681bd..0000000
--- a/admin/.svn/pristine/5b/5be8f851de33b33fed26c93c1f611b529210bba5.svn-base
+++ /dev/null
@@ -1,106 +0,0 @@
-<script>
-export default {
-  name: 'BaseOpera',
-  data () {
-    return {
-      title: '',
-      visible: false,
-      isWorking: false,
-      // 鎺ュ彛
-      api: null,
-      // 閰嶇疆鏁版嵁
-      configData: {
-        'field.id': 'id'
-      }
-    }
-  },
-  methods: {
-    // 閰嶇疆
-    config (extParams = {}) {
-      if (extParams == null) {
-        throw new Error('Parameter can not be null of method \'config\' .')
-      }
-      if (extParams.api == null) {
-        throw new Error('Missing config option \'api\'.')
-      }
-      this.api = require('@/api' + extParams.api)
-      extParams['field.id'] && (this.configData['field.id'] = extParams['field.id'])
-    },
-    /**
-     * 鎵撳紑绐楀彛
-     * @title 绐楀彛鏍囬
-     * @target 缂栬緫鐨勫璞�
-     */
-    open (title, target) {
-      this.title = title
-      this.visible = true
-      // 鏂板缓
-      if (target == null) {
-        this.$nextTick(() => {
-          this.$refs.form.resetFields()
-          this.form[this.configData['field.id']] = null
-        })
-        return
-      }
-      // 缂栬緫
-      this.$nextTick(() => {
-        for (const key in this.form) {
-          this.form[key] = target[key]
-        }
-      })
-    },
-    // 纭鏂板缓/淇敼
-    confirm () {
-      if (this.form.id == null || this.form.id === '') {
-        this.__confirmCreate()
-        return
-      }
-      this.__confirmEdit()
-    },
-    // 纭鏂板缓
-    __confirmCreate () {
-      this.$refs.form.validate((valid) => {
-        if (!valid) {
-          return
-        }
-        // 璋冪敤鏂板缓鎺ュ彛
-        this.isWorking = true
-        this.api.create(this.form)
-          .then(() => {
-            this.visible = false
-            this.$tip.apiSuccess('鏂板缓鎴愬姛')
-            this.$emit('success')
-          })
-          .catch(e => {
-            this.$tip.apiFailed(e)
-          })
-          .finally(() => {
-            this.isWorking = false
-          })
-      })
-    },
-    // 纭淇敼
-    __confirmEdit () {
-      this.$refs.form.validate((valid) => {
-        if (!valid) {
-          return
-        }
-        // 璋冪敤鏂板缓鎺ュ彛
-        this.isWorking = true
-        this.api.updateById(this.form)
-          .then(() => {
-            this.visible = false
-            this.$tip.apiSuccess('淇敼鎴愬姛')
-            this.$emit('success')
-          })
-          .catch(e => {
-            this.$tip.apiFailed(e)
-          })
-          .finally(() => {
-            this.isWorking = false
-          })
-      })
-    }
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/65/652f03527b71951661902d88277a83cedb991ae3.svn-base b/admin/.svn/pristine/65/652f03527b71951661902d88277a83cedb991ae3.svn-base
deleted file mode 100644
index 1d2ca18..0000000
--- a/admin/.svn/pristine/65/652f03527b71951661902d88277a83cedb991ae3.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621751666911" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13701" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M64.28 671v80.3c0 34.76 26.84 62.94 60 62.94h297.47v94.15H285.53c-24.17 0-48.38-0.49-72.54 0h-1.06c-12.54 0-24.55 11.58-24 25.18s10.53 25.17 24 25.17h525.88c24.16 0 48.37 0.49 72.53 0h1.06c12.54 0 24.56-11.58 24-25.17s-10.54-25.18-24-25.18H601.59v-94.11H899.1c33.11 0 59.95-28.18 59.95-62.94V671zM899.77 65H124.9A60 60 0 0 0 65 125v499.3h894.72V125a60 60 0 0 0-59.95-60zM757.46 296.75l-6.89 7.53-77 84.15-36.78 40.22c0.08 1.2 0.14 2.41 0.14 3.63a51.09 51.09 0 1 1-100.6-12.67l-55.74-65.31-38.46-45a51 51 0 0 1-21.7 0.18l-6 5.78-71.92 69.71-30.85 29.9a45.45 45.45 0 1 1-36.1-35.1l2.85-2.76 71.92-69.72 32.2-31.21A51.09 51.09 0 1 1 482 259.44a51.66 51.66 0 0 1-1.28 11.34l10.62 12.44L561.13 365l14.72 17.23a51.85 51.85 0 0 1 10-1 50.84 50.84 0 0 1 22.14 5l76.82-84q15.3-16.73 30.59-33.44a45.42 45.42 0 1 1 42 28z" p-id="13702" fill="#f7f7f7"></path></svg>
diff --git a/admin/.svn/pristine/67/671686fffa355499209788fd134c37922d23b5b7.svn-base b/admin/.svn/pristine/67/671686fffa355499209788fd134c37922d23b5b7.svn-base
deleted file mode 100644
index 521529d..0000000
--- a/admin/.svn/pristine/67/671686fffa355499209788fd134c37922d23b5b7.svn-base
+++ /dev/null
@@ -1,59 +0,0 @@
-<template>
-  <div class="value">
-    <i class="el-icon-loading" v-if="data == null"></i>
-    <slot v-else>{{getValue()}}{{suffix}}</slot>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'Value',
-  props: {
-    data: {
-      type: Object
-    },
-    prop: {
-      type: String
-    },
-    suffix: {
-      type: String
-    },
-    handler: {
-      type: Function
-    }
-  },
-  methods: {
-    getValue () {
-      if (this.data == null) {
-        return ''
-      }
-      if (this.prop == null) {
-        return this.data
-      }
-      const props = this.prop.split('.')
-      let i = 0
-      let value = this.data
-      while (i < props.length) {
-        value = value[props[i]]
-        i++
-      }
-      if (this.handler == null) {
-        return value
-      }
-      return this.handler(value)
-    }
-  }
-}
-</script>
-
-<style scoped lang="scss">
-.value {
-  word-break: break-all;
-  .el-icon-loading {
-    font-size: 16px;
-    color: #999;
-    position: relative;
-    top: 1px;
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/68/689423e06985d0c88749fb1c8063cb7cd7869ce0.svn-base b/admin/.svn/pristine/68/689423e06985d0c88749fb1c8063cb7cd7869ce0.svn-base
deleted file mode 100644
index 2f3f92c..0000000
--- a/admin/.svn/pristine/68/689423e06985d0c88749fb1c8063cb7cd7869ce0.svn-base
+++ /dev/null
@@ -1,39 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-  return request.post('/system/permission/page', data)
-}
-
-// 鏌ヨ鎵�鏈�
-export function fetchAll () {
-  return request.get('/system/permission/all')
-}
-
-// 鏂板缓
-export function create (data) {
-  return request.post('/system/permission/create', data, {
-    trim: true
-  })
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/system/permission/updateById', data, {
-    trim: true
-  })
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/system/permission/delete/${id}`)
-}
-
-// 鎵归噺鍒犻櫎
-export function deleteByIdInBatch (ids) {
-  return request.get('/system/permission/delete/batch', {
-    params: {
-      ids
-    }
-  })
-}
diff --git a/admin/.svn/pristine/6a/6abc9da360a6711afd19e5c8de150dca7972d2cf.svn-base b/admin/.svn/pristine/6a/6abc9da360a6711afd19e5c8de150dca7972d2cf.svn-base
deleted file mode 100644
index b2ef9a8..0000000
--- a/admin/.svn/pristine/6a/6abc9da360a6711afd19e5c8de150dca7972d2cf.svn-base
+++ /dev/null
@@ -1,93 +0,0 @@
-<template>
-  <TableLayout :permissions="['system:position:query']">
-    <!-- 琛ㄦ牸鍜屽垎椤� -->
-    <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['system:position:create', 'system:position:delete']">
-        <li><el-button type="primary" @click="$refs.operaPositionWindow.open('鏂板缓宀椾綅')" icon="el-icon-plus" v-permissions="['system:position:create']">鏂板缓</el-button></li>
-        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:position:delete']">鍒犻櫎</el-button></li>
-      </ul>
-      <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
-        row-key="id"
-        stripe
-        default-expand-all
-        @selection-change="handleSelectionChange"
-      >
-        <el-table-column type="selection" width="55" fixed="left"></el-table-column>
-        <el-table-column prop="name" label="宀椾綅鍚嶇О" fixed="left" min-width="200px"></el-table-column>
-        <el-table-column prop="code" label="宀椾綅缂栫爜" fixed="left" min-width="100px"></el-table-column>
-        <el-table-column prop="userCount" label="宀椾綅浜烘暟" min-width="100px"></el-table-column>
-        <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="140px"></el-table-column>
-        <el-table-column prop="updateUser" label="鏇存柊浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="140px"></el-table-column>
-        <el-table-column
-          v-if="containPermissions(['system:position:update', 'system:position:query', 'system:position:delete'])"
-          label="鎿嶄綔"
-          min-width="310"
-          fixed="right"
-        >
-          <template slot-scope="{row}">
-            <el-button type="text" @click="$refs.operaPositionWindow.open('缂栬緫宀椾綅', row)" icon="el-icon-edit" v-permissions="['system:position:update']">缂栬緫</el-button>
-            <el-button type="text" @click="$refs.operaPositionWindow.open('鏂板涓嬬骇宀椾綅', null, row)" icon="el-icon-edit" v-permissions="['system:position:update']">鏂板涓嬬骇宀椾綅</el-button>
-            <el-button type="text" @click="$refs.positionUserWindow.open(row.id, row.name)" icon="el-icon-user-solid" v-permissions="['system:position:queryUsers']">鏌ョ湅浜哄憳</el-button>
-            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['system:position:delete']">鍒犻櫎</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-    </template>
-    <!-- 鏂板缓/淇敼 -->
-    <OperaPositionWindow ref="operaPositionWindow" @success="handlePageChange"/>
-    <!-- 浜哄憳绠$悊 -->
-    <PositionUserWindow ref="positionUserWindow"/>
-  </TableLayout>
-</template>
-
-<script>
-import TableLayout from '@/layouts/TableLayout'
-import BaseTable from '@/components/base/BaseTable'
-import OperaPositionWindow from '@/components/system/position/OperaPositionWindow'
-import PositionUserWindow from '@/components/system/position/PositionUserWindow'
-import { fetchTree } from '@/api/system/position'
-export default {
-  name: 'SystemPosition',
-  extends: BaseTable,
-  components: { PositionUserWindow, OperaPositionWindow, TableLayout },
-  methods: {
-    // 鏌ヨ鏁版嵁
-    handlePageChange () {
-      this.isWorking.search = true
-      fetchTree()
-        .then(records => {
-          this.tableData.list = records
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          this.isWorking.search = false
-        })
-    }
-  },
-  created () {
-    this.config({
-      module: '宀椾綅',
-      api: '/system/position'
-    })
-    this.search()
-  }
-}
-</script>
-<style lang="scss" scoped>
-.table-layout {
-  /deep/ .table-content {
-    margin-top: 0;
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/77/77ffdb4493680fbbd12379de6c056ba6816ebcaf.svn-base b/admin/.svn/pristine/77/77ffdb4493680fbbd12379de6c056ba6816ebcaf.svn-base
deleted file mode 100644
index bc52e03..0000000
--- a/admin/.svn/pristine/77/77ffdb4493680fbbd12379de6c056ba6816ebcaf.svn-base
+++ /dev/null
@@ -1,3 +0,0 @@
-/**
- * 姝ゆ枃浠剁敤浜庢坊鍔犺嚜瀹氫箟鐨勫浘鏍�
- */
diff --git a/admin/.svn/pristine/79/7940019fb18ade5d365d798238c365c04b06a2b0.svn-base b/admin/.svn/pristine/79/7940019fb18ade5d365d798238c365c04b06a2b0.svn-base
deleted file mode 100644
index 849478e..0000000
--- a/admin/.svn/pristine/79/7940019fb18ade5d365d798238c365c04b06a2b0.svn-base
+++ /dev/null
@@ -1,259 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:goods:query']">
-      <!-- 鎼滅储琛ㄥ崟 -->
-      <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-        <el-form-item label="鍟嗗搧鍚嶇О" prop="name">
-          <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�" @keypress.enter.native="search"></el-input>
-        </el-form-item>
-        <el-form-item label="鍟嗗搧ID" prop="id">
-          <el-input v-model="searchForm.id" placeholder="璇疯緭鍏ュ晢鍝両D" @keypress.enter.native="search"></el-input>
-        </el-form-item>
-        <el-form-item label="绫诲埆" prop="categoryId">
-            <el-select v-model="searchForm.categoryId" clearable placeholder="璇烽�夋嫨">
-                <el-option
-                    v-for="item in categoryList"
-                    :key="item.id"
-                    :label="item.name"
-                    :value="item.id">
-                </el-option>
-            </el-select>
-          <!-- <el-input v-model="searchForm.categoryId" placeholder="璇疯緭鍏ユ墍灞炲搧绫荤紪鐮�" @keypress.enter.native="search"></el-input> -->
-        </el-form-item>
-        <el-form-item label="鍝佺墝" prop="brandId">
-            <el-select v-model="searchForm.brandId" clearable placeholder="璇烽�夋嫨">
-                <el-option
-                    v-for="item in brandList"
-                    :key="item.id"
-                    :label="item.name"
-                    :value="item.id">
-                </el-option>
-            </el-select>
-          <!-- <el-input v-model="searchForm.brandId" placeholder="璇疯緭鍏ユ墍灞炲搧鐗岀紪鐮�" @keypress.enter.native="search"></el-input> -->
-        </el-form-item>
-        <el-form-item label="鐘舵��" prop="status">
-            <el-select v-model="searchForm.status" clearable placeholder="璇烽�夋嫨">
-                <el-option
-                    v-for="item in statusList"
-                    :key="item.id"
-                    :label="item.name"
-                    :value="item.id">
-                </el-option>
-            </el-select>
-          <!-- <el-input v-model="searchForm.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" @keypress.enter.native="search"></el-input> -->
-        </el-form-item>
-        <section>
-          <el-button type="primary" @click="search">鎼滅储</el-button>
-          
-          <el-button @click="reset">閲嶇疆</el-button>
-        </section>
-      </el-form>
-      <!-- 琛ㄦ牸鍜屽垎椤� -->
-      <template v-slot:table-wrap>
-        <ul class="toolbar" v-permissions="['business:goods:create', 'business:goods:delete']">
-          <li><el-button type="primary" @click="$refs.operaGoodsWindow.open('鏂板缓鍟嗗搧')" icon="el-icon-plus" v-permissions="['business:goods:create']">鏂板缓</el-button></li>
-          <el-button type="primary" :loading="isWorking.export" v-permissions="['business:goods:exportExcel']" @click="importFile">瀵煎叆</el-button>
-          <el-button type="primary" :loading="isWorking.export" @click="downloadFile">涓嬭浇妯℃澘</el-button>
-          <!-- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:goods:delete']">鍒犻櫎</el-button></li> -->
-        </ul>
-        <el-table
-          v-loading="isWorking.search"
-          :data="tableData.list"
-          stripe
-          border
-          :header-cell-style="rowStyle"
-          :cell-style="rowStyle"
-        >
-          <el-table-column prop="id" label="鍟嗗搧ID" min-width="100px"></el-table-column>
-          <el-table-column prop="name" label="鍟嗗搧鍚嶇О/鍨嬪彿" min-width="200px">
-            <template slot-scope="{row}">
-              <div style="display: flex; align-items: center;">
-                <div style="width: 70px; height: 70px; flex-shrink: 0;">
-                  <el-image
-                  v-if="row.imgurl"
-                  style="width: 70px; height: 70px"
-                  :src="row.prefixUrl + row.imgurl"
-                  :preview-src-list="[row.prefixUrl + row.imgurl]"
-                  fit="cover"></el-image>
-                </div>
-              {{ row.name }}
-              </div>
-            </template>
-          </el-table-column>
-          <el-table-column prop="brandName" label="鍝佺墝" min-width="100px"></el-table-column>
-          <el-table-column prop="categoryName" label="绫诲埆" min-width="100px"></el-table-column>
-          <el-table-column prop="attrFirstNames" label="灞炴��1" min-width="100px"></el-table-column>
-          <el-table-column prop="attrSecodNames" label="灞炴��2" min-width="100px"></el-table-column>
-          <el-table-column prop="zdPrice" label="鎸囧浠凤紙鍏冿級" min-width="100px"></el-table-column>
-          <el-table-column prop="price" label="鍏ユ墜浠凤紙鍏冿級" min-width="100px"></el-table-column>
-          <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
-          <el-table-column prop="status" label="鐘舵��" min-width="100px">
-            <template slot-scope="{row}">
-                <el-switch
-                    v-model="row.status"
-                    @change="changeStatus(row)"
-                    active-color="#13ce66"
-                    inactive-color="#ff4949"
-                    :active-value="0"
-                    :inactive-value="1">
-                </el-switch>
-            </template>
-          </el-table-column>
-          <el-table-column
-            v-if="containPermissions(['business:goods:update', 'business:goods:delete'])"
-            label="鎿嶄綔"
-            min-width="120"
-            fixed="right"
-          >
-            <template slot-scope="{row}">
-              <el-button type="text" @click="edit(row.id)" icon="el-icon-edit" v-permissions="['business:goods:update']">缂栬緫</el-button>
-              <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:goods:delete']">鍒犻櫎</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-        <input type="file" ref="upload" style="display: none;" @change="uplaodFile" />
-        <pagination
-          @size-change="handleSizeChange"
-          @current-change="handlePageChange"
-          :pagination="tableData.pagination"
-        >
-        </pagination>
-      </template>
-      <!-- 鏂板缓/淇敼 -->
-      <OperaGoodsWindow ref="operaGoodsWindow" @success="handlePageChange"/>
-    </TableLayout>
-  </template>
-  
-  <script>
-  import BaseTable from '@/components/base/BaseTable'
-  import TableLayout from '@/layouts/TableLayout'
-  import Pagination from '@/components/common/Pagination'
-  import OperaGoodsWindow from '@/components/business/OperaGoodsWindow'
-  import { brand, category, importExcel } from '@/api/system/common.js'
-  import { updateDisableById, queryById, exportDoc } from '@/api/business/goods.js'
-  export default {
-    name: 'Goods',
-    extends: BaseTable,
-    components: { TableLayout, Pagination, OperaGoodsWindow },
-    data () {
-      return {
-        // 鎼滅储
-        searchForm: {
-          id: '',
-          name: '',
-          status: '',
-          categoryId: '',
-          brandId: ''
-        },
-        categoryList: [],
-        brandList: [],
-        statusList: [
-            { name: '鍚敤', id: 0 },
-            { name: '绂佺敤', id: 1 }
-        ]
-      }
-    },
-    created () {
-      this.config({
-        module: '鍟嗗搧',
-        api: '/business/goods',
-        'field.id': 'id',
-        'field.main': 'name'
-      })
-      this.search()
-      this.getbrand()
-      this.getcategory()
-    },
-    methods: {
-      downloadFile() {
-        // window.open(`${process.env.VUE_APP_API_PREFIX}/business/goods/export`)
-        exportDoc({})
-          .then(response => {
-            this.download(response)
-          })
-          .catch(e => {
-            this.$tip.apiFailed(e)
-          })
-      },
-      rowStyle() {
-        return "text-align:center";
-      },
-      importFile() {
-        this.$refs.upload.click()
-      },
-      uplaodFile(e) {
-        const FORMDATE = new FormData()
-        FORMDATE.append('file', e.target.files[0])
-        // 璇锋眰鎺ュ彛
-        importExcel(FORMDATE)
-          .then(res => {
-            console.log(res)
-            this.search()
-          })
-          .catch ((err) => {
-            this.$message.error(err.message)
-          })
-        this.$refs.upload.value = null
-      },
-      edit(id) {
-        queryById(id)
-          .then(res => {
-            let obj = {
-              id: res.id,
-              name: res.name,
-              categoryId: res.categoryId,
-              brandId: res.brandId,
-              zdPrice: res.zdPrice,
-              price: res.price,
-              attrFirstIds: res.attrFirstIds ? this.turnNum(res.attrFirstIds.split(',')) : [],
-              attrFirstNames: res.attrFirstNames,
-              attrSecodIds: res.attrSecodIds ? this.turnNum(res.attrSecodIds.split(',')) : [],
-              attrSecodNames: res.attrSecodNames,
-              imgurl: res.imgurl,
-              multifileList: [],
-              files: [],
-              ztList: res.imgurl ? [{ url: res.prefixUrl + res.imgurl }] : [],
-              pzList: [],
-              attrFirstList: [],
-              attrSecodList: []
-            }
-            if (res.multifileList.length > 0) {
-              res.multifileList.forEach(item => {
-                obj.multifileList.push({ fileurl: item.fileurl, name: item.name, url: res.prefixUrl + item.fileurl })
-                obj.files.push({ fileurl: item.fileurl, name: item.name, url: res.prefixUrl + item.fileurl })
-              })
-            }
-            this.$refs.operaGoodsWindow.open('缂栬緫鍟嗗搧', obj)
-          })
-      },
-      changeStatus(item) {
-        updateDisableById({
-          id: item.id,
-          status: item.status
-        }).then(res => {
-          this.$tip.apiSuccess('鏇存柊鎴愬姛')
-        }).finally(() => {
-          // this.search()
-        })
-      },
-      turnNum (nums) {
-          for(let i=0;i<nums.length;i++){
-            nums[i] = parseInt(nums[i])
-          }        
-          return nums;
-        },
-        getbrand() {
-            brand({})
-                .then(res => {
-                    this.brandList = res
-                })
-        },
-        getcategory() {
-            category({})
-                .then(res => {
-                    this.categoryList = res
-                })  
-        }
-    }
-  }
-  </script>
-  
\ No newline at end of file
diff --git a/admin/.svn/pristine/79/7985c69e8b70565e66d89edf28738a3a602234b5.svn-base b/admin/.svn/pristine/79/7985c69e8b70565e66d89edf28738a3a602234b5.svn-base
deleted file mode 100644
index 476998f..0000000
--- a/admin/.svn/pristine/79/7985c69e8b70565e66d89edf28738a3a602234b5.svn-base
+++ /dev/null
@@ -1,84 +0,0 @@
-<template>
-  <el-container class="app-layout">
-    <el-aside :class="{collapse:menuData.collapse}">
-      <Menu/>
-    </el-aside>
-    <el-main>
-      <header>
-        <AppHeader/>
-      </header>
-      <main>
-        <transition name="fade">
-          <router-view></router-view>
-        </transition>
-      </main>
-    </el-main>
-  </el-container>
-</template>
-
-<script>
-import { mapState } from 'vuex'
-import Header from '@/components/common/Header'
-import Menu from '@/components/common/Menu'
-export default {
-  name: 'DefaultLayout',
-  components: { AppHeader: Header, Menu },
-  computed: {
-    ...mapState(['menuData'])
-  }
-}
-</script>
-
-<style scoped lang="scss">
-@import "@/assets/style/variables.scss";
-.el-container {
-  background: #F7F8F9;
-  height: 100%;
-  display: flex;
-  overflow: hidden;
-  // 宸﹁竟鑿滃崟
-  .el-aside {
-    width: $menu-width !important;
-    flex-shrink: 0;
-    height: 100%;
-    overflow-y: auto;
-    background: $primary-color;
-    color: #fff;
-    transition: width ease .3s;
-    &.collapse {
-      width: 64px !important;
-    }
-  }
-  // 鍙宠竟鍐呭
-  .el-main {
-    width: 100%;
-    height: 100%;
-    padding: 0;
-    position: relative;
-    display: flex;
-    flex-direction: column;
-    overflow: hidden;
-    & > header {
-      height: $header-height;
-      flex-shrink: 0;
-    }
-    & > main {
-      height: 100%;
-      overflow-y: auto;
-    }
-  }
-}
-// 椤甸潰杩囨浮鍔ㄧ敾
-.fade-enter-active, .fade-leave-active {
-  transition: all .5s;
-  opacity: 1;
-  position: absolute;
-  width: 100%;
-}
-.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
-  transform: translateY(200px);
-  opacity: 0;
-  transition: all .5s;
-  position: absolute;
-}
-</style>
diff --git a/admin/.svn/pristine/7e/7edd722dada0d174a76210ece82205bd314c6326.svn-base b/admin/.svn/pristine/7e/7edd722dada0d174a76210ece82205bd314c6326.svn-base
deleted file mode 100644
index 3b94040..0000000
--- a/admin/.svn/pristine/7e/7edd722dada0d174a76210ece82205bd314c6326.svn-base
+++ /dev/null
@@ -1,308 +0,0 @@
-<template>
-  <Profile :permissions="['system:monitor:query']">
-    <div class="monitor">
-      <div class="toolbar">
-        <el-switch v-model="autoRefresh" @change="changeAutoRefresh"/><label>{{autoRefresh | autoRefreshText}}</label>
-      </div>
-      <ul>
-        <li class="wrap">
-          <h2>CPU<Light v-if="data != null" :warn="data.cpu.useRatio > 60" :danger="data.cpu.useRatio > 80"/></h2>
-          <div>
-            <dl>
-              <dt>鐗╃悊鏍告暟</dt>
-              <dd><Value :data="data" prop="cpu.physicalCount"/></dd>
-            </dl>
-            <dl>
-              <dt>閫昏緫鏍告暟</dt>
-              <dd><Value :data="data" prop="cpu.logicalCount"/></dd>
-            </dl>
-            <dl class="important">
-              <dt>褰撳墠浣跨敤鐜�</dt>
-              <dd><Value :data="data" prop="cpu.useRatio" :handler="keep2decimals" suffix="%"/></dd>
-            </dl>
-            <dl>
-              <dt>褰撳墠绌洪棽鐜�</dt>
-              <dd><Value :data="data" prop="cpu.freeRatio" :handler="keep2decimals" suffix="%"/></dd>
-            </dl>
-          </div>
-        </li>
-        <li class="wrap">
-          <h2>鍐呭瓨<Light v-if="data != null" :warn="data.memory.useRatio > 60" :danger="data.memory.useRatio > 80"/></h2>
-          <div>
-            <dl>
-              <dt>鎬荤┖闂�</dt>
-              <dd><Value :data="data" prop="memory.size" suffix="G" :handler="toG"/></dd>
-            </dl>
-            <dl>
-              <dt>绌洪棽绌洪棿</dt>
-              <dd><Value :data="data" prop="memory.freeSpace" suffix="G" :handler="toG"/></dd>
-            </dl>
-            <dl class="important">
-              <dt>宸茬敤绌洪棿</dt>
-              <dd><Value :data="data" prop="memory.usedSpace" suffix="G" :handler="toG"/></dd>
-            </dl>
-            <dl class="important">
-              <dt>浣跨敤鐜�</dt>
-              <dd><Value :data="data" prop="memory.useRatio" suffix="%" :handler="keep2decimals"/></dd>
-            </dl>
-          </div>
-        </li>
-        <li class="wrap">
-          <h2>JVM<Light v-if="data != null" :warn="data.jvm.memory.useRatio > 60" :danger="data.jvm.memory.useRatio > 80"/></h2>
-          <div>
-            <dl>
-              <dt>瀹夎璺緞</dt>
-              <dd><Value :data="data" prop="jvm.home"/></dd>
-            </dl>
-            <dl>
-              <dt>鐗堟湰</dt>
-              <dd><Value :data="data" prop="jvm.version"/></dd>
-            </dl>
-            <dl>
-              <dt>鍚姩鏃堕棿</dt>
-              <dd><Value :data="data" prop="jvm.bootTime"/></dd>
-            </dl>
-            <dl>
-              <dt>杩愯鏃堕暱</dt>
-              <dd><Value :data="data" prop="jvm.runtime"/></dd>
-            </dl>
-            <dl>
-              <dt>鎬荤┖闂�</dt>
-              <dd><Value :data="data" prop="jvm.memory.size" suffix="M" :handler="keep2decimals"/></dd>
-            </dl>
-            <dl>
-              <dt>绌洪棽绌洪棿</dt>
-              <dd><Value :data="data" prop="jvm.memory.freeSpace" suffix="M" :handler="keep2decimals"/></dd>
-            </dl>
-            <dl class="important">
-              <dt>宸茬敤绌洪棿</dt>
-              <dd><Value :data="data" prop="jvm.memory.usedSpace" suffix="M" :handler="keep2decimals"/></dd>
-            </dl>
-            <dl class="important">
-              <dt>浣跨敤鐜�</dt>
-              <dd><Value :data="data" prop="jvm.memory.useRatio" suffix="%" :handler="keep2decimals"/></dd>
-            </dl>
-          </div>
-        </li>
-        <li class="wrap">
-          <h2>鏈嶅姟鍣�</h2>
-          <div>
-            <dl>
-              <dt>鎿嶄綔绯荤粺</dt>
-              <dd><Value :data="data" prop="osName"/></dd>
-            </dl>
-            <dl>
-              <dt>绯荤粺鐗堟湰</dt>
-              <dd><Value :data="data" prop="osVersion"/></dd>
-            </dl>
-            <dl>
-              <dt>绯荤粺鏋舵瀯</dt>
-              <dd><Value :data="data" prop="osArch"/></dd>
-            </dl>
-            <dl class="important">
-              <dt>IP鍦板潃</dt>
-              <dd><Value :data="data" prop="ip"/></dd>
-            </dl>
-            <dl>
-              <dt>MAC鍦板潃</dt>
-              <dd><Value :data="data" prop="mac"/></dd>
-            </dl>
-            <dl>
-              <dt>鏈嶅姟鍣ㄦ椂闂�</dt>
-              <dd><Value :data="data" prop="currentTime"/></dd>
-            </dl>
-          </div>
-        </li>
-      </ul>
-      <div class="wrap">
-        <h2>纾佺洏淇℃伅</h2>
-        <el-table :data="data ? data.disks : []" v-loading="loading">
-          <el-table-column prop="name" label="纾佺洏鍚嶇О"/>
-          <el-table-column prop="dir" label="纾佺洏璺緞"/>
-          <el-table-column prop="fsType" label="鏂囦欢绯荤粺"/>
-          <el-table-column prop="size" label="鎬荤┖闂�">
-            <template slot-scope="{row}">
-              {{toG(row.size)}}G
-            </template>
-          </el-table-column>
-          <el-table-column prop="freeSpace" label="鍙敤绌洪棿">
-            <template slot-scope="{row}">
-              {{toG(row.freeSpace)}}G
-            </template>
-          </el-table-column>
-          <el-table-column prop="usedSpace" label="宸茬敤绌洪棿">
-            <template slot-scope="{row}">
-              <label class="important">{{toG(row.usedSpace)}}G</label>
-            </template>
-          </el-table-column>
-          <el-table-column prop="useRatio" label="宸茬敤鍗犳瘮">
-            <template slot-scope="{row}">
-              <label class="important">{{keep2decimals(row.useRatio)}}%</label>
-            </template>
-          </el-table-column>
-          <el-table-column>
-            <template slot-scope="{row}">
-              <Light :warn="row.useRatio > 60" :danger="row.useRatio > 80" :mini="true"/>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-    </div>
-  </Profile>
-</template>
-
-<script>
-import { getSystemInfo } from '@/api/system/monitor'
-import Value from '@/components/common/Value'
-import Light from '@/components/common/Light'
-import Profile from '../../components/common/Profile'
-
-export default {
-  name: 'SystemMonitor',
-  components: { Profile, Light, Value },
-  data () {
-    return {
-      // 鍔犺浇涓�
-      loading: false,
-      // 鑷姩鍒锋柊鏍囪瘑
-      autoRefresh: false,
-      // 鏁版嵁
-      data: null,
-      // 鑷姩鍒锋柊瀹氭椂鍣�
-      interval: null
-    }
-  },
-  filters: {
-    autoRefreshText (value) {
-      if (value) {
-        return '宸插紑鍚嚜鍔ㄥ埛鏂�'
-      }
-      return '宸插叧闂嚜鍔ㄥ埛鏂�'
-    }
-  },
-  methods: {
-    // 鍒囨崲鑷姩鍒锋柊
-    changeAutoRefresh (value) {
-      if (this.interval != null) {
-        clearInterval(this.interval)
-      }
-      if (value) {
-        this.getSystemInfo()
-        this.interval = setInterval(() => {
-          this.getSystemInfo()
-        }, 3000)
-      }
-    },
-    // 鑾峰彇绯荤粺淇℃伅
-    getSystemInfo () {
-      if (this.loading) {
-        return
-      }
-      this.loading = true
-      getSystemInfo()
-        .then(data => {
-          this.data = data
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          this.loading = false
-        })
-    },
-    // 鍗曚綅杞负G
-    toG (value) {
-      return Math.round(value / 1024 * 100) / 100
-    },
-    // 杞负姣旂巼
-    keep2decimals (value) {
-      return Math.round(value * 100) / 100
-    }
-  },
-  beforeRouteLeave (from, to, next) {
-    clearInterval(this.interval)
-    next()
-  },
-  created () {
-    this.getSystemInfo()
-  }
-}
-</script>
-
-<style scoped lang="scss">
-@import "@/assets/style/variables.scss";
-.monitor {
-  padding: 20px 20px;
-}
-// 宸ュ叿鏍�
-.toolbar {
-  margin-bottom: 12px;
-  background: #fff;
-  padding: 8px 16px;
-  label {
-    font-size: 12px;
-    margin-left: 8px;
-    color: #999;
-  }
-}
-ul {
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: space-between;
-  li {
-    width: 49.5%;
-    min-height: 200px;
-    flex-shrink: 0;
-  }
-}
-// 淇℃伅妯″潡
-.wrap {
-  background: #fff;
-  box-shadow: 2px 2px 10px -5px #999;
-  border-radius: 8px;
-  margin-bottom: 16px;
-  h2 {
-    border-bottom: 1px solid #eee;
-    font-size: 18px;
-    font-weight: normal;
-    line-height: 40px;
-    padding: 0 16px;
-    color: #555;
-    position: relative;
-    .light {
-      position: absolute;
-      top: 12px;
-      right: 12px;
-    }
-  }
-  & > div {
-    padding: 0 16px;
-    font-size: 14px;
-    dl {
-      display: flex;
-      dt {
-        width: 80px;
-        text-align: right;
-        flex-shrink: 0;
-        color: #999;
-      }
-      dd {
-        width: 100%;
-        margin: 0;
-        padding-left: 12px;
-        color: #555;
-        overflow: hidden;
-      }
-    }
-  }
-}
-// 閲嶈淇℃伅
-.important {
-  color: $primary-color;
-  font-weight: bold;
-  & > dd > div {
-    color: $primary-color;
-    font-weight: bold;
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/81/8134289b0c2301d2e60a88cf7c51612820c4d272.svn-base b/admin/.svn/pristine/81/8134289b0c2301d2e60a88cf7c51612820c4d272.svn-base
deleted file mode 100644
index 45ca1dd..0000000
--- a/admin/.svn/pristine/81/8134289b0c2301d2e60a88cf7c51612820c4d272.svn-base
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Message } from 'element-ui'
-
-export default {
-  ...Message,
-  // 鎺ュ彛璋冪敤鎴愬姛
-  apiSuccess (message) {
-    Message.success(message)
-  },
-  // 鎺ュ彛璋冪敤澶辫触
-  apiFailed (err) {
-    // 涓嬭浇鎺ュ彛杩斿洖鐨勬槸ArrayBuffer锛屾鏃堕渶瑕佽В鏋愪负JSON骞舵彁绀洪敊璇秷鎭�傦紙涓嬭浇鎺ュ彛鍑虹幇涓氬姟澶辫触鐨勬儏鍐碉紝渚嬪鏃犳潈闄愮瓑锛�
-    if (err instanceof ArrayBuffer) {
-      const blob = new Blob([err])
-      const fileReader = new FileReader()
-      fileReader.readAsText(blob, 'utf-8')
-      fileReader.onload = function () {
-        Message.error(JSON.parse(fileReader.result).message)
-      }
-      return
-    }
-    Message.error(err.message)
-  }
-}
diff --git a/admin/.svn/pristine/82/82491b53a2ff7800bbfddb3bd20d19b9fcbf277d.svn-base b/admin/.svn/pristine/82/82491b53a2ff7800bbfddb3bd20d19b9fcbf277d.svn-base
deleted file mode 100644
index 051fd63..0000000
--- a/admin/.svn/pristine/82/82491b53a2ff7800bbfddb3bd20d19b9fcbf277d.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1622347629380" class="icon" viewBox="0 0 1025 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4602" width="64.0625" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M548.075474 961.502824H37.281249a39.060735 39.060735 0 0 1-37.257932-40.262603V103.368526a39.060735 39.060735 0 0 1 37.257932-40.262604h717.515653a39.060735 39.060735 0 0 1 37.257931 40.262604V513.205775h-60.093438V128.006836H61.919559v773.40255H487.982036l60.093438 63.699045z" fill="#f7f7f7" p-id="4603"></path><path d="M733.764198 513.205775a223.54759 223.54759 0 1 1-225.350393 223.54759 227.153197 227.153197 0 0 1 225.350393-223.54759m0-63.699045A287.246635 287.246635 0 1 0 1022.813636 736.753365a287.246635 287.246635 0 0 0-289.049438-287.246635zM210.951285 0.007812h18.028032a22.835507 22.835507 0 0 1 22.835506 22.835507v145.42612a23.436441 23.436441 0 0 1-22.835506 23.436441h-18.028032a23.436441 23.436441 0 0 1-23.436441-23.436441V25.247056a22.835507 22.835507 0 0 1 22.835507-25.239244z m385.19894 0h18.028031a22.835507 22.835507 0 0 1 23.436441 22.835507v145.42612a23.436441 23.436441 0 0 1-23.436441 23.436441h-18.028031a23.436441 23.436441 0 0 1-22.835507-23.436441V25.247056a22.835507 22.835507 0 0 1 22.835507-25.239244zM157.468125 321.507707h514.399832a31.849522 31.849522 0 0 1 31.849522 31.849522 31.849522 31.849522 0 0 1-31.849522 31.849522H157.468125a31.849522 31.849522 0 0 1-31.849522-31.849522 31.849522 31.849522 0 0 1 31.849522-31.849522z m0 191.698068h257.199916a31.849522 31.849522 0 0 1 31.849522 31.849522 31.849522 31.849522 0 0 1-31.849522 31.849522H157.468125a31.849522 31.849522 0 0 1-31.849522-31.849522 31.849522 31.849522 0 0 1 31.849522-31.849522z m0 191.698068h192.899937a31.248588 31.248588 0 0 1 31.849522 31.849522 31.849522 31.849522 0 0 1-31.849522 31.849522H157.468125a31.849522 31.849522 0 0 1-31.849522-31.849522 31.849522 31.849522 0 0 1 31.849522-31.849522z" fill="#f7f7f7" p-id="4604"></path><path d="M870.777237 829.29726h-152.637333v-212.730771a30.647654 30.647654 0 0 1 30.647654-30.647654 30.647654 30.647654 0 0 1 30.647653 30.647654v152.036398h91.342026a30.046719 30.046719 0 0 1 30.04672 30.647654 30.046719 30.046719 0 0 1-30.04672 30.046719z" fill="#f7f7f7" p-id="4605"></path></svg>
diff --git a/admin/.svn/pristine/86/868c691f9ddeaf6d6d9876b615a7602cb73092bf.svn-base b/admin/.svn/pristine/86/868c691f9ddeaf6d6d9876b615a7602cb73092bf.svn-base
deleted file mode 100644
index 996cf8a..0000000
--- a/admin/.svn/pristine/86/868c691f9ddeaf6d6d9876b615a7602cb73092bf.svn-base
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * 姝ゆ枃浠朵负绯荤粺鑷甫鐨勫浘鏍囧畾涔夛紝濡傛偍闇�瑕佹墿灞曞浘鏍囪鍦╡xt.scss鏂囦欢涓鐞嗐��
- */
-// 鍥炬爣鏍峰紡
-[class^="eva-icon-"], [class*=" eva-icon-"] {
-  display: inline-block;
-  width: 18px;
-  height: 18px;
-  background-size: 13px;
-  background-repeat: no-repeat;
-  background-position: center;
-}
-// 瀵嗙爜
-.eva-icon-password {
-  background-image: url("assets/icons/system/pwd.svg");
-}
-// 鐩剧墝
-.eva-icon-shield {
-  background-image: url("assets/icons/system/shield.svg");
-}
-// 鏉冮檺
-.eva-icon-permission {
-  background-image: url("assets/icons/system/permission.svg");
-}
-// 瑙掕壊
-.eva-icon-role {
-  background-image: url("assets/icons/system/role.svg");
-}
-// 閮ㄩ棬
-.eva-icon-department {
-  background-image: url("assets/icons/system/department.svg");
-}
-// 宀椾綅
-.eva-icon-position {
-  background-image: url("assets/icons/system/position.svg");
-}
-// 瀛楀吀
-.eva-icon-dictionary {
-  background-image: url("assets/icons/system/dictionary.svg");
-}
-// 鐩戞祴
-.eva-icon-listener {
-  background-image: url("assets/icons/system/listener.svg");
-}
-// 鏃ュ織
-.eva-icon-log {
-  background-image: url("assets/icons/system/log.svg");
-}
-// 鎿嶄綔鏃ュ織
-.eva-icon-log-opera {
-  background-image: url("assets/icons/system/log-opera.svg");
-}
-// 鐧诲綍鏃ュ織
-.eva-icon-log-login {
-  background-image: url("assets/icons/system/log-login.svg");
-}
diff --git a/admin/.svn/pristine/87/8761d16274e18fdbd187ac8d4d6c485edfce6c27.svn-base b/admin/.svn/pristine/87/8761d16274e18fdbd187ac8d4d6c485edfce6c27.svn-base
deleted file mode 100644
index 400630f..0000000
--- a/admin/.svn/pristine/87/8761d16274e18fdbd187ac8d4d6c485edfce6c27.svn-base
+++ /dev/null
@@ -1,41 +0,0 @@
-import request from '../../utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-  return request.post('/business/category/page', data, {
-    trim: true
-  })
-}
-
-// 瀵煎嚭Excel
-export function exportExcel (data) {
-  return request.post('/business/category/exportExcel', data, {
-    trim: true,
-    download: true
-  })
-}
-
-// 鍒涘缓
-export function create (data) {
-  return request.post('/business/category/create', data)
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/business/category/updateById', data)
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/business/category/delete/${id}`)
-}
-
-// 鏍规嵁ID鏌ヨ
-export function queryById (id) {
-  return request.get(`/business/category/${id}`)
-}
-
-// 淇敼鐘舵��
-export function updateDisableById (data) {
-  return request.post('/business/category/updateDisableById', data)
-}
\ No newline at end of file
diff --git a/admin/.svn/pristine/8a/8a30e75d476beb5c94a5d179c4bb986bcb3ef6b4.svn-base b/admin/.svn/pristine/8a/8a30e75d476beb5c94a5d179c4bb986bcb3ef6b4.svn-base
deleted file mode 100644
index 03fce75..0000000
--- a/admin/.svn/pristine/8a/8a30e75d476beb5c94a5d179c4bb986bcb3ef6b4.svn-base
+++ /dev/null
@@ -1,96 +0,0 @@
-<template>
-  <GlobalWindow
-    :title="title"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    @confirm="confirm"
-  >
-    <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="瑙掕壊缂栫爜" prop="code" required>
-        <el-input v-model="form.code" placeholder="璇疯緭鍏ヨ鑹茬紪鐮�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="瑙掕壊鍚嶇О" prop="name" required>
-        <el-input v-model="form.name" placeholder="璇疯緭鍏ヨ鑹插悕绉�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="瑙掕壊澶囨敞" prop="remark">
-        <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ヨ鑹插娉�" :rows="3" v-trim maxlength="500"/>
-      </el-form-item>
-    </el-form>
-  </GlobalWindow>
-</template>
-
-<script>
-import BaseOpera from '@/components/base/BaseOpera'
-import GlobalWindow from '@/components/common/GlobalWindow'
-export default {
-  name: 'OperaRoleWindow',
-  extends: BaseOpera,
-  components: { GlobalWindow },
-  data () {
-    return {
-      // 鍘熻鑹茬爜
-      originRoleCode: '',
-      // 琛ㄥ崟鏁版嵁
-      form: {
-        id: null,
-        code: '',
-        name: '',
-        remark: ''
-      },
-      // 楠岃瘉瑙勫垯
-      rules: {
-        code: [
-          { required: true, message: '璇疯緭鍏ヨ鑹茬紪鐮�' }
-        ],
-        name: [
-          { required: true, message: '璇疯緭鍏ヨ鑹插悕绉�' }
-        ]
-      }
-    }
-  },
-  methods: {
-    open (title, target) {
-      this.title = title
-      this.visible = true
-      // 鏂板缓
-      if (target == null) {
-        this.$nextTick(() => {
-          this.$refs.form.resetFields()
-          this.form[this.configData['field.id']] = null
-        })
-        return
-      }
-      // 缂栬緫
-      this.$nextTick(() => {
-        this.originRoleCode = target.code
-        for (const key in this.form) {
-          this.form[key] = target[key]
-        }
-      })
-    },
-    confirm () {
-      if (this.form.id == null || this.form.id === '') {
-        this.__confirmCreate()
-        return
-      }
-      if (this.originRoleCode === this.form.code) {
-        this.__confirmEdit()
-        return
-      }
-      // 淇敼浜嗚鑹茬紪鐮�
-      this.$dialog.confirm('妫�娴嬪埌鎮ㄤ慨鏀逛簡瑙掕壊缂栫爜锛岃鑹茬紪鐮佷慨鏀瑰悗鍓嶅悗绔潎鍙兘闇�瑕佽皟鏁翠唬鐮侊紝纭淇敼鍚楋紵', '鎻愮ず', {
-        confirmButtonText: '纭淇敼',
-        type: 'warning'
-      })
-        .then(() => {
-          this.__confirmEdit()
-        })
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/role'
-    })
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/8c/8ca8856a6fd6d09522f70e22f29266b99ecd11c4.svn-base b/admin/.svn/pristine/8c/8ca8856a6fd6d09522f70e22f29266b99ecd11c4.svn-base
deleted file mode 100644
index a84beb9..0000000
--- a/admin/.svn/pristine/8c/8ca8856a6fd6d09522f70e22f29266b99ecd11c4.svn-base
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/pristine/8e/8ebfb26f27b7cc6985a99600dd064926f4504154.svn-base b/admin/.svn/pristine/8e/8ebfb26f27b7cc6985a99600dd064926f4504154.svn-base
deleted file mode 100644
index a90fd07..0000000
--- a/admin/.svn/pristine/8e/8ebfb26f27b7cc6985a99600dd064926f4504154.svn-base
+++ /dev/null
@@ -1,89 +0,0 @@
-<template>
-  <TreeSelect
-    :placeholder="placeholder"
-    :value="value"
-    :data="data"
-    :clearable="clearable"
-    :append-to-body="appendToBody"
-    :inline="inline"
-    :multiple="multiple"
-    :flat="multiple"
-    @input="$emit('input', $event)"
-  />
-</template>
-
-<script>
-import TreeSelect from './TreeSelect'
-import { fetchTree } from '@/api/system/department'
-export default {
-  name: 'DepartmentSelect',
-  components: { TreeSelect },
-  props: {
-    value: {},
-    inline: {
-      default: true
-    },
-    multiple: {
-      default: false
-    },
-    placeholder: {
-      default: '璇烽�夋嫨閮ㄩ棬'
-    },
-    // 鏄惁鍙竻绌�
-    clearable: {
-      default: false
-    },
-    appendToBody: {
-      default: false
-    },
-    // 闇�琚帓闄ょ殑閮ㄩ棬ID
-    excludeId: {}
-  },
-  data () {
-    return {
-      data: []
-    }
-  },
-  watch: {
-    excludeId () {
-      this.fetchData()
-    }
-  },
-  methods: {
-    // 鑾峰彇鎵�鏈夐儴闂�
-    fetchData () {
-      fetchTree()
-        .then(records => {
-          this.data = []
-          this.__fillData(this.data, records)
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-    },
-    // 濉厖閮ㄩ棬鏍�
-    __fillData (list, pool) {
-      for (const dept of pool) {
-        if (dept.id === this.excludeId) {
-          continue
-        }
-        const deptNode = {
-          id: dept.id,
-          label: dept.name
-        }
-        list.push(deptNode)
-        if (dept.children != null && dept.children.length > 0) {
-          deptNode.children = []
-          this.__fillData(deptNode.children, dept.children)
-          if (deptNode.children.length === 0) {
-            deptNode.children = undefined
-          }
-        }
-      }
-    }
-  },
-  created () {
-    this.fetchData()
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/93/9353639e8b5dfbab13214dac751f002b4d23affe.svn-base b/admin/.svn/pristine/93/9353639e8b5dfbab13214dac751f002b4d23affe.svn-base
deleted file mode 100644
index cf60c6f..0000000
--- a/admin/.svn/pristine/93/9353639e8b5dfbab13214dac751f002b4d23affe.svn-base
+++ /dev/null
@@ -1,25 +0,0 @@
-// 楠岃瘉鎵嬫満鍙风爜
-export function checkMobile (rule, value, callback) {
-  if (value == null || value.trim() === '') {
-    callback(new Error('鎵嬫満鍙风爜涓嶈兘涓虹┖'))
-    return
-  }
-  if (!/^1\d{10}$/.test(value)) {
-    callback(new Error('鎵嬫満鍙风爜鏍煎紡涓嶆纭�'))
-    return
-  }
-  callback()
-}
-
-// 楠岃瘉閭
-export function checkEmail (rule, value, callback) {
-  if (value == null || value.trim() === '') {
-    callback()
-    return
-  }
-  if (!/^\S+@\S+\.\S+$/.test(value)) {
-    callback(new Error('閭鏍煎紡涓嶆纭�'))
-    return
-  }
-  callback()
-}
diff --git a/admin/.svn/pristine/93/93bc2b1519cdc040a6079e9774209be30af6481a.svn-base b/admin/.svn/pristine/93/93bc2b1519cdc040a6079e9774209be30af6481a.svn-base
deleted file mode 100644
index 87e98f0..0000000
--- a/admin/.svn/pristine/93/93bc2b1519cdc040a6079e9774209be30af6481a.svn-base
+++ /dev/null
@@ -1,22 +0,0 @@
-import fileDownload from 'js-file-download'
-import message from './message'
-
-export default function (response, decode = true, mime = 'application/octet-stream') {
-  debugger
-  // 褰撲笅杞芥帴鍙f病鏈夋垚鍔熻繑鍥炴祦骞朵笖鎺ュ彛杩斿洖鐨勬槸JSON鏃堕渶瑕佸鍝嶅簲娴佽繘琛岃В鏋愬苟鎻愮ず閿欒銆傦紙澶勭悊涓嬭浇鎺ュ彛鍑虹幇鏈煡寮傚父鐨勬儏鍐碉級
-  if (response.headers['content-type'] === 'application/json') {
-    const blob = new Blob([response.data])
-    const fileReader = new FileReader()
-    fileReader.readAsText(blob, 'UTF-8')
-    fileReader.onload = function () {
-      message.apiFailed(JSON.parse(fileReader.result))
-    }
-    return
-  }
-  if (response.headers['content-length'] === '0') {
-    message.error('鏃犳硶涓嬭浇鏂囦欢锛屽彲鑳藉洜涓烘暟鎹鐞嗛敊璇鑷存枃浠跺ぇ灏忎负0B')
-    return
-  }
-  // 涓嬭浇鎺ュ彛鍦ㄥ搷搴斿ごeva-download-filename涓瓨鏀炬枃浠跺悕绉帮紝鎺ュ彛鐨勮繑鍥炵殑鏂囦欢鍚嶇О闇�閲囩敤url encode鐨勬柟寮忚繘琛岀紪鐮�
-  fileDownload(response.data, decode ? decodeURI(response.headers['eva-download-filename']) : response.headers['eva-download-filename'], mime)
-}
diff --git a/admin/.svn/pristine/93/93e5e0bd9f6e5e1dadd9cd42c14503a9da265788.svn-base b/admin/.svn/pristine/93/93e5e0bd9f6e5e1dadd9cd42c14503a9da265788.svn-base
deleted file mode 100644
index ec64a9c..0000000
--- a/admin/.svn/pristine/93/93e5e0bd9f6e5e1dadd9cd42c14503a9da265788.svn-base
+++ /dev/null
@@ -1,12 +0,0 @@
-# 鐜閫氱敤閰嶇疆
-
-# 璺敱鏂瑰紡
-VUE_APP_ROUTER_MODE = 'hash'
-
-# 椤圭洰涓婁笅鏂囪矾寰�
-# preselect_admin/
-VUE_APP_CONTEXT_PATH = './'
-
-# 鎺ュ彛鍓嶇紑
-# VUE_APP_API_PREFIX = '/preselect_interface/'
-VUE_APP_API_PREFIX = '/interface'
diff --git a/admin/.svn/pristine/95/95f3e09be51c6420b94c29ba0a6b2e79f51f68f9.svn-base b/admin/.svn/pristine/95/95f3e09be51c6420b94c29ba0a6b2e79f51f68f9.svn-base
deleted file mode 100644
index c6ff5db..0000000
--- a/admin/.svn/pristine/95/95f3e09be51c6420b94c29ba0a6b2e79f51f68f9.svn-base
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/pristine/98/98b0c15d3233223e9ee3fb488dbc353617b26440.svn-base b/admin/.svn/pristine/98/98b0c15d3233223e9ee3fb488dbc353617b26440.svn-base
deleted file mode 100644
index dfbef8a..0000000
--- a/admin/.svn/pristine/98/98b0c15d3233223e9ee3fb488dbc353617b26440.svn-base
+++ /dev/null
@@ -1,19 +0,0 @@
-import consts from './consts'
-import message from './message'
-import messagebox from './messagebox'
-import cache from './cache'
-import download from './download'
-export default {
-  install (Vue) {
-    // 甯搁噺
-    Vue.prototype.$consts = consts
-    // 鎻愰啋瀵硅薄
-    Vue.prototype.$tip = message
-    // 鎻愮ず妗嗗璞�
-    Vue.prototype.$dialog = messagebox
-    // 缂撳瓨瀵硅薄
-    Vue.prototype.$cache = cache
-    // 涓嬭浇鏂囦欢
-    Vue.prototype.download = download
-  }
-}
diff --git a/admin/.svn/pristine/9c/9c7b7b3b963318531e17c482124cbf98bea9c99c.svn-base b/admin/.svn/pristine/9c/9c7b7b3b963318531e17c482124cbf98bea9c99c.svn-base
deleted file mode 100644
index 9df1457..0000000
--- a/admin/.svn/pristine/9c/9c7b7b3b963318531e17c482124cbf98bea9c99c.svn-base
+++ /dev/null
@@ -1,22 +0,0 @@
-<template>
-  <vue-scroll :ops="options">
-    <slot></slot>
-  </vue-scroll>
-</template>
-
-<script>
-import VueScroll from 'vuescroll'
-export default {
-  name: 'Scrollbar',
-  components: { VueScroll },
-  data () {
-    return {
-      options: {
-        bar: {
-          background: 'rgba(20,20,20,.3)'
-        }
-      }
-    }
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/9c/9cb6f996b78020bd3901e2a72a51dfe95b888fe6.svn-base b/admin/.svn/pristine/9c/9cb6f996b78020bd3901e2a72a51dfe95b888fe6.svn-base
deleted file mode 100644
index 0fe054b..0000000
--- a/admin/.svn/pristine/9c/9cb6f996b78020bd3901e2a72a51dfe95b888fe6.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1622347409604" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2382" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M299.1872 255.5904a42.496 42.496 0 0 0 42.5728-42.5472V42.752a42.5728 42.5728 0 0 0-85.1712 0v170.24c0 23.552 19.0464 42.5984 42.5984 42.5984zM512.1536 255.5904a42.496 42.496 0 0 0 42.5984-42.5472V42.752a42.5728 42.5728 0 1 0-85.1712 0v170.24c0 23.552 19.0976 42.5984 42.5728 42.5984zM384.4096 81.792h42.5984v85.0688h-42.5984zM597.4784 81.792h42.5728v85.0688H597.504z" fill="#f7f7f7" p-id="2383"></path><path d="M1023.3088 896.1024v-691.2c0.1536-70.6048-57.2416-127.6928-127.744-127.6928h-85.1712v85.0688h85.1712c23.4752 0 42.7264 19.072 42.7264 42.5216v691.3024c0 23.4496-19.2512 42.5984-42.752 42.5984H128.768a42.7264 42.7264 0 0 1-42.5728-42.5984H85.504l0.6656-691.2c0-23.4752 19.0976-42.5472 42.5728-42.5472h85.1712V77.2096H128.768A127.6928 127.6928 0 0 0 1.024 204.8768v691.2a127.616 127.616 0 0 0 127.744 127.6928h766.7968a127.3344 127.3344 0 0 0 127.232-121.344c0.0768-0.3584 0.512-0.7936 0.512-1.152v-3.7888c0-0.512 0.1536-0.9472 0.1536-1.4592h-0.1536v0.0768z" fill="#f7f7f7" p-id="2384"></path><path d="M725.248 255.5904c23.4496 0 42.5728-19.0208 42.5728-42.5472V42.752a42.5728 42.5728 0 0 0-85.1712 0v170.24c0 23.552 18.8672 42.5984 42.5728 42.5984zM255.872 426.4448h511.2064c23.3472 0 42.5728-19.072 42.5728-42.5216 0-23.552-19.2256-42.5472-42.5728-42.5472H255.8464a42.496 42.496 0 1 0 0 85.0688zM767.0784 551.3728H255.8464a42.5728 42.5728 0 1 0 0 85.0688h511.232c23.3216 0 42.5728-19.0976 42.5728-42.5472 0-23.4496-19.2512-42.5216-42.5728-42.5216zM767.0784 769.5872H255.8464a42.5216 42.5216 0 1 0 0 85.0688h511.232c23.3216 0 42.5728-19.1488 42.5728-42.6752 0-23.3984-19.2512-42.3936-42.5728-42.3936z" fill="#f7f7f7" p-id="2385"></path></svg>
diff --git a/admin/.svn/pristine/9f/9f3167ef71bfb9c35ef409887ac40d0ecee1da8f.svn-base b/admin/.svn/pristine/9f/9f3167ef71bfb9c35ef409887ac40d0ecee1da8f.svn-base
deleted file mode 100644
index 08833cb..0000000
--- a/admin/.svn/pristine/9f/9f3167ef71bfb9c35ef409887ac40d0ecee1da8f.svn-base
+++ /dev/null
@@ -1,30 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-  return request.post('/system/dict/page', data)
-}
-
-// 鏂板缓
-export function create (data) {
-  return request.post('/system/dict/create', data)
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/system/dict/updateById', data)
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/system/dict/delete/${id}`)
-}
-
-// 鎵归噺鍒犻櫎
-export function deleteByIdInBatch (ids) {
-  return request.get('/system/dict/delete/batch', {
-    params: {
-      ids
-    }
-  })
-}
diff --git a/admin/.svn/pristine/9f/9f6a388814034cfbf13e314956907e1631ae187c.svn-base b/admin/.svn/pristine/9f/9f6a388814034cfbf13e314956907e1631ae187c.svn-base
deleted file mode 100644
index 59e02d4..0000000
--- a/admin/.svn/pristine/9f/9f6a388814034cfbf13e314956907e1631ae187c.svn-base
+++ /dev/null
@@ -1,55 +0,0 @@
-<template>
-  <GlobalWindow
-    :title="title"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    @confirm="confirm"
-  >
-    <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="瀛楀吀缂栫爜" prop="code" required>
-        <el-input v-model="form.code" placeholder="璇疯緭鍏ュ瓧鍏哥紪鐮�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="瀛楀吀鍚嶇О" prop="name" required>
-        <el-input v-model="form.name" placeholder="璇疯緭鍏ュ瓧鍏稿悕绉�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="澶囨敞" prop="remark">
-        <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ娉�" :rows="3" v-trim maxlength="500"/>
-      </el-form-item>
-    </el-form>
-  </GlobalWindow>
-</template>
-
-<script>
-import BaseOpera from '@/components/base/BaseOpera'
-import GlobalWindow from '@/components/common/GlobalWindow'
-export default {
-  name: 'OperaDictWindow',
-  extends: BaseOpera,
-  components: { GlobalWindow },
-  data () {
-    return {
-      // 琛ㄥ崟鏁版嵁
-      form: {
-        id: null,
-        code: '',
-        name: '',
-        remark: ''
-      },
-      // 楠岃瘉瑙勫垯
-      rules: {
-        code: [
-          { required: true, message: '璇疯緭鍏ュ瓧鍏哥紪鐮�' }
-        ],
-        name: [
-          { required: true, message: '璇疯緭鍏ュ瓧鍏稿悕绉�' }
-        ]
-      }
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/dict'
-    })
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/a0/a0e0c5ed7b2a3e8bdb901adca82de46ebe256e67.svn-base b/admin/.svn/pristine/a0/a0e0c5ed7b2a3e8bdb901adca82de46ebe256e67.svn-base
deleted file mode 100644
index b08bb82..0000000
--- a/admin/.svn/pristine/a0/a0e0c5ed7b2a3e8bdb901adca82de46ebe256e67.svn-base
+++ /dev/null
@@ -1,258 +0,0 @@
-<template>
-    <GlobalWindow
-      :title="title"
-      :visible.sync="visible"
-      :confirm-working="isWorking"
-      @confirm="confirm"
-    >
-      <el-form :model="form" ref="form" :rules="rules">
-        <el-form-item label="绫诲埆鍚嶇О" prop="name">
-          <el-input v-model="form.name" placeholder="璇疯緭鍏ョ被鍒悕绉帮紝涓嶈秴杩�6涓瓧" maxlength="6" v-trim/>
-        </el-form-item>
-        <el-form-item label="鍥炬爣" prop="imgurl">
-          <el-upload
-            :action="action"
-            :class="{ hide: hideUpload }"
-            :file-list="form.fileList"
-            :data="{ folder: 'projects' }"
-            list-type="picture-card"
-            :limit="1"
-            :on-success="fileSuccess"
-            :on-exceed="exceed"
-            :on-remove="handleRemove">
-            <i class="el-icon-plus"></i>
-            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶鍥剧墖鏍煎紡锛宲ng鏍煎紡锛屽缓璁昂瀵�120*120px</div>
-          </el-upload>
-          <!-- <el-input v-model="form.imgurl" placeholder="璇疯緭鍏ュ浘鏍�" v-trim/> -->
-        </el-form-item>
-        <el-form-item label="鎺掑簭鐮�(鍗囧簭)" prop="sortnum">
-          <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
-        </el-form-item>
-
-        <el-form-item label="绛涢�夊睘鎬�1鍚嶇О" prop="attrFirst">
-          <el-input v-model="form.attrFirst" maxlength="6" placeholder="璇疯緭鍏ョ瓫閫夊睘鎬у悕绉帮紝涓嶈秴杩�6涓瓧" v-trim/>
-        </el-form-item>
-        <el-form-item label="绛涢�夊睘鎬�1鐨勫��" prop="attrFirst">
-          <el-input v-model="form.attrFirst1" maxlength="10" @keypress.enter.native="confirmVal(1)" placeholder="閰嶇疆绛涢�夊睘鎬у�硷紝鎸夊洖杞﹀畬鎴愰厤缃紝鍗曚釜鍊间笉瓒呰繃10涓瓧" v-trim/>
-          <div style="display: flex; align-items: center; flex-wrap: wrap;">
-            <el-tag style="margin-right: 10px; margin-top: 10px;" @close="close(index, 1)" closable v-for="(item, index) in form.attrFirstList" :key="index">{{ item.name }}</el-tag>
-          </div>
-        </el-form-item>
-        <el-form-item label="绛涢�夊睘鎬�2鍚嶇О" prop="attrSecond">
-          <el-input v-model="form.attrSecond" maxlength="6" placeholder="璇疯緭鍏ョ瓫閫夊睘鎬у悕绉帮紝涓嶈秴杩�6涓瓧" v-trim/>
-        </el-form-item>
-        <el-form-item label="绛涢�夊睘鎬�2鐨勫��" prop="attrSecond">
-          <el-input v-model="form.attrSecond1" maxlength="10" @keypress.enter.native="confirmVal(2)" placeholder="閰嶇疆绛涢�夊睘鎬у�硷紝鎸夊洖杞﹀畬鎴愰厤缃紝鍗曚釜鍊间笉瓒呰繃10涓瓧" v-trim/>
-          <div style="display: flex; align-items: center; flex-wrap: wrap;">
-            <el-tag style="margin-right: 10px; margin-top: 10px;" @close="close(index, 2)" closable v-for="(item, index) in form.attrSecondList" :key="index">{{ item.name }}</el-tag>
-          </div>
-        </el-form-item>
-
-        <el-form-item label="鍙傛暟灞炴�у悕" prop="parameter">
-          <el-input v-model="form.parameter" maxlength="10" @keypress.enter.native="confirmVal(3)" placeholder="閰嶇疆鍙傛暟灞炴�у悕锛屾寜鍥炶溅瀹屾垚閰嶇疆锛屽崟涓�间笉瓒呰繃10涓瓧" v-trim/>
-          <div style="display: flex; align-items: center; flex-wrap: wrap;">
-            <el-tag style="margin-right: 10px; margin-top: 10px;" @close="close(index, 3)" closable v-for="(item, index) in form.paramList" :key="index">{{ item.name }}</el-tag>
-          </div>
-        </el-form-item>
-
-        <el-form-item label="棰勭畻鍖洪棿" prop="attrSecond">
-          <div style="display: flex; align-items: center; margin-bottom: 10px;" v-for="(item, index) in form.budgetList" :key="index">
-            <el-input v-model="item.minamount" type="number" @input="changeInput(1, index)" placeholder="涓嬮檺" v-trim/>
-            <span style="margin: 0 20px;"> ~ </span>
-            <el-input v-model="item.maxamount" type="number" @input="changeInput(2, index)" placeholder="涓婇檺" v-trim/>
-            <el-button type="primary" style="margin-left: 20px;" @click="add" v-if="index === 0">澧炲姞鍖洪棿</el-button>
-            <el-button type="danger" style="margin-left: 20px;" @click="dele(index)" v-else>鍒犻櫎鍖洪棿</el-button>
-          </div>
-        </el-form-item>
-      </el-form>
-    </GlobalWindow>
-  </template>
-  
-  <script>
-  import BaseOpera from '@/components/base/BaseOpera'
-  import GlobalWindow from '@/components/common/GlobalWindow'
-  import { create, updateById } from '@/api/business/category.js'
-  export default {
-    name: 'OperaCategoryWindow',
-    extends: BaseOpera,
-    components: { GlobalWindow },
-    data () {
-      return {
-        action: process.env.VUE_APP_API_PREFIX + '/public/uploadLocal',
-
-        hideUpload: false,
-        
-        // 琛ㄥ崟鏁版嵁
-        form: {
-          id: null,
-          name: '',
-          attrFirst: '',
-          attrFirst1: '',
-          attrFirstList: [],
-          attrSecond: '',
-          attrSecond1: '',
-          attrSecondList: [],
-          sortnum: '',
-          parameter: '',
-          paramList: [],
-          imgurl: '',
-          budgetList: [
-            {
-              maxamount: '',
-              minamount: ''
-            }
-          ],
-          fileList: [],
-          attributeValueOne: []
-        },
-        // 楠岃瘉瑙勫垯
-        rules: {
-          name: [
-            { required: true, message: '涓嶈兘涓虹┖', trigger: 'blur' }
-          ]
-        },
-        dialogVisible: false
-      }
-    },
-    created () {
-      this.config({
-        api: '/business/category',
-        'field.id': 'id'
-      })
-    },
-    methods: {
-      changeInput(type, index) {
-        if (type === 1) {
-          if (!this.form.budgetList[index].minamount) return
-          if (!/^[0-9]*[1-9][0-9]*$/.test(this.form.budgetList[index].minamount)) {
-            this.$message.warning({
-              type: 'warning',
-              message: '棰勭畻鍙兘杈撳叆姝f暣鏁�'
-            })
-            this.form.budgetList[index].minamount = ''
-          }
-        } else {
-          if (!this.form.budgetList[index].maxamount) return
-          if (!/^[0-9]*[1-9][0-9]*$/.test(this.form.budgetList[index].maxamount)) {
-            this.$message.warning({
-              type: 'warning',
-              message: '棰勭畻鍙兘杈撳叆姝f暣鏁�'
-            })
-            this.form.budgetList[index].maxamount = ''
-          }
-        }
-      },
-      exceed() {
-        this.$message.warning({
-          message: '鍙兘涓婁紶涓�涓浘鏍�'
-        })
-      },
-      confirm() {
-        this.$refs.form.validate((valid) => {
-          if (valid) {
-            this.isWorking = true
-            if (!this.form.id) {
-              create(this.form)
-              .then(() => {
-                this.visible = false
-                this.$tip.apiSuccess('鏂板缓鎴愬姛')
-                this.$emit('success')
-              })
-              .catch(e => {
-                this.$tip.apiFailed(e)
-              })
-              .finally(() => {
-                this.isWorking = false
-              })
-            } else {
-              updateById(this.form)
-                .then(() => {
-                  this.visible = false
-                  this.$tip.apiSuccess('缂栬緫鎴愬姛')
-                  this.$emit('success')
-                })
-                .catch(e => {
-                  this.$tip.apiFailed(e)
-                })
-                .finally(() => {
-                  this.isWorking = false
-                })
-            }
-          } else {
-            return false;
-          }
-        });
-      },
-      close(index, type) {
-        if (type === 1) {
-          this.form.attrFirstList.splice(index, 1)
-        } else if (type === 2) {
-          this.form.attrSecondList.splice(index, 1)
-        } else if (type === 3) {
-          this.form.paramList.splice(index, 1)
-        }
-      },
-      confirmVal(type) {
-        if (type === 1) {
-          if (!this.form.attrFirst1) return
-          this.form.attrFirstList.push({ name: this.form.attrFirst1 })
-          this.form.attrFirst1 = ''
-        } else if (type === 2) {
-          if (!this.form.attrSecond1) return
-          this.form.attrSecondList.push({ name: this.form.attrSecond1 })
-          this.form.attrSecond1 = ''
-        } else if (type === 3) {
-          if (!this.form.parameter) return
-          this.form.paramList.push({ name: this.form.parameter })
-          this.form.parameter = ''
-        }
-      },
-      fileSuccess(response) {
-        this.form.fileList.push({ imgaddr: response.data.imgaddr, url: response.data.url })
-        this.form.imgurl = response.data.imgaddr
-      },
-      handleRemove() {
-        this.form.fileList = []
-        this.form.imgurl = ''
-      },
-      add() {
-        this.form.budgetList.push({ minamount: '', maxamount: '' })
-      },
-      dele(i) {
-        if (this.form.budgetList.length === 1) return
-        this.form.budgetList.splice(i, 1)
-      }
-    },
-    watch: {
-      visible: {
-        handler(news, old) {
-          if (!news) {
-            this.form = {
-              id: null,
-              name: '',
-              attrFirst: '',
-              attrFirst1: '',
-              attrFirstList: [],
-              attrSecond: '',
-              attrSecond1: '',
-              attrSecondList: [],
-              sortnum: '',
-              parameter: '',
-              paramList: [],
-              imgurl: '',
-              budgetList: [
-                {
-                  maxamount: '',
-                  minamount: ''
-                }
-              ],
-              fileList: [],
-              attributeValueOne: []
-            }
-          }
-        }
-      }
-    }
-  }
-  </script>
-  
\ No newline at end of file
diff --git a/admin/.svn/pristine/a4/a418f653fc4e8531f31e0cb2031ded825d54a23f.svn-base b/admin/.svn/pristine/a4/a418f653fc4e8531f31e0cb2031ded825d54a23f.svn-base
deleted file mode 100644
index 90fc46f..0000000
--- a/admin/.svn/pristine/a4/a418f653fc4e8531f31e0cb2031ded825d54a23f.svn-base
+++ /dev/null
@@ -1,141 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:category:query']">
-      <!-- 鎼滅储琛ㄥ崟 -->
-      <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-        <el-form-item label="绫诲埆鍚嶇О" prop="name">
-          <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ョ被鍒悕绉�" @keypress.enter.native="search"></el-input>
-        </el-form-item>
-        <section>
-          <el-button type="primary" @click="search">鎼滅储</el-button>
-          <!-- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:category:exportExcel']" @click="exportExcel">瀵煎嚭</el-button> -->
-          <el-button @click="reset">閲嶇疆</el-button>
-        </section>
-      </el-form>
-      <!-- 琛ㄦ牸鍜屽垎椤� -->
-      <template v-slot:table-wrap>
-        <ul class="toolbar" v-permissions="['business:category:create']">
-          <li><el-button type="primary" @click="$refs.operaCategoryWindow.open('鏂板缓绫诲埆')" icon="el-icon-plus" v-permissions="['business:category:create']">鏂板缓</el-button></li>
-        </ul>
-        <el-table
-          v-loading="isWorking.search"
-          :data="tableData.list"
-          stripe
-          border
-          :header-cell-style="rowStyle"
-          :cell-style="rowStyle"
-        >
-          <el-table-column prop="imgurl" label="鍥炬爣" min-width="100px">
-            <template slot-scope="{row}">
-                <el-image
-                v-if="row.imgurl"
-                style="width: 70px; height: 70px"
-                :src="row.prefixUrl + row.imgurl"
-                :preview-src-list="[row.prefixUrl + row.imgurl]"
-                fit="cover"></el-image>
-            </template>
-          </el-table-column>
-          <el-table-column prop="name" label="绫诲埆鍚嶇О" min-width="100px"></el-table-column>
-          <el-table-column prop="attrFirst" label="灞炴��1" min-width="100px"></el-table-column>
-          <el-table-column prop="attrSecond" label="灞炴��2" min-width="100px"></el-table-column>
-          <el-table-column prop="sortnum" label="鎺掑簭鐮�(鍗囧簭)" min-width="100px"></el-table-column>
-          <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
-          <el-table-column prop="status" label="鐘舵��" min-width="100px">
-            <template slot-scope="{row}">
-                <el-switch
-                    v-model="row.status"
-                    @change="changeStatus(row)"
-                    active-color="#13ce66"
-                    inactive-color="#ff4949"
-                    :active-value="0"
-                    :inactive-value="1">
-                </el-switch>
-            </template>
-          </el-table-column>
-          <el-table-column
-            v-if="containPermissions(['business:category:update', 'business:category:delete'])"
-            label="鎿嶄綔"
-            min-width="120"
-            fixed="right"
-          >
-            <template slot-scope="{row}">
-              <el-button type="text" @click="edit(row.id)" icon="el-icon-edit" v-permissions="['business:category:update']">缂栬緫</el-button>
-              <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:category:delete']">鍒犻櫎</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-        <pagination
-          @size-change="handleSizeChange"
-          @current-change="handlePageChange"
-          :pagination="tableData.pagination"
-        >
-        </pagination>
-      </template>
-      <!-- 鏂板缓/淇敼 -->
-      <OperaCategoryWindow ref="operaCategoryWindow" @success="handlePageChange"/>
-    </TableLayout>
-  </template>
-  
-  <script>
-  import BaseTable from '@/components/base/BaseTable'
-  import TableLayout from '@/layouts/TableLayout'
-  import Pagination from '@/components/common/Pagination'
-  import OperaCategoryWindow from '@/components/business/OperaCategoryWindow'
-  import { queryById, updateDisableById } from '@/api/business/category.js'
-  export default {
-    name: 'Category',
-    extends: BaseTable,
-    components: { TableLayout, Pagination, OperaCategoryWindow },
-    data () {
-      return {
-        // 鎼滅储
-        searchForm: {
-          name: ''
-        }
-      }
-    },
-    created () {
-      this.config({
-        module: '绫诲埆',
-        api: '/business/category',
-        'field.id': 'id',
-        'field.main': 'name'
-      })
-      this.search()
-    },
-    methods: {
-      rowStyle() {
-      return "text-align:center";
-    },
-      changeStatus(item) {
-        updateDisableById({
-          id: item.id,
-          status: item.status
-        }).then(res => {
-          this.$tip.apiSuccess('鏇存柊鎴愬姛')
-        }).finally(() => {
-          // this.search()
-        })
-      },
-      edit(id) {
-        queryById(id)
-          .then(res => {
-            let obj = {
-              id,
-              name: res.name,
-              attrFirst: res.attrFirst,
-              attrFirstList: res.attrFirstList,
-              attrSecond: res.attrSecond,
-              attrSecondList: res.attrSecondList,
-              sortnum: res.sortnum,
-              paramList: res.paramList,
-              imgurl: res.imgurl,
-              budgetList: res.budgetList,
-              fileList: res.imgurl ? [ {url: res.prefixUrl + res.imgurl} ] : []
-            }
-            this.$refs.operaCategoryWindow.open('缂栬緫绫诲埆', obj)
-          })
-      }
-    }
-  }
-  </script>
-  
\ No newline at end of file
diff --git a/admin/.svn/pristine/a6/a6d89717805cb8e37b1eedb61efad70fa44f8e24.svn-base b/admin/.svn/pristine/a6/a6d89717805cb8e37b1eedb61efad70fa44f8e24.svn-base
deleted file mode 100644
index 5e4d7f5..0000000
--- a/admin/.svn/pristine/a6/a6d89717805cb8e37b1eedb61efad70fa44f8e24.svn-base
+++ /dev/null
@@ -1,159 +0,0 @@
-<template>
-  <TableLayout :permissions="['system:user:query']">
-    <!-- 鎼滅储琛ㄥ崟 -->
-    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="80px" inline>
-      <el-form-item label="鐢ㄦ埛鍚�" prop="username">
-        <el-input v-model="searchForm.username" v-trim placeholder="璇疯緭鍏ョ敤鎴峰悕" @keypress.enter.native="search"/>
-      </el-form-item>
-      <el-form-item label="濮撳悕" prop="realname">
-        <el-input v-model="searchForm.realname" v-trim placeholder="璇疯緭鍏ュ鍚�" @keypress.enter.native="search"/>
-      </el-form-item>
-      <el-form-item label="鎵嬫満鍙风爜" prop="mobile">
-        <el-input v-model="searchForm.mobile" v-trim placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" @keypress.enter.native="search"/>
-      </el-form-item>
-            <el-form-item label="鎵�灞為儴闂�" prop="rootDeptId">
-        <DepartmentSelect v-model="searchForm.rootDeptId" placeholder="璇烽�夋嫨鎵�灞為儴闂�" clearable/>
-      </el-form-item>
-      <el-form-item label="宀椾綅" prop="positionId">
-        <PositionSelect v-model="searchForm.positionId" placeholder="璇烽�夋嫨宀椾綅" clearable/>
-      </el-form-item>
-      <section>
-        <el-button type="primary" icon="el-icon-search" @click="search">鎼滅储</el-button>
-        <el-button @click="reset">閲嶇疆</el-button>
-      </section>
-    </el-form>
-    <!-- 琛ㄦ牸鍜屽垎椤� -->
-    <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['system:user:create', 'system:user:delete']">
-        <li v-permissions="['system:user:create']"><el-button icon="el-icon-plus" type="primary" @click="$refs.operaUserWindow.open('鏂板缓鐢ㄦ埛')">鏂板缓</el-button></li>
-        <li v-permissions="['system:user:delete']"><el-button icon="el-icon-delete" @click="deleteByIdInBatch">鍒犻櫎</el-button></li>
-      </ul>
-      <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        :default-sort = "{prop: 'createTime', order: 'descending'}"
-        stripe
-        @selection-change="handleSelectionChange"
-        @sort-change="handleSortChange"
-      >
-        <el-table-column type="selection" width="55"></el-table-column>
-        <el-table-column prop="avatar" label="澶村儚" width="80px" class-name="table-column-avatar" fixed="left">
-          <template slot-scope="{row}">
-            <img :src="row.avatar == null ? '/static/avatar/man.png' : row.avatar">
-          </template>
-        </el-table-column>
-        <el-table-column prop="realname" label="濮撳悕" min-width="100px" fixed="left"></el-table-column>
-        <el-table-column prop="username" label="鐢ㄦ埛鍚�" min-width="120px"></el-table-column>
-        <el-table-column prop="empNo" label="宸ュ彿" sortable="custom" sort-by="EMP_NO" min-width="80px"></el-table-column>
-        <el-table-column prop="department" label="閮ㄩ棬" min-width="120px">
-          <template slot-scope="{row}">{{row.department == null ? '' : row.department.name}}</template>
-        </el-table-column>
-        <el-table-column prop="position" label="宀椾綅" min-width="160px" class-name="table-column-strings">
-          <template slot-scope="{row}">
-            <ul>
-              <li v-for="position in row.positions" :key="position.id">{{position.name}}</li>
-            </ul>
-          </template>
-        </el-table-column>
-        <el-table-column prop="sex" label="鎬у埆" sortable="custom" sort-by="SEX" min-width="80px">
-          <template slot-scope="{row}">
-            {{row.sex | sex}}
-          </template>
-        </el-table-column>
-        <el-table-column prop="mobile" label="鎵嬫満鍙风爜" min-width="100px"></el-table-column>
-        <el-table-column prop="email" label="閭" min-width="180px"></el-table-column>
-        <el-table-column prop="birthday" label="鐢熸棩" sortable="custom" sort-by="BIRTHDAY" min-width="100px"></el-table-column>
-        <el-table-column prop="roles" label="瑙掕壊" min-width="160px" class-name="table-column-strings">
-          <template slot-scope="{row}">
-            <ul>
-              <li v-for="role in row.roles" :key="role.id">{{role.name}}</li>
-            </ul>
-          </template>
-        </el-table-column>
-        <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" sortable="custom" sort-by="CREATE_TIME" min-width="140px"></el-table-column>
-        <el-table-column prop="updateUser" label="鏇存柊浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" sortable="custom" sort-by="UPDATE_TIME" min-width="140px"></el-table-column>
-        <el-table-column
-          v-if="containPermissions(['system:user:update', 'system:user:createUserRole', 'system:user:resetPwd', 'system:user:delete'])"
-          label="鎿嶄綔"
-          width="270"
-          fixed="right"
-        >
-          <template v-if="isAdmin || (row.id !== userInfo.id && row.roles.findIndex(r => r.code === adminCode) === -1)" slot-scope="{row}">
-            <el-button type="text" icon="el-icon-edit" @click="$refs.operaUserWindow.open('缂栬緫鐢ㄦ埛', row)" v-permissions="['system:user:update']">缂栬緫</el-button>
-            <el-button type="text" icon="el-icon-s-custom" @click="$refs.roleConfigWindow.open(row)" v-permissions="['system:user:createUserRole']">閰嶇疆瑙掕壊</el-button>
-            <el-button type="text" @click="$refs.resetPwdWindow.open(row)" v-permissions="['system:user:resetPwd']">閲嶇疆瀵嗙爜</el-button>
-            <el-button v-if="!row.fixed" type="text" icon="el-icon-delete" @click="deleteById(row)" v-permissions="['system:user:delete']">鍒犻櫎</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-      <pagination
-        @size-change="handleSizeChange"
-        @current-change="handlePageChange"
-        :pagination="tableData.pagination"
-      ></pagination>
-    </template>
-    <!-- 鏂板缓/淇敼 -->
-    <OperaUserWindow ref="operaUserWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
-    <!-- 閰嶇疆瑙掕壊 -->
-    <RoleConfigWindow ref="roleConfigWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
-    <!-- 閲嶇疆瀵嗙爜 -->
-    <ResetPwdWindow ref="resetPwdWindow"/>
-  </TableLayout>
-</template>
-
-<script>
-import Pagination from '@/components/common/Pagination'
-import TableLayout from '@/layouts/TableLayout'
-import BaseTable from '@/components/base/BaseTable'
-import OperaUserWindow from '@/components/system/user/OperaUserWindow'
-import RoleConfigWindow from '@/components/system/user/RoleConfigWindow'
-import ResetPwdWindow from '@/components/system/user/ResetPwdWindow'
-import DepartmentSelect from '@/components/common/DepartmentSelect'
-import PositionSelect from '@/components/common/PositionSelect'
-
-export default {
-  name: 'SystemUser',
-  extends: BaseTable,
-  components: { PositionSelect, DepartmentSelect, ResetPwdWindow, RoleConfigWindow, OperaUserWindow, TableLayout, Pagination },
-  data () {
-    return {
-      // 鎼滅储
-      searchForm: {
-        username: '', // 鍚嶅瓧
-        realname: '', // 濮撳悕
-        rootDeptId: null, // 閮ㄩ棬ID
-        positionId: null, // 宀椾綅ID
-        mobile: '' // 鎵嬫満鍙风爜
-      }
-    }
-  },
-  created () {
-    this.config({
-      module: '鐢ㄦ埛',
-      api: '/system/user',
-      'field.main': 'realname',
-      sorts: [{
-        property: 'CREATE_TIME',
-        direction: 'DESC'
-      }]
-    })
-    this.search()
-  }
-}
-</script>
-
-<style scoped lang="scss">
-@import "@/assets/style/variables.scss";
-// 鍒楄〃澶村儚澶勭悊
-.table-column-avatar {
-  img {
-    width: 48px;
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/a7/a70c860c8c8cd917bea2ef2053353e9eca27ba93.svn-base b/admin/.svn/pristine/a7/a70c860c8c8cd917bea2ef2053353e9eca27ba93.svn-base
deleted file mode 100644
index 57cb287..0000000
--- a/admin/.svn/pristine/a7/a70c860c8c8cd917bea2ef2053353e9eca27ba93.svn-base
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/pristine/ab/ab84ed36403415f274d455d0dcca09a30a506aca.svn-base b/admin/.svn/pristine/ab/ab84ed36403415f274d455d0dcca09a30a506aca.svn-base
deleted file mode 100644
index bd33547..0000000
--- a/admin/.svn/pristine/ab/ab84ed36403415f274d455d0dcca09a30a506aca.svn-base
+++ /dev/null
@@ -1,2 +0,0 @@
-# 娴嬭瘯鐜閰嶇疆
-NODE_ENV = 'production'
diff --git a/admin/.svn/pristine/ac/ac0653af63ed45da16acf03923aaf61b2949af03.svn-base b/admin/.svn/pristine/ac/ac0653af63ed45da16acf03923aaf61b2949af03.svn-base
deleted file mode 100644
index 5d9e34b..0000000
--- a/admin/.svn/pristine/ac/ac0653af63ed45da16acf03923aaf61b2949af03.svn-base
+++ /dev/null
@@ -1,49 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-  return request.post('/system/role/page', data)
-}
-
-// 鏌ヨ鎵�鏈�
-export function fetchAll () {
-  return request.get('/system/role/all')
-}
-
-// 鏂板缓
-export function create (data) {
-  return request.post('/system/role/create', data, {
-    trim: true
-  })
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/system/role/updateById', data, {
-    trim: true
-  })
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/system/role/delete/${id}`)
-}
-
-// 鎵归噺鍒犻櫎
-export function deleteByIdInBatch (ids) {
-  return request.get('/system/role/delete/batch', {
-    params: {
-      ids
-    }
-  })
-}
-
-// 閰嶇疆鏉冮檺
-export function createRolePermission (data) {
-  return request.post('/system/role/createRolePermission', data)
-}
-
-// 閰嶇疆鑿滃崟
-export function createRoleMenu (data) {
-  return request.post('/system/role/createRoleMenu', data)
-}
diff --git a/admin/.svn/pristine/af/afc0d6069799a15b51b4036d7f8b535f769a809e.svn-base b/admin/.svn/pristine/af/afc0d6069799a15b51b4036d7f8b535f769a809e.svn-base
deleted file mode 100644
index 617ddca..0000000
--- a/admin/.svn/pristine/af/afc0d6069799a15b51b4036d7f8b535f769a809e.svn-base
+++ /dev/null
@@ -1,130 +0,0 @@
-<template>
-  <TableLayout :permissions="['system:loginLog:query']">
-    <!-- 鎼滅储琛ㄥ崟 -->
-    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-      <el-form-item label="鐧诲綍鐢ㄦ埛鍚�" prop="loginUsername">
-        <el-input v-model="searchForm.loginUsername" placeholder="璇疯緭鍏ョ櫥褰曠敤鎴峰悕" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鐧诲綍IP" prop="ip">
-        <el-input v-model="searchForm.ip" placeholder="璇疯緭鍏ョ櫥褰旾P" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鏈嶅姟鍣↖P" prop="serverIp">
-        <el-input v-model="searchForm.serverIp" placeholder="璇疯緭鍏ユ湇鍔″櫒IP" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鏄惁鐧诲綍鎴愬姛" prop="success">
-        <el-select v-model="searchForm.success" placeholder="璇烽�夋嫨鏄惁鐧诲綍鐘舵��" clearable @change="search">
-          <el-option value="true" label="鐧诲綍鎴愬姛"/>
-          <el-option value="false" label="鐧诲綍澶辫触"/>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="鐧诲綍鏃堕棿" prop="loginTime">
-        <el-date-picker
-          v-model="searchDateRange"
-          type="datetimerange"
-          range-separator="鑷�"
-          value-format="yyyy-MM-dd HH:mm:ss"
-          start-placeholder="寮�濮嬫椂闂�"
-          end-placeholder="缁撴潫鏃堕棿"
-          @change="handleSearchTimeChange"
-        ></el-date-picker>
-      </el-form-item>
-      <section>
-        <el-button type="primary" @click="search">鎼滅储</el-button>
-        <el-button type="primary" :loading="isWorking.export" @click="exportExcel">瀵煎嚭</el-button>
-        <el-button @click="reset">閲嶇疆</el-button>
-      </section>
-    </el-form>
-    <!-- 琛ㄦ牸鍜屽垎椤� -->
-    <template v-slot:table-wrap>
-      <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        stripe
-        :default-sort="{prop: 'loginTime', order: 'descending'}"
-        @sort-change="handleSortChange"
-      >
-        <el-table-column prop="loginUsername" label="鐧诲綍鐢ㄦ埛鍚�" min-width="100px"></el-table-column>
-        <el-table-column prop="ip" label="鐧诲綍IP" min-width="120px"></el-table-column>
-        <el-table-column prop="location" label="鐧诲綍鍦板潃" min-width="160px"></el-table-column>
-        <el-table-column prop="clientInfo" label="瀹㈡埛绔�" min-width="160px"></el-table-column>
-        <el-table-column prop="osInfo" label="鎿嶄綔绯荤粺" min-width="100px"></el-table-column>
-        <el-table-column prop="platform" label="鐧诲綍骞冲彴" min-width="100px"></el-table-column>
-        <el-table-column prop="loginTime" label="鐧诲綍鏃堕棿" min-width="160px" sortable="custom" sort-by="LOGIN_TIME"></el-table-column>
-        <el-table-column prop="systemVersion" label="绯荤粺鐗堟湰" min-width="100px"></el-table-column>
-        <el-table-column prop="serverIp" label="鏈嶅姟鍣↖P" min-width="120px"></el-table-column>
-        <el-table-column prop="success" label="鐘舵��" min-width="100px">
-          <template slot-scope="{row}">
-            {{row.success | statusText}}
-          </template>
-        </el-table-column>
-        <el-table-column prop="reason" label="澶辫触鍘熷洜" min-width="160px"></el-table-column>
-      </el-table>
-      <pagination
-          @size-change="handleSizeChange"
-          @current-change="handlePageChange"
-          :pagination="tableData.pagination"
-      ></pagination>
-    </template>
-  </TableLayout>
-</template>
-
-<script>
-import BaseTable from '@/components/base/BaseTable'
-import TableLayout from '@/layouts/TableLayout'
-import Pagination from '@/components/common/Pagination'
-
-export default {
-  name: 'SystemLoginLog',
-  extends: BaseTable,
-  components: { TableLayout, Pagination },
-  data () {
-    return {
-      // 鎼滅储鏃堕棿鑼冨洿
-      searchDateRange: [],
-      // 鎼滅储
-      searchForm: {
-        loginUsername: '',
-        ip: '',
-        serverIp: '',
-        success: '',
-        startTime: null,
-        endTime: null
-      }
-    }
-  },
-  filters: {
-    // 鐧诲綍鐘舵��
-    statusText (value) {
-      if (value) {
-        return '鐧诲綍鎴愬姛'
-      }
-      return '鐧诲綍澶辫触'
-    }
-  },
-  methods: {
-    // 鏃堕棿鎼滅储鑼冨洿鍙樺寲
-    handleSearchTimeChange (value) {
-      this.searchForm.startTime = null
-      this.searchForm.endTime = null
-      if (value != null) {
-        this.searchForm.startTime = value[0]
-        this.searchForm.endTime = value[1]
-      }
-      this.search()
-    }
-  },
-  created () {
-    this.config({
-      module: '鐧诲綍鏃ュ織',
-      api: '/system/loginLog',
-      'field.id': 'id',
-      'field.main': 'id',
-      sorts: [{
-        property: 'LOGIN_TIME',
-        direction: 'DESC'
-      }]
-    })
-    this.search()
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/b0/b06679bc108c40d0a3461dcc68aec5fa6c2d9029.svn-base b/admin/.svn/pristine/b0/b06679bc108c40d0a3461dcc68aec5fa6c2d9029.svn-base
deleted file mode 100644
index ee5cfea..0000000
--- a/admin/.svn/pristine/b0/b06679bc108c40d0a3461dcc68aec5fa6c2d9029.svn-base
+++ /dev/null
@@ -1,136 +0,0 @@
-import Vue from 'vue'
-import App from './App.vue'
-import router from './router'
-import store from './store'
-import ElementUI from 'element-ui'
-import './assets/style/element-variables.scss'
-import VueClipboard from 'vue-clipboard2'
-import directives from './directives'
-import filters from './filters'
-import plugins from './plugins'
-import { mapState, mapMutations } from 'vuex'
-import { fetchMenuTree } from './api/system/menu'
-
-Vue.config.productionTip = false
-Vue.use(ElementUI, {
-  size: 'small'
-})
-Vue.use(VueClipboard)
-Vue.use(directives)
-Vue.use(filters)
-Vue.use(plugins)
-
-new Vue({
-  data: {
-    loading: false
-  },
-  router,
-  store,
-  computed: {
-    ...mapState(['userInfo', 'homePage'])
-  },
-  watch: {
-    async userInfo () {
-      if (this.userInfo == null) {
-        return
-      }
-      await this.initRoutes()
-    }
-  },
-  methods: {
-    ...mapMutations(['switchCollapseMenu', 'setHomePage']),
-    // 鍒濆鍖栨湰鍦伴厤缃�
-    initLocalConfig () {
-      // 鑿滃崟鐘舵�侀厤缃�
-      const menuStatus = window.localStorage.getItem('MENU_STATUS')
-      if (menuStatus != null) {
-        this.switchCollapseMenu(menuStatus === 'true')
-      }
-    },
-    // 鍒濆鍖栬矾鐢�
-    async initRoutes () {
-      if (this.loading || this.userInfo == null) {
-        return
-      }
-      this.loading = true
-      // 閲嶇疆鑿滃崟
-      this.$store.commit('resetMenus')
-      // 鑾峰彇鑿滃崟
-      const storeMenus = this.$store.state.menuData.list
-      if (storeMenus.length > 0 && this.homePage == null) {
-        this.setHomePage(storeMenus[0])
-      }
-      await fetchMenuTree()
-        .then(menus => {
-          // 娣诲姞鑿滃崟
-          storeMenus.push.apply(storeMenus, menus)
-          // 娣诲姞璺敱
-          this.__addRouters(storeMenus)
-          // 404
-          router.addRoute({
-            path: '*',
-            redirect: '/not-found'
-          })
-          // 棣栭〉
-          router.addRoute({
-            name: 'index',
-            path: '/',
-            redirect: this.homePage.url
-          })
-          // 璺敱鍔犺浇瀹屾垚鍚庯紝濡傛灉璁块棶鐨勬槸/锛岃烦杞嚦鍔ㄦ�佽瘑鍒殑棣栭〉
-          if (this.$route.path === '/') {
-            this.$router.push(this.homePage.url)
-          }
-        })
-        .catch(e => {
-          throw e
-        })
-        .finally(() => {
-          this.loading = false
-        })
-    },
-    // 鏂板缓璺敱
-    __addRouters (routes, parents = []) {
-      if (routes == null || routes.length === 0) {
-        return
-      }
-      const rs = router.getRoutes()
-      for (const route of routes) {
-        const parentsDump = JSON.parse(JSON.stringify(parents))
-        parentsDump.push(route)
-        if (route.url == null || route.url === '') {
-          this.__addRouters(route.children, parentsDump)
-          continue
-        }
-        if (rs.findIndex(r => r.path === route.url) > -1) {
-          this.__addRouters(route.children, parentsDump)
-          continue
-        }
-        if (this.homePage == null) {
-          this.setHomePage(route)
-        }
-        router.addRoute('layout', {
-          path: route.url,
-          name: route.label,
-          meta: {
-            title: route.label,
-            paths: [...parents.map(p => p.label), route.label]
-          },
-          component: () => import('@/views' + route.url)
-        })
-        this.__addRouters(route.children, parentsDump)
-      }
-    }
-  },
-  async created () {
-    if (this.userInfo == null) {
-      return
-    }
-    await this.initRoutes()
-      .catch(() => {})
-  },
-  mounted () {
-    this.initLocalConfig()
-  },
-  render: h => h(App)
-}).$mount('#app')
diff --git a/admin/.svn/pristine/b0/b0e80cc8298e6b4cc129999965c16b0135810f95.svn-base b/admin/.svn/pristine/b0/b0e80cc8298e6b4cc129999965c16b0135810f95.svn-base
deleted file mode 100644
index 240a739..0000000
--- a/admin/.svn/pristine/b0/b0e80cc8298e6b4cc129999965c16b0135810f95.svn-base
+++ /dev/null
@@ -1,171 +0,0 @@
-<template>
-  <!-- 鏂板缓/淇敼 -->
-  <GlobalWindow
-    :title="title"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    @confirm="confirm"
-  >
-    <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="鐢ㄦ埛鍚�" prop="username" required>
-        <el-input v-model="form.username" placeholder="璇疯緭鍏ョ敤鎴峰悕" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="濮撳悕" prop="realname" required>
-        <el-input v-model="form.realname" placeholder="璇疯緭鍏ュ鍚�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="鎬у埆" prop="sex" required>
-        <el-radio-group v-model="form.sex">
-          <el-radio label="1">鐢�</el-radio>
-          <el-radio label="0">濂�</el-radio>
-        </el-radio-group>
-      </el-form-item>
-      <el-form-item label="澶村儚" prop="avatar" required>
-        <el-radio-group v-model="form.avatar" class="form-item-avatar">
-          <el-radio label="https://dmtest.ahapp.net/preselectfile/man.png" border><img src="https://dmtest.ahapp.net/preselectfile/man.png" alt=""></el-radio>
-          <el-radio label="https://dmtest.ahapp.net/preselectfile/woman.png" border><img src="https://dmtest.ahapp.net/preselectfile/woman.png" alt=""></el-radio>
-        </el-radio-group>
-      </el-form-item>
-      <el-form-item v-if="form.id == null" label="鍒濆瀵嗙爜" prop="password" required>
-        <el-input v-model="form.password" type="password" placeholder="璇疯緭鍏ュ垵濮嬪瘑鐮�" maxlength="30" show-password/>
-      </el-form-item>
-            <el-form-item label="鎵�灞為儴闂�" prop="departmentId" required>
-        <DepartmentSelect v-model="form.departmentId" placeholder="璇烽�夋嫨鐢ㄦ埛鎵�灞為儴闂�" :inline="false" clearable/>
-      </el-form-item>
-      <el-form-item label="宀椾綅" prop="positionId">
-        <PositionSelect v-model="form.positionIds" placeholder="璇烽�夋嫨鐢ㄦ埛鎵�鍦ㄥ矖浣�" :inline="false" :multiple="true" clearable/>
-      </el-form-item>
-      <el-form-item label="宸ュ彿" prop="empNo">
-        <el-input v-model="form.empNo" placeholder="璇疯緭鍏ュ伐鍙�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="鎵嬫満鍙风爜" prop="mobile">
-        <el-input v-model="form.mobile" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" v-trim maxlength="11"/>
-      </el-form-item>
-      <el-form-item label="閭" prop="email">
-        <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" v-trim maxlength="200"/>
-      </el-form-item>
-      <el-form-item label="鐢熸棩" prop="birthday">
-        <el-date-picker v-model="form.birthday" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鐢ㄦ埛鐢熸棩"/>
-      </el-form-item>
-    </el-form>
-  </GlobalWindow>
-</template>
-
-<script>
-import BaseOpera from '@/components/base/BaseOpera'
-import GlobalWindow from '@/components/common/GlobalWindow'
-import DepartmentSelect from '@/components/common/DepartmentSelect'
-import PositionSelect from '@/components/common/PositionSelect'
-import { checkMobile, checkEmail } from '@/utils/form'
-
-export default {
-  name: 'OperaUserWindow',
-  extends: BaseOpera,
-  components: { PositionSelect, DepartmentSelect, GlobalWindow },
-  data () {
-    return {
-      // 琛ㄥ崟鏁版嵁
-      form: {
-        id: null,
-        username: '', // 鐢ㄦ埛鍚�
-        realname: '', // 濮撳悕
-        empNo: '', // 宸ュ彿
-        departmentId: null, //  鎵�灞為儴闂↖D
-        positionIds: [], //  鎵�灞炲矖浣岻D闆�
-        avatar: '/avatar/man.png', // 澶村儚
-        password: '', // 瀵嗙爜
-        mobile: '', // 鎵嬫満鍙风爜
-        email: '', // 閭
-        sex: '1', // 鎬у埆
-        birthday: '' // 鐢熸棩
-      },
-      // 楠岃瘉瑙勫垯
-      rules: {
-        username: [
-          { required: true, message: '璇疯緭鍏ョ敤鎴峰悕' }
-        ],
-        realname: [
-          { required: true, message: '璇疯緭鍏ュ鍚�' }
-        ],
-        password: [
-          { required: true, message: '璇疯緭鍏ュ瘑鐮�' }
-        ],
-        departmentId: [
-          { required: true, message: '璇烽�夋嫨閮ㄩ棬' }
-        ],
-        avatar: [
-          { required: true, message: '璇烽�夋嫨鐢ㄦ埛澶村儚' }
-        ],
-        sex: [
-          { required: true, message: '璇烽�夋嫨鐢ㄦ埛鎬у埆' }
-        ],
-        mobile: [
-          { required: true, validator: checkMobile }
-        ],
-        email: [
-          { validator: checkEmail }
-        ]
-      }
-    }
-  },
-  methods: {
-    /**
-     * @title 绐楀彛鏍囬
-     * @target 缂栬緫鐨勭敤鎴峰璞�
-     */
-    open (title, target) {
-      this.title = title
-      this.visible = true
-      // 鏂板缓
-      if (target == null) {
-        this.$nextTick(() => {
-          this.$refs.form.resetFields()
-          this.form.id = null
-          this.form.departmentId = null
-          this.form.positionIds = []
-        })
-        return
-      }
-      // 缂栬緫
-      this.$nextTick(() => {
-        for (const key in this.form) {
-          this.form[key] = target[key]
-        }
-        this.form.departmentId = target.department == null ? null : target.department.id
-        this.form.positionIds = target.positions == null ? [] : target.positions.map(p => p.id)
-      })
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/user'
-    })
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.global-window {
-  /deep/ .el-date-editor {
-    width: 100%;
-  }
-  // 琛ㄥ崟澶村儚澶勭悊
-  /deep/ .form-item-avatar {
-    .el-radio.is-bordered {
-      height: auto;
-      padding: 6px;
-      margin: 0 10px 0 0;
-      .el-radio__input {
-        display: none;
-      }
-      .el-radio__label {
-        padding: 0;
-        width: 48px;
-        display: block;
-        img {
-          width: 100%;
-        }
-      }
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/b1/b10331eb0ce35dac62114d591475bc4bec626be0.svn-base b/admin/.svn/pristine/b1/b10331eb0ce35dac62114d591475bc4bec626be0.svn-base
deleted file mode 100644
index 9c8266b..0000000
--- a/admin/.svn/pristine/b1/b10331eb0ce35dac62114d591475bc4bec626be0.svn-base
+++ /dev/null
@@ -1,8 +0,0 @@
-@import "variables";
-/* theme color */
-$--color-primary: $primary-color;
-
-/* icon font path, required */
-$--font-path: '~element-ui/lib/theme-chalk/fonts';
-
-@import "~element-ui/packages/theme-chalk/src/index";
diff --git a/admin/.svn/pristine/b2/b206eb54b3edb60e5de76f58a4390f83a03646fb.svn-base b/admin/.svn/pristine/b2/b206eb54b3edb60e5de76f58a4390f83a03646fb.svn-base
deleted file mode 100644
index 7ed0110..0000000
--- a/admin/.svn/pristine/b2/b206eb54b3edb60e5de76f58a4390f83a03646fb.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621751616853" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12750" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M225.5 596.7h63.8V652h-63.8v-55.3z m0-165.8h63.8v55.3h-63.8v-55.3z m0-165.7h63.8v55.3h-63.8v-55.3z m127.6 331.5h446.3V652H353.1v-55.3z m0-165.8h446.3v55.3H353.1v-55.3z m0-165.7h446.3v55.3H353.1v-55.3zM98 156.3v694.3c0 46.6 45 77.7 96.4 77.7h732.5v-46.6H194.4c-19.3 0-32.2-10.4-32.2-25.9 0-15.5 12.8-25.9 32.2-25.9h732.5V99.4H168.7c-32.1 5.1-64.3 31.1-70.7 56.9z" fill="#f7f7f7" p-id="12751"></path></svg>
diff --git a/admin/.svn/pristine/b4/b45a6337fb8922a3687d3654aaed6ad69f37a905.svn-base b/admin/.svn/pristine/b4/b45a6337fb8922a3687d3654aaed6ad69f37a905.svn-base
deleted file mode 100644
index 454f087..0000000
--- a/admin/.svn/pristine/b4/b45a6337fb8922a3687d3654aaed6ad69f37a905.svn-base
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/pristine/b5/b5fdb1439823b31c7dab7a75709800cdcc8fc2d5.svn-base b/admin/.svn/pristine/b5/b5fdb1439823b31c7dab7a75709800cdcc8fc2d5.svn-base
deleted file mode 100644
index 1b17444..0000000
--- a/admin/.svn/pristine/b5/b5fdb1439823b31c7dab7a75709800cdcc8fc2d5.svn-base
+++ /dev/null
@@ -1,22 +0,0 @@
-// 璇︾粏閰嶇疆璇峰弬鑰僪ttps://cli.vuejs.org/zh/config/#vue-config-js
-// const outputDir = process.env.VUE_APP_CONTEXT_PATH.substring(1, process.env.VUE_APP_CONTEXT_PATH.length - 1)
-// outputDir === '/' ? 'dist' : outputDir
-module.exports = {
-  publicPath: process.env.VUE_APP_CONTEXT_PATH,
-  outputDir: 'dist',
-  assetsDir: 'static',
-  lintOnSave: false,
-  devServer: {
-    host: '0.0.0.0',
-    port: 10086,
-    proxy: {
-      [process.env.VUE_APP_API_PREFIX]: {
-        target: process.env.VUE_APP_API,
-        changeOrigin: true,
-        pathRewrite: {
-          [`^${[process.env.VUE_APP_API_PREFIX]}`]: ''
-        }
-      }
-    }
-  }
-}
diff --git a/admin/.svn/pristine/b6/b6b6ad308f62f5617b4378a8292a498d91f050fa.svn-base b/admin/.svn/pristine/b6/b6b6ad308f62f5617b4378a8292a498d91f050fa.svn-base
deleted file mode 100644
index 3c9b7c7..0000000
--- a/admin/.svn/pristine/b6/b6b6ad308f62f5617b4378a8292a498d91f050fa.svn-base
+++ /dev/null
@@ -1,104 +0,0 @@
-<template>
-  <TableLayout :permissions="['system:department:query']">
-    <!-- 琛ㄦ牸鍜屽垎椤� -->
-    <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['system:department:create', 'system:department:delete']">
-        <li><el-button type="primary" @click="$refs.operaDepartmentWindow.open('鏂板缓閮ㄩ棬')" icon="el-icon-plus" v-permissions="['system:department:create']">鏂板缓</el-button></li>
-        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:department:delete']">鍒犻櫎</el-button></li>
-      </ul>
-      <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
-        row-key="id"
-        stripe
-        default-expand-all
-        @selection-change="handleSelectionChange"
-      >
-        <el-table-column type="selection" fixed="left" width="55"></el-table-column>
-        <el-table-column prop="name" label="閮ㄩ棬鍚嶇О" fixed="left" min-width="200px"></el-table-column>
-        <el-table-column prop="code" label="閮ㄩ棬缂栫爜" fixed="left" min-width="100px"></el-table-column>
-        <el-table-column prop="userCount" label="閮ㄩ棬浜烘暟" min-width="100px"></el-table-column>
-        <el-table-column prop="phone" label="鑱旂郴鐢佃瘽" min-width="100px"></el-table-column>
-        <el-table-column prop="email" label="閮ㄩ棬閭" min-width="180px"></el-table-column>
-        <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="140px"></el-table-column>
-        <el-table-column prop="updateUser" label="鏇存柊浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="140px"></el-table-column>
-        <el-table-column
-          v-if="containPermissions(['system:department:update', 'system:department:create', 'system:department:delete', 'system:department:queryUsers'])"
-          label="鎿嶄綔"
-          min-width="310"
-          fixed="right"
-        >
-          <template slot-scope="{row}">
-            <el-button type="text" @click="$refs.operaDepartmentWindow.open('缂栬緫閮ㄩ棬', row)" icon="el-icon-edit" v-permissions="['system:department:update']">缂栬緫</el-button>
-            <el-button type="text" @click="$refs.operaDepartmentWindow.open('鏂板缓涓嬬骇閮ㄩ棬', null, row)" icon="el-icon-edit" v-permissions="['system:department:create']">鏂板缓涓嬬骇閮ㄩ棬</el-button>
-            <el-button type="text" @click="$refs.departmentUserWindow.open(row.id, row.name)" icon="el-icon-user-solid" v-permissions="['system:department:queryUsers']">鏌ョ湅浜哄憳</el-button>
-            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['system:department:delete']">鍒犻櫎</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-    </template>
-    <!-- 鏂板缓/淇敼 -->
-    <OperaDepartmentWindow ref="operaDepartmentWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
-    <!-- 鏌ョ湅浜哄憳 -->
-    <DepartmentUserWindow ref="departmentUserWindow"/>
-  </TableLayout>
-</template>
-
-<script>
-import TableLayout from '@/layouts/TableLayout'
-import { fetchTree } from '@/api/system/department'
-import BaseTable from '@/components/base/BaseTable'
-import OperaDepartmentWindow from '@/components/system/department/OperaDepartmentWindow'
-import DepartmentUserWindow from '@/components/system/department/DepartmentUserWindow'
-export default {
-  name: 'SystemDepartment',
-  extends: BaseTable,
-  components: { DepartmentUserWindow, OperaDepartmentWindow, TableLayout },
-  data () {
-    return {
-      // 鎼滅储
-      searchForm: {
-        name: ''
-      }
-    }
-  },
-  methods: {
-    // 鏌ヨ鏁版嵁
-    handlePageChange () {
-      this.tableData.list.splice(0, this.tableData.list.length)
-      this.isWorking.search = true
-      fetchTree()
-        .then(records => {
-          this.tableData.list = records
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          this.isWorking.search = false
-        })
-    }
-  },
-  created () {
-    this.config({
-      module: '閮ㄩ棬',
-      api: '/system/department'
-    })
-    this.search()
-  }
-}
-</script>
-<style lang="scss" scoped>
-.table-layout {
-  /deep/ .table-content {
-    margin-top: 0;
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/b8/b852894d50106fd5103747747e678d396bd95671.svn-base b/admin/.svn/pristine/b8/b852894d50106fd5103747747e678d396bd95671.svn-base
deleted file mode 100644
index dd8c279..0000000
--- a/admin/.svn/pristine/b8/b852894d50106fd5103747747e678d396bd95671.svn-base
+++ /dev/null
@@ -1,103 +0,0 @@
-<template>
-  <TreeSelect
-    :placeholder="placeholder"
-    :value="value"
-    :data="data"
-    :clearable="clearable"
-    :append-to-body="appendToBody"
-    :inline="inline"
-    :multiple="multiple"
-    :flat="multiple"
-    @input="$emit('input', $event)"
-  />
-</template>
-
-<script>
-import TreeSelect from './TreeSelect'
-import { fetchTree } from '@/api/system/position'
-export default {
-  name: 'PositionSelect',
-  components: { TreeSelect },
-  props: {
-    value: {},
-    inline: {
-      default: true
-    },
-    multiple: {
-      default: false
-    },
-    placeholder: {
-      default: '璇烽�夋嫨宀椾綅'
-    },
-    // 鏄惁鍙竻绌�
-    clearable: {
-      default: false
-    },
-    appendToBody: {
-      default: false
-    },
-    // 闇�琚帓闄ょ殑閮ㄩ棬ID
-    excludeId: {}
-  },
-  data () {
-    return {
-      data: []
-    }
-  },
-  watch: {
-    excludeId () {
-      this.fetchData()
-    }
-  },
-  methods: {
-    // 鑾峰彇鎵�鏈夊矖浣�
-    fetchData () {
-      fetchTree()
-        .then(records => {
-          this.data = []
-          this.__fillData(this.data, records)
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-    },
-    // 濉厖宀椾綅鏍�
-    __fillData (list, pool) {
-      for (const dept of pool) {
-        if (dept.id === this.excludeId) {
-          continue
-        }
-        const deptNode = {
-          id: dept.id,
-          label: dept.name
-        }
-        list.push(deptNode)
-        if (dept.children != null && dept.children.length > 0) {
-          deptNode.children = []
-          this.__fillData(deptNode.children, dept.children)
-          if (deptNode.children.length === 0) {
-            deptNode.children = undefined
-          }
-        }
-      }
-    }
-  },
-  created () {
-    this.fetchData()
-  }
-}
-</script>
-<style scoped lang="scss">
-.inline {
-  width: 178px;
-}
-.vue-treeselect {
-  line-height: 30px;
-  /deep/ .vue-treeselect__control {
-    height: 32px;
-    .vue-treeselect__single-value {
-      line-height: 30px;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/b8/b8d7a27818d423b81088e39fb003485efb4e75c0.svn-base b/admin/.svn/pristine/b8/b8d7a27818d423b81088e39fb003485efb4e75c0.svn-base
deleted file mode 100644
index 4bb3c85..0000000
--- a/admin/.svn/pristine/b8/b8d7a27818d423b81088e39fb003485efb4e75c0.svn-base
+++ /dev/null
@@ -1,63 +0,0 @@
-import request from '../../utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-  return request.post('/business/goods/page', data, {
-    trim: true
-  })
-}
-
-// 瀵煎嚭Excel
-export function exportExcel (data) {
-  return request.post('/business/goods/exportExcel', data, {
-    trim: true,
-    download: true
-  })
-}
-
-// 瀵煎嚭妯℃澘
-export function exportDoc (params) {
-  return request.get('/business/goods/export', params, {
-    trim: true,
-    download: true
-  })
-}
-
-// 鍒涘缓
-export function create (data) {
-  return request.post('/business/goods/create', data)
-}
-
-// 淇敼
-export function updateById (data) {
-  return request.post('/business/goods/updateById', data)
-}
-
-// 鍒犻櫎
-export function deleteById (id) {
-  return request.get(`/business/goods/delete/${id}`)
-}
-
-// 鎵归噺鍒犻櫎
-export function deleteByIdInBatch (ids) {
-  return request.get('/business/goods/delete/batch', {
-    params: {
-      ids
-    }
-  })
-}
-
-// 淇敼鐘舵��
-export function updateDisableById (data) {
-  return request.post('/business/goods/updateDisableById', data)
-}
-
-// 鍒楄〃 - 鍟嗗搧閫夋嫨
-export function findListForGoodsId (goodsId) {
-  return request.get(`/business/category/findListForGoodsId?goodsId=${goodsId}`)
-}
-
-// 鏍规嵁ID鏌ヨ
-export function queryById (id) {
-  return request.get(`business/goods/${id}`)
-}
\ No newline at end of file
diff --git a/admin/.svn/pristine/bd/bd225e13d9990a90b8f95128b88fbc62fdfa16b3.svn-base b/admin/.svn/pristine/bd/bd225e13d9990a90b8f95128b88fbc62fdfa16b3.svn-base
deleted file mode 100644
index a6570c4..0000000
--- a/admin/.svn/pristine/bd/bd225e13d9990a90b8f95128b88fbc62fdfa16b3.svn-base
+++ /dev/null
@@ -1,17 +0,0 @@
-<!DOCTYPE html>
-<html lang="">
-  <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 棰勯�夋竻鍗曟煡璇㈢郴缁� 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>
diff --git a/admin/.svn/pristine/c3/c32ee10ffc239ceb95d7ff0f29ae03caf0a79339.svn-base b/admin/.svn/pristine/c3/c32ee10ffc239ceb95d7ff0f29ae03caf0a79339.svn-base
deleted file mode 100644
index 76f35b3..0000000
--- a/admin/.svn/pristine/c3/c32ee10ffc239ceb95d7ff0f29ae03caf0a79339.svn-base
+++ /dev/null
@@ -1,96 +0,0 @@
-<template>
-  <TableLayout :permissions="['system:permission:query']">
-    <!-- 鎼滅储琛ㄥ崟 -->
-    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-      <el-form-item label="鏉冮檺缂栫爜" prop="code">
-        <el-input v-model="searchForm.code" v-trim placeholder="璇疯緭鍏ユ潈闄愮紪鐮�" @keypress.enter.native="search"/>
-      </el-form-item>
-      <el-form-item label="鏉冮檺鍚嶇О" prop="name">
-        <el-input v-model="searchForm.name" v-trim placeholder="璇疯緭鍏ユ潈闄愬悕绉�" @keypress.enter.native="search"/>
-      </el-form-item>
-      <section>
-        <el-button type="primary" @click="search">鎼滅储</el-button>
-        <el-button @click="reset">閲嶇疆</el-button>
-      </section>
-    </el-form>
-    <!-- 琛ㄦ牸鍜屽垎椤� -->
-    <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['system:permission:create', 'system:permission:delete']">
-        <li><el-button type="primary" @click="$refs.operaPermissionWindow.open('鏂板缓绯荤粺鏉冮檺')" icon="el-icon-plus" v-permissions="['system:permission:create']">鏂板缓</el-button></li>
-        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:permission:delete']">鍒犻櫎</el-button></li>
-      </ul>
-      <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        :default-sort = "{prop: 'createTime', order: 'descending'}"
-        stripe
-        @selection-change="handleSelectionChange"
-        @sort-change="handleSortChange"
-      >
-        <el-table-column type="selection" fixed="left" width="55"></el-table-column>
-        <el-table-column prop="code" label="鏉冮檺缂栫爜" fixed="left" min-width="200px"></el-table-column>
-        <el-table-column prop="name" label="鏉冮檺鍚嶇О" fixed="left" min-width="120px"></el-table-column>
-        <el-table-column prop="remark" label="鏉冮檺澶囨敞" min-width="120px"></el-table-column>
-        <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="140px" sortable="custom" sort-by="perm.CREATE_TIME"></el-table-column>
-        <el-table-column prop="updateUser" label="鏇存柊浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="140px"></el-table-column>
-        <el-table-column
-          v-if="containPermissions(['system:permission:update', 'system:permission:delete'])"
-          label="鎿嶄綔"
-          min-width="130"
-          fixed="right"
-        >
-          <template slot-scope="{row}">
-            <el-button v-if="!row.fixed" type="text" @click="$refs.operaPermissionWindow.open('缂栬緫绯荤粺鏉冮檺', row)" icon="el-icon-edit" v-permissions="['system:permission:update']">缂栬緫</el-button>
-            <el-button v-if="!row.fixed" type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['system:permission:delete']">鍒犻櫎</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-      <pagination
-        @size-change="handleSizeChange"
-        @current-change="handlePageChange"
-        :pagination="tableData.pagination"
-      ></pagination>
-    </template>
-    <!-- 鏂板缓/淇敼 -->
-    <OperaPermissionWindow ref="operaPermissionWindow" @success="handlePageChange"/>
-  </TableLayout>
-</template>
-
-<script>
-import Pagination from '@/components/common/Pagination'
-import TableLayout from '@/layouts/TableLayout'
-import BaseTable from '@/components/base/BaseTable'
-import OperaPermissionWindow from '@/components/system/permission/OperaPermissionWindow'
-export default {
-  name: 'SystemPermission',
-  extends: BaseTable,
-  components: { OperaPermissionWindow, TableLayout, Pagination },
-  data () {
-    return {
-      // 鎼滅储
-      searchForm: {
-        code: '',
-        name: '',
-        remark: ''
-      }
-    }
-  },
-  created () {
-    this.config({
-      module: '鏉冮檺',
-      api: '/system/permission',
-      sorts: [{
-        property: 'perm.CREATE_TIME',
-        direction: 'DESC'
-      }]
-    })
-    this.search()
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/c4/c4ae810cfd39831335084d66b599de8ad388f2aa.svn-base b/admin/.svn/pristine/c4/c4ae810cfd39831335084d66b599de8ad388f2aa.svn-base
deleted file mode 100644
index 38cf164..0000000
--- a/admin/.svn/pristine/c4/c4ae810cfd39831335084d66b599de8ad388f2aa.svn-base
+++ /dev/null
@@ -1,57 +0,0 @@
-<script>
-import { mapState } from 'vuex'
-export default {
-  name: 'BasePage',
-  data () {
-    return {
-      // 瓒呯骇绠$悊鍛樿鑹瞔ode
-      adminCode: 'admin'
-    }
-  },
-  computed: {
-    ...mapState(['userInfo']),
-    // 鏄惁涓鸿秴绾х鐞嗗憳
-    isAdmin () {
-      return this.userInfo.roles.findIndex(code => code === this.adminCode) > -1
-    }
-  },
-  methods: {
-    // 鏄惁鍖呭惈鎸囧畾瑙掕壊
-    containRoles (roles) {
-      if (roles == null) {
-        return true
-      }
-      if (this.userInfo == null) {
-        return false
-      }
-      if (this.userInfo.roles == null || this.userInfo.roles.length === 0) {
-        return false
-      }
-      for (const code of roles) {
-        if (this.userInfo.roles.findIndex(r => r === code) > -1) {
-          return true
-        }
-      }
-      return false
-    },
-    // 鏄惁鍖呭惈鎸囧畾鏉冮檺
-    containPermissions (permissions) {
-      if (permissions == null) {
-        return true
-      }
-      if (this.userInfo == null) {
-        return false
-      }
-      if (this.userInfo.permissions == null || this.userInfo.permissions.length === 0) {
-        return false
-      }
-      for (const code of permissions) {
-        if (this.userInfo.permissions.findIndex(p => p === code) > -1) {
-          return true
-        }
-      }
-      return false
-    }
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/c6/c685134b7d89f9b2da21fc758185c692b84d51ef.svn-base b/admin/.svn/pristine/c6/c685134b7d89f9b2da21fc758185c692b84d51ef.svn-base
deleted file mode 100644
index 4b35d06..0000000
--- a/admin/.svn/pristine/c6/c685134b7d89f9b2da21fc758185c692b84d51ef.svn-base
+++ /dev/null
@@ -1,31 +0,0 @@
-export default {
-  inserted: function (el) {
-    let input = el
-    let classes = input.getAttribute('class') || ''
-    if (classes != null) {
-      classes = classes.split(' ')
-    }
-    // 杈撳叆妗嗭細<el-input/>
-    if (classes.indexOf('el-input') > -1) {
-      input = input.querySelector('input')
-    }
-    // 澶氳杈撳叆妗嗭細<el-input type="textarea"/>
-    if (classes.indexOf('el-textarea') > -1) {
-      input = input.querySelector('textarea')
-    }
-    // 澶卞幓鐒︾偣鏃跺幓鎺変袱渚х┖鏍�
-    input.addEventListener('blur', (e) => {
-      e.target.value = e.target.value.trim()
-      input.dispatchEvent(new Event('input'))
-    })
-    // 鍥炶溅鏃跺幓鎺変袱渚х┖鏍硷紙浠呰緭鍏ユ锛�
-    if (classes.indexOf('el-input') > -1) {
-      input.addEventListener('keydown', (e) => {
-        if (e.key === 'Enter') {
-          e.target.value = e.target.value.trim()
-          input.dispatchEvent(new Event('input'))
-        }
-      })
-    }
-  }
-}
diff --git a/admin/.svn/pristine/c7/c70d0cba6639ce9ec177c50401fbfdb9c2bcf4db.svn-base b/admin/.svn/pristine/c7/c70d0cba6639ce9ec177c50401fbfdb9c2bcf4db.svn-base
deleted file mode 100644
index 0c1dcbf..0000000
--- a/admin/.svn/pristine/c7/c70d0cba6639ce9ec177c50401fbfdb9c2bcf4db.svn-base
+++ /dev/null
@@ -1,41 +0,0 @@
-<template>
-  <div class="search-form-collapse" :class="{'collapse__hidden': !showMore}">
-    <slot></slot>
-    <el-button v-if="!showMore" class="collapse__switch" @click="showMore = true">鏇村鏌ヨ...</el-button>
-    <el-button v-else class="collapse__switch" @click="showMore = false">鏀惰捣</el-button>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'SearchFormCollapse',
-  data () {
-    return {
-      showMore: false
-    }
-  }
-}
-</script>
-
-<style scoped lang="scss">
-.search-form-collapse {
-  position: relative;
-  padding-right: 75px;
-  height: auto;
-  .collapse__switch {
-    position: absolute;
-    top: 0;
-    right: 0;
-  }
-  &.collapse__hidden {
-    height: 50px;
-    overflow: hidden;
-    padding-right: 250px;
-    /deep/ section {
-      position: absolute;
-      top: 0;
-      right: 100px;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/c8/c878ac7136c732249ed9ca0e2b98e97508fde7fa.svn-base b/admin/.svn/pristine/c8/c878ac7136c732249ed9ca0e2b98e97508fde7fa.svn-base
deleted file mode 100644
index 33f8d28..0000000
--- a/admin/.svn/pristine/c8/c878ac7136c732249ed9ca0e2b98e97508fde7fa.svn-base
+++ /dev/null
@@ -1,69 +0,0 @@
-<template>
-  <div class="error-404">
-    <div>
-      <div class="left">
-        <img src="../assets/images/404.png">
-        <h1>鎵句笉鍒扮綉椤�</h1>
-        <p></p>
-        <div class="opera">
-          <el-button @click="$router.back()">杩斿洖</el-button>
-          <el-button type="primary" @click="$router.push('/index')">鍓嶅線棣栭〉</el-button>
-        </div>
-      </div>
-      <div class="right">
-        <h2>浣犲彲浠ュ皾璇曚互涓嬫搷浣�</h2>
-        <p>1. 濡傛灉鏄墜鍔ㄦ洿鏀圭殑缃戦〉鍦板潃锛岃妫�鏌ョ綉椤靛湴鍧�鏄惁姝g‘</p>
-        <p>2. 鐐瑰嚮銆愯繑鍥炪�戞寜閽埛鏂伴〉闈㈠悗閲嶈瘯</p>
-        <p>3. 鑱旂郴绯荤粺绠$悊鍛�</p>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'NotFound'
-}
-</script>
-
-<style scoped lang="scss">
-.error-404 {
-  height: 100%;
-  text-align: center;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  & > div {
-    margin-top: -100px;
-    display: flex;
-  }
-  .left {
-    h1 {
-      font-size: 26px;
-    }
-    .opera {
-      margin-top: 30px;
-    }
-  }
-  .right {
-    text-align: left;
-    margin-top: 16px;
-    margin-left: 40px;
-    padding: 30px 50px;
-    border-radius: 16px;
-    background: url("../assets/images/404-tip.png") no-repeat;
-    background-size: 100% 100%;
-    box-sizing: border-box;
-    h2 {
-      font-size: 16px;
-      margin-bottom: 16px;
-    }
-    p {
-      margin: 0;
-      padding: 0;
-      font-size: 14px;
-      line-height: 26px;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/c9/c9bd3faf88f4d5d1421892a174aa3d30db541574.svn-base b/admin/.svn/pristine/c9/c9bd3faf88f4d5d1421892a174aa3d30db541574.svn-base
deleted file mode 100644
index 12bcb5f..0000000
--- a/admin/.svn/pristine/c9/c9bd3faf88f4d5d1421892a174aa3d30db541574.svn-base
+++ /dev/null
@@ -1,51 +0,0 @@
-<template>
-  <el-select
-    class="data-perm-module-select"
-    :class="{select__block: !inline}"
-    :value="value"
-    :placeholder="placeholder"
-    :clearable="clearable"
-    :disabled="disabled"
-    @change="$emit('change', $event)"
-    @input="$emit('input', $event)"
-  >
-    <el-option v-for="module in modules" :key="module.businessCode" :value="module.businessCode" :label="module.moduleName"/>
-  </el-select>
-</template>
-
-<script>
-import { fetchModules } from '@/api/system/dataPermission'
-export default {
-  name: 'DataPermModuleSelect',
-  props: {
-    value: {},
-    placeholder: {
-      default: '璇烽�夋嫨鏉冮檺妯″潡'
-    },
-    inline: {
-      default: true
-    },
-    disabled: {},
-    clearable: {
-      default: false
-    }
-  },
-  data () {
-    return {
-      modules: []
-    }
-  },
-  created () {
-    fetchModules()
-      .cache()
-      .then(data => {
-        this.modules = data
-      })
-  }
-}
-</script>
-<style lang="scss" scoped>
-  .select__block {
-    display: block;
-  }
-</style>
diff --git a/admin/.svn/pristine/cc/cc15ed2707368dede8b4cd80a94306b6cd7b7962.svn-base b/admin/.svn/pristine/cc/cc15ed2707368dede8b4cd80a94306b6cd7b7962.svn-base
deleted file mode 100644
index 743d325..0000000
--- a/admin/.svn/pristine/cc/cc15ed2707368dede8b4cd80a94306b6cd7b7962.svn-base
+++ /dev/null
@@ -1,40 +0,0 @@
-<template>
-  <div class="not-allow">
-    <slot>
-      <div class="content">
-        <img src="../../assets/images/not-allow.png">
-        <h2>鏃犳潈璁块棶</h2>
-        <p>濡傛偍闇�瑕佽闂椤甸潰锛岃鑱旂郴绯荤粺绠$悊鍛�</p>
-      </div>
-    </slot>
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'NotAllow'
-}
-</script>
-
-<style scoped lang="scss">
-.not-allow {
-  height: 100%;
-  background: #fff;
-  box-sizing: border-box;
-  padding-top: 160px;
-  .content {
-    height: 200px;
-    text-align: center;
-    h2 {
-      font-size: 18px;
-      font-weight: normal;
-      margin-top: 8px;
-    }
-    p {
-      font-size: 13px;
-      color: #999;
-      margin: 6px 0;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/cc/cc229ac38902024330c2a8758b332384ba63a31f.svn-base b/admin/.svn/pristine/cc/cc229ac38902024330c2a8758b332384ba63a31f.svn-base
deleted file mode 100644
index 5c8fdfc..0000000
--- a/admin/.svn/pristine/cc/cc229ac38902024330c2a8758b332384ba63a31f.svn-base
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/pristine/cc/cc413911048c70f086db40e2ea0816af552ee2dc.svn-base b/admin/.svn/pristine/cc/cc413911048c70f086db40e2ea0816af552ee2dc.svn-base
deleted file mode 100644
index e955840..0000000
--- a/admin/.svn/pristine/cc/cc413911048c70f086db40e2ea0816af552ee2dc.svn-base
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = {
-  presets: [
-    '@vue/cli-plugin-babel/preset'
-  ]
-}
diff --git a/admin/.svn/pristine/cc/cc99163a9da1331107b0bc42260eeeb14e61c756.svn-base b/admin/.svn/pristine/cc/cc99163a9da1331107b0bc42260eeeb14e61c756.svn-base
deleted file mode 100644
index 7392df2..0000000
--- a/admin/.svn/pristine/cc/cc99163a9da1331107b0bc42260eeeb14e61c756.svn-base
+++ /dev/null
@@ -1,14280 +0,0 @@
-{
-  "name": "intelligent_manufacture",
-  "version": "1.0.0",
-  "lockfileVersion": 1,
-  "requires": true,
-  "dependencies": {
-    "@babel/code-frame": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.12.13.tgz",
-      "integrity": "sha1-3PyCa+72XnXFDiHTg319lXmN1lg=",
-      "dev": true,
-      "requires": {
-        "@babel/highlight": "^7.12.13"
-      }
-    },
-    "@babel/compat-data": {
-      "version": "7.14.0",
-      "resolved": "https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.14.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.14.0.tgz",
-      "integrity": "sha1-qQESi84q0CVl35Xm7L8ZXPlGWRk=",
-      "dev": true
-    },
-    "@babel/core": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/core/download/@babel/core-7.14.2.tgz",
-      "integrity": "sha1-VORTNP/AFyBI5ck97TZGHTrUxBc=",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.12.13",
-        "@babel/generator": "^7.14.2",
-        "@babel/helper-compilation-targets": "^7.13.16",
-        "@babel/helper-module-transforms": "^7.14.2",
-        "@babel/helpers": "^7.14.0",
-        "@babel/parser": "^7.14.2",
-        "@babel/template": "^7.12.13",
-        "@babel/traverse": "^7.14.2",
-        "@babel/types": "^7.14.2",
-        "convert-source-map": "^1.7.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.1.2",
-        "semver": "^6.3.0",
-        "source-map": "^0.5.0"
-      }
-    },
-    "@babel/generator": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/generator/download/@babel/generator-7.14.2.tgz?cache=0&sync_timestamp=1620839974232&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.14.2.tgz",
-      "integrity": "sha1-1Xc+i1V9Qh/Wzg1e+l/X/CJWfDA=",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.14.2",
-        "jsesc": "^2.5.1",
-        "source-map": "^0.5.0"
-      }
-    },
-    "@babel/helper-annotate-as-pure": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.12.13.tgz?cache=0&sync_timestamp=1612314636125&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.12.13.tgz",
-      "integrity": "sha1-D1jobfxLs7H819uAZXDhd9Q5tqs=",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz",
-      "integrity": "sha1-a8IDYciLCnTQUTemXKyNPL9vYfw=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.12.13",
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "@babel/helper-compilation-targets": {
-      "version": "7.13.16",
-      "resolved": "https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.13.16.tgz?cache=0&sync_timestamp=1618918364728&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.13.16.tgz",
-      "integrity": "sha1-bpHczxXj9D5VVt/+MthgEJiHVjw=",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.13.15",
-        "@babel/helper-validator-option": "^7.12.17",
-        "browserslist": "^4.14.5",
-        "semver": "^6.3.0"
-      }
-    },
-    "@babel/helper-create-class-features-plugin": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.14.2.tgz?cache=0&sync_timestamp=1620839457478&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.14.2.tgz",
-      "integrity": "sha1-TkVbAymvKcLTrSVLXdWu00WVOF0=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.12.13",
-        "@babel/helper-function-name": "^7.14.2",
-        "@babel/helper-member-expression-to-functions": "^7.13.12",
-        "@babel/helper-optimise-call-expression": "^7.12.13",
-        "@babel/helper-replace-supers": "^7.13.12",
-        "@babel/helper-split-export-declaration": "^7.12.13"
-      }
-    },
-    "@babel/helper-create-regexp-features-plugin": {
-      "version": "7.12.17",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.12.17.tgz",
-      "integrity": "sha1-oqyH6eMZJprGVbjUQV6U041mPLc=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.12.13",
-        "regexpu-core": "^4.7.1"
-      }
-    },
-    "@babel/helper-define-polyfill-provider": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.0.tgz",
-      "integrity": "sha1-pkAFF3IEX+2q7MbwxsafAr3TS/E=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-compilation-targets": "^7.13.0",
-        "@babel/helper-module-imports": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/traverse": "^7.13.0",
-        "debug": "^4.1.1",
-        "lodash.debounce": "^4.0.8",
-        "resolve": "^1.14.2",
-        "semver": "^6.1.2"
-      }
-    },
-    "@babel/helper-explode-assignable-expression": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.13.0.tgz?cache=0&sync_timestamp=1614034839085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.13.0.tgz",
-      "integrity": "sha1-F7XFn/Rz2flW9A71cM86dsoSZX8=",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.13.0"
-      }
-    },
-    "@babel/helper-function-name": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.14.2.tgz",
-      "integrity": "sha1-OXaItZB2C273cltfCGDIJCfrqsI=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-get-function-arity": "^7.12.13",
-        "@babel/template": "^7.12.13",
-        "@babel/types": "^7.14.2"
-      }
-    },
-    "@babel/helper-get-function-arity": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.12.13.tgz?cache=0&sync_timestamp=1612314686467&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.12.13.tgz",
-      "integrity": "sha1-vGNFHUA6OzCCuX4diz/lvUCR5YM=",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "@babel/helper-hoist-variables": {
-      "version": "7.13.16",
-      "resolved": "https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.13.16.tgz?cache=0&sync_timestamp=1618917701165&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.13.16.tgz",
-      "integrity": "sha1-GxZRJJ6UtR+PDTNDmEPjPjl3WzA=",
-      "dev": true,
-      "requires": {
-        "@babel/traverse": "^7.13.15",
-        "@babel/types": "^7.13.16"
-      }
-    },
-    "@babel/helper-member-expression-to-functions": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.13.12.tgz?cache=0&sync_timestamp=1616428156989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.13.12.tgz",
-      "integrity": "sha1-3+No8m1CagcpnY1lE4IXaCFubXI=",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "@babel/helper-module-imports": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.13.12.tgz?cache=0&sync_timestamp=1616428145076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.13.12.tgz",
-      "integrity": "sha1-xqNppvNiHLJdoBQHhoTakZa2GXc=",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "@babel/helper-module-transforms": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.14.2.tgz",
-      "integrity": "sha1-rBzDDuR7lF4+DE2xL6DFOJUJ3+U=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.13.12",
-        "@babel/helper-replace-supers": "^7.13.12",
-        "@babel/helper-simple-access": "^7.13.12",
-        "@babel/helper-split-export-declaration": "^7.12.13",
-        "@babel/helper-validator-identifier": "^7.14.0",
-        "@babel/template": "^7.12.13",
-        "@babel/traverse": "^7.14.2",
-        "@babel/types": "^7.14.2"
-      }
-    },
-    "@babel/helper-optimise-call-expression": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.12.13.tgz?cache=0&sync_timestamp=1612314687212&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.12.13.tgz",
-      "integrity": "sha1-XALRcbTIYVsecWP4iMHIHDCiquo=",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "@babel/helper-plugin-utils": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.13.0.tgz",
-      "integrity": "sha1-gGUmzhJa7QM3O8QWqCgyHjpqM68=",
-      "dev": true
-    },
-    "@babel/helper-remap-async-to-generator": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.13.0.tgz?cache=0&sync_timestamp=1614034833096&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-remap-async-to-generator%2Fdownload%2F%40babel%2Fhelper-remap-async-to-generator-7.13.0.tgz",
-      "integrity": "sha1-N2p2DZ97SyB3qd0Fqpw5J8rbIgk=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.12.13",
-        "@babel/helper-wrap-function": "^7.13.0",
-        "@babel/types": "^7.13.0"
-      }
-    },
-    "@babel/helper-replace-supers": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.13.12.tgz?cache=0&sync_timestamp=1616428110982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.13.12.tgz",
-      "integrity": "sha1-ZEL0wa2RJQJIGlZKc4beDHf/OAQ=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-member-expression-to-functions": "^7.13.12",
-        "@babel/helper-optimise-call-expression": "^7.12.13",
-        "@babel/traverse": "^7.13.0",
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "@babel/helper-simple-access": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.13.12.tgz?cache=0&sync_timestamp=1616428158129&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.13.12.tgz",
-      "integrity": "sha1-3WxTivthgZ0gWgEsMXkqOcel6vY=",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.13.12"
-      }
-    },
-    "@babel/helper-skip-transparent-expression-wrappers": {
-      "version": "7.12.1",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.12.1.tgz",
-      "integrity": "sha1-Ri3GOn5DWt6EaDhcY9K4TM5LPL8=",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.12.1"
-      }
-    },
-    "@babel/helper-split-export-declaration": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.12.13.tgz?cache=0&sync_timestamp=1612314686094&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.12.13.tgz",
-      "integrity": "sha1-6UML4AuvPoiw4T5vnU6vITY3KwU=",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "@babel/helper-validator-identifier": {
-      "version": "7.14.0",
-      "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.0.tgz?cache=0&sync_timestamp=1619727556616&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.0.tgz",
-      "integrity": "sha1-0mytikfGUoaxXfFUcxml0Lzycog=",
-      "dev": true
-    },
-    "@babel/helper-validator-option": {
-      "version": "7.12.17",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-option/download/@babel/helper-validator-option-7.12.17.tgz?cache=0&sync_timestamp=1613661300791&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-option%2Fdownload%2F%40babel%2Fhelper-validator-option-7.12.17.tgz",
-      "integrity": "sha1-0fvwEuGnm37rv9xtJwuq+NnrmDE=",
-      "dev": true
-    },
-    "@babel/helper-wrap-function": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.13.0.tgz?cache=0&sync_timestamp=1614034839729&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.13.0.tgz",
-      "integrity": "sha1-vbXGb9qFJuwjWriUrVOhI1x5/MQ=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.12.13",
-        "@babel/template": "^7.12.13",
-        "@babel/traverse": "^7.13.0",
-        "@babel/types": "^7.13.0"
-      }
-    },
-    "@babel/helpers": {
-      "version": "7.14.0",
-      "resolved": "https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.14.0.tgz?cache=0&sync_timestamp=1619727503327&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.14.0.tgz",
-      "integrity": "sha1-6ptr6UeKE9b5Ydu182v3Xi87j2I=",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.12.13",
-        "@babel/traverse": "^7.14.0",
-        "@babel/types": "^7.14.0"
-      }
-    },
-    "@babel/highlight": {
-      "version": "7.14.0",
-      "resolved": "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.14.0.tgz",
-      "integrity": "sha1-MZfjdXEe9r+DTmfQ2uyI5PRhE88=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-validator-identifier": "^7.14.0",
-        "chalk": "^2.0.0",
-        "js-tokens": "^4.0.0"
-      }
-    },
-    "@babel/parser": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.14.2.tgz",
-      "integrity": "sha1-DBaAqkStRgWxbL3MXDQaYb3px0Y=",
-      "dev": true
-    },
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
-      "version": "7.13.12",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining%2Fdownload%2F%40babel%2Fplugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz",
-      "integrity": "sha1-o0hNhNC1SfP8kWuZ7keD8m+rrSo=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
-        "@babel/plugin-proposal-optional-chaining": "^7.13.12"
-      }
-    },
-    "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-async-generator-functions%2Fdownload%2F%40babel%2Fplugin-proposal-async-generator-functions-7.14.2.tgz",
-      "integrity": "sha1-OiCFq79dX5YtSA28gTRzhe1i6x4=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/helper-remap-async-to-generator": "^7.13.0",
-        "@babel/plugin-syntax-async-generators": "^7.8.4"
-      }
-    },
-    "@babel/plugin-proposal-class-properties": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.13.0.tgz?cache=0&sync_timestamp=1614034504606&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.13.0.tgz",
-      "integrity": "sha1-FGN2AAuU79AB5XpAqIpSWvqrnzc=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.13.0",
-        "@babel/helper-plugin-utils": "^7.13.0"
-      }
-    },
-    "@babel/plugin-proposal-class-static-block": {
-      "version": "7.13.11",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.13.11.tgz",
-      "integrity": "sha1-b8u6SpYnAsF+U3Ggx7Oa/eGG1wM=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/plugin-syntax-class-static-block": "^7.12.13"
-      }
-    },
-    "@babel/plugin-proposal-decorators": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.14.2.tgz?cache=0&sync_timestamp=1620840050927&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-decorators%2Fdownload%2F%40babel%2Fplugin-proposal-decorators-7.14.2.tgz",
-      "integrity": "sha1-5ow8XkpqCINEVlaCVvw+cbk1kM8=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.14.2",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/plugin-syntax-decorators": "^7.12.13"
-      }
-    },
-    "@babel/plugin-proposal-dynamic-import": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.14.2.tgz",
-      "integrity": "sha1-Aeur18OBz/Ix+kPjApOaneW+nZ8=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-export-namespace-from": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.14.2.tgz",
-      "integrity": "sha1-YlQvlKqc6Pbbp57saYryIRIlN5E=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-json-strings": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.14.2.tgz?cache=0&sync_timestamp=1620840046817&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.14.2.tgz",
-      "integrity": "sha1-gwtOJCanguiyh4+/4suoW3DL+Yw=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/plugin-syntax-json-strings": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-logical-assignment-operators": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.14.2.tgz",
-      "integrity": "sha1-IiNIwIChZ44OdOpj/nbydYgtH9c=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
-      }
-    },
-    "@babel/plugin-proposal-nullish-coalescing-operator": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz",
-      "integrity": "sha1-QlsR3GL8JpOaKrQsu6aAvfVzRUY=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-numeric-separator": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.14.2.tgz",
-      "integrity": "sha1-grTMBlcRQ/r1BiYQSzNd1xuqT54=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
-      }
-    },
-    "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.14.2.tgz?cache=0&sync_timestamp=1620840046672&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.14.2.tgz",
-      "integrity": "sha1-4X1Bj4HMED/t1M4DfhgcgFYiWrw=",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.14.0",
-        "@babel/helper-compilation-targets": "^7.13.16",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-transform-parameters": "^7.14.2"
-      }
-    },
-    "@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-proposal-optional-catch-binding-7.14.2.tgz",
-      "integrity": "sha1-FQ1OWOUlsWqaFDG9UybE7thw1xc=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-optional-chaining": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.14.2.tgz?cache=0&sync_timestamp=1620840046588&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.14.2.tgz",
-      "integrity": "sha1-34FxqLnEPr9MHavmMRtDLYPhs04=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
-      }
-    },
-    "@babel/plugin-proposal-private-methods": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.13.0.tgz?cache=0&sync_timestamp=1614034842648&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.13.0.tgz",
-      "integrity": "sha1-BL1MbUD25rv6L1fi2AlLrZAO94c=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.13.0",
-        "@babel/helper-plugin-utils": "^7.13.0"
-      }
-    },
-    "@babel/plugin-proposal-private-property-in-object": {
-      "version": "7.14.0",
-      "resolved": "https://registry.nlark.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.14.0.tgz?cache=0&sync_timestamp=1619727515932&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-private-property-in-object%2Fdownload%2F%40babel%2Fplugin-proposal-private-property-in-object-7.14.0.tgz",
-      "integrity": "sha1-saHyAwWGudNInMJhedLrWIMndjY=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.12.13",
-        "@babel/helper-create-class-features-plugin": "^7.14.0",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.0"
-      }
-    },
-    "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.12.13.tgz",
-      "integrity": "sha1-vr3lEzm+gpwXqqrO0YZB3rYrObo=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-syntax-async-generators": {
-      "version": "7.8.4",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz",
-      "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-class-properties": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-class-properties%2Fdownload%2F%40babel%2Fplugin-syntax-class-properties-7.12.13.tgz",
-      "integrity": "sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-syntax-class-static-block": {
-      "version": "7.12.13",
-      "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.12.13.tgz",
-      "integrity": "sha1-jj1nSwYT5nl1zqwndsl7YMr8XJw=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-syntax-decorators": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.12.13.tgz",
-      "integrity": "sha1-+sgpvzx+9KG8kWJXtAPljGva9kg=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-syntax-dynamic-import": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz",
-      "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-export-namespace-from": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz",
-      "integrity": "sha1-AolkqbqA28CUyRXEh618TnpmRlo=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
-      }
-    },
-    "@babel/plugin-syntax-json-strings": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz",
-      "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-jsx": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.12.13.tgz",
-      "integrity": "sha1-BE+4HrrWaY/mLEeIdVdby7m3DxU=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-syntax-logical-assignment-operators": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
-      "integrity": "sha1-ypHvRjA1MESLkGZSusLp/plB9pk=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      }
-    },
-    "@babel/plugin-syntax-nullish-coalescing-operator": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
-      "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-numeric-separator": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz?cache=0&sync_timestamp=1593521791666&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-numeric-separator%2Fdownload%2F%40babel%2Fplugin-syntax-numeric-separator-7.10.4.tgz",
-      "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      }
-    },
-    "@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz",
-      "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz",
-      "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-chaining": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz",
-      "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-private-property-in-object": {
-      "version": "7.14.0",
-      "resolved": "https://registry.nlark.com/@babel/plugin-syntax-private-property-in-object/download/@babel/plugin-syntax-private-property-in-object-7.14.0.tgz",
-      "integrity": "sha1-dipLq+xhF2/sbIhIDexANysUDAs=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0"
-      }
-    },
-    "@babel/plugin-syntax-top-level-await": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.12.13.tgz",
-      "integrity": "sha1-xfD6biSfW3OXJ/kjVAz3qAYTAXg=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-arrow-functions": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.13.0.tgz?cache=0&sync_timestamp=1614034822229&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.13.0.tgz",
-      "integrity": "sha1-EKWb661S1jegJ6+mkujVzv9ePa4=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0"
-      }
-    },
-    "@babel/plugin-transform-async-to-generator": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.13.0.tgz?cache=0&sync_timestamp=1614034507617&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-async-to-generator%2Fdownload%2F%40babel%2Fplugin-transform-async-to-generator-7.13.0.tgz",
-      "integrity": "sha1-jhEr9ncbgr8el05eJoBsXJmqUW8=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/helper-remap-async-to-generator": "^7.13.0"
-      }
-    },
-    "@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.12.13.tgz?cache=0&sync_timestamp=1612314757904&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.12.13.tgz",
-      "integrity": "sha1-qb8YNvKjm062zwmWdzneKepL9MQ=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-block-scoping": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.14.2.tgz",
-      "integrity": "sha1-dhyxKrWojWQK1K9KqB+CDmtf31w=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0"
-      }
-    },
-    "@babel/plugin-transform-classes": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.14.2.tgz?cache=0&sync_timestamp=1620840046699&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.14.2.tgz",
-      "integrity": "sha1-PxGWxXCfBkwlKtBWIH2Ht66y0D0=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.12.13",
-        "@babel/helper-function-name": "^7.14.2",
-        "@babel/helper-optimise-call-expression": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/helper-replace-supers": "^7.13.12",
-        "@babel/helper-split-export-declaration": "^7.12.13",
-        "globals": "^11.1.0"
-      }
-    },
-    "@babel/plugin-transform-computed-properties": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.13.0.tgz?cache=0&sync_timestamp=1614034823289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-computed-properties%2Fdownload%2F%40babel%2Fplugin-transform-computed-properties-7.13.0.tgz",
-      "integrity": "sha1-hFxui5u1U3ax+guS7wvcjqBmRO0=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0"
-      }
-    },
-    "@babel/plugin-transform-destructuring": {
-      "version": "7.13.17",
-      "resolved": "https://registry.nlark.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.13.17.tgz?cache=0&sync_timestamp=1618960864725&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-destructuring%2Fdownload%2F%40babel%2Fplugin-transform-destructuring-7.13.17.tgz",
-      "integrity": "sha1-Z42WV2Y4wZ1bNrMyUE0/1uBt6ic=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0"
-      }
-    },
-    "@babel/plugin-transform-dotall-regex": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314760609&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-dotall-regex%2Fdownload%2F%40babel%2Fplugin-transform-dotall-regex-7.12.13.tgz",
-      "integrity": "sha1-PxYBzCmQW/y2f1ORDxl66v67Ja0=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.12.13.tgz?cache=0&sync_timestamp=1612314757993&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-duplicate-keys%2Fdownload%2F%40babel%2Fplugin-transform-duplicate-keys-7.12.13.tgz",
-      "integrity": "sha1-bwa4eouAP9ko5UuBwljwoAM5BN4=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.12.13.tgz?cache=0&sync_timestamp=1612314760620&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.12.13.tgz",
-      "integrity": "sha1-TVI5C5onPmUeSrpq7knvQOgM0KE=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-for-of": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.13.0.tgz?cache=0&sync_timestamp=1614034500476&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-for-of%2Fdownload%2F%40babel%2Fplugin-transform-for-of-7.13.0.tgz",
-      "integrity": "sha1-x5n4gagJGsJrVIZ6hFw+l9JpYGI=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0"
-      }
-    },
-    "@babel/plugin-transform-function-name": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.12.13.tgz?cache=0&sync_timestamp=1612314760791&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-function-name%2Fdownload%2F%40babel%2Fplugin-transform-function-name-7.12.13.tgz",
-      "integrity": "sha1-uwJEUvmq7YYdN0yOeiQlLOOlAFE=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-literals": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.12.13.tgz",
-      "integrity": "sha1-LKRbr+SoIBl88xV5Sk0mVg/kvbk=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-member-expression-literals": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.12.13.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-member-expression-literals%2Fdownload%2F%40babel%2Fplugin-transform-member-expression-literals-7.12.13.tgz",
-      "integrity": "sha1-X/pmzVm54ZExTJ8fgDuTjowIHkA=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-modules-amd": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.14.2.tgz",
-      "integrity": "sha1-ZiKAb+GnwHoTiERCIu+VNfLKF7A=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.14.2",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      }
-    },
-    "@babel/plugin-transform-modules-commonjs": {
-      "version": "7.14.0",
-      "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.14.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-commonjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-commonjs-7.14.0.tgz",
-      "integrity": "sha1-UrwZnLWB4Jku26Dw+ANWRnWH8WE=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.14.0",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/helper-simple-access": "^7.13.12",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      }
-    },
-    "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.13.8",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.13.8.tgz?cache=0&sync_timestamp=1614383098157&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.13.8.tgz",
-      "integrity": "sha1-bQZu4r/zx7PWC/KN7Baa2ZODGuM=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.13.0",
-        "@babel/helper-module-transforms": "^7.13.0",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/helper-validator-identifier": "^7.12.11",
-        "babel-plugin-dynamic-import-node": "^2.3.3"
-      }
-    },
-    "@babel/plugin-transform-modules-umd": {
-      "version": "7.14.0",
-      "resolved": "https://registry.nlark.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.14.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.14.0.tgz",
-      "integrity": "sha1-L4F50bvJJjZlzkpl8wVSay6orDQ=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.14.0",
-        "@babel/helper-plugin-utils": "^7.13.0"
-      }
-    },
-    "@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314757088&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-named-capturing-groups-regex%2Fdownload%2F%40babel%2Fplugin-transform-named-capturing-groups-regex-7.12.13.tgz",
-      "integrity": "sha1-IhNyWl9bu+NktQw7pZmMlZnFydk=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-new-target": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.12.13.tgz",
-      "integrity": "sha1-4i2MOvJLFQ3VKMvW5oXnmb8cNRw=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-object-super": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.12.13.tgz?cache=0&sync_timestamp=1612314760724&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.12.13.tgz",
-      "integrity": "sha1-tEFqLWO4974xTz00m9VanBtRcfc=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13",
-        "@babel/helper-replace-supers": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-parameters": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-parameters%2Fdownload%2F%40babel%2Fplugin-transform-parameters-7.14.2.tgz",
-      "integrity": "sha1-5CkPcuDp6DEADQZkJ8RmcJjezDE=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0"
-      }
-    },
-    "@babel/plugin-transform-property-literals": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.12.13.tgz",
-      "integrity": "sha1-TmqeN4ZNjxs7wOLc57+IV9uLGoE=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-regenerator": {
-      "version": "7.13.15",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.13.15.tgz",
-      "integrity": "sha1-5esolFv4tlY+f4GJRflmqNKZfzk=",
-      "dev": true,
-      "requires": {
-        "regenerator-transform": "^0.14.2"
-      }
-    },
-    "@babel/plugin-transform-reserved-words": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.12.13.tgz",
-      "integrity": "sha1-fZmI1PBuD+aX6h2YAxiKoYtHJpU=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-runtime": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-runtime%2Fdownload%2F%40babel%2Fplugin-transform-runtime-7.14.2.tgz",
-      "integrity": "sha1-TiQ4m9aA3ZTqG4cUZdABEq6XRCU=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.13.12",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "babel-plugin-polyfill-corejs2": "^0.2.0",
-        "babel-plugin-polyfill-corejs3": "^0.2.0",
-        "babel-plugin-polyfill-regenerator": "^0.2.0",
-        "semver": "^6.3.0"
-      }
-    },
-    "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.12.13.tgz?cache=0&sync_timestamp=1612314760117&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-shorthand-properties%2Fdownload%2F%40babel%2Fplugin-transform-shorthand-properties-7.12.13.tgz",
-      "integrity": "sha1-23VXMrcMU51QTGOQ2c6Q/mSv960=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-spread": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.13.0.tgz?cache=0&sync_timestamp=1614034823666&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-spread%2Fdownload%2F%40babel%2Fplugin-transform-spread-7.13.0.tgz",
-      "integrity": "sha1-hIh3EOJzwYFaznrkWfb0Kl0x1f0=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1"
-      }
-    },
-    "@babel/plugin-transform-sticky-regex": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314760921&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-sticky-regex%2Fdownload%2F%40babel%2Fplugin-transform-sticky-regex-7.12.13.tgz",
-      "integrity": "sha1-dg/9k2+s5z+GCuZG+4bugvPQbR8=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-template-literals": {
-      "version": "7.13.0",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.13.0.tgz",
-      "integrity": "sha1-o2BJEnl3rZRDje50Q1mNHO/fQJ0=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.13.0"
-      }
-    },
-    "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.12.13.tgz?cache=0&sync_timestamp=1612314760046&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-typeof-symbol%2Fdownload%2F%40babel%2Fplugin-transform-typeof-symbol-7.12.13.tgz",
-      "integrity": "sha1-eF3Weh8upXnZwr5yLejITLhfWn8=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-unicode-escapes": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.12.13.tgz",
-      "integrity": "sha1-hAztO4FtO1En3R0S3O3F3q0aXnQ=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-transform-unicode-regex": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.12.13.tgz?cache=0&sync_timestamp=1612314760208&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-regex%2Fdownload%2F%40babel%2Fplugin-transform-unicode-regex-7.12.13.tgz",
-      "integrity": "sha1-tSUhaFgE4VWxIC6D/BiNNLtw9aw=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.12.13",
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/preset-env": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/preset-env/download/@babel/preset-env-7.14.2.tgz?cache=0&sync_timestamp=1620839457830&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fpreset-env%2Fdownload%2F%40babel%2Fpreset-env-7.14.2.tgz",
-      "integrity": "sha1-6AYSll2nNXnIStL5Y8I1nHFSTtU=",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.14.0",
-        "@babel/helper-compilation-targets": "^7.13.16",
-        "@babel/helper-plugin-utils": "^7.13.0",
-        "@babel/helper-validator-option": "^7.12.17",
-        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12",
-        "@babel/plugin-proposal-async-generator-functions": "^7.14.2",
-        "@babel/plugin-proposal-class-properties": "^7.13.0",
-        "@babel/plugin-proposal-class-static-block": "^7.13.11",
-        "@babel/plugin-proposal-dynamic-import": "^7.14.2",
-        "@babel/plugin-proposal-export-namespace-from": "^7.14.2",
-        "@babel/plugin-proposal-json-strings": "^7.14.2",
-        "@babel/plugin-proposal-logical-assignment-operators": "^7.14.2",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.2",
-        "@babel/plugin-proposal-numeric-separator": "^7.14.2",
-        "@babel/plugin-proposal-object-rest-spread": "^7.14.2",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.14.2",
-        "@babel/plugin-proposal-optional-chaining": "^7.14.2",
-        "@babel/plugin-proposal-private-methods": "^7.13.0",
-        "@babel/plugin-proposal-private-property-in-object": "^7.14.0",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.12.13",
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-class-properties": "^7.12.13",
-        "@babel/plugin-syntax-class-static-block": "^7.12.13",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.0",
-        "@babel/plugin-syntax-top-level-await": "^7.12.13",
-        "@babel/plugin-transform-arrow-functions": "^7.13.0",
-        "@babel/plugin-transform-async-to-generator": "^7.13.0",
-        "@babel/plugin-transform-block-scoped-functions": "^7.12.13",
-        "@babel/plugin-transform-block-scoping": "^7.14.2",
-        "@babel/plugin-transform-classes": "^7.14.2",
-        "@babel/plugin-transform-computed-properties": "^7.13.0",
-        "@babel/plugin-transform-destructuring": "^7.13.17",
-        "@babel/plugin-transform-dotall-regex": "^7.12.13",
-        "@babel/plugin-transform-duplicate-keys": "^7.12.13",
-        "@babel/plugin-transform-exponentiation-operator": "^7.12.13",
-        "@babel/plugin-transform-for-of": "^7.13.0",
-        "@babel/plugin-transform-function-name": "^7.12.13",
-        "@babel/plugin-transform-literals": "^7.12.13",
-        "@babel/plugin-transform-member-expression-literals": "^7.12.13",
-        "@babel/plugin-transform-modules-amd": "^7.14.2",
-        "@babel/plugin-transform-modules-commonjs": "^7.14.0",
-        "@babel/plugin-transform-modules-systemjs": "^7.13.8",
-        "@babel/plugin-transform-modules-umd": "^7.14.0",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13",
-        "@babel/plugin-transform-new-target": "^7.12.13",
-        "@babel/plugin-transform-object-super": "^7.12.13",
-        "@babel/plugin-transform-parameters": "^7.14.2",
-        "@babel/plugin-transform-property-literals": "^7.12.13",
-        "@babel/plugin-transform-regenerator": "^7.13.15",
-        "@babel/plugin-transform-reserved-words": "^7.12.13",
-        "@babel/plugin-transform-shorthand-properties": "^7.12.13",
-        "@babel/plugin-transform-spread": "^7.13.0",
-        "@babel/plugin-transform-sticky-regex": "^7.12.13",
-        "@babel/plugin-transform-template-literals": "^7.13.0",
-        "@babel/plugin-transform-typeof-symbol": "^7.12.13",
-        "@babel/plugin-transform-unicode-escapes": "^7.12.13",
-        "@babel/plugin-transform-unicode-regex": "^7.12.13",
-        "@babel/preset-modules": "^0.1.4",
-        "@babel/types": "^7.14.2",
-        "babel-plugin-polyfill-corejs2": "^0.2.0",
-        "babel-plugin-polyfill-corejs3": "^0.2.0",
-        "babel-plugin-polyfill-regenerator": "^0.2.0",
-        "core-js-compat": "^3.9.0",
-        "semver": "^6.3.0"
-      }
-    },
-    "@babel/preset-modules": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz?cache=0&sync_timestamp=1598549925898&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-modules%2Fdownload%2F%40babel%2Fpreset-modules-0.1.4.tgz",
-      "integrity": "sha1-Ni8raMZihClw/bXiVP/I/BwuQV4=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
-        "@babel/plugin-transform-dotall-regex": "^7.4.4",
-        "@babel/types": "^7.4.4",
-        "esutils": "^2.0.2"
-      }
-    },
-    "@babel/runtime": {
-      "version": "7.14.0",
-      "resolved": "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.0.tgz?cache=0&sync_timestamp=1619727501090&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.0.tgz",
-      "integrity": "sha1-RnlLwgthLF915i3QceJN/ZXxy+Y=",
-      "requires": {
-        "regenerator-runtime": "^0.13.4"
-      }
-    },
-    "@babel/template": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.12.13.tgz",
-      "integrity": "sha1-UwJlvooliduzdSOETFvLVZR/syc=",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.12.13",
-        "@babel/parser": "^7.12.13",
-        "@babel/types": "^7.12.13"
-      }
-    },
-    "@babel/traverse": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.14.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.14.2.tgz",
-      "integrity": "sha1-kgGo2RJyOoMcJnnH678v4UFtdls=",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.12.13",
-        "@babel/generator": "^7.14.2",
-        "@babel/helper-function-name": "^7.14.2",
-        "@babel/helper-split-export-declaration": "^7.12.13",
-        "@babel/parser": "^7.14.2",
-        "@babel/types": "^7.14.2",
-        "debug": "^4.1.0",
-        "globals": "^11.1.0"
-      }
-    },
-    "@babel/types": {
-      "version": "7.14.2",
-      "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.2.tgz?cache=0&sync_timestamp=1620839476067&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.2.tgz",
-      "integrity": "sha1-QgiuADEH74oFfqgzPlbrZNL2osM=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-validator-identifier": "^7.14.0",
-        "to-fast-properties": "^2.0.0"
-      }
-    },
-    "@hapi/address": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1603524710662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz",
-      "integrity": "sha1-XWftQ/P9QaadS5/3tW58DR0KgeU=",
-      "dev": true
-    },
-    "@hapi/bourne": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npm.taobao.org/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz?cache=0&sync_timestamp=1593915150444&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fbourne%2Fdownload%2F%40hapi%2Fbourne-1.3.2.tgz",
-      "integrity": "sha1-CnCVreoGckPOMoPhtWuKj0U7JCo=",
-      "dev": true
-    },
-    "@hapi/hoek": {
-      "version": "8.5.1",
-      "resolved": "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz",
-      "integrity": "sha1-/elgZMpEbeyMVajC8TCVewcMbgY=",
-      "dev": true
-    },
-    "@hapi/joi": {
-      "version": "15.1.1",
-      "resolved": "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz?cache=0&sync_timestamp=1603524515155&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fjoi%2Fdownload%2F%40hapi%2Fjoi-15.1.1.tgz",
-      "integrity": "sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc=",
-      "dev": true,
-      "requires": {
-        "@hapi/address": "2.x.x",
-        "@hapi/bourne": "1.x.x",
-        "@hapi/hoek": "8.x.x",
-        "@hapi/topo": "3.x.x"
-      }
-    },
-    "@hapi/topo": {
-      "version": "3.1.6",
-      "resolved": "https://registry.npm.taobao.org/@hapi/topo/download/@hapi/topo-3.1.6.tgz?cache=0&sync_timestamp=1593916080558&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Ftopo%2Fdownload%2F%40hapi%2Ftopo-3.1.6.tgz",
-      "integrity": "sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck=",
-      "dev": true,
-      "requires": {
-        "@hapi/hoek": "^8.3.0"
-      }
-    },
-    "@intervolga/optimize-cssnano-plugin": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npm.taobao.org/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz",
-      "integrity": "sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg=",
-      "dev": true,
-      "requires": {
-        "cssnano": "^4.0.0",
-        "cssnano-preset-default": "^4.0.0",
-        "postcss": "^7.0.0"
-      }
-    },
-    "@mrmlnc/readdir-enhanced": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz",
-      "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=",
-      "dev": true,
-      "requires": {
-        "call-me-maybe": "^1.0.1",
-        "glob-to-regexp": "^0.3.0"
-      }
-    },
-    "@nodelib/fs.scandir": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npm.taobao.org/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.4.tgz?cache=0&sync_timestamp=1609074618762&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.scandir%2Fdownload%2F%40nodelib%2Ffs.scandir-2.1.4.tgz",
-      "integrity": "sha1-1LNUml213iaD4MEHGrTxQJBLv2k=",
-      "dev": true,
-      "requires": {
-        "@nodelib/fs.stat": "2.0.4",
-        "run-parallel": "^1.1.9"
-      },
-      "dependencies": {
-        "@nodelib/fs.stat": {
-          "version": "2.0.4",
-          "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.4.tgz?cache=0&sync_timestamp=1609074554588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-2.0.4.tgz",
-          "integrity": "sha1-o/LdYbq0O424+hCKEhz//kxnZlU=",
-          "dev": true
-        }
-      }
-    },
-    "@nodelib/fs.stat": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz?cache=0&sync_timestamp=1609074554588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-1.1.3.tgz",
-      "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=",
-      "dev": true
-    },
-    "@nodelib/fs.walk": {
-      "version": "1.2.6",
-      "resolved": "https://registry.npm.taobao.org/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.6.tgz?cache=0&sync_timestamp=1609077165961&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.walk%2Fdownload%2F%40nodelib%2Ffs.walk-1.2.6.tgz",
-      "integrity": "sha1-zOk5azCqWv6eN1Zgj1gxrctT0GM=",
-      "dev": true,
-      "requires": {
-        "@nodelib/fs.scandir": "2.1.4",
-        "fastq": "^1.6.0"
-      }
-    },
-    "@riophae/vue-treeselect": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npm.taobao.org/@riophae/vue-treeselect/download/@riophae/vue-treeselect-0.4.0.tgz",
-      "integrity": "sha1-C67Vp5TP/FgLY1kfNcEl5RwN8kE=",
-      "requires": {
-        "@babel/runtime": "^7.3.1",
-        "babel-helper-vue-jsx-merge-props": "^2.0.3",
-        "easings-css": "^1.0.0",
-        "fuzzysearch": "^1.0.3",
-        "is-promise": "^2.1.0",
-        "lodash": "^4.0.0",
-        "material-colors": "^1.2.6",
-        "watch-size": "^2.0.0"
-      }
-    },
-    "@samverschueren/stream-to-observable": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npm.taobao.org/@samverschueren/stream-to-observable/download/@samverschueren/stream-to-observable-0.3.1.tgz?cache=0&sync_timestamp=1596974175687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40samverschueren%2Fstream-to-observable%2Fdownload%2F%40samverschueren%2Fstream-to-observable-0.3.1.tgz",
-      "integrity": "sha1-ohEXsZ7pvnDDeewYd1N+8uHGMwE=",
-      "dev": true,
-      "requires": {
-        "any-observable": "^0.3.0"
-      }
-    },
-    "@soda/friendly-errors-webpack-plugin": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz?cache=0&sync_timestamp=1607927399532&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40soda%2Ffriendly-errors-webpack-plugin%2Fdownload%2F%40soda%2Ffriendly-errors-webpack-plugin-1.8.0.tgz",
-      "integrity": "sha1-hHUdgqkwGdXJLAzw5FrFkIfNIkA=",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.2",
-        "error-stack-parser": "^2.0.2",
-        "string-width": "^2.0.0",
-        "strip-ansi": "^5"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz",
-          "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
-          "dev": true,
-          "requires": {
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^4.0.0"
-          },
-          "dependencies": {
-            "strip-ansi": {
-              "version": "4.0.0",
-              "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz",
-              "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^3.0.0"
-              }
-            }
-          }
-        },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
-          "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^4.1.0"
-          },
-          "dependencies": {
-            "ansi-regex": {
-              "version": "4.1.0",
-              "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz",
-              "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
-              "dev": true
-            }
-          }
-        }
-      }
-    },
-    "@soda/get-current-script": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/@soda/get-current-script/download/@soda/get-current-script-1.0.2.tgz",
-      "integrity": "sha1-pTUV2yXYA4N0OBtzryC7Ty5QjYc=",
-      "dev": true
-    },
-    "@types/anymatch": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz?cache=0&sync_timestamp=1613378060592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fanymatch%2Fdownload%2F%40types%2Fanymatch-1.3.1.tgz",
-      "integrity": "sha1-M2utwb7sudrMOL6izzKt9ieoQho=",
-      "dev": true
-    },
-    "@types/body-parser": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.19.0.tgz?cache=0&sync_timestamp=1613378063000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbody-parser%2Fdownload%2F%40types%2Fbody-parser-1.19.0.tgz",
-      "integrity": "sha1-BoWzxH6zAG/+0RfN1VFkth+AU48=",
-      "dev": true,
-      "requires": {
-        "@types/connect": "*",
-        "@types/node": "*"
-      }
-    },
-    "@types/connect": {
-      "version": "3.4.34",
-      "resolved": "https://registry.nlark.com/@types/connect/download/@types/connect-3.4.34.tgz",
-      "integrity": "sha1-FwpAIjptZmAG2TyhKK8r6x2bGQE=",
-      "dev": true,
-      "requires": {
-        "@types/node": "*"
-      }
-    },
-    "@types/connect-history-api-fallback": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npm.taobao.org/@types/connect-history-api-fallback/download/@types/connect-history-api-fallback-1.3.4.tgz?cache=0&sync_timestamp=1615910664204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fconnect-history-api-fallback%2Fdownload%2F%40types%2Fconnect-history-api-fallback-1.3.4.tgz",
-      "integrity": "sha1-jA8Obl2CUraZ9aZi9Rvfgv2di7g=",
-      "dev": true,
-      "requires": {
-        "@types/express-serve-static-core": "*",
-        "@types/node": "*"
-      }
-    },
-    "@types/express": {
-      "version": "4.17.11",
-      "resolved": "https://registry.nlark.com/@types/express/download/@types/express-4.17.11.tgz",
-      "integrity": "sha1-3r48qm+OX82pa0e9VOL0DE7llUU=",
-      "dev": true,
-      "requires": {
-        "@types/body-parser": "*",
-        "@types/express-serve-static-core": "^4.17.18",
-        "@types/qs": "*",
-        "@types/serve-static": "*"
-      }
-    },
-    "@types/express-serve-static-core": {
-      "version": "4.17.19",
-      "resolved": "https://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.19.tgz?cache=0&sync_timestamp=1615830555880&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fexpress-serve-static-core%2Fdownload%2F%40types%2Fexpress-serve-static-core-4.17.19.tgz",
-      "integrity": "sha1-AKz8FjLnKaysTxUw6eFvbdFQih0=",
-      "dev": true,
-      "requires": {
-        "@types/node": "*",
-        "@types/qs": "*",
-        "@types/range-parser": "*"
-      }
-    },
-    "@types/glob": {
-      "version": "7.1.3",
-      "resolved": "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.3.tgz",
-      "integrity": "sha1-5rqA82t9qtLGhazZJmOC5omFwYM=",
-      "dev": true,
-      "requires": {
-        "@types/minimatch": "*",
-        "@types/node": "*"
-      }
-    },
-    "@types/http-proxy": {
-      "version": "1.17.6",
-      "resolved": "https://registry.nlark.com/@types/http-proxy/download/@types/http-proxy-1.17.6.tgz?cache=0&sync_timestamp=1621034446420&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fhttp-proxy%2Fdownload%2F%40types%2Fhttp-proxy-1.17.6.tgz",
-      "integrity": "sha1-Ytw/reIn1qwoYsjxnuDanan9hhY=",
-      "dev": true,
-      "requires": {
-        "@types/node": "*"
-      }
-    },
-    "@types/json-schema": {
-      "version": "7.0.7",
-      "resolved": "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.7.tgz?cache=0&sync_timestamp=1613378919536&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.7.tgz",
-      "integrity": "sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0=",
-      "dev": true
-    },
-    "@types/json5": {
-      "version": "0.0.29",
-      "resolved": "https://registry.npm.taobao.org/@types/json5/download/@types/json5-0.0.29.tgz",
-      "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
-      "dev": true
-    },
-    "@types/mime": {
-      "version": "1.3.2",
-      "resolved": "https://registry.nlark.com/@types/mime/download/@types/mime-1.3.2.tgz?cache=0&sync_timestamp=1618846739993&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fmime%2Fdownload%2F%40types%2Fmime-1.3.2.tgz",
-      "integrity": "sha1-k+Jb+e51/g/YC1lLxP6w6GIRG1o=",
-      "dev": true
-    },
-    "@types/minimatch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.4.tgz",
-      "integrity": "sha1-8Owl2/Lw5LGGRzE6wDETTKWySyE=",
-      "dev": true
-    },
-    "@types/minimist": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/@types/minimist/download/@types/minimist-1.2.1.tgz?cache=0&sync_timestamp=1613379261405&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fminimist%2Fdownload%2F%40types%2Fminimist-1.2.1.tgz",
-      "integrity": "sha1-KD9mn/dte4Jg34q3pCYsyD2YglY=",
-      "dev": true
-    },
-    "@types/node": {
-      "version": "15.3.0",
-      "resolved": "https://registry.nlark.com/@types/node/download/@types/node-15.3.0.tgz",
-      "integrity": "sha1-1v7X1rxoVDBto96hr5+HSwB4PiY=",
-      "dev": true
-    },
-    "@types/normalize-package-data": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npm.taobao.org/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz?cache=0&sync_timestamp=1613379350842&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.0.tgz",
-      "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4=",
-      "dev": true
-    },
-    "@types/q": {
-      "version": "1.5.4",
-      "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz",
-      "integrity": "sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=",
-      "dev": true
-    },
-    "@types/qs": {
-      "version": "6.9.6",
-      "resolved": "https://registry.npm.taobao.org/@types/qs/download/@types/qs-6.9.6.tgz",
-      "integrity": "sha1-35w8izGiR+wxXmmWVmvjFx30s7E=",
-      "dev": true
-    },
-    "@types/range-parser": {
-      "version": "1.2.3",
-      "resolved": "https://registry.nlark.com/@types/range-parser/download/@types/range-parser-1.2.3.tgz",
-      "integrity": "sha1-fuMwunyq+5gJC+zoal7kQRWQTCw=",
-      "dev": true
-    },
-    "@types/serve-static": {
-      "version": "1.13.9",
-      "resolved": "https://registry.nlark.com/@types/serve-static/download/@types/serve-static-1.13.9.tgz",
-      "integrity": "sha1-qs8oqFoF7imhH7fD6tk1rFbzPk4=",
-      "dev": true,
-      "requires": {
-        "@types/mime": "^1",
-        "@types/node": "*"
-      }
-    },
-    "@types/source-list-map": {
-      "version": "0.1.2",
-      "resolved": "https://registry.nlark.com/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz",
-      "integrity": "sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk=",
-      "dev": true
-    },
-    "@types/tapable": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.7.tgz?cache=0&sync_timestamp=1617127562296&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Ftapable%2Fdownload%2F%40types%2Ftapable-1.0.7.tgz",
-      "integrity": "sha1-VFFYNC+Uno/Tv9gTIklx7N3D+sQ=",
-      "dev": true
-    },
-    "@types/uglify-js": {
-      "version": "3.13.0",
-      "resolved": "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.13.0.tgz",
-      "integrity": "sha1-HK2N8fsLFDxaugjeVxLqnR/3ESQ=",
-      "dev": true,
-      "requires": {
-        "source-map": "^0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        }
-      }
-    },
-    "@types/webpack": {
-      "version": "4.41.28",
-      "resolved": "https://registry.nlark.com/@types/webpack/download/@types/webpack-4.41.28.tgz",
-      "integrity": "sha1-AGmiFZt61Ng9C1gBlCwX1UEziXs=",
-      "dev": true,
-      "requires": {
-        "@types/anymatch": "*",
-        "@types/node": "*",
-        "@types/tapable": "^1",
-        "@types/uglify-js": "*",
-        "@types/webpack-sources": "*",
-        "source-map": "^0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        }
-      }
-    },
-    "@types/webpack-dev-server": {
-      "version": "3.11.4",
-      "resolved": "https://registry.nlark.com/@types/webpack-dev-server/download/@types/webpack-dev-server-3.11.4.tgz?cache=0&sync_timestamp=1620426497880&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fwebpack-dev-server%2Fdownload%2F%40types%2Fwebpack-dev-server-3.11.4.tgz",
-      "integrity": "sha1-kNR91mC2ltQJQxq4wen6NhUQOgc=",
-      "dev": true,
-      "requires": {
-        "@types/connect-history-api-fallback": "*",
-        "@types/express": "*",
-        "@types/serve-static": "*",
-        "@types/webpack": "^4",
-        "http-proxy-middleware": "^1.0.0"
-      }
-    },
-    "@types/webpack-sources": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/@types/webpack-sources/download/@types/webpack-sources-2.1.0.tgz?cache=0&sync_timestamp=1613384741414&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack-sources%2Fdownload%2F%40types%2Fwebpack-sources-2.1.0.tgz",
-      "integrity": "sha1-iIKwvWLR4M5i8YPQ0Bty5ugujBA=",
-      "dev": true,
-      "requires": {
-        "@types/node": "*",
-        "@types/source-list-map": "*",
-        "source-map": "^0.7.3"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.7.3",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.7.3.tgz",
-          "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=",
-          "dev": true
-        }
-      }
-    },
-    "@vue/babel-helper-vue-jsx-merge-props": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.2.1.tgz?cache=0&sync_timestamp=1602851386916&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-helper-vue-jsx-merge-props%2Fdownload%2F%40vue%2Fbabel-helper-vue-jsx-merge-props-1.2.1.tgz",
-      "integrity": "sha1-MWJKelBfsU2h1YAjclpMXycOaoE=",
-      "dev": true
-    },
-    "@vue/babel-helper-vue-transform-on": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-transform-on/download/@vue/babel-helper-vue-transform-on-1.0.2.tgz?cache=0&sync_timestamp=1610812436327&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-helper-vue-transform-on%2Fdownload%2F%40vue%2Fbabel-helper-vue-transform-on-1.0.2.tgz",
-      "integrity": "sha1-m5xpHNBvyFUiGiR1w8yDHXdLx9w=",
-      "dev": true
-    },
-    "@vue/babel-plugin-jsx": {
-      "version": "1.0.6",
-      "resolved": "https://registry.nlark.com/@vue/babel-plugin-jsx/download/@vue/babel-plugin-jsx-1.0.6.tgz",
-      "integrity": "sha1-GEvzVBq279vlB5q4sgwZ4q8QC/s=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/plugin-syntax-jsx": "^7.0.0",
-        "@babel/template": "^7.0.0",
-        "@babel/traverse": "^7.0.0",
-        "@babel/types": "^7.0.0",
-        "@vue/babel-helper-vue-transform-on": "^1.0.2",
-        "camelcase": "^6.0.0",
-        "html-tags": "^3.1.0",
-        "svg-tags": "^1.0.0"
-      }
-    },
-    "@vue/babel-plugin-transform-vue-jsx": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.2.1.tgz?cache=0&sync_timestamp=1602851387265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-plugin-transform-vue-jsx%2Fdownload%2F%40vue%2Fbabel-plugin-transform-vue-jsx-1.2.1.tgz",
-      "integrity": "sha1-ZGBGxlLC8CQnJ/NFGdkXsGQEHtc=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/plugin-syntax-jsx": "^7.2.0",
-        "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
-        "html-tags": "^2.0.0",
-        "lodash.kebabcase": "^4.1.1",
-        "svg-tags": "^1.0.0"
-      },
-      "dependencies": {
-        "html-tags": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz",
-          "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
-          "dev": true
-        }
-      }
-    },
-    "@vue/babel-preset-app": {
-      "version": "4.5.13",
-      "resolved": "https://registry.nlark.com/@vue/babel-preset-app/download/@vue/babel-preset-app-4.5.13.tgz?cache=0&sync_timestamp=1620982846300&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fbabel-preset-app%2Fdownload%2F%40vue%2Fbabel-preset-app-4.5.13.tgz",
-      "integrity": "sha1-y0dTIeTHP38RDawppIwqnLgK/rY=",
-      "dev": true,
-      "requires": {
-        "@babel/core": "^7.11.0",
-        "@babel/helper-compilation-targets": "^7.9.6",
-        "@babel/helper-module-imports": "^7.8.3",
-        "@babel/plugin-proposal-class-properties": "^7.8.3",
-        "@babel/plugin-proposal-decorators": "^7.8.3",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
-        "@babel/plugin-syntax-jsx": "^7.8.3",
-        "@babel/plugin-transform-runtime": "^7.11.0",
-        "@babel/preset-env": "^7.11.0",
-        "@babel/runtime": "^7.11.0",
-        "@vue/babel-plugin-jsx": "^1.0.3",
-        "@vue/babel-preset-jsx": "^1.2.4",
-        "babel-plugin-dynamic-import-node": "^2.3.3",
-        "core-js": "^3.6.5",
-        "core-js-compat": "^3.6.5",
-        "semver": "^6.1.0"
-      }
-    },
-    "@vue/babel-preset-jsx": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.2.4.tgz?cache=0&sync_timestamp=1603806993853&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-preset-jsx%2Fdownload%2F%40vue%2Fbabel-preset-jsx-1.2.4.tgz",
-      "integrity": "sha1-kv6nnbbxOwHoDToAmeKSS9y+Toc=",
-      "dev": true,
-      "requires": {
-        "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
-        "@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
-        "@vue/babel-sugar-composition-api-inject-h": "^1.2.1",
-        "@vue/babel-sugar-composition-api-render-instance": "^1.2.4",
-        "@vue/babel-sugar-functional-vue": "^1.2.2",
-        "@vue/babel-sugar-inject-h": "^1.2.2",
-        "@vue/babel-sugar-v-model": "^1.2.3",
-        "@vue/babel-sugar-v-on": "^1.2.3"
-      }
-    },
-    "@vue/babel-sugar-composition-api-inject-h": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-composition-api-inject-h/download/@vue/babel-sugar-composition-api-inject-h-1.2.1.tgz?cache=0&sync_timestamp=1602851381964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-composition-api-inject-h%2Fdownload%2F%40vue%2Fbabel-sugar-composition-api-inject-h-1.2.1.tgz",
-      "integrity": "sha1-BdbgxDJxDjdYKyvppgSbaJtvA+s=",
-      "dev": true,
-      "requires": {
-        "@babel/plugin-syntax-jsx": "^7.2.0"
-      }
-    },
-    "@vue/babel-sugar-composition-api-render-instance": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.2.4.tgz?cache=0&sync_timestamp=1603806995958&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-composition-api-render-instance%2Fdownload%2F%40vue%2Fbabel-sugar-composition-api-render-instance-1.2.4.tgz",
-      "integrity": "sha1-5MvGmXw0T6wnF4WteikyXFHWjRk=",
-      "dev": true,
-      "requires": {
-        "@babel/plugin-syntax-jsx": "^7.2.0"
-      }
-    },
-    "@vue/babel-sugar-functional-vue": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.2.2.tgz?cache=0&sync_timestamp=1602929516892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-functional-vue%2Fdownload%2F%40vue%2Fbabel-sugar-functional-vue-1.2.2.tgz",
-      "integrity": "sha1-JnqayNeHyW7b8Dzj85LEnam9Jlg=",
-      "dev": true,
-      "requires": {
-        "@babel/plugin-syntax-jsx": "^7.2.0"
-      }
-    },
-    "@vue/babel-sugar-inject-h": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.2.2.tgz?cache=0&sync_timestamp=1602929516704&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-inject-h%2Fdownload%2F%40vue%2Fbabel-sugar-inject-h-1.2.2.tgz",
-      "integrity": "sha1-1zjTyJM2fshJHcu2abAAkZKT46o=",
-      "dev": true,
-      "requires": {
-        "@babel/plugin-syntax-jsx": "^7.2.0"
-      }
-    },
-    "@vue/babel-sugar-v-model": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.2.3.tgz?cache=0&sync_timestamp=1603184347642&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-sugar-v-model%2Fdownload%2F%40vue%2Fbabel-sugar-v-model-1.2.3.tgz",
-      "integrity": "sha1-+h8pulHr8KoabDX6ZtU5vEWaGPI=",
-      "dev": true,
-      "requires": {
-        "@babel/plugin-syntax-jsx": "^7.2.0",
-        "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
-        "@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
-        "camelcase": "^5.0.0",
-        "html-tags": "^2.0.0",
-        "svg-tags": "^1.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz",
-          "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
-          "dev": true
-        },
-        "html-tags": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz",
-          "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
-          "dev": true
-        }
-      }
-    },
-    "@vue/babel-sugar-v-on": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.2.3.tgz",
-      "integrity": "sha1-NCNnF4WGpp85LwS/ujICHQKROto=",
-      "dev": true,
-      "requires": {
-        "@babel/plugin-syntax-jsx": "^7.2.0",
-        "@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
-        "camelcase": "^5.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz",
-          "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
-          "dev": true
-        }
-      }
-    },
-    "@vue/cli-overlay": {
-      "version": "4.5.13",
-      "resolved": "https://registry.nlark.com/@vue/cli-overlay/download/@vue/cli-overlay-4.5.13.tgz",
-      "integrity": "sha1-Tx/SFhvo9p1suoB58/DX3E3uR6c=",
-      "dev": true
-    },
-    "@vue/cli-plugin-babel": {
-      "version": "4.5.13",
-      "resolved": "https://registry.nlark.com/@vue/cli-plugin-babel/download/@vue/cli-plugin-babel-4.5.13.tgz?cache=0&sync_timestamp=1620982924315&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcli-plugin-babel%2Fdownload%2F%40vue%2Fcli-plugin-babel-4.5.13.tgz",
-      "integrity": "sha1-qJxILtzE6h0TVkXOxQKn9f1MMOc=",
-      "dev": true,
-      "requires": {
-        "@babel/core": "^7.11.0",
-        "@vue/babel-preset-app": "^4.5.13",
-        "@vue/cli-shared-utils": "^4.5.13",
-        "babel-loader": "^8.1.0",
-        "cache-loader": "^4.1.0",
-        "thread-loader": "^2.1.3",
-        "webpack": "^4.0.0"
-      }
-    },
-    "@vue/cli-plugin-eslint": {
-      "version": "4.5.13",
-      "resolved": "https://registry.nlark.com/@vue/cli-plugin-eslint/download/@vue/cli-plugin-eslint-4.5.13.tgz",
-      "integrity": "sha1-i68i0NltdnIMdQZka5b09iwFvfo=",
-      "dev": true,
-      "requires": {
-        "@vue/cli-shared-utils": "^4.5.13",
-        "eslint-loader": "^2.2.1",
-        "globby": "^9.2.0",
-        "inquirer": "^7.1.0",
-        "webpack": "^4.0.0",
-        "yorkie": "^2.0.0"
-      }
-    },
-    "@vue/cli-plugin-router": {
-      "version": "4.5.13",
-      "resolved": "https://registry.nlark.com/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.5.13.tgz",
-      "integrity": "sha1-C2fIiYor8TKUGRmiouXzqsvZ/74=",
-      "dev": true,
-      "requires": {
-        "@vue/cli-shared-utils": "^4.5.13"
-      }
-    },
-    "@vue/cli-plugin-vuex": {
-      "version": "4.5.13",
-      "resolved": "https://registry.nlark.com/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.5.13.tgz",
-      "integrity": "sha1-mGRti8HmnPbGpsui/tPqzgNWw2A=",
-      "dev": true
-    },
-    "@vue/cli-service": {
-      "version": "4.5.13",
-      "resolved": "https://registry.nlark.com/@vue/cli-service/download/@vue/cli-service-4.5.13.tgz?cache=0&sync_timestamp=1620982846498&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcli-service%2Fdownload%2F%40vue%2Fcli-service-4.5.13.tgz",
-      "integrity": "sha1-oJ5oSoAWhLbiTlQUrTBlCXDuye0=",
-      "dev": true,
-      "requires": {
-        "@intervolga/optimize-cssnano-plugin": "^1.0.5",
-        "@soda/friendly-errors-webpack-plugin": "^1.7.1",
-        "@soda/get-current-script": "^1.0.0",
-        "@types/minimist": "^1.2.0",
-        "@types/webpack": "^4.0.0",
-        "@types/webpack-dev-server": "^3.11.0",
-        "@vue/cli-overlay": "^4.5.13",
-        "@vue/cli-plugin-router": "^4.5.13",
-        "@vue/cli-plugin-vuex": "^4.5.13",
-        "@vue/cli-shared-utils": "^4.5.13",
-        "@vue/component-compiler-utils": "^3.1.2",
-        "@vue/preload-webpack-plugin": "^1.1.0",
-        "@vue/web-component-wrapper": "^1.2.0",
-        "acorn": "^7.4.0",
-        "acorn-walk": "^7.1.1",
-        "address": "^1.1.2",
-        "autoprefixer": "^9.8.6",
-        "browserslist": "^4.12.0",
-        "cache-loader": "^4.1.0",
-        "case-sensitive-paths-webpack-plugin": "^2.3.0",
-        "cli-highlight": "^2.1.4",
-        "clipboardy": "^2.3.0",
-        "cliui": "^6.0.0",
-        "copy-webpack-plugin": "^5.1.1",
-        "css-loader": "^3.5.3",
-        "cssnano": "^4.1.10",
-        "debug": "^4.1.1",
-        "default-gateway": "^5.0.5",
-        "dotenv": "^8.2.0",
-        "dotenv-expand": "^5.1.0",
-        "file-loader": "^4.2.0",
-        "fs-extra": "^7.0.1",
-        "globby": "^9.2.0",
-        "hash-sum": "^2.0.0",
-        "html-webpack-plugin": "^3.2.0",
-        "launch-editor-middleware": "^2.2.1",
-        "lodash.defaultsdeep": "^4.6.1",
-        "lodash.mapvalues": "^4.6.0",
-        "lodash.transform": "^4.6.0",
-        "mini-css-extract-plugin": "^0.9.0",
-        "minimist": "^1.2.5",
-        "pnp-webpack-plugin": "^1.6.4",
-        "portfinder": "^1.0.26",
-        "postcss-loader": "^3.0.0",
-        "ssri": "^8.0.1",
-        "terser-webpack-plugin": "^1.4.4",
-        "thread-loader": "^2.1.3",
-        "url-loader": "^2.2.0",
-        "vue-loader": "^15.9.2",
-        "vue-loader-v16": "npm:vue-loader@^16.1.0",
-        "vue-style-loader": "^4.1.2",
-        "webpack": "^4.0.0",
-        "webpack-bundle-analyzer": "^3.8.0",
-        "webpack-chain": "^6.4.0",
-        "webpack-dev-server": "^3.11.0",
-        "webpack-merge": "^4.2.2"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "7.4.1",
-          "resolved": "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1620134123724&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz",
-          "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
-          "dev": true
-        },
-        "ssri": {
-          "version": "8.0.1",
-          "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-8.0.1.tgz?cache=0&sync_timestamp=1617826515595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-8.0.1.tgz",
-          "integrity": "sha1-Y45OQ54v+9LNKJd21cpFfE9Roq8=",
-          "dev": true,
-          "requires": {
-            "minipass": "^3.1.1"
-          }
-        }
-      }
-    },
-    "@vue/cli-shared-utils": {
-      "version": "4.5.13",
-      "resolved": "https://registry.nlark.com/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.13.tgz?cache=0&sync_timestamp=1620982846134&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcli-shared-utils%2Fdownload%2F%40vue%2Fcli-shared-utils-4.5.13.tgz",
-      "integrity": "sha1-rNQPMbR5DxY0KSvapfypXcHg/1A=",
-      "dev": true,
-      "requires": {
-        "@hapi/joi": "^15.0.1",
-        "chalk": "^2.4.2",
-        "execa": "^1.0.0",
-        "launch-editor": "^2.2.1",
-        "lru-cache": "^5.1.1",
-        "node-ipc": "^9.1.1",
-        "open": "^6.3.0",
-        "ora": "^3.4.0",
-        "read-pkg": "^5.1.1",
-        "request": "^2.88.2",
-        "semver": "^6.1.0",
-        "strip-ansi": "^6.0.0"
-      }
-    },
-    "@vue/component-compiler-utils": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.2.0.tgz",
-      "integrity": "sha1-j4UYLO7Sjps8dTE95mn4MWbRHl0=",
-      "dev": true,
-      "requires": {
-        "consolidate": "^0.15.1",
-        "hash-sum": "^1.0.2",
-        "lru-cache": "^4.1.2",
-        "merge-source-map": "^1.1.0",
-        "postcss": "^7.0.14",
-        "postcss-selector-parser": "^6.0.2",
-        "prettier": "^1.18.2",
-        "source-map": "~0.6.1",
-        "vue-template-es2015-compiler": "^1.9.0"
-      },
-      "dependencies": {
-        "hash-sum": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
-          "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
-          "dev": true
-        },
-        "lru-cache": {
-          "version": "4.1.5",
-          "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427582110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz",
-          "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
-          "dev": true,
-          "requires": {
-            "pseudomap": "^1.0.2",
-            "yallist": "^2.1.2"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        },
-        "yallist": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
-          "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
-          "dev": true
-        }
-      }
-    },
-    "@vue/eslint-config-standard": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npm.taobao.org/@vue/eslint-config-standard/download/@vue/eslint-config-standard-5.1.2.tgz?cache=0&sync_timestamp=1607330340331&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Feslint-config-standard%2Fdownload%2F%40vue%2Feslint-config-standard-5.1.2.tgz",
-      "integrity": "sha1-xdVa+JSjriO2Wxr0pCV3esAXC0I=",
-      "dev": true,
-      "requires": {
-        "eslint-config-standard": "^14.1.0",
-        "eslint-import-resolver-node": "^0.3.3",
-        "eslint-import-resolver-webpack": "^0.12.1"
-      }
-    },
-    "@vue/preload-webpack-plugin": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fpreload-webpack-plugin%2Fdownload%2F%40vue%2Fpreload-webpack-plugin-1.1.2.tgz",
-      "integrity": "sha1-zrkktOyzucQ4ccekKaAvhCPmIas=",
-      "dev": true
-    },
-    "@vue/web-component-wrapper": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.3.0.tgz",
-      "integrity": "sha1-trQKdiVCnSvXwigd26YB7QXcfxo=",
-      "dev": true
-    },
-    "@webassemblyjs/ast": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&sync_timestamp=1610041484025&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz",
-      "integrity": "sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0"
-      }
-    },
-    "@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz?cache=0&sync_timestamp=1610041494828&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.9.0.tgz",
-      "integrity": "sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=",
-      "dev": true
-    },
-    "@webassemblyjs/helper-api-error": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz",
-      "integrity": "sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=",
-      "dev": true
-    },
-    "@webassemblyjs/helper-buffer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz",
-      "integrity": "sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=",
-      "dev": true
-    },
-    "@webassemblyjs/helper-code-frame": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz?cache=0&sync_timestamp=1610041493871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.9.0.tgz",
-      "integrity": "sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "@webassemblyjs/helper-fsm": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz?cache=0&sync_timestamp=1610041181722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.9.0.tgz",
-      "integrity": "sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=",
-      "dev": true
-    },
-    "@webassemblyjs/helper-module-context": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz",
-      "integrity": "sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0"
-      }
-    },
-    "@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz",
-      "integrity": "sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=",
-      "dev": true
-    },
-    "@webassemblyjs/helper-wasm-section": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz?cache=0&sync_timestamp=1610041488989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.9.0.tgz",
-      "integrity": "sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0"
-      }
-    },
-    "@webassemblyjs/ieee754": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz",
-      "integrity": "sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=",
-      "dev": true,
-      "requires": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "@webassemblyjs/leb128": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz",
-      "integrity": "sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=",
-      "dev": true,
-      "requires": {
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/utf8": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz",
-      "integrity": "sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=",
-      "dev": true
-    },
-    "@webassemblyjs/wasm-edit": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz?cache=0&sync_timestamp=1610041485419&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.9.0.tgz",
-      "integrity": "sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/helper-wasm-section": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-opt": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "@webassemblyjs/wast-printer": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-gen": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&sync_timestamp=1610041488584&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz",
-      "integrity": "sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-opt": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz?cache=0&sync_timestamp=1610041488856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.9.0.tgz",
-      "integrity": "sha1-IhEYHlsxMmRDzIES658LkChyGmE=",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-buffer": "1.9.0",
-        "@webassemblyjs/wasm-gen": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wasm-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&sync_timestamp=1610041484395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz",
-      "integrity": "sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
-        "@webassemblyjs/ieee754": "1.9.0",
-        "@webassemblyjs/leb128": "1.9.0",
-        "@webassemblyjs/utf8": "1.9.0"
-      }
-    },
-    "@webassemblyjs/wast-parser": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz?cache=0&sync_timestamp=1610041489596&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.9.0.tgz",
-      "integrity": "sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
-        "@webassemblyjs/helper-api-error": "1.9.0",
-        "@webassemblyjs/helper-code-frame": "1.9.0",
-        "@webassemblyjs/helper-fsm": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@webassemblyjs/wast-printer": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz?cache=0&sync_timestamp=1610041488066&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40webassemblyjs%2Fwast-printer%2Fdownload%2F%40webassemblyjs%2Fwast-printer-1.9.0.tgz",
-      "integrity": "sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/wast-parser": "1.9.0",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz",
-      "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=",
-      "dev": true
-    },
-    "@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz",
-      "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=",
-      "dev": true
-    },
-    "abbrev": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz",
-      "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=",
-      "dev": true
-    },
-    "accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz",
-      "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=",
-      "dev": true,
-      "requires": {
-        "mime-types": "~2.1.24",
-        "negotiator": "0.6.2"
-      }
-    },
-    "acorn": {
-      "version": "6.4.2",
-      "resolved": "https://registry.nlark.com/acorn/download/acorn-6.4.2.tgz?cache=0&sync_timestamp=1620134123724&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-6.4.2.tgz",
-      "integrity": "sha1-NYZv1xBSjpLeEM8GAWSY5H454eY=",
-      "dev": true
-    },
-    "acorn-jsx": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.3.1.tgz?cache=0&sync_timestamp=1599499155970&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.1.tgz",
-      "integrity": "sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns=",
-      "dev": true
-    },
-    "acorn-walk": {
-      "version": "7.2.0",
-      "resolved": "https://registry.nlark.com/acorn-walk/download/acorn-walk-7.2.0.tgz",
-      "integrity": "sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=",
-      "dev": true
-    },
-    "address": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz",
-      "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=",
-      "dev": true
-    },
-    "aggregate-error": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.1.0.tgz?cache=0&sync_timestamp=1618681242464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faggregate-error%2Fdownload%2Faggregate-error-3.1.0.tgz",
-      "integrity": "sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo=",
-      "dev": true,
-      "requires": {
-        "clean-stack": "^2.0.0",
-        "indent-string": "^4.0.0"
-      }
-    },
-    "ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1621023838921&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz",
-      "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
-      "dev": true,
-      "requires": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "ajv-errors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz",
-      "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=",
-      "dev": true
-    },
-    "ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz?cache=0&sync_timestamp=1616882441894&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-keywords%2Fdownload%2Fajv-keywords-3.5.2.tgz",
-      "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=",
-      "dev": true
-    },
-    "alphanum-sort": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz",
-      "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
-      "dev": true
-    },
-    "amdefine": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz",
-      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
-      "dev": true
-    },
-    "ansi-colors": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz",
-      "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=",
-      "dev": true
-    },
-    "ansi-escapes": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.2.tgz",
-      "integrity": "sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4=",
-      "dev": true,
-      "requires": {
-        "type-fest": "^0.21.3"
-      },
-      "dependencies": {
-        "type-fest": {
-          "version": "0.21.3",
-          "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.21.3.tgz",
-          "integrity": "sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc=",
-          "dev": true
-        }
-      }
-    },
-    "ansi-html": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz",
-      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
-      "dev": true
-    },
-    "ansi-regex": {
-      "version": "4.1.0",
-      "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz",
-      "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
-      "dev": true
-    },
-    "ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
-      "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
-      "dev": true,
-      "requires": {
-        "color-convert": "^1.9.0"
-      }
-    },
-    "any-observable": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npm.taobao.org/any-observable/download/any-observable-0.3.0.tgz",
-      "integrity": "sha1-r5M0deWAamfQ198JDdXovvZdEZs=",
-      "dev": true
-    },
-    "any-promise": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz",
-      "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
-      "dev": true
-    },
-    "anymatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.nlark.com/anymatch/download/anymatch-3.1.2.tgz",
-      "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
-      }
-    },
-    "aproba": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz",
-      "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=",
-      "dev": true
-    },
-    "arch": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npm.taobao.org/arch/download/arch-2.2.0.tgz",
-      "integrity": "sha1-G8R4GPMFdk8jqzMGsL/AhsWinRE=",
-      "dev": true
-    },
-    "are-we-there-yet": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz",
-      "integrity": "sha1-SzXClE8GKov82mZBB2A1D+nd/CE=",
-      "dev": true,
-      "requires": {
-        "delegates": "^1.0.0",
-        "readable-stream": "^2.0.6"
-      }
-    },
-    "argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz?cache=0&sync_timestamp=1598649734444&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fargparse%2Fdownload%2Fargparse-1.0.10.tgz",
-      "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=",
-      "dev": true,
-      "requires": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "arr-diff": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true
-    },
-    "arr-flatten": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz",
-      "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
-      "dev": true
-    },
-    "arr-union": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true
-    },
-    "array-find": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/array-find/download/array-find-1.0.0.tgz",
-      "integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=",
-      "dev": true
-    },
-    "array-find-index": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz",
-      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
-      "dev": true
-    },
-    "array-flatten": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&sync_timestamp=1574313384951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz",
-      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
-      "dev": true
-    },
-    "array-includes": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.3.tgz?cache=0&sync_timestamp=1613858037848&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-includes%2Fdownload%2Farray-includes-3.1.3.tgz",
-      "integrity": "sha1-x/YZs4KtKvr1Mmzd/cCvxhr3aQo=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2",
-        "get-intrinsic": "^1.1.1",
-        "is-string": "^1.0.5"
-      }
-    },
-    "array-union": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz?cache=0&sync_timestamp=1614624302839&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-1.0.2.tgz",
-      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
-      "dev": true,
-      "requires": {
-        "array-uniq": "^1.0.1"
-      }
-    },
-    "array-uniq": {
-      "version": "1.0.3",
-      "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz?cache=0&sync_timestamp=1620042045402&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farray-uniq%2Fdownload%2Farray-uniq-1.0.3.tgz",
-      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
-      "dev": true
-    },
-    "array-unique": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true
-    },
-    "array.prototype.flat": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npm.taobao.org/array.prototype.flat/download/array.prototype.flat-1.2.4.tgz?cache=0&sync_timestamp=1605688512391&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray.prototype.flat%2Fdownload%2Farray.prototype.flat-1.2.4.tgz",
-      "integrity": "sha1-bvY4tDMSvUAbTGGZ/ex+LcnpoSM=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.1"
-      }
-    },
-    "asn1": {
-      "version": "0.2.4",
-      "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz",
-      "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=",
-      "dev": true,
-      "requires": {
-        "safer-buffer": "~2.1.0"
-      }
-    },
-    "asn1.js": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-5.4.1.tgz",
-      "integrity": "sha1-EamAuE67kXgc41sP3C7ilON4Pwc=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0",
-        "safer-buffer": "^2.1.0"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz",
-          "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=",
-          "dev": true
-        }
-      }
-    },
-    "assert": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz",
-      "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.1.1",
-        "util": "0.10.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz",
-          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-          "dev": true
-        },
-        "util": {
-          "version": "0.10.3",
-          "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz",
-          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-          "dev": true,
-          "requires": {
-            "inherits": "2.0.1"
-          }
-        }
-      }
-    },
-    "assert-plus": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "dev": true
-    },
-    "assign-symbols": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
-    },
-    "astral-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz",
-      "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=",
-      "dev": true
-    },
-    "async": {
-      "version": "2.6.3",
-      "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz",
-      "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.14"
-      }
-    },
-    "async-each": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz",
-      "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=",
-      "dev": true
-    },
-    "async-foreach": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz",
-      "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
-      "dev": true
-    },
-    "async-limiter": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz",
-      "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=",
-      "dev": true
-    },
-    "async-validator": {
-      "version": "1.8.5",
-      "resolved": "https://registry.nlark.com/async-validator/download/async-validator-1.8.5.tgz",
-      "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=",
-      "requires": {
-        "babel-runtime": "6.x"
-      }
-    },
-    "asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
-      "dev": true
-    },
-    "atob": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz",
-      "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=",
-      "dev": true
-    },
-    "autoprefixer": {
-      "version": "9.8.6",
-      "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.6.tgz",
-      "integrity": "sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8=",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.12.0",
-        "caniuse-lite": "^1.0.30001109",
-        "colorette": "^1.2.1",
-        "normalize-range": "^0.1.2",
-        "num2fraction": "^1.2.2",
-        "postcss": "^7.0.32",
-        "postcss-value-parser": "^4.1.0"
-      }
-    },
-    "aws-sign2": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "dev": true
-    },
-    "aws4": {
-      "version": "1.11.0",
-      "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604101166484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz",
-      "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=",
-      "dev": true
-    },
-    "axios": {
-      "version": "0.21.1",
-      "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.21.1.tgz?cache=0&sync_timestamp=1608611162952&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.21.1.tgz",
-      "integrity": "sha1-IlY0gZYvTWvemnbVFu8OXTwJsrg=",
-      "requires": {
-        "follow-redirects": "^1.10.0"
-      }
-    },
-    "babel-eslint": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz?cache=0&sync_timestamp=1611945896690&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-eslint%2Fdownload%2Fbabel-eslint-10.1.0.tgz",
-      "integrity": "sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI=",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@babel/parser": "^7.7.0",
-        "@babel/traverse": "^7.7.0",
-        "@babel/types": "^7.7.0",
-        "eslint-visitor-keys": "^1.0.0",
-        "resolve": "^1.12.0"
-      }
-    },
-    "babel-helper-vue-jsx-merge-props": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
-      "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY="
-    },
-    "babel-loader": {
-      "version": "8.2.2",
-      "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.2.2.tgz?cache=0&sync_timestamp=1606424705083&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.2.2.tgz",
-      "integrity": "sha1-k2POhMEMmkDmx1N0jhRBtgyKC4E=",
-      "dev": true,
-      "requires": {
-        "find-cache-dir": "^3.3.1",
-        "loader-utils": "^1.4.0",
-        "make-dir": "^3.1.0",
-        "schema-utils": "^2.6.5"
-      }
-    },
-    "babel-plugin-dynamic-import-node": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&sync_timestamp=1587495903478&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz",
-      "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=",
-      "dev": true,
-      "requires": {
-        "object.assign": "^4.1.0"
-      }
-    },
-    "babel-plugin-polyfill-corejs2": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.0.tgz",
-      "integrity": "sha1-aGd1v5pap1fhBSCQNnXjiJyu7cQ=",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.13.11",
-        "@babel/helper-define-polyfill-provider": "^0.2.0",
-        "semver": "^6.1.1"
-      }
-    },
-    "babel-plugin-polyfill-corejs3": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.2.0.tgz",
-      "integrity": "sha1-9LS7exkymCffNv9W9ubTZwJst6I=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-define-polyfill-provider": "^0.2.0",
-        "core-js-compat": "^3.9.1"
-      }
-    },
-    "babel-plugin-polyfill-regenerator": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npm.taobao.org/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.0.tgz",
-      "integrity": "sha1-hT9fVxb0aR2YyE+Aacdjbqjaerg=",
-      "dev": true,
-      "requires": {
-        "@babel/helper-define-polyfill-provider": "^0.2.0"
-      }
-    },
-    "babel-runtime": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
-      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
-      "requires": {
-        "core-js": "^2.4.0",
-        "regenerator-runtime": "^0.11.0"
-      },
-      "dependencies": {
-        "core-js": {
-          "version": "2.6.12",
-          "resolved": "https://registry.nlark.com/core-js/download/core-js-2.6.12.tgz?cache=0&sync_timestamp=1620507873758&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js%2Fdownload%2Fcore-js-2.6.12.tgz",
-          "integrity": "sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw="
-        },
-        "regenerator-runtime": {
-          "version": "0.11.1",
-          "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz",
-          "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
-        }
-      }
-    },
-    "balanced-match": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz?cache=0&sync_timestamp=1617714233441&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbalanced-match%2Fdownload%2Fbalanced-match-1.0.2.tgz",
-      "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=",
-      "dev": true
-    },
-    "base": {
-      "version": "0.11.2",
-      "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz",
-      "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=",
-      "dev": true,
-      "requires": {
-        "cache-base": "^1.0.1",
-        "class-utils": "^0.3.5",
-        "component-emitter": "^1.2.1",
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.1",
-        "mixin-deep": "^1.2.0",
-        "pascalcase": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
-          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "base64-js": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz?cache=0&sync_timestamp=1605123440207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbase64-js%2Fdownload%2Fbase64-js-1.5.1.tgz",
-      "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=",
-      "dev": true
-    },
-    "batch": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz",
-      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
-      "dev": true
-    },
-    "bcrypt-pbkdf": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
-      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
-      "dev": true,
-      "requires": {
-        "tweetnacl": "^0.14.3"
-      }
-    },
-    "bfj": {
-      "version": "6.1.2",
-      "resolved": "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz",
-      "integrity": "sha1-MlyGGoIryzWKQceKM7jm4ght3n8=",
-      "dev": true,
-      "requires": {
-        "bluebird": "^3.5.5",
-        "check-types": "^8.0.3",
-        "hoopy": "^0.1.4",
-        "tryer": "^1.0.1"
-      }
-    },
-    "big.js": {
-      "version": "5.2.2",
-      "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz?cache=0&sync_timestamp=1620132748267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbig.js%2Fdownload%2Fbig.js-5.2.2.tgz",
-      "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=",
-      "dev": true
-    },
-    "binary-extensions": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299308660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz",
-      "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=",
-      "dev": true,
-      "optional": true
-    },
-    "bindings": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz",
-      "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "file-uri-to-path": "1.0.0"
-      }
-    },
-    "block-stream": {
-      "version": "0.0.9",
-      "resolved": "https://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz",
-      "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
-      "dev": true,
-      "requires": {
-        "inherits": "~2.0.0"
-      }
-    },
-    "bluebird": {
-      "version": "3.7.2",
-      "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz",
-      "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=",
-      "dev": true
-    },
-    "bn.js": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-5.2.0.tgz",
-      "integrity": "sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI=",
-      "dev": true
-    },
-    "body-parser": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz",
-      "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.0",
-        "content-type": "~1.0.4",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "on-finished": "~2.3.0",
-        "qs": "6.7.0",
-        "raw-body": "2.4.0",
-        "type-is": "~1.6.17"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "qs": {
-          "version": "6.7.0",
-          "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&sync_timestamp=1616385328325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz",
-          "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=",
-          "dev": true
-        }
-      }
-    },
-    "bonjour": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz",
-      "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
-      "dev": true,
-      "requires": {
-        "array-flatten": "^2.1.0",
-        "deep-equal": "^1.0.1",
-        "dns-equal": "^1.0.0",
-        "dns-txt": "^2.0.2",
-        "multicast-dns": "^6.0.1",
-        "multicast-dns-service-types": "^1.1.0"
-      },
-      "dependencies": {
-        "array-flatten": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz?cache=0&sync_timestamp=1574313384951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-2.1.2.tgz",
-          "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=",
-          "dev": true
-        }
-      }
-    },
-    "boolbase": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz",
-      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
-      "dev": true
-    },
-    "brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz",
-      "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
-      "dev": true,
-      "requires": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "braces": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
-      "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
-      "dev": true,
-      "requires": {
-        "arr-flatten": "^1.1.0",
-        "array-unique": "^0.3.2",
-        "extend-shallow": "^2.0.1",
-        "fill-range": "^4.0.0",
-        "isobject": "^3.0.1",
-        "repeat-element": "^1.1.2",
-        "snapdragon": "^0.8.1",
-        "snapdragon-node": "^2.0.1",
-        "split-string": "^3.0.2",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "brorand": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
-    },
-    "browserify-aes": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz",
-      "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=",
-      "dev": true,
-      "requires": {
-        "buffer-xor": "^1.0.3",
-        "cipher-base": "^1.0.0",
-        "create-hash": "^1.1.0",
-        "evp_bytestokey": "^1.0.3",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "browserify-cipher": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz",
-      "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=",
-      "dev": true,
-      "requires": {
-        "browserify-aes": "^1.0.4",
-        "browserify-des": "^1.0.0",
-        "evp_bytestokey": "^1.0.0"
-      }
-    },
-    "browserify-des": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz",
-      "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "des.js": "^1.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "browserify-rsa": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.1.0.tgz",
-      "integrity": "sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^5.0.0",
-        "randombytes": "^2.0.1"
-      }
-    },
-    "browserify-sign": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.1.tgz?cache=0&sync_timestamp=1596557839219&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-sign%2Fdownload%2Fbrowserify-sign-4.2.1.tgz",
-      "integrity": "sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^5.1.1",
-        "browserify-rsa": "^4.0.1",
-        "create-hash": "^1.2.0",
-        "create-hmac": "^1.1.7",
-        "elliptic": "^6.5.3",
-        "inherits": "^2.0.4",
-        "parse-asn1": "^5.1.5",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "3.6.0",
-          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1581624324274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz",
-          "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
-          "dev": true,
-          "requires": {
-            "inherits": "^2.0.3",
-            "string_decoder": "^1.1.1",
-            "util-deprecate": "^1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz",
-          "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=",
-          "dev": true
-        }
-      }
-    },
-    "browserify-zlib": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz",
-      "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
-      "dev": true,
-      "requires": {
-        "pako": "~1.0.5"
-      }
-    },
-    "browserslist": {
-      "version": "4.16.6",
-      "resolved": "https://registry.nlark.com/browserslist/download/browserslist-4.16.6.tgz?cache=0&sync_timestamp=1619789072079&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.6.tgz",
-      "integrity": "sha1-15ASd6WojlVO0wWxg+ybDAj2b6I=",
-      "dev": true,
-      "requires": {
-        "caniuse-lite": "^1.0.30001219",
-        "colorette": "^1.2.2",
-        "electron-to-chromium": "^1.3.723",
-        "escalade": "^3.1.1",
-        "node-releases": "^1.1.71"
-      }
-    },
-    "buffer": {
-      "version": "4.9.2",
-      "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1606098159535&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz",
-      "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=",
-      "dev": true,
-      "requires": {
-        "base64-js": "^1.0.2",
-        "ieee754": "^1.1.4",
-        "isarray": "^1.0.0"
-      }
-    },
-    "buffer-from": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz",
-      "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=",
-      "dev": true
-    },
-    "buffer-indexof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz",
-      "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=",
-      "dev": true
-    },
-    "buffer-json": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/buffer-json/download/buffer-json-2.0.0.tgz",
-      "integrity": "sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM=",
-      "dev": true
-    },
-    "buffer-xor": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
-    },
-    "builtin-status-codes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
-    },
-    "bytes": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz",
-      "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=",
-      "dev": true
-    },
-    "cacache": {
-      "version": "12.0.4",
-      "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1616431100222&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz",
-      "integrity": "sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=",
-      "dev": true,
-      "requires": {
-        "bluebird": "^3.5.5",
-        "chownr": "^1.1.1",
-        "figgy-pudding": "^3.5.1",
-        "glob": "^7.1.4",
-        "graceful-fs": "^4.1.15",
-        "infer-owner": "^1.0.3",
-        "lru-cache": "^5.1.1",
-        "mississippi": "^3.0.0",
-        "mkdirp": "^0.5.1",
-        "move-concurrently": "^1.0.1",
-        "promise-inflight": "^1.0.1",
-        "rimraf": "^2.6.3",
-        "ssri": "^6.0.1",
-        "unique-filename": "^1.1.1",
-        "y18n": "^4.0.0"
-      }
-    },
-    "cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz",
-      "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=",
-      "dev": true,
-      "requires": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      }
-    },
-    "cache-loader": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npm.taobao.org/cache-loader/download/cache-loader-4.1.0.tgz",
-      "integrity": "sha1-mUjK41OuwKH8ser9ojAIFuyFOH4=",
-      "dev": true,
-      "requires": {
-        "buffer-json": "^2.0.0",
-        "find-cache-dir": "^3.0.0",
-        "loader-utils": "^1.2.3",
-        "mkdirp": "^0.5.1",
-        "neo-async": "^2.6.1",
-        "schema-utils": "^2.0.0"
-      }
-    },
-    "call-bind": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1610403007655&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz",
-      "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.0.2"
-      }
-    },
-    "call-me-maybe": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz",
-      "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
-      "dev": true
-    },
-    "caller-callsite": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz",
-      "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
-      "dev": true,
-      "requires": {
-        "callsites": "^2.0.0"
-      }
-    },
-    "caller-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz?cache=0&sync_timestamp=1618738124477&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaller-path%2Fdownload%2Fcaller-path-2.0.0.tgz",
-      "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
-      "dev": true,
-      "requires": {
-        "caller-callsite": "^2.0.0"
-      }
-    },
-    "callsites": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz",
-      "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
-      "dev": true
-    },
-    "camel-case": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz?cache=0&sync_timestamp=1606869170809&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-3.0.0.tgz",
-      "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
-      "dev": true,
-      "requires": {
-        "no-case": "^2.2.0",
-        "upper-case": "^1.1.1"
-      }
-    },
-    "camelcase": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-6.2.0.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-6.2.0.tgz",
-      "integrity": "sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk=",
-      "dev": true
-    },
-    "camelcase-keys": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz",
-      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
-      "dev": true,
-      "requires": {
-        "camelcase": "^2.0.0",
-        "map-obj": "^1.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-2.1.1.tgz",
-          "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
-          "dev": true
-        }
-      }
-    },
-    "caniuse-api": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz",
-      "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "caniuse-lite": "^1.0.0",
-        "lodash.memoize": "^4.1.2",
-        "lodash.uniq": "^4.5.0"
-      }
-    },
-    "caniuse-lite": {
-      "version": "1.0.30001228",
-      "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001228.tgz?cache=0&sync_timestamp=1620658693631&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001228.tgz",
-      "integrity": "sha1-v9xZQs0zJvpR7gtC++9NqdSSp/o=",
-      "dev": true
-    },
-    "case-sensitive-paths-webpack-plugin": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.4.0.tgz?cache=0&sync_timestamp=1614018085802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcase-sensitive-paths-webpack-plugin%2Fdownload%2Fcase-sensitive-paths-webpack-plugin-2.4.0.tgz",
-      "integrity": "sha1-22QGbGQi7tLgjMFLmGykN5bbxtQ=",
-      "dev": true
-    },
-    "caseless": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
-      "dev": true
-    },
-    "chalk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1618995355917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz",
-      "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
-      }
-    },
-    "chardet": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1601032454247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz",
-      "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=",
-      "dev": true
-    },
-    "check-types": {
-      "version": "8.0.3",
-      "resolved": "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcheck-types%2Fdownload%2Fcheck-types-8.0.3.tgz",
-      "integrity": "sha1-M1bMoZyIlUTy16le1JzlCKDs9VI=",
-      "dev": true
-    },
-    "chokidar": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.5.1.tgz?cache=0&sync_timestamp=1610719440699&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.5.1.tgz",
-      "integrity": "sha1-7pznu+vSt59J8wR5nVRo4x4U5oo=",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "anymatch": "~3.1.1",
-        "braces": "~3.0.2",
-        "fsevents": "~2.3.1",
-        "glob-parent": "~5.1.0",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.5.0"
-      },
-      "dependencies": {
-        "braces": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz",
-          "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "fill-range": "^7.0.1"
-          }
-        },
-        "fill-range": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz",
-          "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "to-regex-range": "^5.0.1"
-          }
-        },
-        "is-number": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz",
-          "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
-          "dev": true,
-          "optional": true
-        },
-        "to-regex-range": {
-          "version": "5.0.1",
-          "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
-          "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-number": "^7.0.0"
-          }
-        }
-      }
-    },
-    "chownr": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchownr%2Fdownload%2Fchownr-1.1.4.tgz",
-      "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=",
-      "dev": true
-    },
-    "chrome-trace-event": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz?cache=0&sync_timestamp=1617905925551&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchrome-trace-event%2Fdownload%2Fchrome-trace-event-1.0.3.tgz",
-      "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=",
-      "dev": true
-    },
-    "ci-info": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-1.6.0.tgz",
-      "integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc=",
-      "dev": true
-    },
-    "cipher-base": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz",
-      "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "class-utils": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz",
-      "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "define-property": "^0.2.5",
-        "isobject": "^3.0.0",
-        "static-extend": "^0.1.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "clean-css": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz",
-      "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=",
-      "dev": true,
-      "requires": {
-        "source-map": "~0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        }
-      }
-    },
-    "clean-stack": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npm.taobao.org/clean-stack/download/clean-stack-2.2.0.tgz",
-      "integrity": "sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=",
-      "dev": true
-    },
-    "cli-cursor": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz",
-      "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
-      "dev": true,
-      "requires": {
-        "restore-cursor": "^2.0.0"
-      }
-    },
-    "cli-highlight": {
-      "version": "2.1.11",
-      "resolved": "https://registry.npm.taobao.org/cli-highlight/download/cli-highlight-2.1.11.tgz",
-      "integrity": "sha1-SXNvpFLwqvT65YDjCssmgo0twb8=",
-      "dev": true,
-      "requires": {
-        "chalk": "^4.0.0",
-        "highlight.js": "^10.7.1",
-        "mz": "^2.4.0",
-        "parse5": "^5.1.1",
-        "parse5-htmlparser2-tree-adapter": "^6.0.0",
-        "yargs": "^16.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
-          "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.1",
-          "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz?cache=0&sync_timestamp=1618995355917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.1.tgz",
-          "integrity": "sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
-          "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
-          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
-          "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
-          "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "cli-spinners": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.6.0.tgz",
-      "integrity": "sha1-NsfcmPtqmna9YjjsP3fiQlYn6Tk=",
-      "dev": true
-    },
-    "cli-truncate": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npm.taobao.org/cli-truncate/download/cli-truncate-0.2.1.tgz",
-      "integrity": "sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=",
-      "dev": true,
-      "requires": {
-        "slice-ansi": "0.0.4",
-        "string-width": "^1.0.1"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-          "dev": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "slice-ansi": {
-          "version": "0.0.4",
-          "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-0.0.4.tgz?cache=0&sync_timestamp=1618554953055&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslice-ansi%2Fdownload%2Fslice-ansi-0.0.4.tgz",
-          "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-          "dev": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        }
-      }
-    },
-    "cli-width": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-3.0.0.tgz",
-      "integrity": "sha1-ovSEN6LKqaIkNueUvwceyeYc7fY=",
-      "dev": true
-    },
-    "clipboard": {
-      "version": "2.0.8",
-      "resolved": "https://registry.npm.taobao.org/clipboard/download/clipboard-2.0.8.tgz?cache=0&sync_timestamp=1615410640293&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclipboard%2Fdownload%2Fclipboard-2.0.8.tgz",
-      "integrity": "sha1-/8bBA90pZ6gwBfP2GXaqRlWkzbo=",
-      "requires": {
-        "good-listener": "^1.2.2",
-        "select": "^1.1.2",
-        "tiny-emitter": "^2.0.0"
-      }
-    },
-    "clipboardy": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz",
-      "integrity": "sha1-PCkDZQxo5GqRs4iYW8J3QofbopA=",
-      "dev": true,
-      "requires": {
-        "arch": "^2.1.1",
-        "execa": "^1.0.0",
-        "is-wsl": "^2.1.1"
-      },
-      "dependencies": {
-        "is-wsl": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz",
-          "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=",
-          "dev": true,
-          "requires": {
-            "is-docker": "^2.0.0"
-          }
-        }
-      }
-    },
-    "cliui": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz?cache=0&sync_timestamp=1604880033053&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-6.0.0.tgz",
-      "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=",
-      "dev": true,
-      "requires": {
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.0",
-        "wrap-ansi": "^6.2.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
-          "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
-          "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
-          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
-          "dev": true
-        },
-        "wrap-ansi": {
-          "version": "6.2.0",
-          "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-6.2.0.tgz",
-          "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.0.0",
-            "string-width": "^4.1.0",
-            "strip-ansi": "^6.0.0"
-          }
-        }
-      }
-    },
-    "clone": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz",
-      "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
-      "dev": true
-    },
-    "clone-deep": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz",
-      "integrity": "sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c=",
-      "dev": true,
-      "requires": {
-        "is-plain-object": "^2.0.4",
-        "kind-of": "^6.0.2",
-        "shallow-clone": "^3.0.0"
-      }
-    },
-    "coa": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz",
-      "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=",
-      "dev": true,
-      "requires": {
-        "@types/q": "^1.5.1",
-        "chalk": "^2.4.1",
-        "q": "^1.1.2"
-      }
-    },
-    "code-point-at": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
-      "dev": true
-    },
-    "collection-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz",
-      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
-      "requires": {
-        "map-visit": "^1.0.0",
-        "object-visit": "^1.0.0"
-      }
-    },
-    "color": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.3.tgz?cache=0&sync_timestamp=1602228883047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor%2Fdownload%2Fcolor-3.1.3.tgz",
-      "integrity": "sha1-ymf7TnuX1hHc3jns7tQiBn2RWW4=",
-      "dev": true,
-      "requires": {
-        "color-convert": "^1.9.1",
-        "color-string": "^1.5.4"
-      }
-    },
-    "color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz",
-      "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=",
-      "dev": true,
-      "requires": {
-        "color-name": "1.1.3"
-      }
-    },
-    "color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-      "dev": true
-    },
-    "color-string": {
-      "version": "1.5.5",
-      "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-1.5.5.tgz?cache=0&sync_timestamp=1614967243349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor-string%2Fdownload%2Fcolor-string-1.5.5.tgz",
-      "integrity": "sha1-ZUdKjw50OWJfPSemoZ2J/EUiMBQ=",
-      "dev": true,
-      "requires": {
-        "color-name": "^1.0.0",
-        "simple-swizzle": "^0.2.2"
-      }
-    },
-    "colorette": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.2.tgz?cache=0&sync_timestamp=1614259623635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.2.tgz",
-      "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ=",
-      "dev": true
-    },
-    "combined-stream": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz",
-      "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
-      "dev": true,
-      "requires": {
-        "delayed-stream": "~1.0.0"
-      }
-    },
-    "commander": {
-      "version": "2.20.3",
-      "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1616364009866&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz",
-      "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=",
-      "dev": true
-    },
-    "commondir": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz",
-      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
-      "dev": true
-    },
-    "component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz",
-      "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=",
-      "dev": true
-    },
-    "compressible": {
-      "version": "2.0.18",
-      "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz?cache=0&sync_timestamp=1578286264482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcompressible%2Fdownload%2Fcompressible-2.0.18.tgz",
-      "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=",
-      "dev": true,
-      "requires": {
-        "mime-db": ">= 1.43.0 < 2"
-      }
-    },
-    "compression": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz",
-      "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.5",
-        "bytes": "3.0.0",
-        "compressible": "~2.0.16",
-        "debug": "2.6.9",
-        "on-headers": "~1.0.2",
-        "safe-buffer": "5.1.2",
-        "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz",
-          "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
-          "dev": true
-        },
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
-    },
-    "concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz",
-      "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=",
-      "dev": true,
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      }
-    },
-    "connect-history-api-fallback": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz",
-      "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=",
-      "dev": true
-    },
-    "console-browserify": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz",
-      "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=",
-      "dev": true
-    },
-    "console-control-strings": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz",
-      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
-      "dev": true
-    },
-    "consolidate": {
-      "version": "0.15.1",
-      "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz?cache=0&sync_timestamp=1599596647062&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconsolidate%2Fdownload%2Fconsolidate-0.15.1.tgz",
-      "integrity": "sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=",
-      "dev": true,
-      "requires": {
-        "bluebird": "^3.1.1"
-      }
-    },
-    "constants-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
-    },
-    "contains-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/contains-path/download/contains-path-1.0.0.tgz",
-      "integrity": "sha1-NFizMhhWA+ju0Y9RjUoQiIo6vJE=",
-      "dev": true,
-      "requires": {
-        "normalize-path": "^2.1.1",
-        "path-starts-with": "^1.0.0"
-      },
-      "dependencies": {
-        "normalize-path": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
-          "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-          "dev": true,
-          "requires": {
-            "remove-trailing-separator": "^1.0.1"
-          }
-        }
-      }
-    },
-    "content-disposition": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz",
-      "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "5.1.2"
-      }
-    },
-    "content-type": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz",
-      "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=",
-      "dev": true
-    },
-    "convert-source-map": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz?cache=0&sync_timestamp=1573003637425&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.7.0.tgz",
-      "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.1.1"
-      }
-    },
-    "cookie": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz?cache=0&sync_timestamp=1587525865178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookie%2Fdownload%2Fcookie-0.4.0.tgz",
-      "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=",
-      "dev": true
-    },
-    "cookie-signature": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz",
-      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
-      "dev": true
-    },
-    "copy-concurrently": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz",
-      "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "fs-write-stream-atomic": "^1.0.8",
-        "iferr": "^0.1.5",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.0"
-      }
-    },
-    "copy-descriptor": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true
-    },
-    "copy-webpack-plugin": {
-      "version": "5.1.2",
-      "resolved": "https://registry.nlark.com/copy-webpack-plugin/download/copy-webpack-plugin-5.1.2.tgz",
-      "integrity": "sha1-ioieHcr6bJHGzUvhrRWPHTgjuuI=",
-      "dev": true,
-      "requires": {
-        "cacache": "^12.0.3",
-        "find-cache-dir": "^2.1.0",
-        "glob-parent": "^3.1.0",
-        "globby": "^7.1.1",
-        "is-glob": "^4.0.1",
-        "loader-utils": "^1.2.3",
-        "minimatch": "^3.0.4",
-        "normalize-path": "^3.0.0",
-        "p-limit": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^4.0.0",
-        "webpack-log": "^2.0.0"
-      },
-      "dependencies": {
-        "find-cache-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz",
-          "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=",
-          "dev": true,
-          "requires": {
-            "commondir": "^1.0.1",
-            "make-dir": "^2.0.0",
-            "pkg-dir": "^3.0.0"
-          }
-        },
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz",
-          "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "dev": true,
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "dev": true,
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        },
-        "globby": {
-          "version": "7.1.1",
-          "resolved": "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz?cache=0&sync_timestamp=1616407139482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-7.1.1.tgz",
-          "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
-          "dev": true,
-          "requires": {
-            "array-union": "^1.0.1",
-            "dir-glob": "^2.0.0",
-            "glob": "^7.1.2",
-            "ignore": "^3.3.5",
-            "pify": "^3.0.0",
-            "slash": "^1.0.0"
-          },
-          "dependencies": {
-            "pify": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
-              "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-              "dev": true
-            }
-          }
-        },
-        "ignore": {
-          "version": "3.3.10",
-          "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1590809289115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz",
-          "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=",
-          "dev": true
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
-          "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "make-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1587567572251&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz",
-          "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=",
-          "dev": true,
-          "requires": {
-            "pify": "^4.0.1",
-            "semver": "^5.6.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
-          "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "path-exists": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
-          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1602859045787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz",
-          "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          }
-        },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
-          "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
-          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
-          "dev": true
-        },
-        "slash": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz?cache=0&sync_timestamp=1618384508676&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslash%2Fdownload%2Fslash-1.0.0.tgz",
-          "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
-          "dev": true
-        }
-      }
-    },
-    "core-js": {
-      "version": "3.12.1",
-      "resolved": "https://registry.nlark.com/core-js/download/core-js-3.12.1.tgz?cache=0&sync_timestamp=1620507873758&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js%2Fdownload%2Fcore-js-3.12.1.tgz",
-      "integrity": "sha1-a1r0/1VhbAikTThvH1EJF/8gQRI="
-    },
-    "core-js-compat": {
-      "version": "3.12.1",
-      "resolved": "https://registry.nlark.com/core-js-compat/download/core-js-compat-3.12.1.tgz?cache=0&sync_timestamp=1620509313036&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcore-js-compat%2Fdownload%2Fcore-js-compat-3.12.1.tgz",
-      "integrity": "sha1-LDAsRwhQX6cHKwrbUVbSb3gBoYs=",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.16.6",
-        "semver": "7.0.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz",
-          "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=",
-          "dev": true
-        }
-      }
-    },
-    "core-util-is": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
-    },
-    "cosmiconfig": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&sync_timestamp=1596310819353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz",
-      "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=",
-      "dev": true,
-      "requires": {
-        "import-fresh": "^2.0.0",
-        "is-directory": "^0.3.1",
-        "js-yaml": "^3.13.1",
-        "parse-json": "^4.0.0"
-      },
-      "dependencies": {
-        "parse-json": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1610966646988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz",
-          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-          "dev": true,
-          "requires": {
-            "error-ex": "^1.3.1",
-            "json-parse-better-errors": "^1.0.1"
-          }
-        }
-      }
-    },
-    "create-ecdh": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.4.tgz?cache=0&sync_timestamp=1596557423693&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcreate-ecdh%2Fdownload%2Fcreate-ecdh-4.0.4.tgz",
-      "integrity": "sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "elliptic": "^6.5.3"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz",
-          "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=",
-          "dev": true
-        }
-      }
-    },
-    "create-hash": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz",
-      "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.1",
-        "inherits": "^2.0.1",
-        "md5.js": "^1.3.4",
-        "ripemd160": "^2.0.1",
-        "sha.js": "^2.4.0"
-      }
-    },
-    "create-hmac": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz",
-      "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=",
-      "dev": true,
-      "requires": {
-        "cipher-base": "^1.0.3",
-        "create-hash": "^1.1.0",
-        "inherits": "^2.0.1",
-        "ripemd160": "^2.0.0",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "cross-spawn": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
-      "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
-      "dev": true,
-      "requires": {
-        "nice-try": "^1.0.4",
-        "path-key": "^2.0.1",
-        "semver": "^5.5.0",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
-          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
-          "dev": true
-        }
-      }
-    },
-    "crypto-browserify": {
-      "version": "3.12.0",
-      "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz",
-      "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
-      "dev": true,
-      "requires": {
-        "browserify-cipher": "^1.0.0",
-        "browserify-sign": "^4.0.0",
-        "create-ecdh": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.0",
-        "diffie-hellman": "^5.0.0",
-        "inherits": "^2.0.1",
-        "pbkdf2": "^3.0.3",
-        "public-encrypt": "^4.0.0",
-        "randombytes": "^2.0.0",
-        "randomfill": "^1.0.3"
-      }
-    },
-    "css-color-names": {
-      "version": "0.0.4",
-      "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz",
-      "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
-      "dev": true
-    },
-    "css-declaration-sorter": {
-      "version": "4.0.1",
-      "resolved": "https://registry.nlark.com/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz?cache=0&sync_timestamp=1620754698059&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz",
-      "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.1",
-        "timsort": "^0.3.0"
-      }
-    },
-    "css-loader": {
-      "version": "3.6.0",
-      "resolved": "https://registry.nlark.com/css-loader/download/css-loader-3.6.0.tgz",
-      "integrity": "sha1-Lkssfm4tJ/jI8o9hv/zS5ske9kU=",
-      "dev": true,
-      "requires": {
-        "camelcase": "^5.3.1",
-        "cssesc": "^3.0.0",
-        "icss-utils": "^4.1.1",
-        "loader-utils": "^1.2.3",
-        "normalize-path": "^3.0.0",
-        "postcss": "^7.0.32",
-        "postcss-modules-extract-imports": "^2.0.0",
-        "postcss-modules-local-by-default": "^3.0.2",
-        "postcss-modules-scope": "^2.2.0",
-        "postcss-modules-values": "^3.0.0",
-        "postcss-value-parser": "^4.1.0",
-        "schema-utils": "^2.7.0",
-        "semver": "^6.3.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz",
-          "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
-          "dev": true
-        }
-      }
-    },
-    "css-select": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz",
-      "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=",
-      "dev": true,
-      "requires": {
-        "boolbase": "^1.0.0",
-        "css-what": "^3.2.1",
-        "domutils": "^1.7.0",
-        "nth-check": "^1.0.2"
-      }
-    },
-    "css-select-base-adapter": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz",
-      "integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=",
-      "dev": true
-    },
-    "css-tree": {
-      "version": "1.0.0-alpha.37",
-      "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz",
-      "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=",
-      "dev": true,
-      "requires": {
-        "mdn-data": "2.0.4",
-        "source-map": "^0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        }
-      }
-    },
-    "css-what": {
-      "version": "3.4.2",
-      "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-3.4.2.tgz?cache=0&sync_timestamp=1615262617763&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-3.4.2.tgz",
-      "integrity": "sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ=",
-      "dev": true
-    },
-    "cssesc": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz",
-      "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=",
-      "dev": true
-    },
-    "cssnano": {
-      "version": "4.1.11",
-      "resolved": "https://registry.nlark.com/cssnano/download/cssnano-4.1.11.tgz?cache=0&sync_timestamp=1619611252094&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcssnano%2Fdownload%2Fcssnano-4.1.11.tgz",
-      "integrity": "sha1-x7X1uB2iacsf2YLLlgwSAJEMmpk=",
-      "dev": true,
-      "requires": {
-        "cosmiconfig": "^5.0.0",
-        "cssnano-preset-default": "^4.0.8",
-        "is-resolvable": "^1.0.0",
-        "postcss": "^7.0.0"
-      }
-    },
-    "cssnano-preset-default": {
-      "version": "4.0.8",
-      "resolved": "https://registry.nlark.com/cssnano-preset-default/download/cssnano-preset-default-4.0.8.tgz?cache=0&sync_timestamp=1619610598052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcssnano-preset-default%2Fdownload%2Fcssnano-preset-default-4.0.8.tgz",
-      "integrity": "sha1-kgYisfwelaNOiDggPxOXpQTy0/8=",
-      "dev": true,
-      "requires": {
-        "css-declaration-sorter": "^4.0.1",
-        "cssnano-util-raw-cache": "^4.0.1",
-        "postcss": "^7.0.0",
-        "postcss-calc": "^7.0.1",
-        "postcss-colormin": "^4.0.3",
-        "postcss-convert-values": "^4.0.1",
-        "postcss-discard-comments": "^4.0.2",
-        "postcss-discard-duplicates": "^4.0.2",
-        "postcss-discard-empty": "^4.0.1",
-        "postcss-discard-overridden": "^4.0.1",
-        "postcss-merge-longhand": "^4.0.11",
-        "postcss-merge-rules": "^4.0.3",
-        "postcss-minify-font-values": "^4.0.2",
-        "postcss-minify-gradients": "^4.0.2",
-        "postcss-minify-params": "^4.0.2",
-        "postcss-minify-selectors": "^4.0.2",
-        "postcss-normalize-charset": "^4.0.1",
-        "postcss-normalize-display-values": "^4.0.2",
-        "postcss-normalize-positions": "^4.0.2",
-        "postcss-normalize-repeat-style": "^4.0.2",
-        "postcss-normalize-string": "^4.0.2",
-        "postcss-normalize-timing-functions": "^4.0.2",
-        "postcss-normalize-unicode": "^4.0.1",
-        "postcss-normalize-url": "^4.0.1",
-        "postcss-normalize-whitespace": "^4.0.2",
-        "postcss-ordered-values": "^4.1.2",
-        "postcss-reduce-initial": "^4.0.3",
-        "postcss-reduce-transforms": "^4.0.2",
-        "postcss-svgo": "^4.0.3",
-        "postcss-unique-selectors": "^4.0.1"
-      }
-    },
-    "cssnano-util-get-arguments": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz",
-      "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
-      "dev": true
-    },
-    "cssnano-util-get-match": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz",
-      "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
-      "dev": true
-    },
-    "cssnano-util-raw-cache": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz",
-      "integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "cssnano-util-same-parent": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz",
-      "integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=",
-      "dev": true
-    },
-    "csso": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.2.0.tgz?cache=0&sync_timestamp=1606408849393&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.2.0.tgz",
-      "integrity": "sha1-6jpWE0bo3J9UbW/r7dUBh884lSk=",
-      "dev": true,
-      "requires": {
-        "css-tree": "^1.1.2"
-      },
-      "dependencies": {
-        "css-tree": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.1.3.tgz",
-          "integrity": "sha1-60hw+2/XcHMn7JXC/yqwm16NuR0=",
-          "dev": true,
-          "requires": {
-            "mdn-data": "2.0.14",
-            "source-map": "^0.6.1"
-          }
-        },
-        "mdn-data": {
-          "version": "2.0.14",
-          "resolved": "https://registry.nlark.com/mdn-data/download/mdn-data-2.0.14.tgz",
-          "integrity": "sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA=",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        }
-      }
-    },
-    "currently-unhandled": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz",
-      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
-      "dev": true,
-      "requires": {
-        "array-find-index": "^1.0.1"
-      }
-    },
-    "cyclist": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
-      "dev": true
-    },
-    "dashdash": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073454623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz",
-      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "date-fns": {
-      "version": "1.30.1",
-      "resolved": "https://registry.nlark.com/date-fns/download/date-fns-1.30.1.tgz?cache=0&sync_timestamp=1620446248863&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdate-fns%2Fdownload%2Fdate-fns-1.30.1.tgz",
-      "integrity": "sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw=",
-      "dev": true
-    },
-    "de-indent": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz",
-      "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
-      "dev": true
-    },
-    "debug": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz",
-      "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=",
-      "dev": true,
-      "requires": {
-        "ms": "2.1.2"
-      }
-    },
-    "decamelize": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1610348716845&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
-      "dev": true
-    },
-    "decode-uri-component": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true
-    },
-    "dedent": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npm.taobao.org/dedent/download/dedent-0.7.0.tgz",
-      "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
-      "dev": true
-    },
-    "deep-equal": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz",
-      "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=",
-      "dev": true,
-      "requires": {
-        "is-arguments": "^1.0.4",
-        "is-date-object": "^1.0.1",
-        "is-regex": "^1.0.4",
-        "object-is": "^1.0.1",
-        "object-keys": "^1.1.1",
-        "regexp.prototype.flags": "^1.2.0"
-      }
-    },
-    "deep-is": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz",
-      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
-      "dev": true
-    },
-    "deepmerge": {
-      "version": "1.5.2",
-      "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz?cache=0&sync_timestamp=1572279720382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeepmerge%2Fdownload%2Fdeepmerge-1.5.2.tgz",
-      "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M="
-    },
-    "default-gateway": {
-      "version": "5.0.5",
-      "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-5.0.5.tgz?cache=0&sync_timestamp=1610365857779&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-5.0.5.tgz",
-      "integrity": "sha1-T9a9XShV05s0zFpZUFSG6ar8mxA=",
-      "dev": true,
-      "requires": {
-        "execa": "^3.3.0"
-      },
-      "dependencies": {
-        "cross-spawn": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz",
-          "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=",
-          "dev": true,
-          "requires": {
-            "path-key": "^3.1.0",
-            "shebang-command": "^2.0.0",
-            "which": "^2.0.1"
-          }
-        },
-        "execa": {
-          "version": "3.4.0",
-          "resolved": "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1606971018065&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz",
-          "integrity": "sha1-wI7UVQ72XYWPrCaf/IVyRG8364k=",
-          "dev": true,
-          "requires": {
-            "cross-spawn": "^7.0.0",
-            "get-stream": "^5.0.0",
-            "human-signals": "^1.1.1",
-            "is-stream": "^2.0.0",
-            "merge-stream": "^2.0.0",
-            "npm-run-path": "^4.0.0",
-            "onetime": "^5.1.0",
-            "p-finally": "^2.0.0",
-            "signal-exit": "^3.0.2",
-            "strip-final-newline": "^2.0.0"
-          }
-        },
-        "get-stream": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-5.2.0.tgz",
-          "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=",
-          "dev": true,
-          "requires": {
-            "pump": "^3.0.0"
-          }
-        },
-        "is-stream": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz",
-          "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=",
-          "dev": true
-        },
-        "mimic-fn": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1617823583529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz",
-          "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=",
-          "dev": true
-        },
-        "npm-run-path": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz",
-          "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=",
-          "dev": true,
-          "requires": {
-            "path-key": "^3.0.0"
-          }
-        },
-        "onetime": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz",
-          "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=",
-          "dev": true,
-          "requires": {
-            "mimic-fn": "^2.1.0"
-          }
-        },
-        "p-finally": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz",
-          "integrity": "sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE=",
-          "dev": true
-        },
-        "path-key": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz",
-          "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=",
-          "dev": true
-        },
-        "shebang-command": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz",
-          "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=",
-          "dev": true,
-          "requires": {
-            "shebang-regex": "^3.0.0"
-          }
-        },
-        "shebang-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz",
-          "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=",
-          "dev": true
-        },
-        "which": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&sync_timestamp=1574116720213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz",
-          "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "defaults": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz",
-      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
-      "dev": true,
-      "requires": {
-        "clone": "^1.0.2"
-      }
-    },
-    "define-properties": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz",
-      "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=",
-      "dev": true,
-      "requires": {
-        "object-keys": "^1.0.12"
-      }
-    },
-    "define-property": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz",
-      "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=",
-      "dev": true,
-      "requires": {
-        "is-descriptor": "^1.0.2",
-        "isobject": "^3.0.1"
-      },
-      "dependencies": {
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
-          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "del": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz?cache=0&sync_timestamp=1601076882347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-4.1.1.tgz",
-      "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=",
-      "dev": true,
-      "requires": {
-        "@types/glob": "^7.1.1",
-        "globby": "^6.1.0",
-        "is-path-cwd": "^2.0.0",
-        "is-path-in-cwd": "^2.0.0",
-        "p-map": "^2.0.0",
-        "pify": "^4.0.1",
-        "rimraf": "^2.6.3"
-      },
-      "dependencies": {
-        "globby": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&sync_timestamp=1616407139482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz",
-          "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
-          "dev": true,
-          "requires": {
-            "array-union": "^1.0.1",
-            "glob": "^7.0.3",
-            "object-assign": "^4.0.1",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          },
-          "dependencies": {
-            "pify": {
-              "version": "2.3.0",
-              "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
-              "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-              "dev": true
-            }
-          }
-        }
-      }
-    },
-    "delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "dev": true
-    },
-    "delegate": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npm.taobao.org/delegate/download/delegate-3.2.0.tgz",
-      "integrity": "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY="
-    },
-    "delegates": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz",
-      "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
-      "dev": true
-    },
-    "depd": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
-      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
-      "dev": true
-    },
-    "des.js": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz",
-      "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "destroy": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
-      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
-      "dev": true
-    },
-    "detect-node": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.5.tgz?cache=0&sync_timestamp=1615921320304&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdetect-node%2Fdownload%2Fdetect-node-2.0.5.tgz",
-      "integrity": "sha1-nScKp+qlrwtyxMnZuBTn9M5zi3k=",
-      "dev": true
-    },
-    "diffie-hellman": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz",
-      "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "miller-rabin": "^4.0.0",
-        "randombytes": "^2.0.0"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz",
-          "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=",
-          "dev": true
-        }
-      }
-    },
-    "dir-glob": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz",
-      "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=",
-      "dev": true,
-      "requires": {
-        "path-type": "^3.0.0"
-      }
-    },
-    "dns-equal": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz",
-      "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
-      "dev": true
-    },
-    "dns-packet": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz",
-      "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=",
-      "dev": true,
-      "requires": {
-        "ip": "^1.1.0",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "dns-txt": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz",
-      "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
-      "dev": true,
-      "requires": {
-        "buffer-indexof": "^1.0.0"
-      }
-    },
-    "doctrine": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz",
-      "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=",
-      "dev": true,
-      "requires": {
-        "esutils": "^2.0.2"
-      }
-    },
-    "dom-converter": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz",
-      "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=",
-      "dev": true,
-      "requires": {
-        "utila": "~0.4"
-      }
-    },
-    "dom-serializer": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz",
-      "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=",
-      "dev": true,
-      "requires": {
-        "domelementtype": "^2.0.1",
-        "entities": "^2.0.0"
-      },
-      "dependencies": {
-        "domelementtype": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz",
-          "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=",
-          "dev": true
-        }
-      }
-    },
-    "domain-browser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1604239998047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz",
-      "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=",
-      "dev": true
-    },
-    "domelementtype": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz",
-      "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=",
-      "dev": true
-    },
-    "domhandler": {
-      "version": "2.4.2",
-      "resolved": "https://registry.nlark.com/domhandler/download/domhandler-2.4.2.tgz",
-      "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=",
-      "dev": true,
-      "requires": {
-        "domelementtype": "1"
-      }
-    },
-    "domutils": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz",
-      "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=",
-      "dev": true,
-      "requires": {
-        "dom-serializer": "0",
-        "domelementtype": "1"
-      }
-    },
-    "dot-prop": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.3.0.tgz?cache=0&sync_timestamp=1605778229330&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.3.0.tgz",
-      "integrity": "sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog=",
-      "dev": true,
-      "requires": {
-        "is-obj": "^2.0.0"
-      }
-    },
-    "dotenv": {
-      "version": "8.6.0",
-      "resolved": "https://registry.nlark.com/dotenv/download/dotenv-8.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdotenv%2Fdownload%2Fdotenv-8.6.0.tgz",
-      "integrity": "sha1-Bhr2ZNGff02PxuT/m1hM4jety4s=",
-      "dev": true
-    },
-    "dotenv-expand": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz",
-      "integrity": "sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=",
-      "dev": true
-    },
-    "duplexer": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz",
-      "integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=",
-      "dev": true
-    },
-    "duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz",
-      "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "easings-css": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/easings-css/download/easings-css-1.0.0.tgz",
-      "integrity": "sha1-3eVpADu3pKDAt3h49ds+C+VnnIE="
-    },
-    "easy-stack": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/easy-stack/download/easy-stack-1.0.1.tgz?cache=0&sync_timestamp=1605129209848&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feasy-stack%2Fdownload%2Feasy-stack-1.0.1.tgz",
-      "integrity": "sha1-iv5CZGJpiMq7EfPHBMzQyDVBEGY=",
-      "dev": true
-    },
-    "ecc-jsbn": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz",
-      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "dev": true,
-      "requires": {
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-      "dev": true
-    },
-    "ejs": {
-      "version": "2.7.4",
-      "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1612643435705&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz",
-      "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=",
-      "dev": true
-    },
-    "electron-to-chromium": {
-      "version": "1.3.728",
-      "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.728.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.728.tgz",
-      "integrity": "sha1-2+3WNz9ZWuEKE9FGtmvs5MGvpb0=",
-      "dev": true
-    },
-    "elegant-spinner": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/elegant-spinner/download/elegant-spinner-1.0.1.tgz",
-      "integrity": "sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=",
-      "dev": true
-    },
-    "element-ui": {
-      "version": "2.15.1",
-      "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.15.1.tgz",
-      "integrity": "sha1-raAKpuMsAndKLndWPdhGaPgTzf8=",
-      "requires": {
-        "async-validator": "~1.8.1",
-        "babel-helper-vue-jsx-merge-props": "^2.0.0",
-        "deepmerge": "^1.2.0",
-        "normalize-wheel": "^1.0.1",
-        "resize-observer-polyfill": "^1.5.0",
-        "throttle-debounce": "^1.0.1"
-      }
-    },
-    "elliptic": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.4.tgz",
-      "integrity": "sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.11.9",
-        "brorand": "^1.1.0",
-        "hash.js": "^1.0.0",
-        "hmac-drbg": "^1.0.1",
-        "inherits": "^2.0.4",
-        "minimalistic-assert": "^1.0.1",
-        "minimalistic-crypto-utils": "^1.0.1"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz",
-          "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=",
-          "dev": true
-        }
-      }
-    },
-    "emoji-regex": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1614682707048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz",
-      "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=",
-      "dev": true
-    },
-    "emojis-list": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz",
-      "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=",
-      "dev": true
-    },
-    "encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-      "dev": true
-    },
-    "end-of-stream": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz",
-      "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=",
-      "dev": true,
-      "requires": {
-        "once": "^1.4.0"
-      }
-    },
-    "enhanced-resolve": {
-      "version": "4.5.0",
-      "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz",
-      "integrity": "sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "memory-fs": "^0.5.0",
-        "tapable": "^1.0.0"
-      },
-      "dependencies": {
-        "memory-fs": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz",
-          "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=",
-          "dev": true,
-          "requires": {
-            "errno": "^0.1.3",
-            "readable-stream": "^2.0.1"
-          }
-        }
-      }
-    },
-    "entities": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.2.0.tgz",
-      "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=",
-      "dev": true
-    },
-    "errno": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.8.tgz",
-      "integrity": "sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=",
-      "dev": true,
-      "requires": {
-        "prr": "~1.0.1"
-      }
-    },
-    "error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz",
-      "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=",
-      "dev": true,
-      "requires": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "error-stack-parser": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz?cache=0&sync_timestamp=1578288503034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferror-stack-parser%2Fdownload%2Ferror-stack-parser-2.0.6.tgz",
-      "integrity": "sha1-WpmnB716TFinl5AtSNgoA+3mqtg=",
-      "dev": true,
-      "requires": {
-        "stackframe": "^1.1.1"
-      }
-    },
-    "es-abstract": {
-      "version": "1.18.0",
-      "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0.tgz",
-      "integrity": "sha1-q4CzWe7Lft5MKYAAOQvFrD7HtaQ=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "es-to-primitive": "^1.2.1",
-        "function-bind": "^1.1.1",
-        "get-intrinsic": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.2",
-        "is-callable": "^1.2.3",
-        "is-negative-zero": "^2.0.1",
-        "is-regex": "^1.1.2",
-        "is-string": "^1.0.5",
-        "object-inspect": "^1.9.0",
-        "object-keys": "^1.1.1",
-        "object.assign": "^4.1.2",
-        "string.prototype.trimend": "^1.0.4",
-        "string.prototype.trimstart": "^1.0.4",
-        "unbox-primitive": "^1.0.0"
-      }
-    },
-    "es-to-primitive": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz",
-      "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=",
-      "dev": true,
-      "requires": {
-        "is-callable": "^1.1.4",
-        "is-date-object": "^1.0.1",
-        "is-symbol": "^1.0.2"
-      }
-    },
-    "escalade": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567224085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz",
-      "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=",
-      "dev": true
-    },
-    "escape-html": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
-      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
-      "dev": true
-    },
-    "escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true
-    },
-    "eslint": {
-      "version": "6.8.0",
-      "resolved": "https://registry.nlark.com/eslint/download/eslint-6.8.0.tgz?cache=0&sync_timestamp=1620440445769&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint%2Fdownload%2Feslint-6.8.0.tgz",
-      "integrity": "sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s=",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "ajv": "^6.10.0",
-        "chalk": "^2.1.0",
-        "cross-spawn": "^6.0.5",
-        "debug": "^4.0.1",
-        "doctrine": "^3.0.0",
-        "eslint-scope": "^5.0.0",
-        "eslint-utils": "^1.4.3",
-        "eslint-visitor-keys": "^1.1.0",
-        "espree": "^6.1.2",
-        "esquery": "^1.0.1",
-        "esutils": "^2.0.2",
-        "file-entry-cache": "^5.0.1",
-        "functional-red-black-tree": "^1.0.1",
-        "glob-parent": "^5.0.0",
-        "globals": "^12.1.0",
-        "ignore": "^4.0.6",
-        "import-fresh": "^3.0.0",
-        "imurmurhash": "^0.1.4",
-        "inquirer": "^7.0.0",
-        "is-glob": "^4.0.0",
-        "js-yaml": "^3.13.1",
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "levn": "^0.3.0",
-        "lodash": "^4.17.14",
-        "minimatch": "^3.0.4",
-        "mkdirp": "^0.5.1",
-        "natural-compare": "^1.4.0",
-        "optionator": "^0.8.3",
-        "progress": "^2.0.0",
-        "regexpp": "^2.0.1",
-        "semver": "^6.1.2",
-        "strip-ansi": "^5.2.0",
-        "strip-json-comments": "^3.0.1",
-        "table": "^5.2.3",
-        "text-table": "^0.2.0",
-        "v8-compile-cache": "^2.0.3"
-      },
-      "dependencies": {
-        "eslint-scope": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1599933651660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz",
-          "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=",
-          "dev": true,
-          "requires": {
-            "esrecurse": "^4.3.0",
-            "estraverse": "^4.1.1"
-          }
-        },
-        "globals": {
-          "version": "12.4.0",
-          "resolved": "https://registry.npm.taobao.org/globals/download/globals-12.4.0.tgz?cache=0&sync_timestamp=1617957623227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-12.4.0.tgz",
-          "integrity": "sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg=",
-          "dev": true,
-          "requires": {
-            "type-fest": "^0.8.1"
-          }
-        },
-        "import-fresh": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469561643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.3.0.tgz",
-          "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=",
-          "dev": true,
-          "requires": {
-            "parent-module": "^1.0.0",
-            "resolve-from": "^4.0.0"
-          }
-        },
-        "resolve-from": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz",
-          "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
-          "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^4.1.0"
-          }
-        },
-        "type-fest": {
-          "version": "0.8.1",
-          "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz",
-          "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=",
-          "dev": true
-        }
-      }
-    },
-    "eslint-config-standard": {
-      "version": "14.1.1",
-      "resolved": "https://registry.npm.taobao.org/eslint-config-standard/download/eslint-config-standard-14.1.1.tgz?cache=0&sync_timestamp=1605664520005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-config-standard%2Fdownload%2Feslint-config-standard-14.1.1.tgz",
-      "integrity": "sha1-gwqOROeu995nRkl5rQa0BgJsVuo=",
-      "dev": true
-    },
-    "eslint-import-resolver-node": {
-      "version": "0.3.4",
-      "resolved": "https://registry.npm.taobao.org/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.4.tgz?cache=0&sync_timestamp=1592327223893&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-import-resolver-node%2Fdownload%2Feslint-import-resolver-node-0.3.4.tgz",
-      "integrity": "sha1-hf+oGULCUBLYIxCW3fZ5wDBCxxc=",
-      "dev": true,
-      "requires": {
-        "debug": "^2.6.9",
-        "resolve": "^1.13.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "eslint-import-resolver-webpack": {
-      "version": "0.12.2",
-      "resolved": "https://registry.nlark.com/eslint-import-resolver-webpack/download/eslint-import-resolver-webpack-0.12.2.tgz",
-      "integrity": "sha1-dp6GzQx1KhU2wZhV69kKoUzjhO4=",
-      "dev": true,
-      "requires": {
-        "array-find": "^1.0.0",
-        "debug": "^2.6.9",
-        "enhanced-resolve": "^0.9.1",
-        "find-root": "^1.1.0",
-        "has": "^1.0.3",
-        "interpret": "^1.2.0",
-        "lodash": "^4.17.15",
-        "node-libs-browser": "^1.0.0 || ^2.0.0",
-        "resolve": "^1.13.1",
-        "semver": "^5.7.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "enhanced-resolve": {
-          "version": "0.9.1",
-          "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-0.9.1.tgz",
-          "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "memory-fs": "^0.2.0",
-            "tapable": "^0.1.8"
-          }
-        },
-        "memory-fs": {
-          "version": "0.2.0",
-          "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.2.0.tgz",
-          "integrity": "sha1-8rslNovBIeORwlIN6Slpyu4KApA=",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
-          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
-          "dev": true
-        },
-        "tapable": {
-          "version": "0.1.10",
-          "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-0.1.10.tgz?cache=0&sync_timestamp=1607088905649&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-0.1.10.tgz",
-          "integrity": "sha1-KcNXB8K3DlDQdIK10gLo7URtr9Q=",
-          "dev": true
-        }
-      }
-    },
-    "eslint-loader": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz?cache=0&sync_timestamp=1601214436656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-loader%2Fdownload%2Feslint-loader-2.2.1.tgz",
-      "integrity": "sha1-KLnBLaVAV68IReKmEScBova/gzc=",
-      "dev": true,
-      "requires": {
-        "loader-fs-cache": "^1.0.0",
-        "loader-utils": "^1.0.2",
-        "object-assign": "^4.0.1",
-        "object-hash": "^1.1.4",
-        "rimraf": "^2.6.1"
-      }
-    },
-    "eslint-module-utils": {
-      "version": "2.6.1",
-      "resolved": "https://registry.nlark.com/eslint-module-utils/download/eslint-module-utils-2.6.1.tgz?cache=0&sync_timestamp=1620972429711&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-module-utils%2Fdownload%2Feslint-module-utils-2.6.1.tgz",
-      "integrity": "sha1-tRvh5HPdDeHF6mOOIkKcJJDqgjM=",
-      "dev": true,
-      "requires": {
-        "debug": "^3.2.7",
-        "pkg-dir": "^2.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.7",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz",
-          "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "find-up": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz",
-          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-          "dev": true,
-          "requires": {
-            "locate-path": "^2.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
-          "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-          "dev": true,
-          "requires": {
-            "p-locate": "^2.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1606290276843&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz",
-          "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
-          "dev": true,
-          "requires": {
-            "p-try": "^1.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
-          "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-          "dev": true,
-          "requires": {
-            "p-limit": "^1.1.0"
-          }
-        },
-        "p-try": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
-          "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
-          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz?cache=0&sync_timestamp=1602859045787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-2.0.0.tgz",
-          "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
-          "dev": true,
-          "requires": {
-            "find-up": "^2.1.0"
-          }
-        }
-      }
-    },
-    "eslint-plugin-es": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npm.taobao.org/eslint-plugin-es/download/eslint-plugin-es-3.0.1.tgz?cache=0&sync_timestamp=1605769812592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-es%2Fdownload%2Feslint-plugin-es-3.0.1.tgz",
-      "integrity": "sha1-dafN/czdwFiZNK7rOEF18iHFeJM=",
-      "dev": true,
-      "requires": {
-        "eslint-utils": "^2.0.0",
-        "regexpp": "^3.0.0"
-      },
-      "dependencies": {
-        "eslint-utils": {
-          "version": "2.1.0",
-          "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz",
-          "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=",
-          "dev": true,
-          "requires": {
-            "eslint-visitor-keys": "^1.1.0"
-          }
-        },
-        "regexpp": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-3.1.0.tgz",
-          "integrity": "sha1-IG0K0KVkjP+9uK5GQ489xRyfeOI=",
-          "dev": true
-        }
-      }
-    },
-    "eslint-plugin-import": {
-      "version": "2.23.1",
-      "resolved": "https://registry.nlark.com/eslint-plugin-import/download/eslint-plugin-import-2.23.1.tgz",
-      "integrity": "sha1-wT/97p9XIOlDL6fomcIi+iWXhjY=",
-      "dev": true,
-      "requires": {
-        "array-includes": "^3.1.3",
-        "array.prototype.flat": "^1.2.4",
-        "contains-path": "^1.0.0",
-        "debug": "^2.6.9",
-        "doctrine": "^2.1.0",
-        "eslint-import-resolver-node": "^0.3.4",
-        "eslint-module-utils": "^2.6.1",
-        "find-up": "^2.0.0",
-        "has": "^1.0.3",
-        "is-core-module": "^2.4.0",
-        "minimatch": "^3.0.4",
-        "object.values": "^1.1.3",
-        "pkg-up": "^2.0.0",
-        "read-pkg-up": "^3.0.0",
-        "resolve": "^1.20.0",
-        "tsconfig-paths": "^3.9.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "doctrine": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz",
-          "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2"
-          }
-        },
-        "find-up": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz",
-          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-          "dev": true,
-          "requires": {
-            "locate-path": "^2.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
-          "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-          "dev": true,
-          "requires": {
-            "p-locate": "^2.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "p-limit": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1606290276843&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz",
-          "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
-          "dev": true,
-          "requires": {
-            "p-try": "^1.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
-          "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-          "dev": true,
-          "requires": {
-            "p-limit": "^1.1.0"
-          }
-        },
-        "p-try": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
-          "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
-          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-          "dev": true
-        }
-      }
-    },
-    "eslint-plugin-node": {
-      "version": "11.1.0",
-      "resolved": "https://registry.npm.taobao.org/eslint-plugin-node/download/eslint-plugin-node-11.1.0.tgz?cache=0&sync_timestamp=1585396050025&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-node%2Fdownload%2Feslint-plugin-node-11.1.0.tgz",
-      "integrity": "sha1-yVVEQW7kraJnQKMEdO78VALcZx0=",
-      "dev": true,
-      "requires": {
-        "eslint-plugin-es": "^3.0.0",
-        "eslint-utils": "^2.0.0",
-        "ignore": "^5.1.1",
-        "minimatch": "^3.0.4",
-        "resolve": "^1.10.1",
-        "semver": "^6.1.0"
-      },
-      "dependencies": {
-        "eslint-utils": {
-          "version": "2.1.0",
-          "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz",
-          "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=",
-          "dev": true,
-          "requires": {
-            "eslint-visitor-keys": "^1.1.0"
-          }
-        },
-        "ignore": {
-          "version": "5.1.8",
-          "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz?cache=0&sync_timestamp=1590809289115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-5.1.8.tgz",
-          "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=",
-          "dev": true
-        }
-      }
-    },
-    "eslint-plugin-promise": {
-      "version": "4.3.1",
-      "resolved": "https://registry.nlark.com/eslint-plugin-promise/download/eslint-plugin-promise-4.3.1.tgz",
-      "integrity": "sha1-YUhd8qNZ4DFJ/a/AposOAwrSrEU=",
-      "dev": true
-    },
-    "eslint-plugin-standard": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npm.taobao.org/eslint-plugin-standard/download/eslint-plugin-standard-4.1.0.tgz?cache=0&sync_timestamp=1606091897901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-standard%2Fdownload%2Feslint-plugin-standard-4.1.0.tgz",
-      "integrity": "sha1-DDvzpn6FP4u7xYD7SUX78W9Bt8U=",
-      "dev": true
-    },
-    "eslint-plugin-vue": {
-      "version": "6.2.2",
-      "resolved": "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-6.2.2.tgz?cache=0&sync_timestamp=1618213533393&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-6.2.2.tgz",
-      "integrity": "sha1-J/7NmjokeJsPER7N1UCp5WGY4P4=",
-      "dev": true,
-      "requires": {
-        "natural-compare": "^1.4.0",
-        "semver": "^5.6.0",
-        "vue-eslint-parser": "^7.0.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
-          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
-          "dev": true
-        }
-      }
-    },
-    "eslint-scope": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz?cache=0&sync_timestamp=1599933651660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz",
-      "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=",
-      "dev": true,
-      "requires": {
-        "esrecurse": "^4.1.0",
-        "estraverse": "^4.1.1"
-      }
-    },
-    "eslint-utils": {
-      "version": "1.4.3",
-      "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-1.4.3.tgz",
-      "integrity": "sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8=",
-      "dev": true,
-      "requires": {
-        "eslint-visitor-keys": "^1.1.0"
-      }
-    },
-    "eslint-visitor-keys": {
-      "version": "1.3.0",
-      "resolved": "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1620088667316&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz",
-      "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=",
-      "dev": true
-    },
-    "espree": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz?cache=0&sync_timestamp=1607143966756&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-6.2.1.tgz",
-      "integrity": "sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o=",
-      "dev": true,
-      "requires": {
-        "acorn": "^7.1.1",
-        "acorn-jsx": "^5.2.0",
-        "eslint-visitor-keys": "^1.1.0"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "7.4.1",
-          "resolved": "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1620134123724&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz",
-          "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
-          "dev": true
-        }
-      }
-    },
-    "esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz",
-      "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=",
-      "dev": true
-    },
-    "esquery": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.4.0.tgz?cache=0&sync_timestamp=1612565616129&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesquery%2Fdownload%2Fesquery-1.4.0.tgz",
-      "integrity": "sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=",
-      "dev": true,
-      "requires": {
-        "estraverse": "^5.1.0"
-      },
-      "dependencies": {
-        "estraverse": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596642998635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz",
-          "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=",
-          "dev": true
-        }
-      }
-    },
-    "esrecurse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz?cache=0&sync_timestamp=1598898255610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesrecurse%2Fdownload%2Fesrecurse-4.3.0.tgz",
-      "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=",
-      "dev": true,
-      "requires": {
-        "estraverse": "^5.2.0"
-      },
-      "dependencies": {
-        "estraverse": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596642998635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz",
-          "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=",
-          "dev": true
-        }
-      }
-    },
-    "estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596642998635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz",
-      "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=",
-      "dev": true
-    },
-    "esutils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz",
-      "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=",
-      "dev": true
-    },
-    "etag": {
-      "version": "1.8.1",
-      "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz",
-      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
-      "dev": true
-    },
-    "event-pubsub": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz?cache=0&sync_timestamp=1606361475552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevent-pubsub%2Fdownload%2Fevent-pubsub-4.3.0.tgz",
-      "integrity": "sha1-9o2Ba8KfHsAsU53FjI3UDOcss24=",
-      "dev": true
-    },
-    "eventemitter3": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517728928&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz",
-      "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=",
-      "dev": true
-    },
-    "events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npm.taobao.org/events/download/events-3.3.0.tgz?cache=0&sync_timestamp=1614446722579&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevents%2Fdownload%2Fevents-3.3.0.tgz",
-      "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=",
-      "dev": true
-    },
-    "eventsource": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/eventsource/download/eventsource-1.1.0.tgz?cache=0&sync_timestamp=1616041716084&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventsource%2Fdownload%2Feventsource-1.1.0.tgz",
-      "integrity": "sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68=",
-      "dev": true,
-      "requires": {
-        "original": "^1.0.0"
-      }
-    },
-    "evp_bytestokey": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz",
-      "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
-      "dev": true,
-      "requires": {
-        "md5.js": "^1.3.4",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "execa": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1606971018065&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz",
-      "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^6.0.0",
-        "get-stream": "^4.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      }
-    },
-    "expand-brackets": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz",
-      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
-      "requires": {
-        "debug": "^2.3.3",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "posix-character-classes": "^0.1.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "express": {
-      "version": "4.17.1",
-      "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz",
-      "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.7",
-        "array-flatten": "1.1.1",
-        "body-parser": "1.19.0",
-        "content-disposition": "0.5.3",
-        "content-type": "~1.0.4",
-        "cookie": "0.4.0",
-        "cookie-signature": "1.0.6",
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "finalhandler": "~1.1.2",
-        "fresh": "0.5.2",
-        "merge-descriptors": "1.0.1",
-        "methods": "~1.1.2",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
-        "proxy-addr": "~2.0.5",
-        "qs": "6.7.0",
-        "range-parser": "~1.2.1",
-        "safe-buffer": "5.1.2",
-        "send": "0.17.1",
-        "serve-static": "1.14.1",
-        "setprototypeof": "1.1.1",
-        "statuses": "~1.5.0",
-        "type-is": "~1.6.18",
-        "utils-merge": "1.0.1",
-        "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "qs": {
-          "version": "6.7.0",
-          "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&sync_timestamp=1616385328325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz",
-          "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=",
-          "dev": true
-        }
-      }
-    },
-    "extend": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
-      "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=",
-      "dev": true
-    },
-    "extend-shallow": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
-      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
-      "requires": {
-        "assign-symbols": "^1.0.0",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
-          "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "external-editor": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz",
-      "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=",
-      "dev": true,
-      "requires": {
-        "chardet": "^0.7.0",
-        "iconv-lite": "^0.4.24",
-        "tmp": "^0.0.33"
-      }
-    },
-    "extglob": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz",
-      "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
-      "dev": true,
-      "requires": {
-        "array-unique": "^0.3.2",
-        "define-property": "^1.0.0",
-        "expand-brackets": "^2.1.4",
-        "extend-shallow": "^2.0.1",
-        "fragment-cache": "^0.2.1",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
-          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "extsprintf": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
-      "dev": true
-    },
-    "fast-deep-equal": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1591599697571&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz",
-      "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
-      "dev": true
-    },
-    "fast-glob": {
-      "version": "2.2.7",
-      "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1610876505711&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz",
-      "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=",
-      "dev": true,
-      "requires": {
-        "@mrmlnc/readdir-enhanced": "^2.2.1",
-        "@nodelib/fs.stat": "^1.1.2",
-        "glob-parent": "^3.1.0",
-        "is-glob": "^4.0.0",
-        "merge2": "^1.2.3",
-        "micromatch": "^3.1.10"
-      },
-      "dependencies": {
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "dev": true,
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "dev": true,
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        }
-      }
-    },
-    "fast-json-stable-stringify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1576340291001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=",
-      "dev": true
-    },
-    "fast-levenshtein": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
-      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
-      "dev": true
-    },
-    "fastq": {
-      "version": "1.11.0",
-      "resolved": "https://registry.npm.taobao.org/fastq/download/fastq-1.11.0.tgz?cache=0&sync_timestamp=1614183822444&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffastq%2Fdownload%2Ffastq-1.11.0.tgz",
-      "integrity": "sha1-u5+5VaBxMKkY62PB9RYcwypdCFg=",
-      "dev": true,
-      "requires": {
-        "reusify": "^1.0.4"
-      }
-    },
-    "faye-websocket": {
-      "version": "0.11.3",
-      "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz",
-      "integrity": "sha1-XA6aiWjokSwoZjn96XeosgnyUI4=",
-      "dev": true,
-      "requires": {
-        "websocket-driver": ">=0.5.1"
-      }
-    },
-    "figgy-pudding": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz",
-      "integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=",
-      "dev": true
-    },
-    "figures": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz?cache=0&sync_timestamp=1581865349068&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz",
-      "integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=",
-      "dev": true,
-      "requires": {
-        "escape-string-regexp": "^1.0.5"
-      }
-    },
-    "file-entry-cache": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz?cache=0&sync_timestamp=1613794272556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-5.0.1.tgz",
-      "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=",
-      "dev": true,
-      "requires": {
-        "flat-cache": "^2.0.1"
-      }
-    },
-    "file-loader": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-4.3.0.tgz?cache=0&sync_timestamp=1603816843418&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-4.3.0.tgz",
-      "integrity": "sha1-eA8ED3KbPRgBnyBgX3I+hEuKWK8=",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.2.3",
-        "schema-utils": "^2.5.0"
-      }
-    },
-    "file-uri-to-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz",
-      "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=",
-      "dev": true,
-      "optional": true
-    },
-    "filesize": {
-      "version": "3.6.1",
-      "resolved": "https://registry.nlark.com/filesize/download/filesize-3.6.1.tgz",
-      "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=",
-      "dev": true
-    },
-    "fill-range": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz",
-      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1",
-        "to-regex-range": "^2.1.0"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "finalhandler": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz",
-      "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "~2.3.0",
-        "parseurl": "~1.3.3",
-        "statuses": "~1.5.0",
-        "unpipe": "~1.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "find-cache-dir": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz",
-      "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=",
-      "dev": true,
-      "requires": {
-        "commondir": "^1.0.1",
-        "make-dir": "^3.0.2",
-        "pkg-dir": "^4.1.0"
-      }
-    },
-    "find-root": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/find-root/download/find-root-1.1.0.tgz",
-      "integrity": "sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ=",
-      "dev": true
-    },
-    "find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz",
-      "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=",
-      "dev": true,
-      "requires": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      }
-    },
-    "flat-cache": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz?cache=0&sync_timestamp=1604831838291&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflat-cache%2Fdownload%2Fflat-cache-2.0.1.tgz",
-      "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=",
-      "dev": true,
-      "requires": {
-        "flatted": "^2.0.0",
-        "rimraf": "2.6.3",
-        "write": "1.0.3"
-      },
-      "dependencies": {
-        "rimraf": {
-          "version": "2.6.3",
-          "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz",
-          "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        }
-      }
-    },
-    "flatted": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1611059462226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz",
-      "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=",
-      "dev": true
-    },
-    "flush-write-stream": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz",
-      "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.3.6"
-      }
-    },
-    "follow-redirects": {
-      "version": "1.14.1",
-      "resolved": "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.1.tgz?cache=0&sync_timestamp=1620555292056&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.14.1.tgz",
-      "integrity": "sha1-2RFN7Qoc/dM04WTmZirQK/2R/0M="
-    },
-    "for-in": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true
-    },
-    "forever-agent": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
-      "dev": true
-    },
-    "form-data": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz",
-      "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=",
-      "dev": true,
-      "requires": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.6",
-        "mime-types": "^2.1.12"
-      }
-    },
-    "forwarded": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz",
-      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
-      "dev": true
-    },
-    "fragment-cache": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz",
-      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
-      "requires": {
-        "map-cache": "^0.2.2"
-      }
-    },
-    "fresh": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz",
-      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
-      "dev": true
-    },
-    "from2": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz",
-      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0"
-      }
-    },
-    "fs-extra": {
-      "version": "7.0.1",
-      "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-7.0.1.tgz",
-      "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "jsonfile": "^4.0.0",
-        "universalify": "^0.1.0"
-      }
-    },
-    "fs-write-stream-atomic": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz",
-      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "iferr": "^0.1.5",
-        "imurmurhash": "^0.1.4",
-        "readable-stream": "1 || 2"
-      }
-    },
-    "fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
-    },
-    "fsevents": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz",
-      "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=",
-      "dev": true,
-      "optional": true
-    },
-    "fstream": {
-      "version": "1.0.12",
-      "resolved": "https://registry.npm.taobao.org/fstream/download/fstream-1.0.12.tgz",
-      "integrity": "sha1-Touo7i1Ivk99DeUFRVVI6uWTIEU=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "inherits": "~2.0.0",
-        "mkdirp": ">=0.5 0",
-        "rimraf": "2"
-      }
-    },
-    "function-bind": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
-      "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=",
-      "dev": true
-    },
-    "functional-red-black-tree": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz",
-      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
-      "dev": true
-    },
-    "fuzzysearch": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/fuzzysearch/download/fuzzysearch-1.0.3.tgz",
-      "integrity": "sha1-3/yA9tawQiPyImqnndGUIxCW0Ag="
-    },
-    "gauge": {
-      "version": "2.7.4",
-      "resolved": "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz",
-      "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.0.3",
-        "console-control-strings": "^1.0.0",
-        "has-unicode": "^2.0.0",
-        "object-assign": "^4.1.0",
-        "signal-exit": "^3.0.0",
-        "string-width": "^1.0.1",
-        "strip-ansi": "^3.0.1",
-        "wide-align": "^1.1.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
-          "dev": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
-          "dev": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        }
-      }
-    },
-    "gaze": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz",
-      "integrity": "sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko=",
-      "dev": true,
-      "requires": {
-        "globule": "^1.0.0"
-      }
-    },
-    "gensync": {
-      "version": "1.0.0-beta.2",
-      "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz?cache=0&sync_timestamp=1603831745943&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgensync%2Fdownload%2Fgensync-1.0.0-beta.2.tgz",
-      "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=",
-      "dev": true
-    },
-    "get-caller-file": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz",
-      "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=",
-      "dev": true
-    },
-    "get-intrinsic": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz?cache=0&sync_timestamp=1612364352840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.1.1.tgz",
-      "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1",
-        "has": "^1.0.3",
-        "has-symbols": "^1.0.1"
-      }
-    },
-    "get-own-enumerable-property-symbols": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz",
-      "integrity": "sha1-tf3nfyLL4185C04ImSLFC85u9mQ=",
-      "dev": true
-    },
-    "get-stdin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz?cache=0&sync_timestamp=1618557624027&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stdin%2Fdownload%2Fget-stdin-4.0.1.tgz",
-      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
-      "dev": true
-    },
-    "get-stream": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-4.1.0.tgz",
-      "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=",
-      "dev": true,
-      "requires": {
-        "pump": "^3.0.0"
-      }
-    },
-    "get-value": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true
-    },
-    "getpass": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
-      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0"
-      }
-    },
-    "glob": {
-      "version": "7.1.7",
-      "resolved": "https://registry.nlark.com/glob/download/glob-7.1.7.tgz?cache=0&sync_timestamp=1620337382269&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglob%2Fdownload%2Fglob-7.1.7.tgz",
-      "integrity": "sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=",
-      "dev": true,
-      "requires": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.0.4",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      }
-    },
-    "glob-parent": {
-      "version": "5.1.2",
-      "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz",
-      "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=",
-      "dev": true,
-      "requires": {
-        "is-glob": "^4.0.1"
-      }
-    },
-    "glob-to-regexp": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz",
-      "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
-      "dev": true
-    },
-    "globals": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1617957623227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz",
-      "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=",
-      "dev": true
-    },
-    "globby": {
-      "version": "9.2.0",
-      "resolved": "https://registry.npm.taobao.org/globby/download/globby-9.2.0.tgz?cache=0&sync_timestamp=1616407139482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-9.2.0.tgz",
-      "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=",
-      "dev": true,
-      "requires": {
-        "@types/glob": "^7.1.1",
-        "array-union": "^1.0.2",
-        "dir-glob": "^2.2.2",
-        "fast-glob": "^2.2.6",
-        "glob": "^7.1.3",
-        "ignore": "^4.0.3",
-        "pify": "^4.0.1",
-        "slash": "^2.0.0"
-      }
-    },
-    "globule": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npm.taobao.org/globule/download/globule-1.3.2.tgz?cache=0&sync_timestamp=1591644214501&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobule%2Fdownload%2Fglobule-1.3.2.tgz",
-      "integrity": "sha1-2L3Z6eTu+PluJFmZpd7n612FKcQ=",
-      "dev": true,
-      "requires": {
-        "glob": "~7.1.1",
-        "lodash": "~4.17.10",
-        "minimatch": "~3.0.2"
-      }
-    },
-    "good-listener": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npm.taobao.org/good-listener/download/good-listener-1.2.2.tgz",
-      "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
-      "requires": {
-        "delegate": "^3.1.2"
-      }
-    },
-    "graceful-fs": {
-      "version": "4.2.6",
-      "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.6.tgz",
-      "integrity": "sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4=",
-      "dev": true
-    },
-    "gzip-size": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz?cache=0&sync_timestamp=1605523125680&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgzip-size%2Fdownload%2Fgzip-size-5.1.1.tgz",
-      "integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=",
-      "dev": true,
-      "requires": {
-        "duplexer": "^0.1.1",
-        "pify": "^4.0.1"
-      }
-    },
-    "handle-thing": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz",
-      "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=",
-      "dev": true
-    },
-    "har-schema": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
-      "dev": true
-    },
-    "har-validator": {
-      "version": "5.1.5",
-      "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz?cache=0&sync_timestamp=1596082584903&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhar-validator%2Fdownload%2Fhar-validator-5.1.5.tgz",
-      "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.12.3",
-        "har-schema": "^2.0.0"
-      }
-    },
-    "has": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
-      "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1"
-      }
-    },
-    "has-ansi": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
-      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^2.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        }
-      }
-    },
-    "has-bigints": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/has-bigints/download/has-bigints-1.0.1.tgz?cache=0&sync_timestamp=1615461427142&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-bigints%2Fdownload%2Fhas-bigints-1.0.1.tgz",
-      "integrity": "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=",
-      "dev": true
-    },
-    "has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true
-    },
-    "has-symbols": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz?cache=0&sync_timestamp=1614443557459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.2.tgz",
-      "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=",
-      "dev": true
-    },
-    "has-unicode": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz",
-      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
-      "dev": true
-    },
-    "has-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz",
-      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
-      "requires": {
-        "get-value": "^2.0.6",
-        "has-values": "^1.0.0",
-        "isobject": "^3.0.0"
-      }
-    },
-    "has-values": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz",
-      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
-      "requires": {
-        "is-number": "^3.0.0",
-        "kind-of": "^4.0.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
-          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "hash-base": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz",
-      "integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.6.0",
-        "safe-buffer": "^5.2.0"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "3.6.0",
-          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1581624324274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz",
-          "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
-          "dev": true,
-          "requires": {
-            "inherits": "^2.0.3",
-            "string_decoder": "^1.1.1",
-            "util-deprecate": "^1.0.1"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.2.1",
-          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz",
-          "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=",
-          "dev": true
-        }
-      }
-    },
-    "hash-sum": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz",
-      "integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=",
-      "dev": true
-    },
-    "hash.js": {
-      "version": "1.1.7",
-      "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz",
-      "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "minimalistic-assert": "^1.0.1"
-      }
-    },
-    "he": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz",
-      "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=",
-      "dev": true
-    },
-    "hex-color-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz",
-      "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=",
-      "dev": true
-    },
-    "highlight.js": {
-      "version": "10.7.2",
-      "resolved": "https://registry.nlark.com/highlight.js/download/highlight.js-10.7.2.tgz",
-      "integrity": "sha1-iTGbhh7cZsSIVO0ebaIeqJ+Ec2A=",
-      "dev": true
-    },
-    "hmac-drbg": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz",
-      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
-      "requires": {
-        "hash.js": "^1.0.3",
-        "minimalistic-assert": "^1.0.0",
-        "minimalistic-crypto-utils": "^1.0.1"
-      }
-    },
-    "hoopy": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz",
-      "integrity": "sha1-YJIH1mEQADOpqUAq096mdzgcGx0=",
-      "dev": true
-    },
-    "hosted-git-info": {
-      "version": "2.8.9",
-      "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.9.tgz?cache=0&sync_timestamp=1617826541967&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.9.tgz",
-      "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=",
-      "dev": true
-    },
-    "hpack.js": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz",
-      "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "obuf": "^1.0.0",
-        "readable-stream": "^2.0.1",
-        "wbuf": "^1.1.0"
-      }
-    },
-    "hsl-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz",
-      "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
-      "dev": true
-    },
-    "hsla-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz",
-      "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
-      "dev": true
-    },
-    "html-entities": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.4.0.tgz?cache=0&sync_timestamp=1617031553039&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-entities%2Fdownload%2Fhtml-entities-1.4.0.tgz",
-      "integrity": "sha1-z70bAdKvr5rcobEK59/6uYxx0tw=",
-      "dev": true
-    },
-    "html-minifier": {
-      "version": "3.5.21",
-      "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz",
-      "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=",
-      "dev": true,
-      "requires": {
-        "camel-case": "3.0.x",
-        "clean-css": "4.2.x",
-        "commander": "2.17.x",
-        "he": "1.2.x",
-        "param-case": "2.1.x",
-        "relateurl": "0.2.x",
-        "uglify-js": "3.4.x"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "2.17.1",
-          "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1616364009866&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz",
-          "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=",
-          "dev": true
-        }
-      }
-    },
-    "html-tags": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-3.1.0.tgz",
-      "integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=",
-      "dev": true
-    },
-    "html-webpack-plugin": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1615296040860&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz",
-      "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=",
-      "dev": true,
-      "requires": {
-        "html-minifier": "^3.2.3",
-        "loader-utils": "^0.2.16",
-        "lodash": "^4.17.3",
-        "pretty-error": "^2.0.2",
-        "tapable": "^1.0.0",
-        "toposort": "^1.0.0",
-        "util.promisify": "1.0.0"
-      },
-      "dependencies": {
-        "big.js": {
-          "version": "3.2.0",
-          "resolved": "https://registry.nlark.com/big.js/download/big.js-3.2.0.tgz?cache=0&sync_timestamp=1620132748267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbig.js%2Fdownload%2Fbig.js-3.2.0.tgz",
-          "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=",
-          "dev": true
-        },
-        "emojis-list": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz",
-          "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
-          "dev": true
-        },
-        "json5": {
-          "version": "0.5.1",
-          "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
-          "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
-          "dev": true
-        },
-        "loader-utils": {
-          "version": "0.2.17",
-          "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-0.2.17.tgz",
-          "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
-          "dev": true,
-          "requires": {
-            "big.js": "^3.1.3",
-            "emojis-list": "^2.0.0",
-            "json5": "^0.5.0",
-            "object-assign": "^4.0.1"
-          }
-        },
-        "util.promisify": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&sync_timestamp=1610159895694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz",
-          "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=",
-          "dev": true,
-          "requires": {
-            "define-properties": "^1.1.2",
-            "object.getownpropertydescriptors": "^2.0.3"
-          }
-        }
-      }
-    },
-    "htmlparser2": {
-      "version": "3.10.1",
-      "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1617914940336&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz",
-      "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=",
-      "dev": true,
-      "requires": {
-        "domelementtype": "^1.3.1",
-        "domhandler": "^2.3.0",
-        "domutils": "^1.5.1",
-        "entities": "^1.1.1",
-        "inherits": "^2.0.1",
-        "readable-stream": "^3.1.1"
-      },
-      "dependencies": {
-        "entities": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz",
-          "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=",
-          "dev": true
-        },
-        "readable-stream": {
-          "version": "3.6.0",
-          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1581624324274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz",
-          "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
-          "dev": true,
-          "requires": {
-            "inherits": "^2.0.3",
-            "string_decoder": "^1.1.1",
-            "util-deprecate": "^1.0.1"
-          }
-        }
-      }
-    },
-    "http-deceiver": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz",
-      "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
-      "dev": true
-    },
-    "http-errors": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1593407676624&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz",
-      "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=",
-      "dev": true,
-      "requires": {
-        "depd": "~1.1.2",
-        "inherits": "2.0.3",
-        "setprototypeof": "1.1.1",
-        "statuses": ">= 1.5.0 < 2",
-        "toidentifier": "1.0.0"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        }
-      }
-    },
-    "http-parser-js": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.3.tgz",
-      "integrity": "sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k=",
-      "dev": true
-    },
-    "http-proxy": {
-      "version": "1.18.1",
-      "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy%2Fdownload%2Fhttp-proxy-1.18.1.tgz",
-      "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=",
-      "dev": true,
-      "requires": {
-        "eventemitter3": "^4.0.0",
-        "follow-redirects": "^1.0.0",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "http-proxy-middleware": {
-      "version": "1.3.1",
-      "resolved": "https://registry.nlark.com/http-proxy-middleware/download/http-proxy-middleware-1.3.1.tgz",
-      "integrity": "sha1-Q3ANbZ7st0Gb8IahKND3IF2etmU=",
-      "dev": true,
-      "requires": {
-        "@types/http-proxy": "^1.17.5",
-        "http-proxy": "^1.18.1",
-        "is-glob": "^4.0.1",
-        "is-plain-obj": "^3.0.0",
-        "micromatch": "^4.0.2"
-      },
-      "dependencies": {
-        "braces": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz",
-          "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
-          "dev": true,
-          "requires": {
-            "fill-range": "^7.0.1"
-          }
-        },
-        "fill-range": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz",
-          "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
-          "dev": true,
-          "requires": {
-            "to-regex-range": "^5.0.1"
-          }
-        },
-        "is-number": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz",
-          "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
-          "dev": true
-        },
-        "micromatch": {
-          "version": "4.0.4",
-          "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.4.tgz?cache=0&sync_timestamp=1618054842871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.4.tgz",
-          "integrity": "sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=",
-          "dev": true,
-          "requires": {
-            "braces": "^3.0.1",
-            "picomatch": "^2.2.3"
-          }
-        },
-        "to-regex-range": {
-          "version": "5.0.1",
-          "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
-          "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
-          "dev": true,
-          "requires": {
-            "is-number": "^7.0.0"
-          }
-        }
-      }
-    },
-    "http-signature": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1600868452638&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz",
-      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "jsprim": "^1.2.2",
-        "sshpk": "^1.7.0"
-      }
-    },
-    "https-browserify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
-    },
-    "human-signals": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz?cache=0&sync_timestamp=1584198662293&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhuman-signals%2Fdownload%2Fhuman-signals-1.1.1.tgz",
-      "integrity": "sha1-xbHNFPUK6uCatsWf5jujOV/k36M=",
-      "dev": true
-    },
-    "iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1594184264130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz",
-      "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=",
-      "dev": true,
-      "requires": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      }
-    },
-    "icss-utils": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz?cache=0&sync_timestamp=1605801291394&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficss-utils%2Fdownload%2Ficss-utils-4.1.1.tgz",
-      "integrity": "sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.14"
-      }
-    },
-    "ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838208740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-1.2.1.tgz",
-      "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=",
-      "dev": true
-    },
-    "iferr": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
-    },
-    "ignore": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1590809289115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz",
-      "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=",
-      "dev": true
-    },
-    "import-cwd": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz",
-      "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
-      "dev": true,
-      "requires": {
-        "import-from": "^2.1.0"
-      }
-    },
-    "import-fresh": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1608469561643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz",
-      "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
-      "dev": true,
-      "requires": {
-        "caller-path": "^2.0.0",
-        "resolve-from": "^3.0.0"
-      }
-    },
-    "import-from": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz",
-      "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
-      "dev": true,
-      "requires": {
-        "resolve-from": "^3.0.0"
-      }
-    },
-    "import-local": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz",
-      "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=",
-      "dev": true,
-      "requires": {
-        "pkg-dir": "^3.0.0",
-        "resolve-cwd": "^2.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz",
-          "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
-          "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
-          "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "path-exists": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
-          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1602859045787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz",
-          "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          }
-        }
-      }
-    },
-    "imurmurhash": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true
-    },
-    "in-publish": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/in-publish/download/in-publish-2.0.1.tgz?cache=0&sync_timestamp=1584388407299&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fin-publish%2Fdownload%2Fin-publish-2.0.1.tgz",
-      "integrity": "sha1-lIsaU1yAMFYc6lIvc/ePS+NX4Aw=",
-      "dev": true
-    },
-    "indent-string": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1618679561483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz",
-      "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=",
-      "dev": true
-    },
-    "indexes-of": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz",
-      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
-      "dev": true
-    },
-    "infer-owner": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz",
-      "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=",
-      "dev": true
-    },
-    "inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
-      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
-      "requires": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz",
-      "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=",
-      "dev": true
-    },
-    "inquirer": {
-      "version": "7.3.3",
-      "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-7.3.3.tgz",
-      "integrity": "sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM=",
-      "dev": true,
-      "requires": {
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.1.0",
-        "cli-cursor": "^3.1.0",
-        "cli-width": "^3.0.0",
-        "external-editor": "^3.0.3",
-        "figures": "^3.0.0",
-        "lodash": "^4.17.19",
-        "mute-stream": "0.0.8",
-        "run-async": "^2.4.0",
-        "rxjs": "^6.6.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0",
-        "through": "^2.3.6"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
-          "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.1",
-          "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz?cache=0&sync_timestamp=1618995355917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.1.tgz",
-          "integrity": "sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "cli-cursor": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz",
-          "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=",
-          "dev": true,
-          "requires": {
-            "restore-cursor": "^3.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
-          "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
-          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
-          "dev": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
-          "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
-          "dev": true
-        },
-        "mimic-fn": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1617823583529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz",
-          "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=",
-          "dev": true
-        },
-        "onetime": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz",
-          "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=",
-          "dev": true,
-          "requires": {
-            "mimic-fn": "^2.1.0"
-          }
-        },
-        "restore-cursor": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz",
-          "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=",
-          "dev": true,
-          "requires": {
-            "onetime": "^5.1.0",
-            "signal-exit": "^3.0.2"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
-          "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "internal-ip": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1605885528721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz",
-      "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=",
-      "dev": true,
-      "requires": {
-        "default-gateway": "^4.2.0",
-        "ipaddr.js": "^1.9.0"
-      },
-      "dependencies": {
-        "default-gateway": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz?cache=0&sync_timestamp=1610365857779&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-4.2.0.tgz",
-          "integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=",
-          "dev": true,
-          "requires": {
-            "execa": "^1.0.0",
-            "ip-regex": "^2.1.0"
-          }
-        }
-      }
-    },
-    "interpret": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.4.0.tgz?cache=0&sync_timestamp=1591167206134&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finterpret%2Fdownload%2Finterpret-1.4.0.tgz",
-      "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=",
-      "dev": true
-    },
-    "ip": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
-      "dev": true
-    },
-    "ip-regex": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz?cache=0&sync_timestamp=1611327032630&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fip-regex%2Fdownload%2Fip-regex-2.1.0.tgz",
-      "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
-      "dev": true
-    },
-    "ipaddr.js": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz",
-      "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=",
-      "dev": true
-    },
-    "is-absolute-url": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz",
-      "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
-      "dev": true
-    },
-    "is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-arguments": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.1.0.tgz?cache=0&sync_timestamp=1607117337190&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-arguments%2Fdownload%2Fis-arguments-1.1.0.tgz",
-      "integrity": "sha1-YjUwMd++4HzrNGVqa95Z7+yujdk=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0"
-      }
-    },
-    "is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
-      "dev": true
-    },
-    "is-bigint": {
-      "version": "1.0.2",
-      "resolved": "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.2.tgz",
-      "integrity": "sha1-/7OBRCUDI1rSReqJ5Fs9v/BA7lo=",
-      "dev": true
-    },
-    "is-binary-path": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz",
-      "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "binary-extensions": "^2.0.0"
-      }
-    },
-    "is-boolean-object": {
-      "version": "1.1.1",
-      "resolved": "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.1.tgz",
-      "integrity": "sha1-PAh48DXLghIo01DS4eNnGXFqPeg=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2"
-      }
-    },
-    "is-buffer": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1604429452232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz",
-      "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=",
-      "dev": true
-    },
-    "is-callable": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.3.tgz",
-      "integrity": "sha1-ix4FALc6HXbHBIdjbzaOUZ3o244=",
-      "dev": true
-    },
-    "is-ci": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/is-ci/download/is-ci-1.2.1.tgz",
-      "integrity": "sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw=",
-      "dev": true,
-      "requires": {
-        "ci-info": "^1.5.0"
-      }
-    },
-    "is-color-stop": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz",
-      "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
-      "dev": true,
-      "requires": {
-        "css-color-names": "^0.0.4",
-        "hex-color-regex": "^1.1.0",
-        "hsl-regex": "^1.0.0",
-        "hsla-regex": "^1.0.0",
-        "rgb-regex": "^1.0.1",
-        "rgba-regex": "^1.0.0"
-      }
-    },
-    "is-core-module": {
-      "version": "2.4.0",
-      "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz",
-      "integrity": "sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.3"
-      }
-    },
-    "is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-date-object": {
-      "version": "1.0.4",
-      "resolved": "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.4.tgz",
-      "integrity": "sha1-VQz8wDr62gXuo90wmBx7CVUfc+U=",
-      "dev": true
-    },
-    "is-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz",
-      "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
-      "dev": true,
-      "requires": {
-        "is-accessor-descriptor": "^0.1.6",
-        "is-data-descriptor": "^0.1.4",
-        "kind-of": "^5.0.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz",
-          "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
-          "dev": true
-        }
-      }
-    },
-    "is-directory": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz",
-      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
-      "dev": true
-    },
-    "is-docker": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npm.taobao.org/is-docker/download/is-docker-2.2.1.tgz?cache=0&sync_timestamp=1617958843085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-docker%2Fdownload%2Fis-docker-2.2.1.tgz",
-      "integrity": "sha1-M+6r4jz+hvFL3kQIoCwM+4U6zao=",
-      "dev": true
-    },
-    "is-extendable": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true
-    },
-    "is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
-    },
-    "is-finite": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz?cache=0&sync_timestamp=1617779324274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-finite%2Fdownload%2Fis-finite-1.1.0.tgz",
-      "integrity": "sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM=",
-      "dev": true
-    },
-    "is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz",
-      "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=",
-      "dev": true
-    },
-    "is-glob": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
-      "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
-      "dev": true,
-      "requires": {
-        "is-extglob": "^2.1.1"
-      }
-    },
-    "is-negative-zero": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.1.tgz?cache=0&sync_timestamp=1607123080624&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-negative-zero%2Fdownload%2Fis-negative-zero-2.0.1.tgz",
-      "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=",
-      "dev": true
-    },
-    "is-number": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
-      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "is-number-object": {
-      "version": "1.0.5",
-      "resolved": "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.5.tgz",
-      "integrity": "sha1-bt+u7XlQz/Ga/tzp+/yp7m3Sies=",
-      "dev": true
-    },
-    "is-obj": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz?cache=0&sync_timestamp=1618600378936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-obj%2Fdownload%2Fis-obj-2.0.0.tgz",
-      "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=",
-      "dev": true
-    },
-    "is-observable": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/is-observable/download/is-observable-1.1.0.tgz?cache=0&sync_timestamp=1596373156794&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-observable%2Fdownload%2Fis-observable-1.1.0.tgz",
-      "integrity": "sha1-s+mGyPRN6VCGfKtUA/WjRlAFl14=",
-      "dev": true,
-      "requires": {
-        "symbol-observable": "^1.1.0"
-      }
-    },
-    "is-path-cwd": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-2.2.0.tgz",
-      "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=",
-      "dev": true
-    },
-    "is-path-in-cwd": {
-      "version": "2.1.0",
-      "resolved": "https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz?cache=0&sync_timestamp=1620047110449&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-in-cwd%2Fdownload%2Fis-path-in-cwd-2.1.0.tgz",
-      "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=",
-      "dev": true,
-      "requires": {
-        "is-path-inside": "^2.1.0"
-      }
-    },
-    "is-path-inside": {
-      "version": "2.1.0",
-      "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-2.1.0.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-2.1.0.tgz",
-      "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=",
-      "dev": true,
-      "requires": {
-        "path-is-inside": "^1.0.2"
-      }
-    },
-    "is-plain-obj": {
-      "version": "3.0.0",
-      "resolved": "https://registry.nlark.com/is-plain-obj/download/is-plain-obj-3.0.0.tgz",
-      "integrity": "sha1-r28uoUrFpkYYOlu9tbqrvBVq2dc=",
-      "dev": true
-    },
-    "is-plain-object": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz",
-      "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "is-promise": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npm.taobao.org/is-promise/download/is-promise-2.2.2.tgz",
-      "integrity": "sha1-OauVnMv5p3TPB597QMeib3YxNfE="
-    },
-    "is-regex": {
-      "version": "1.1.3",
-      "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.3.tgz?cache=0&sync_timestamp=1620452285370&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.3.tgz",
-      "integrity": "sha1-0Cn5r/ZEi5Prvj8z2scVEf3L758=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "has-symbols": "^1.0.2"
-      }
-    },
-    "is-regexp": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz?cache=0&sync_timestamp=1617816524760&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regexp%2Fdownload%2Fis-regexp-1.0.0.tgz",
-      "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
-      "dev": true
-    },
-    "is-resolvable": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz",
-      "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=",
-      "dev": true
-    },
-    "is-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
-      "dev": true
-    },
-    "is-string": {
-      "version": "1.0.6",
-      "resolved": "https://registry.nlark.com/is-string/download/is-string-1.0.6.tgz?cache=0&sync_timestamp=1620448245505&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-string%2Fdownload%2Fis-string-1.0.6.tgz",
-      "integrity": "sha1-P+XVmS+w2TQE8yWE1LAXmnG1Sl8=",
-      "dev": true
-    },
-    "is-symbol": {
-      "version": "1.0.4",
-      "resolved": "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz?cache=0&sync_timestamp=1620501182675&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.4.tgz",
-      "integrity": "sha1-ptrJO2NbBjymhyI23oiRClevE5w=",
-      "dev": true,
-      "requires": {
-        "has-symbols": "^1.0.2"
-      }
-    },
-    "is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
-    },
-    "is-utf8": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
-      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
-      "dev": true
-    },
-    "is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz",
-      "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=",
-      "dev": true
-    },
-    "is-wsl": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz",
-      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-      "dev": true
-    },
-    "isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
-      "dev": true
-    },
-    "isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
-    },
-    "isstream": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
-      "dev": true
-    },
-    "javascript-stringify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-2.1.0.tgz?cache=0&sync_timestamp=1618360134745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjavascript-stringify%2Fdownload%2Fjavascript-stringify-2.1.0.tgz",
-      "integrity": "sha1-J8dlOb4U2L0Sghmi1zGwkzeQTnk=",
-      "dev": true
-    },
-    "js-base64": {
-      "version": "2.6.4",
-      "resolved": "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.4.tgz?cache=0&sync_timestamp=1604450326544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-base64%2Fdownload%2Fjs-base64-2.6.4.tgz",
-      "integrity": "sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ=",
-      "dev": true
-    },
-    "js-cookie": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npm.taobao.org/js-cookie/download/js-cookie-2.2.1.tgz",
-      "integrity": "sha1-aeEG3F1YBolFYpAqpbrsN0Tpsrg="
-    },
-    "js-file-download": {
-      "version": "0.4.12",
-      "resolved": "https://registry.npm.taobao.org/js-file-download/download/js-file-download-0.4.12.tgz",
-      "integrity": "sha1-EMcO82JVmlsjzb3DvW85nD2R2CE="
-    },
-    "js-message": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npm.taobao.org/js-message/download/js-message-1.0.7.tgz?cache=0&sync_timestamp=1605129209185&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-message%2Fdownload%2Fjs-message-1.0.7.tgz",
-      "integrity": "sha1-+93QU8ekcCGHG7iyyVOXzBfCDkc=",
-      "dev": true
-    },
-    "js-queue": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npm.taobao.org/js-queue/download/js-queue-2.0.2.tgz?cache=0&sync_timestamp=1605129207324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-queue%2Fdownload%2Fjs-queue-2.0.2.tgz",
-      "integrity": "sha1-C+WQM4+QOzbHPTPDGIOoIUEs1II=",
-      "dev": true,
-      "requires": {
-        "easy-stack": "^1.0.1"
-      }
-    },
-    "js-tokens": {
-      "version": "4.0.0",
-      "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz",
-      "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=",
-      "dev": true
-    },
-    "js-yaml": {
-      "version": "3.14.1",
-      "resolved": "https://registry.nlark.com/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618846844115&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz",
-      "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=",
-      "dev": true,
-      "requires": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      }
-    },
-    "jsbn": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true
-    },
-    "jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz?cache=0&sync_timestamp=1603891232110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-2.5.2.tgz",
-      "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=",
-      "dev": true
-    },
-    "json-parse-better-errors": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=",
-      "dev": true
-    },
-    "json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz?cache=0&sync_timestamp=1599064788298&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-parse-even-better-errors%2Fdownload%2Fjson-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=",
-      "dev": true
-    },
-    "json-schema": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553637722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
-      "dev": true
-    },
-    "json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1607999852153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
-      "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
-      "dev": true
-    },
-    "json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz",
-      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
-      "dev": true
-    },
-    "json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
-      "dev": true
-    },
-    "json3": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz",
-      "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=",
-      "dev": true
-    },
-    "json5": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz",
-      "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.2.5"
-      }
-    },
-    "jsonfile": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161797011&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz",
-      "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.6"
-      }
-    },
-    "jsprim": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
-      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "1.0.0",
-        "extsprintf": "1.3.0",
-        "json-schema": "0.2.3",
-        "verror": "1.10.0"
-      }
-    },
-    "killable": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz",
-      "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=",
-      "dev": true
-    },
-    "kind-of": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz",
-      "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=",
-      "dev": true
-    },
-    "launch-editor": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz",
-      "integrity": "sha1-hxtaPuOdZoD8wm03kwtu7aidsMo=",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.3.0",
-        "shell-quote": "^1.6.1"
-      }
-    },
-    "launch-editor-middleware": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz",
-      "integrity": "sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc=",
-      "dev": true,
-      "requires": {
-        "launch-editor": "^2.2.1"
-      }
-    },
-    "levn": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz",
-      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
-      "dev": true,
-      "requires": {
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2"
-      }
-    },
-    "lines-and-columns": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz",
-      "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
-      "dev": true
-    },
-    "lint-staged": {
-      "version": "9.5.0",
-      "resolved": "https://registry.nlark.com/lint-staged/download/lint-staged-9.5.0.tgz?cache=0&sync_timestamp=1620406121591&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flint-staged%2Fdownload%2Flint-staged-9.5.0.tgz",
-      "integrity": "sha1-KQ7GBSUq9kbZt01zoPoRg2KwWjM=",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.2",
-        "commander": "^2.20.0",
-        "cosmiconfig": "^5.2.1",
-        "debug": "^4.1.1",
-        "dedent": "^0.7.0",
-        "del": "^5.0.0",
-        "execa": "^2.0.3",
-        "listr": "^0.14.3",
-        "log-symbols": "^3.0.0",
-        "micromatch": "^4.0.2",
-        "normalize-path": "^3.0.0",
-        "please-upgrade-node": "^3.1.1",
-        "string-argv": "^0.3.0",
-        "stringify-object": "^3.3.0"
-      },
-      "dependencies": {
-        "@nodelib/fs.stat": {
-          "version": "2.0.4",
-          "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.4.tgz?cache=0&sync_timestamp=1609074554588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-2.0.4.tgz",
-          "integrity": "sha1-o/LdYbq0O424+hCKEhz//kxnZlU=",
-          "dev": true
-        },
-        "array-union": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz?cache=0&sync_timestamp=1614624302839&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-union%2Fdownload%2Farray-union-2.1.0.tgz",
-          "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=",
-          "dev": true
-        },
-        "braces": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz",
-          "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
-          "dev": true,
-          "requires": {
-            "fill-range": "^7.0.1"
-          }
-        },
-        "cross-spawn": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz",
-          "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=",
-          "dev": true,
-          "requires": {
-            "path-key": "^3.1.0",
-            "shebang-command": "^2.0.0",
-            "which": "^2.0.1"
-          }
-        },
-        "del": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npm.taobao.org/del/download/del-5.1.0.tgz?cache=0&sync_timestamp=1601076882347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-5.1.0.tgz",
-          "integrity": "sha1-2Uh8lONnQQ5u/ykl7ljAyEp1s6c=",
-          "dev": true,
-          "requires": {
-            "globby": "^10.0.1",
-            "graceful-fs": "^4.2.2",
-            "is-glob": "^4.0.1",
-            "is-path-cwd": "^2.2.0",
-            "is-path-inside": "^3.0.1",
-            "p-map": "^3.0.0",
-            "rimraf": "^3.0.0",
-            "slash": "^3.0.0"
-          }
-        },
-        "dir-glob": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz",
-          "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=",
-          "dev": true,
-          "requires": {
-            "path-type": "^4.0.0"
-          }
-        },
-        "execa": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/execa/download/execa-2.1.0.tgz?cache=0&sync_timestamp=1606971018065&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-2.1.0.tgz",
-          "integrity": "sha1-5dPs2DfSpg7FDz2nj9OXZ3R7vpk=",
-          "dev": true,
-          "requires": {
-            "cross-spawn": "^7.0.0",
-            "get-stream": "^5.0.0",
-            "is-stream": "^2.0.0",
-            "merge-stream": "^2.0.0",
-            "npm-run-path": "^3.0.0",
-            "onetime": "^5.1.0",
-            "p-finally": "^2.0.0",
-            "signal-exit": "^3.0.2",
-            "strip-final-newline": "^2.0.0"
-          }
-        },
-        "fast-glob": {
-          "version": "3.2.5",
-          "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.2.5.tgz?cache=0&sync_timestamp=1610876505711&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.5.tgz",
-          "integrity": "sha1-eTmvKmVt55pPGQGQPuityqfLlmE=",
-          "dev": true,
-          "requires": {
-            "@nodelib/fs.stat": "^2.0.2",
-            "@nodelib/fs.walk": "^1.2.3",
-            "glob-parent": "^5.1.0",
-            "merge2": "^1.3.0",
-            "micromatch": "^4.0.2",
-            "picomatch": "^2.2.1"
-          }
-        },
-        "fill-range": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz",
-          "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
-          "dev": true,
-          "requires": {
-            "to-regex-range": "^5.0.1"
-          }
-        },
-        "get-stream": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-5.2.0.tgz",
-          "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=",
-          "dev": true,
-          "requires": {
-            "pump": "^3.0.0"
-          }
-        },
-        "globby": {
-          "version": "10.0.2",
-          "resolved": "https://registry.npm.taobao.org/globby/download/globby-10.0.2.tgz?cache=0&sync_timestamp=1616407139482&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-10.0.2.tgz",
-          "integrity": "sha1-J3WT50WsqkZGw6tBEonsR6A5JUM=",
-          "dev": true,
-          "requires": {
-            "@types/glob": "^7.1.1",
-            "array-union": "^2.1.0",
-            "dir-glob": "^3.0.1",
-            "fast-glob": "^3.0.3",
-            "glob": "^7.1.3",
-            "ignore": "^5.1.1",
-            "merge2": "^1.2.3",
-            "slash": "^3.0.0"
-          }
-        },
-        "ignore": {
-          "version": "5.1.8",
-          "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz?cache=0&sync_timestamp=1590809289115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-5.1.8.tgz",
-          "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=",
-          "dev": true
-        },
-        "is-number": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz",
-          "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
-          "dev": true
-        },
-        "is-path-inside": {
-          "version": "3.0.3",
-          "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-3.0.3.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-3.0.3.tgz",
-          "integrity": "sha1-0jE2LlOgf/Kw4Op/7QSRYf/RYoM=",
-          "dev": true
-        },
-        "is-stream": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz",
-          "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=",
-          "dev": true
-        },
-        "log-symbols": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-3.0.0.tgz",
-          "integrity": "sha1-86CFFqXeqJMzan3uFNGKHP2rd8Q=",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.4.2"
-          }
-        },
-        "micromatch": {
-          "version": "4.0.4",
-          "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.4.tgz?cache=0&sync_timestamp=1618054842871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.4.tgz",
-          "integrity": "sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=",
-          "dev": true,
-          "requires": {
-            "braces": "^3.0.1",
-            "picomatch": "^2.2.3"
-          }
-        },
-        "mimic-fn": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1617823583529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz",
-          "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=",
-          "dev": true
-        },
-        "npm-run-path": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-3.1.0.tgz",
-          "integrity": "sha1-f5G+MX9qRm7+08nymArYpO6LD6U=",
-          "dev": true,
-          "requires": {
-            "path-key": "^3.0.0"
-          }
-        },
-        "onetime": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz",
-          "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=",
-          "dev": true,
-          "requires": {
-            "mimic-fn": "^2.1.0"
-          }
-        },
-        "p-finally": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz",
-          "integrity": "sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE=",
-          "dev": true
-        },
-        "p-map": {
-          "version": "3.0.0",
-          "resolved": "https://registry.nlark.com/p-map/download/p-map-3.0.0.tgz",
-          "integrity": "sha1-1wTZr4orpoTiYA2aIVmD1BQal50=",
-          "dev": true,
-          "requires": {
-            "aggregate-error": "^3.0.0"
-          }
-        },
-        "path-key": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz",
-          "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=",
-          "dev": true
-        },
-        "path-type": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz?cache=0&sync_timestamp=1611752015315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-4.0.0.tgz",
-          "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=",
-          "dev": true
-        },
-        "rimraf": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-3.0.2.tgz",
-          "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
-        "shebang-command": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz",
-          "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=",
-          "dev": true,
-          "requires": {
-            "shebang-regex": "^3.0.0"
-          }
-        },
-        "shebang-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz",
-          "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=",
-          "dev": true
-        },
-        "slash": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz?cache=0&sync_timestamp=1618384508676&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslash%2Fdownload%2Fslash-3.0.0.tgz",
-          "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=",
-          "dev": true
-        },
-        "to-regex-range": {
-          "version": "5.0.1",
-          "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
-          "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
-          "dev": true,
-          "requires": {
-            "is-number": "^7.0.0"
-          }
-        },
-        "which": {
-          "version": "2.0.2",
-          "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&sync_timestamp=1574116720213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz",
-          "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=",
-          "dev": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
-      }
-    },
-    "listr": {
-      "version": "0.14.3",
-      "resolved": "https://registry.npm.taobao.org/listr/download/listr-0.14.3.tgz",
-      "integrity": "sha1-L+qQlgTkNL5GTFC926DUlpKPpYY=",
-      "dev": true,
-      "requires": {
-        "@samverschueren/stream-to-observable": "^0.3.0",
-        "is-observable": "^1.1.0",
-        "is-promise": "^2.1.0",
-        "is-stream": "^1.1.0",
-        "listr-silent-renderer": "^1.1.1",
-        "listr-update-renderer": "^0.5.0",
-        "listr-verbose-renderer": "^0.5.0",
-        "p-map": "^2.0.0",
-        "rxjs": "^6.3.3"
-      }
-    },
-    "listr-silent-renderer": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/listr-silent-renderer/download/listr-silent-renderer-1.1.1.tgz",
-      "integrity": "sha1-kktaN1cVN3C/Go4/v3S4u/P5JC4=",
-      "dev": true
-    },
-    "listr-update-renderer": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npm.taobao.org/listr-update-renderer/download/listr-update-renderer-0.5.0.tgz",
-      "integrity": "sha1-Tqg2hUinuK7LfgbYyVy0WuLt5qI=",
-      "dev": true,
-      "requires": {
-        "chalk": "^1.1.3",
-        "cli-truncate": "^0.2.1",
-        "elegant-spinner": "^1.0.1",
-        "figures": "^1.7.0",
-        "indent-string": "^3.0.0",
-        "log-symbols": "^1.0.2",
-        "log-update": "^2.3.0",
-        "strip-ansi": "^3.0.1"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1618995355917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
-          }
-        },
-        "figures": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz?cache=0&sync_timestamp=1581865349068&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-1.7.0.tgz",
-          "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
-          "dev": true,
-          "requires": {
-            "escape-string-regexp": "^1.0.5",
-            "object-assign": "^4.1.0"
-          }
-        },
-        "indent-string": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-3.2.0.tgz?cache=0&sync_timestamp=1618679561483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-3.2.0.tgz",
-          "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
-          "dev": true
-        },
-        "log-symbols": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-1.0.2.tgz",
-          "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
-          "dev": true,
-          "requires": {
-            "chalk": "^1.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
-        }
-      }
-    },
-    "listr-verbose-renderer": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npm.taobao.org/listr-verbose-renderer/download/listr-verbose-renderer-0.5.0.tgz",
-      "integrity": "sha1-8RMhZ1NepMEmEQK58o2sfLoeA9s=",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.1",
-        "cli-cursor": "^2.1.0",
-        "date-fns": "^1.27.2",
-        "figures": "^2.0.0"
-      },
-      "dependencies": {
-        "figures": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz?cache=0&sync_timestamp=1581865349068&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-2.0.0.tgz",
-          "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
-          "dev": true,
-          "requires": {
-            "escape-string-regexp": "^1.0.5"
-          }
-        }
-      }
-    },
-    "load-json-file": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-4.0.0.tgz",
-      "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "parse-json": "^4.0.0",
-        "pify": "^3.0.0",
-        "strip-bom": "^3.0.0"
-      },
-      "dependencies": {
-        "parse-json": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1610966646988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz",
-          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-          "dev": true,
-          "requires": {
-            "error-ex": "^1.3.1",
-            "json-parse-better-errors": "^1.0.1"
-          }
-        },
-        "pify": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
-          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-          "dev": true
-        }
-      }
-    },
-    "loader-fs-cache": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz",
-      "integrity": "sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k=",
-      "dev": true,
-      "requires": {
-        "find-cache-dir": "^0.1.1",
-        "mkdirp": "^0.5.1"
-      },
-      "dependencies": {
-        "find-cache-dir": {
-          "version": "0.1.1",
-          "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz",
-          "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
-          "dev": true,
-          "requires": {
-            "commondir": "^1.0.1",
-            "mkdirp": "^0.5.1",
-            "pkg-dir": "^1.0.0"
-          }
-        },
-        "find-up": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz",
-          "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
-          "dev": true,
-          "requires": {
-            "path-exists": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "path-exists": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
-          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
-          "dev": true,
-          "requires": {
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "pkg-dir": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz?cache=0&sync_timestamp=1602859045787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-1.0.0.tgz",
-          "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
-          "dev": true,
-          "requires": {
-            "find-up": "^1.0.0"
-          }
-        }
-      }
-    },
-    "loader-runner": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1610027918622&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz",
-      "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=",
-      "dev": true
-    },
-    "loader-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz",
-      "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=",
-      "dev": true,
-      "requires": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz",
-          "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        }
-      }
-    },
-    "locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz",
-      "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=",
-      "dev": true,
-      "requires": {
-        "p-locate": "^4.1.0"
-      }
-    },
-    "lodash": {
-      "version": "4.17.21",
-      "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz",
-      "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw="
-    },
-    "lodash.debounce": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz",
-      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
-      "dev": true
-    },
-    "lodash.defaultsdeep": {
-      "version": "4.6.1",
-      "resolved": "https://registry.npm.taobao.org/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz",
-      "integrity": "sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY=",
-      "dev": true
-    },
-    "lodash.kebabcase": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz",
-      "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
-      "dev": true
-    },
-    "lodash.mapvalues": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz",
-      "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=",
-      "dev": true
-    },
-    "lodash.memoize": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz",
-      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
-      "dev": true
-    },
-    "lodash.transform": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz",
-      "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=",
-      "dev": true
-    },
-    "lodash.uniq": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz",
-      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
-      "dev": true
-    },
-    "log-symbols": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz",
-      "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.0.1"
-      }
-    },
-    "log-update": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npm.taobao.org/log-update/download/log-update-2.3.0.tgz",
-      "integrity": "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=",
-      "dev": true,
-      "requires": {
-        "ansi-escapes": "^3.0.0",
-        "cli-cursor": "^2.0.0",
-        "wrap-ansi": "^3.0.1"
-      },
-      "dependencies": {
-        "ansi-escapes": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz",
-          "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=",
-          "dev": true
-        },
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz",
-          "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
-          "dev": true,
-          "requires": {
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^4.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        },
-        "wrap-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-3.0.1.tgz",
-          "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=",
-          "dev": true,
-          "requires": {
-            "string-width": "^2.1.1",
-            "strip-ansi": "^4.0.0"
-          }
-        }
-      }
-    },
-    "loglevel": {
-      "version": "1.7.1",
-      "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.1.tgz?cache=0&sync_timestamp=1606314029553&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.1.tgz",
-      "integrity": "sha1-AF/eL15uRwaPk1/yhXPhJe9y8Zc=",
-      "dev": true
-    },
-    "loud-rejection": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz",
-      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
-      "dev": true,
-      "requires": {
-        "currently-unhandled": "^0.4.1",
-        "signal-exit": "^3.0.0"
-      }
-    },
-    "lower-case": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz?cache=0&sync_timestamp=1606867292121&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flower-case%2Fdownload%2Flower-case-1.1.4.tgz",
-      "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
-      "dev": true
-    },
-    "lru-cache": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427582110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz",
-      "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=",
-      "dev": true,
-      "requires": {
-        "yallist": "^3.0.2"
-      }
-    },
-    "make-dir": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567572251&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz",
-      "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=",
-      "dev": true,
-      "requires": {
-        "semver": "^6.0.0"
-      }
-    },
-    "map-cache": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true
-    },
-    "map-obj": {
-      "version": "1.0.1",
-      "resolved": "https://registry.nlark.com/map-obj/download/map-obj-1.0.1.tgz",
-      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
-      "dev": true
-    },
-    "map-visit": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz",
-      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
-      "requires": {
-        "object-visit": "^1.0.0"
-      }
-    },
-    "material-colors": {
-      "version": "1.2.6",
-      "resolved": "https://registry.npm.taobao.org/material-colors/download/material-colors-1.2.6.tgz",
-      "integrity": "sha1-bRlYhxEmmSzuzHL0vMTY8BCGX0Y="
-    },
-    "md5.js": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz",
-      "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      }
-    },
-    "mdn-data": {
-      "version": "2.0.4",
-      "resolved": "https://registry.nlark.com/mdn-data/download/mdn-data-2.0.4.tgz",
-      "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=",
-      "dev": true
-    },
-    "media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz",
-      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
-      "dev": true
-    },
-    "memory-fs": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz",
-      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
-      "dev": true,
-      "requires": {
-        "errno": "^0.1.3",
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "meow": {
-      "version": "3.7.0",
-      "resolved": "https://registry.nlark.com/meow/download/meow-3.7.0.tgz",
-      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
-      "dev": true,
-      "requires": {
-        "camelcase-keys": "^2.0.0",
-        "decamelize": "^1.1.2",
-        "loud-rejection": "^1.0.0",
-        "map-obj": "^1.0.1",
-        "minimist": "^1.1.3",
-        "normalize-package-data": "^2.3.4",
-        "object-assign": "^4.0.1",
-        "read-pkg-up": "^1.0.1",
-        "redent": "^1.0.0",
-        "trim-newlines": "^1.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz",
-          "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
-          "dev": true,
-          "requires": {
-            "path-exists": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "load-json-file": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
-          "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "parse-json": "^2.2.0",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0",
-            "strip-bom": "^2.0.0"
-          }
-        },
-        "parse-json": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1610966646988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz",
-          "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
-          "dev": true,
-          "requires": {
-            "error-ex": "^1.2.0"
-          }
-        },
-        "path-exists": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
-          "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
-          "dev": true,
-          "requires": {
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "path-type": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz?cache=0&sync_timestamp=1611752015315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-1.1.0.tgz",
-          "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "pify": "^2.0.0",
-            "pinkie-promise": "^2.0.0"
-          }
-        },
-        "pify": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
-          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz",
-          "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
-          "dev": true,
-          "requires": {
-            "load-json-file": "^1.0.0",
-            "normalize-package-data": "^2.3.2",
-            "path-type": "^1.0.0"
-          }
-        },
-        "read-pkg-up": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
-          "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
-          "dev": true,
-          "requires": {
-            "find-up": "^1.0.0",
-            "read-pkg": "^1.0.0"
-          }
-        },
-        "strip-bom": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz?cache=0&sync_timestamp=1618599551066&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-bom%2Fdownload%2Fstrip-bom-2.0.0.tgz",
-          "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
-          "dev": true,
-          "requires": {
-            "is-utf8": "^0.2.0"
-          }
-        }
-      }
-    },
-    "merge-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
-      "dev": true
-    },
-    "merge-source-map": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz",
-      "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=",
-      "dev": true,
-      "requires": {
-        "source-map": "^0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        }
-      }
-    },
-    "merge-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz",
-      "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=",
-      "dev": true
-    },
-    "merge2": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz",
-      "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=",
-      "dev": true
-    },
-    "methods": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
-      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
-      "dev": true
-    },
-    "micromatch": {
-      "version": "3.1.10",
-      "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&sync_timestamp=1618054842871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz",
-      "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "braces": "^2.3.1",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "extglob": "^2.0.4",
-        "fragment-cache": "^0.2.1",
-        "kind-of": "^6.0.2",
-        "nanomatch": "^1.2.9",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.2"
-      }
-    },
-    "miller-rabin": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz",
-      "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.0.0",
-        "brorand": "^1.0.1"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz",
-          "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=",
-          "dev": true
-        }
-      }
-    },
-    "mime": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npm.taobao.org/mime/download/mime-2.5.2.tgz?cache=0&sync_timestamp=1613584754851&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.5.2.tgz",
-      "integrity": "sha1-bj3GzCuVEGQ4MOXxnVy3U9pe6r4=",
-      "dev": true
-    },
-    "mime-db": {
-      "version": "1.47.0",
-      "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.47.0.tgz?cache=0&sync_timestamp=1617306043996&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.47.0.tgz",
-      "integrity": "sha1-jLMT5Zll08Bc+/iYkVomevRqM1w=",
-      "dev": true
-    },
-    "mime-types": {
-      "version": "2.1.30",
-      "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.30.tgz",
-      "integrity": "sha1-bnvotMR5gl+F7WMmaV23P5MF1i0=",
-      "dev": true,
-      "requires": {
-        "mime-db": "1.47.0"
-      }
-    },
-    "mimic-fn": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz?cache=0&sync_timestamp=1617823583529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-1.2.0.tgz",
-      "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=",
-      "dev": true
-    },
-    "mini-css-extract-plugin": {
-      "version": "0.9.0",
-      "resolved": "https://registry.nlark.com/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz",
-      "integrity": "sha1-R/LPB6oWWrNXM7H8l9TEbAVkM54=",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.1.0",
-        "normalize-url": "1.9.1",
-        "schema-utils": "^1.0.0",
-        "webpack-sources": "^1.1.0"
-      },
-      "dependencies": {
-        "normalize-url": {
-          "version": "1.9.1",
-          "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz?cache=0&sync_timestamp=1617786359552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-1.9.1.tgz",
-          "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
-          "dev": true,
-          "requires": {
-            "object-assign": "^4.0.1",
-            "prepend-http": "^1.0.0",
-            "query-string": "^4.1.0",
-            "sort-keys": "^1.0.0"
-          }
-        },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
-          "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        }
-      }
-    },
-    "minimalistic-assert": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=",
-      "dev": true
-    },
-    "minimalistic-crypto-utils": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
-    },
-    "minimatch": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
-      "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
-      "dev": true,
-      "requires": {
-        "brace-expansion": "^1.1.7"
-      }
-    },
-    "minimist": {
-      "version": "1.2.5",
-      "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz",
-      "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=",
-      "dev": true
-    },
-    "minipass": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz",
-      "integrity": "sha1-fUL/HzljVILhX5zbUxhN7r1YFf0=",
-      "dev": true,
-      "requires": {
-        "yallist": "^4.0.0"
-      },
-      "dependencies": {
-        "yallist": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
-          "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=",
-          "dev": true
-        }
-      }
-    },
-    "mississippi": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz",
-      "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=",
-      "dev": true,
-      "requires": {
-        "concat-stream": "^1.5.0",
-        "duplexify": "^3.4.2",
-        "end-of-stream": "^1.1.0",
-        "flush-write-stream": "^1.0.0",
-        "from2": "^2.1.0",
-        "parallel-transform": "^1.1.0",
-        "pump": "^3.0.0",
-        "pumpify": "^1.3.3",
-        "stream-each": "^1.1.0",
-        "through2": "^2.0.0"
-      }
-    },
-    "mixin-deep": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz",
-      "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=",
-      "dev": true,
-      "requires": {
-        "for-in": "^1.0.2",
-        "is-extendable": "^1.0.1"
-      },
-      "dependencies": {
-        "is-extendable": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
-          "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
-          "dev": true,
-          "requires": {
-            "is-plain-object": "^2.0.4"
-          }
-        }
-      }
-    },
-    "mkdirp": {
-      "version": "0.5.5",
-      "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz",
-      "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=",
-      "dev": true,
-      "requires": {
-        "minimist": "^1.2.5"
-      }
-    },
-    "move-concurrently": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz",
-      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1",
-        "copy-concurrently": "^1.0.0",
-        "fs-write-stream-atomic": "^1.0.8",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.4",
-        "run-queue": "^1.0.3"
-      }
-    },
-    "ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz",
-      "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
-      "dev": true
-    },
-    "multicast-dns": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz",
-      "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=",
-      "dev": true,
-      "requires": {
-        "dns-packet": "^1.3.1",
-        "thunky": "^1.0.2"
-      }
-    },
-    "multicast-dns-service-types": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz",
-      "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
-      "dev": true
-    },
-    "mute-stream": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz",
-      "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=",
-      "dev": true
-    },
-    "mz": {
-      "version": "2.7.0",
-      "resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz",
-      "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=",
-      "dev": true,
-      "requires": {
-        "any-promise": "^1.0.0",
-        "object-assign": "^4.0.1",
-        "thenify-all": "^1.0.0"
-      }
-    },
-    "nan": {
-      "version": "2.14.2",
-      "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.2.tgz?cache=0&sync_timestamp=1602591684976&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.2.tgz",
-      "integrity": "sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk=",
-      "dev": true
-    },
-    "nanomatch": {
-      "version": "1.2.13",
-      "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz",
-      "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=",
-      "dev": true,
-      "requires": {
-        "arr-diff": "^4.0.0",
-        "array-unique": "^0.3.2",
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "fragment-cache": "^0.2.1",
-        "is-windows": "^1.0.2",
-        "kind-of": "^6.0.2",
-        "object.pick": "^1.3.0",
-        "regex-not": "^1.0.0",
-        "snapdragon": "^0.8.1",
-        "to-regex": "^3.0.1"
-      }
-    },
-    "natural-compare": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz",
-      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
-      "dev": true
-    },
-    "negotiator": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz",
-      "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=",
-      "dev": true
-    },
-    "neo-async": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz?cache=0&sync_timestamp=1594317434347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.2.tgz",
-      "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=",
-      "dev": true
-    },
-    "nice-try": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz?cache=0&sync_timestamp=1614510039289&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnice-try%2Fdownload%2Fnice-try-1.0.5.tgz",
-      "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=",
-      "dev": true
-    },
-    "no-case": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz?cache=0&sync_timestamp=1606867290260&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fno-case%2Fdownload%2Fno-case-2.3.2.tgz",
-      "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=",
-      "dev": true,
-      "requires": {
-        "lower-case": "^1.1.1"
-      }
-    },
-    "node-forge": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.10.0.tgz?cache=0&sync_timestamp=1599010773454&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.10.0.tgz",
-      "integrity": "sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=",
-      "dev": true
-    },
-    "node-gyp": {
-      "version": "3.8.0",
-      "resolved": "https://registry.npm.taobao.org/node-gyp/download/node-gyp-3.8.0.tgz?cache=0&sync_timestamp=1617410134031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-gyp%2Fdownload%2Fnode-gyp-3.8.0.tgz",
-      "integrity": "sha1-VAMEJhwzDoDQ1e3OJTpoyzlkIYw=",
-      "dev": true,
-      "requires": {
-        "fstream": "^1.0.0",
-        "glob": "^7.0.3",
-        "graceful-fs": "^4.1.2",
-        "mkdirp": "^0.5.0",
-        "nopt": "2 || 3",
-        "npmlog": "0 || 1 || 2 || 3 || 4",
-        "osenv": "0",
-        "request": "^2.87.0",
-        "rimraf": "2",
-        "semver": "~5.3.0",
-        "tar": "^2.0.0",
-        "which": "1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.3.0",
-          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.3.0.tgz",
-          "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
-          "dev": true
-        }
-      }
-    },
-    "node-ipc": {
-      "version": "9.1.4",
-      "resolved": "https://registry.npm.taobao.org/node-ipc/download/node-ipc-9.1.4.tgz?cache=0&sync_timestamp=1614360609190&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-ipc%2Fdownload%2Fnode-ipc-9.1.4.tgz",
-      "integrity": "sha1-Ks+WJoGv2sJgKHbZj+ZDTVTZvTw=",
-      "dev": true,
-      "requires": {
-        "event-pubsub": "4.3.0",
-        "js-message": "1.0.7",
-        "js-queue": "2.0.2"
-      }
-    },
-    "node-libs-browser": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz",
-      "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=",
-      "dev": true,
-      "requires": {
-        "assert": "^1.1.1",
-        "browserify-zlib": "^0.2.0",
-        "buffer": "^4.3.0",
-        "console-browserify": "^1.1.0",
-        "constants-browserify": "^1.0.0",
-        "crypto-browserify": "^3.11.0",
-        "domain-browser": "^1.1.1",
-        "events": "^3.0.0",
-        "https-browserify": "^1.0.0",
-        "os-browserify": "^0.3.0",
-        "path-browserify": "0.0.1",
-        "process": "^0.11.10",
-        "punycode": "^1.2.4",
-        "querystring-es3": "^0.2.0",
-        "readable-stream": "^2.3.3",
-        "stream-browserify": "^2.0.1",
-        "stream-http": "^2.7.2",
-        "string_decoder": "^1.0.0",
-        "timers-browserify": "^2.0.4",
-        "tty-browserify": "0.0.0",
-        "url": "^0.11.0",
-        "util": "^0.11.0",
-        "vm-browserify": "^1.0.1"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.4.1",
-          "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-          "dev": true
-        }
-      }
-    },
-    "node-releases": {
-      "version": "1.1.72",
-      "resolved": "https://registry.nlark.com/node-releases/download/node-releases-1.1.72.tgz?cache=0&sync_timestamp=1620978644820&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.72.tgz",
-      "integrity": "sha1-FIAqtrEDmnmgx9ZithClu9durL4=",
-      "dev": true
-    },
-    "node-sass": {
-      "version": "4.14.1",
-      "resolved": "https://registry.nlark.com/node-sass/download/node-sass-4.14.1.tgz",
-      "integrity": "sha1-mch+wu+3BH7WOPtMnbfzpC4iF7U=",
-      "dev": true,
-      "requires": {
-        "async-foreach": "^0.1.3",
-        "chalk": "^1.1.1",
-        "cross-spawn": "^3.0.0",
-        "gaze": "^1.0.0",
-        "get-stdin": "^4.0.1",
-        "glob": "^7.0.3",
-        "in-publish": "^2.0.0",
-        "lodash": "^4.17.15",
-        "meow": "^3.7.0",
-        "mkdirp": "^0.5.1",
-        "nan": "^2.13.2",
-        "node-gyp": "^3.8.0",
-        "npmlog": "^4.0.0",
-        "request": "^2.88.0",
-        "sass-graph": "2.2.5",
-        "stdout-stream": "^1.4.0",
-        "true-case-path": "^1.0.2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1618995355917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
-          }
-        },
-        "cross-spawn": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz",
-          "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^4.0.1",
-            "which": "^1.2.9"
-          }
-        },
-        "lru-cache": {
-          "version": "4.1.5",
-          "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427582110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz",
-          "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
-          "dev": true,
-          "requires": {
-            "pseudomap": "^1.0.2",
-            "yallist": "^2.1.2"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
-        },
-        "yallist": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
-          "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
-          "dev": true
-        }
-      }
-    },
-    "nopt": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz?cache=0&sync_timestamp=1597649905420&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnopt%2Fdownload%2Fnopt-3.0.6.tgz",
-      "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
-      "dev": true,
-      "requires": {
-        "abbrev": "1"
-      }
-    },
-    "normalize-package-data": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1616087086564&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz",
-      "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
-      "dev": true,
-      "requires": {
-        "hosted-git-info": "^2.1.4",
-        "resolve": "^1.10.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
-          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
-          "dev": true
-        }
-      }
-    },
-    "normalize-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
-      "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
-      "dev": true
-    },
-    "normalize-range": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz",
-      "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
-      "dev": true
-    },
-    "normalize-url": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz?cache=0&sync_timestamp=1617786359552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-3.3.0.tgz",
-      "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=",
-      "dev": true
-    },
-    "normalize-wheel": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
-      "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
-    },
-    "npm-run-path": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz",
-      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
-      "dev": true,
-      "requires": {
-        "path-key": "^2.0.0"
-      }
-    },
-    "npmlog": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz",
-      "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=",
-      "dev": true,
-      "requires": {
-        "are-we-there-yet": "~1.1.2",
-        "console-control-strings": "~1.1.0",
-        "gauge": "~2.7.3",
-        "set-blocking": "~2.0.0"
-      }
-    },
-    "nth-check": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz?cache=0&sync_timestamp=1606860664533&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnth-check%2Fdownload%2Fnth-check-1.0.2.tgz",
-      "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=",
-      "dev": true,
-      "requires": {
-        "boolbase": "~1.0.0"
-      }
-    },
-    "num2fraction": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz",
-      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
-      "dev": true
-    },
-    "number-is-nan": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz?cache=0&sync_timestamp=1617776101309&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnumber-is-nan%2Fdownload%2Fnumber-is-nan-1.0.1.tgz",
-      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
-      "dev": true
-    },
-    "oauth-sign": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz",
-      "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=",
-      "dev": true
-    },
-    "object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1571657171505&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "dev": true
-    },
-    "object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
-      "requires": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "object-hash": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz?cache=0&sync_timestamp=1608921171985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-hash%2Fdownload%2Fobject-hash-1.3.1.tgz",
-      "integrity": "sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=",
-      "dev": true
-    },
-    "object-inspect": {
-      "version": "1.10.3",
-      "resolved": "https://registry.nlark.com/object-inspect/download/object-inspect-1.10.3.tgz?cache=0&sync_timestamp=1620446150016&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.10.3.tgz",
-      "integrity": "sha1-wqp9LQn1DJk3VwT3oK3yTFeC02k=",
-      "dev": true
-    },
-    "object-is": {
-      "version": "1.1.5",
-      "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613857698573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz",
-      "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "object-keys": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz",
-      "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=",
-      "dev": true
-    },
-    "object-visit": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz",
-      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.0"
-      }
-    },
-    "object.assign": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115158081&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz",
-      "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.0",
-        "define-properties": "^1.1.3",
-        "has-symbols": "^1.0.1",
-        "object-keys": "^1.1.1"
-      }
-    },
-    "object.getownpropertydescriptors": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.2.tgz?cache=0&sync_timestamp=1613860145677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.2.tgz",
-      "integrity": "sha1-G9Y66s8NXS0vMbXjk7A6fGAaI/c=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2"
-      }
-    },
-    "object.pick": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz",
-      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
-      "requires": {
-        "isobject": "^3.0.1"
-      }
-    },
-    "object.values": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.3.tgz",
-      "integrity": "sha1-6qix4XWJ8C9pjbCT98Yu4WmXQu4=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.18.0-next.2",
-        "has": "^1.0.3"
-      }
-    },
-    "obuf": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz",
-      "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=",
-      "dev": true
-    },
-    "on-finished": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
-      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
-      "dev": true,
-      "requires": {
-        "ee-first": "1.1.1"
-      }
-    },
-    "on-headers": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz",
-      "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=",
-      "dev": true
-    },
-    "once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
-      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
-      "requires": {
-        "wrappy": "1"
-      }
-    },
-    "onetime": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz",
-      "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
-      "dev": true,
-      "requires": {
-        "mimic-fn": "^1.0.0"
-      }
-    },
-    "open": {
-      "version": "6.4.0",
-      "resolved": "https://registry.nlark.com/open/download/open-6.4.0.tgz?cache=0&sync_timestamp=1620403721777&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fopen%2Fdownload%2Fopen-6.4.0.tgz",
-      "integrity": "sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk=",
-      "dev": true,
-      "requires": {
-        "is-wsl": "^1.1.0"
-      }
-    },
-    "opener": {
-      "version": "1.5.2",
-      "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz?cache=0&sync_timestamp=1598733244715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopener%2Fdownload%2Fopener-1.5.2.tgz",
-      "integrity": "sha1-XTfh81B3udysQwE3InGv3rKhNZg=",
-      "dev": true
-    },
-    "opn": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz",
-      "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=",
-      "dev": true,
-      "requires": {
-        "is-wsl": "^1.1.0"
-      }
-    },
-    "optionator": {
-      "version": "0.8.3",
-      "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.8.3.tgz",
-      "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=",
-      "dev": true,
-      "requires": {
-        "deep-is": "~0.1.3",
-        "fast-levenshtein": "~2.0.6",
-        "levn": "~0.3.0",
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2",
-        "word-wrap": "~1.2.3"
-      }
-    },
-    "ora": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npm.taobao.org/ora/download/ora-3.4.0.tgz",
-      "integrity": "sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.2",
-        "cli-cursor": "^2.1.0",
-        "cli-spinners": "^2.0.0",
-        "log-symbols": "^2.2.0",
-        "strip-ansi": "^5.2.0",
-        "wcwidth": "^1.0.1"
-      },
-      "dependencies": {
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
-          "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^4.1.0"
-          }
-        }
-      }
-    },
-    "original": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz",
-      "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=",
-      "dev": true,
-      "requires": {
-        "url-parse": "^1.4.3"
-      }
-    },
-    "os-browserify": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
-    },
-    "os-homedir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz",
-      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
-      "dev": true
-    },
-    "os-tmpdir": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
-      "dev": true
-    },
-    "osenv": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz",
-      "integrity": "sha1-hc36+uso6Gd/QW4odZK18/SepBA=",
-      "dev": true,
-      "requires": {
-        "os-homedir": "^1.0.0",
-        "os-tmpdir": "^1.0.0"
-      }
-    },
-    "p-finally": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
-      "dev": true
-    },
-    "p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1606290276843&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz",
-      "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
-      "dev": true,
-      "requires": {
-        "p-try": "^2.0.0"
-      }
-    },
-    "p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz",
-      "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
-      "dev": true,
-      "requires": {
-        "p-limit": "^2.2.0"
-      }
-    },
-    "p-map": {
-      "version": "2.1.0",
-      "resolved": "https://registry.nlark.com/p-map/download/p-map-2.1.0.tgz",
-      "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=",
-      "dev": true
-    },
-    "p-retry": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npm.taobao.org/p-retry/download/p-retry-3.0.1.tgz?cache=0&sync_timestamp=1617001968077&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-retry%2Fdownload%2Fp-retry-3.0.1.tgz",
-      "integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=",
-      "dev": true,
-      "requires": {
-        "retry": "^0.12.0"
-      }
-    },
-    "p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
-      "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=",
-      "dev": true
-    },
-    "pako": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz?cache=0&sync_timestamp=1610209004795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpako%2Fdownload%2Fpako-1.0.11.tgz",
-      "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=",
-      "dev": true
-    },
-    "parallel-transform": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz",
-      "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=",
-      "dev": true,
-      "requires": {
-        "cyclist": "^1.0.1",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.1.5"
-      }
-    },
-    "param-case": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz?cache=0&sync_timestamp=1606867288643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparam-case%2Fdownload%2Fparam-case-2.1.1.tgz",
-      "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
-      "dev": true,
-      "requires": {
-        "no-case": "^2.2.0"
-      }
-    },
-    "parent-module": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz",
-      "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=",
-      "dev": true,
-      "requires": {
-        "callsites": "^3.0.0"
-      },
-      "dependencies": {
-        "callsites": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz",
-          "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=",
-          "dev": true
-        }
-      }
-    },
-    "parse-asn1": {
-      "version": "5.1.6",
-      "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.6.tgz?cache=0&sync_timestamp=1597167309380&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-asn1%2Fdownload%2Fparse-asn1-5.1.6.tgz",
-      "integrity": "sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ=",
-      "dev": true,
-      "requires": {
-        "asn1.js": "^5.2.0",
-        "browserify-aes": "^1.0.0",
-        "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3",
-        "safe-buffer": "^5.1.1"
-      }
-    },
-    "parse-json": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1610966646988&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz",
-      "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "error-ex": "^1.3.1",
-        "json-parse-even-better-errors": "^2.3.0",
-        "lines-and-columns": "^1.1.6"
-      }
-    },
-    "parse5": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz?cache=0&sync_timestamp=1595850861876&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-5.1.1.tgz",
-      "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=",
-      "dev": true
-    },
-    "parse5-htmlparser2-tree-adapter": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
-      "integrity": "sha1-LN+a2CMyEUA3DU2/XT6Sx8jdxuY=",
-      "dev": true,
-      "requires": {
-        "parse5": "^6.0.1"
-      },
-      "dependencies": {
-        "parse5": {
-          "version": "6.0.1",
-          "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-6.0.1.tgz?cache=0&sync_timestamp=1595850861876&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-6.0.1.tgz",
-          "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=",
-          "dev": true
-        }
-      }
-    },
-    "parseurl": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz",
-      "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=",
-      "dev": true
-    },
-    "pascalcase": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true
-    },
-    "path-browserify": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz",
-      "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=",
-      "dev": true
-    },
-    "path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
-    },
-    "path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz",
-      "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=",
-      "dev": true
-    },
-    "path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true
-    },
-    "path-is-inside": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz",
-      "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
-      "dev": true
-    },
-    "path-key": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
-      "dev": true
-    },
-    "path-parse": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz",
-      "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=",
-      "dev": true
-    },
-    "path-starts-with": {
-      "version": "1.0.0",
-      "resolved": "https://registry.nlark.com/path-starts-with/download/path-starts-with-1.0.0.tgz",
-      "integrity": "sha1-soJDAV6LE43lcmgqxS2kLmRq2E4=",
-      "dev": true,
-      "requires": {
-        "normalize-path": "^2.1.1"
-      },
-      "dependencies": {
-        "normalize-path": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
-          "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-          "dev": true,
-          "requires": {
-            "remove-trailing-separator": "^1.0.1"
-          }
-        }
-      }
-    },
-    "path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
-      "dev": true
-    },
-    "path-type": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz?cache=0&sync_timestamp=1611752015315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-3.0.0.tgz",
-      "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=",
-      "dev": true,
-      "requires": {
-        "pify": "^3.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
-          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-          "dev": true
-        }
-      }
-    },
-    "pbkdf2": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.2.tgz?cache=0&sync_timestamp=1617976027191&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpbkdf2%2Fdownload%2Fpbkdf2-3.1.2.tgz",
-      "integrity": "sha1-3YIqoIh1gOUvGgOdw+2hCO+uMHU=",
-      "dev": true,
-      "requires": {
-        "create-hash": "^1.1.2",
-        "create-hmac": "^1.1.4",
-        "ripemd160": "^2.0.1",
-        "safe-buffer": "^5.0.1",
-        "sha.js": "^2.4.8"
-      }
-    },
-    "performance-now": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
-      "dev": true
-    },
-    "picomatch": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.3.tgz?cache=0&sync_timestamp=1618050023150&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpicomatch%2Fdownload%2Fpicomatch-2.2.3.tgz",
-      "integrity": "sha1-RlVH81nMwgbTxI5Goby4m/fuYZ0=",
-      "dev": true
-    },
-    "pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz",
-      "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
-      "dev": true
-    },
-    "pinkie": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
-      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
-      "dev": true
-    },
-    "pinkie-promise": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
-      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
-      "dev": true,
-      "requires": {
-        "pinkie": "^2.0.0"
-      }
-    },
-    "pkg-dir": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1602859045787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz",
-      "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=",
-      "dev": true,
-      "requires": {
-        "find-up": "^4.0.0"
-      }
-    },
-    "pkg-up": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz",
-      "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.1.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz",
-          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-          "dev": true,
-          "requires": {
-            "locate-path": "^2.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
-          "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-          "dev": true,
-          "requires": {
-            "p-locate": "^2.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1606290276843&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz",
-          "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
-          "dev": true,
-          "requires": {
-            "p-try": "^1.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
-          "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-          "dev": true,
-          "requires": {
-            "p-limit": "^1.1.0"
-          }
-        },
-        "p-try": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
-          "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
-          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-          "dev": true
-        }
-      }
-    },
-    "please-upgrade-node": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npm.taobao.org/please-upgrade-node/download/please-upgrade-node-3.2.0.tgz",
-      "integrity": "sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI=",
-      "dev": true,
-      "requires": {
-        "semver-compare": "^1.0.0"
-      }
-    },
-    "pnp-webpack-plugin": {
-      "version": "1.6.4",
-      "resolved": "https://registry.npm.taobao.org/pnp-webpack-plugin/download/pnp-webpack-plugin-1.6.4.tgz?cache=0&sync_timestamp=1589684269502&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpnp-webpack-plugin%2Fdownload%2Fpnp-webpack-plugin-1.6.4.tgz",
-      "integrity": "sha1-yXEaxNxIpoXauvyG+Lbdn434QUk=",
-      "dev": true,
-      "requires": {
-        "ts-pnp": "^1.1.6"
-      }
-    },
-    "portfinder": {
-      "version": "1.0.28",
-      "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz?cache=0&sync_timestamp=1596018176291&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fportfinder%2Fdownload%2Fportfinder-1.0.28.tgz",
-      "integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=",
-      "dev": true,
-      "requires": {
-        "async": "^2.6.2",
-        "debug": "^3.1.1",
-        "mkdirp": "^0.5.5"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.7",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz",
-          "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "posix-character-classes": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true
-    },
-    "postcss": {
-      "version": "7.0.35",
-      "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1620676610377&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
-      "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.2",
-        "source-map": "^0.6.1",
-        "supports-color": "^6.1.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
-          "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
-      }
-    },
-    "postcss-calc": {
-      "version": "7.0.5",
-      "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.5.tgz?cache=0&sync_timestamp=1609689294247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.5.tgz",
-      "integrity": "sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.27",
-        "postcss-selector-parser": "^6.0.2",
-        "postcss-value-parser": "^4.0.2"
-      }
-    },
-    "postcss-colormin": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz?cache=0&sync_timestamp=1618056387757&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-colormin%2Fdownload%2Fpostcss-colormin-4.0.3.tgz",
-      "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "color": "^3.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-convert-values": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz?cache=0&sync_timestamp=1618056388436&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-convert-values%2Fdownload%2Fpostcss-convert-values-4.0.1.tgz",
-      "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-discard-comments": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz?cache=0&sync_timestamp=1618056386715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-comments%2Fdownload%2Fpostcss-discard-comments-4.0.2.tgz",
-      "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-discard-duplicates": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz?cache=0&sync_timestamp=1618056387068&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-duplicates%2Fdownload%2Fpostcss-discard-duplicates-4.0.2.tgz",
-      "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-discard-empty": {
-      "version": "4.0.1",
-      "resolved": "https://registry.nlark.com/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz",
-      "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-discard-overridden": {
-      "version": "4.0.1",
-      "resolved": "https://registry.nlark.com/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz",
-      "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-load-config": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.2.tgz?cache=0&sync_timestamp=1612742943575&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-2.1.2.tgz",
-      "integrity": "sha1-xepQTyxK7zPHNZo03jVzdyrXUCo=",
-      "dev": true,
-      "requires": {
-        "cosmiconfig": "^5.0.0",
-        "import-cwd": "^2.0.0"
-      }
-    },
-    "postcss-loader": {
-      "version": "3.0.0",
-      "resolved": "https://registry.nlark.com/postcss-loader/download/postcss-loader-3.0.0.tgz",
-      "integrity": "sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.1.0",
-        "postcss": "^7.0.0",
-        "postcss-load-config": "^2.0.0",
-        "schema-utils": "^1.0.0"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
-          "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        }
-      }
-    },
-    "postcss-merge-longhand": {
-      "version": "4.0.11",
-      "resolved": "https://registry.nlark.com/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz",
-      "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=",
-      "dev": true,
-      "requires": {
-        "css-color-names": "0.0.4",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "stylehacks": "^4.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-merge-rules": {
-      "version": "4.0.3",
-      "resolved": "https://registry.nlark.com/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz",
-      "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "caniuse-api": "^3.0.0",
-        "cssnano-util-same-parent": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0",
-        "vendors": "^1.0.0"
-      },
-      "dependencies": {
-        "postcss-selector-parser": {
-          "version": "3.1.2",
-          "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1620752924836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz",
-          "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
-          "dev": true,
-          "requires": {
-            "dot-prop": "^5.2.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-minify-font-values": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz",
-      "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-minify-gradients": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz",
-      "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "is-color-stop": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-minify-params": {
-      "version": "4.0.2",
-      "resolved": "https://registry.nlark.com/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz",
-      "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=",
-      "dev": true,
-      "requires": {
-        "alphanum-sort": "^1.0.0",
-        "browserslist": "^4.0.0",
-        "cssnano-util-get-arguments": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "uniqs": "^2.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-minify-selectors": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz",
-      "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=",
-      "dev": true,
-      "requires": {
-        "alphanum-sort": "^1.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-selector-parser": {
-          "version": "3.1.2",
-          "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1620752924836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz",
-          "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
-          "dev": true,
-          "requires": {
-            "dot-prop": "^5.2.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "postcss-modules-extract-imports": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz?cache=0&sync_timestamp=1602588245463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-extract-imports%2Fdownload%2Fpostcss-modules-extract-imports-2.0.0.tgz",
-      "integrity": "sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.5"
-      }
-    },
-    "postcss-modules-local-by-default": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz?cache=0&sync_timestamp=1602587568476&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-3.0.3.tgz",
-      "integrity": "sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A=",
-      "dev": true,
-      "requires": {
-        "icss-utils": "^4.1.1",
-        "postcss": "^7.0.32",
-        "postcss-selector-parser": "^6.0.2",
-        "postcss-value-parser": "^4.1.0"
-      }
-    },
-    "postcss-modules-scope": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz?cache=0&sync_timestamp=1602593260387&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-scope%2Fdownload%2Fpostcss-modules-scope-2.2.0.tgz",
-      "integrity": "sha1-OFyuATzHdD9afXYC0Qc6iequYu4=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.6",
-        "postcss-selector-parser": "^6.0.0"
-      }
-    },
-    "postcss-modules-values": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz?cache=0&sync_timestamp=1602586230505&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-3.0.0.tgz",
-      "integrity": "sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA=",
-      "dev": true,
-      "requires": {
-        "icss-utils": "^4.0.0",
-        "postcss": "^7.0.6"
-      }
-    },
-    "postcss-normalize-charset": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz?cache=0&sync_timestamp=1618056389116&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-charset%2Fdownload%2Fpostcss-normalize-charset-4.0.1.tgz",
-      "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-normalize-display-values": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz",
-      "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-positions": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz?cache=0&sync_timestamp=1618056388080&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-positions%2Fdownload%2Fpostcss-normalize-positions-4.0.2.tgz",
-      "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-repeat-style": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz?cache=0&sync_timestamp=1618056392185&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-repeat-style%2Fdownload%2Fpostcss-normalize-repeat-style-4.0.2.tgz",
-      "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-string": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz?cache=0&sync_timestamp=1618056389791&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-string%2Fdownload%2Fpostcss-normalize-string-4.0.2.tgz",
-      "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=",
-      "dev": true,
-      "requires": {
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-timing-functions": {
-      "version": "4.0.2",
-      "resolved": "https://registry.nlark.com/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz",
-      "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-match": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-unicode": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz",
-      "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-url": {
-      "version": "4.0.1",
-      "resolved": "https://registry.nlark.com/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz",
-      "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=",
-      "dev": true,
-      "requires": {
-        "is-absolute-url": "^2.0.0",
-        "normalize-url": "^3.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-normalize-whitespace": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz",
-      "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-ordered-values": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz?cache=0&sync_timestamp=1618056391473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-ordered-values%2Fdownload%2Fpostcss-ordered-values-4.1.2.tgz",
-      "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-arguments": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-reduce-initial": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz?cache=0&sync_timestamp=1618056389446&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-initial%2Fdownload%2Fpostcss-reduce-initial-4.0.3.tgz",
-      "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "caniuse-api": "^3.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0"
-      }
-    },
-    "postcss-reduce-transforms": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz",
-      "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=",
-      "dev": true,
-      "requires": {
-        "cssnano-util-get-match": "^4.0.0",
-        "has": "^1.0.0",
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-selector-parser": {
-      "version": "6.0.6",
-      "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620752924836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz",
-      "integrity": "sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=",
-      "dev": true,
-      "requires": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
-      }
-    },
-    "postcss-svgo": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.3.tgz?cache=0&sync_timestamp=1618056390441&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-4.0.3.tgz",
-      "integrity": "sha1-NDos26yVBdQWJD1Jb3JPOIlMlB4=",
-      "dev": true,
-      "requires": {
-        "postcss": "^7.0.0",
-        "postcss-value-parser": "^3.0.0",
-        "svgo": "^1.0.0"
-      },
-      "dependencies": {
-        "postcss-value-parser": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
-          "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
-          "dev": true
-        }
-      }
-    },
-    "postcss-unique-selectors": {
-      "version": "4.0.1",
-      "resolved": "https://registry.nlark.com/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz",
-      "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=",
-      "dev": true,
-      "requires": {
-        "alphanum-sort": "^1.0.0",
-        "postcss": "^7.0.0",
-        "uniqs": "^2.0.0"
-      }
-    },
-    "postcss-value-parser": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz",
-      "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=",
-      "dev": true
-    },
-    "prelude-ls": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
-      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
-      "dev": true
-    },
-    "prepend-http": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz",
-      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
-      "dev": true
-    },
-    "prettier": {
-      "version": "1.19.1",
-      "resolved": "https://registry.nlark.com/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1620594183343&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz",
-      "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=",
-      "dev": true,
-      "optional": true
-    },
-    "pretty-error": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.2.tgz",
-      "integrity": "sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y=",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.20",
-        "renderkid": "^2.0.4"
-      }
-    },
-    "process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true
-    },
-    "process-nextick-args": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=",
-      "dev": true
-    },
-    "progress": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz",
-      "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=",
-      "dev": true
-    },
-    "promise-inflight": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
-    },
-    "proxy-addr": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz",
-      "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=",
-      "dev": true,
-      "requires": {
-        "forwarded": "~0.1.2",
-        "ipaddr.js": "1.9.1"
-      }
-    },
-    "prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz",
-      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
-      "dev": true
-    },
-    "pseudomap": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
-      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
-      "dev": true
-    },
-    "psl": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz",
-      "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=",
-      "dev": true
-    },
-    "public-encrypt": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz",
-      "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.0",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "parse-asn1": "^5.0.0",
-        "randombytes": "^2.0.1",
-        "safe-buffer": "^5.1.2"
-      },
-      "dependencies": {
-        "bn.js": {
-          "version": "4.12.0",
-          "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz",
-          "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=",
-          "dev": true
-        }
-      }
-    },
-    "pump": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz",
-      "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz",
-      "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=",
-      "dev": true,
-      "requires": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      },
-      "dependencies": {
-        "pump": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz",
-          "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=",
-          "dev": true,
-          "requires": {
-            "end-of-stream": "^1.1.0",
-            "once": "^1.3.1"
-          }
-        }
-      }
-    },
-    "punycode": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz",
-      "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=",
-      "dev": true
-    },
-    "q": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz",
-      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
-      "dev": true
-    },
-    "qs": {
-      "version": "6.5.2",
-      "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz?cache=0&sync_timestamp=1616385328325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.5.2.tgz",
-      "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=",
-      "dev": true
-    },
-    "query-string": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz",
-      "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
-      "dev": true,
-      "requires": {
-        "object-assign": "^4.1.0",
-        "strict-uri-encode": "^1.0.0"
-      }
-    },
-    "querystring": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz?cache=0&sync_timestamp=1613399913000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquerystring%2Fdownload%2Fquerystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "dev": true
-    },
-    "querystring-es3": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true
-    },
-    "querystringify": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz?cache=0&sync_timestamp=1597686771604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquerystringify%2Fdownload%2Fquerystringify-2.2.0.tgz",
-      "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=",
-      "dev": true
-    },
-    "queue-microtask": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npm.taobao.org/queue-microtask/download/queue-microtask-1.2.3.tgz?cache=0&sync_timestamp=1616391510274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqueue-microtask%2Fdownload%2Fqueue-microtask-1.2.3.tgz",
-      "integrity": "sha1-SSkii7xyTfrEPg77BYyve2z7YkM=",
-      "dev": true
-    },
-    "randombytes": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz",
-      "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "randomfill": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz",
-      "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.0.5",
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "range-parser": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz",
-      "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=",
-      "dev": true
-    },
-    "raw-body": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz",
-      "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=",
-      "dev": true,
-      "requires": {
-        "bytes": "3.1.0",
-        "http-errors": "1.7.2",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
-      }
-    },
-    "read-pkg": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz",
-      "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=",
-      "dev": true,
-      "requires": {
-        "@types/normalize-package-data": "^2.4.0",
-        "normalize-package-data": "^2.5.0",
-        "parse-json": "^5.0.0",
-        "type-fest": "^0.6.0"
-      }
-    },
-    "read-pkg-up": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-3.0.0.tgz",
-      "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.0.0",
-        "read-pkg": "^3.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz",
-          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
-          "dev": true,
-          "requires": {
-            "locate-path": "^2.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
-          "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
-          "dev": true,
-          "requires": {
-            "p-locate": "^2.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-limit": {
-          "version": "1.3.0",
-          "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1606290276843&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz",
-          "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
-          "dev": true,
-          "requires": {
-            "p-try": "^1.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
-          "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
-          "dev": true,
-          "requires": {
-            "p-limit": "^1.1.0"
-          }
-        },
-        "p-try": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
-          "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
-          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-3.0.0.tgz",
-          "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
-          "dev": true,
-          "requires": {
-            "load-json-file": "^4.0.0",
-            "normalize-package-data": "^2.3.2",
-            "path-type": "^3.0.0"
-          }
-        }
-      }
-    },
-    "readable-stream": {
-      "version": "2.3.7",
-      "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz?cache=0&sync_timestamp=1581624324274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.7.tgz",
-      "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
-      "dev": true,
-      "requires": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "readdirp": {
-      "version": "3.5.0",
-      "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.5.0.tgz",
-      "integrity": "sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "picomatch": "^2.2.1"
-      }
-    },
-    "redent": {
-      "version": "1.0.0",
-      "resolved": "https://registry.nlark.com/redent/download/redent-1.0.0.tgz?cache=0&sync_timestamp=1620069702182&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fredent%2Fdownload%2Fredent-1.0.0.tgz",
-      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
-      "dev": true,
-      "requires": {
-        "indent-string": "^2.1.0",
-        "strip-indent": "^1.0.1"
-      },
-      "dependencies": {
-        "indent-string": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz?cache=0&sync_timestamp=1618679561483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-2.1.0.tgz",
-          "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
-          "dev": true,
-          "requires": {
-            "repeating": "^2.0.0"
-          }
-        },
-        "strip-indent": {
-          "version": "1.0.1",
-          "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-1.0.1.tgz",
-          "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
-          "dev": true,
-          "requires": {
-            "get-stdin": "^4.0.1"
-          }
-        }
-      }
-    },
-    "regenerate": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.2.tgz?cache=0&sync_timestamp=1604218353677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate%2Fdownload%2Fregenerate-1.4.2.tgz",
-      "integrity": "sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=",
-      "dev": true
-    },
-    "regenerate-unicode-properties": {
-      "version": "8.2.0",
-      "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz",
-      "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.0"
-      }
-    },
-    "regenerator-runtime": {
-      "version": "0.13.7",
-      "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz",
-      "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U="
-    },
-    "regenerator-transform": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1593557846694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.14.5.tgz",
-      "integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.8.4"
-      }
-    },
-    "regex-not": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz",
-      "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "regexp.prototype.flags": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz?cache=0&sync_timestamp=1610725679574&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.1.tgz",
-      "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "regexpp": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz",
-      "integrity": "sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=",
-      "dev": true
-    },
-    "regexpu-core": {
-      "version": "4.7.1",
-      "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.1.tgz?cache=0&sync_timestamp=1600413461940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.7.1.tgz",
-      "integrity": "sha1-LepamgcjMpj78NuR+pq8TG4PitY=",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.0",
-        "regenerate-unicode-properties": "^8.2.0",
-        "regjsgen": "^0.5.1",
-        "regjsparser": "^0.6.4",
-        "unicode-match-property-ecmascript": "^1.0.4",
-        "unicode-match-property-value-ecmascript": "^1.2.0"
-      }
-    },
-    "regjsgen": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz",
-      "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=",
-      "dev": true
-    },
-    "regjsparser": {
-      "version": "0.6.9",
-      "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.9.tgz?cache=0&sync_timestamp=1616544927031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsparser%2Fdownload%2Fregjsparser-0.6.9.tgz",
-      "integrity": "sha1-tInu98mizkNydicBFCnPgzpxg+Y=",
-      "dev": true,
-      "requires": {
-        "jsesc": "~0.5.0"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz?cache=0&sync_timestamp=1603891232110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-          "dev": true
-        }
-      }
-    },
-    "relateurl": {
-      "version": "0.2.7",
-      "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz",
-      "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
-      "dev": true
-    },
-    "remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
-    },
-    "renderkid": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.5.tgz?cache=0&sync_timestamp=1609588663632&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frenderkid%2Fdownload%2Frenderkid-2.0.5.tgz",
-      "integrity": "sha1-SDsaxZxmAaswp6WWpZZcq8z90KU=",
-      "dev": true,
-      "requires": {
-        "css-select": "^2.0.2",
-        "dom-converter": "^0.2",
-        "htmlparser2": "^3.10.1",
-        "lodash": "^4.17.20",
-        "strip-ansi": "^3.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        }
-      }
-    },
-    "repeat-element": {
-      "version": "1.1.4",
-      "resolved": "https://registry.nlark.com/repeat-element/download/repeat-element-1.1.4.tgz",
-      "integrity": "sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek=",
-      "dev": true
-    },
-    "repeat-string": {
-      "version": "1.6.1",
-      "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true
-    },
-    "repeating": {
-      "version": "2.0.1",
-      "resolved": "https://registry.nlark.com/repeating/download/repeating-2.0.1.tgz",
-      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
-      "dev": true,
-      "requires": {
-        "is-finite": "^1.0.0"
-      }
-    },
-    "request": {
-      "version": "2.88.2",
-      "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz",
-      "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=",
-      "dev": true,
-      "requires": {
-        "aws-sign2": "~0.7.0",
-        "aws4": "^1.8.0",
-        "caseless": "~0.12.0",
-        "combined-stream": "~1.0.6",
-        "extend": "~3.0.2",
-        "forever-agent": "~0.6.1",
-        "form-data": "~2.3.2",
-        "har-validator": "~5.1.3",
-        "http-signature": "~1.2.0",
-        "is-typedarray": "~1.0.0",
-        "isstream": "~0.1.2",
-        "json-stringify-safe": "~5.0.1",
-        "mime-types": "~2.1.19",
-        "oauth-sign": "~0.9.0",
-        "performance-now": "^2.1.0",
-        "qs": "~6.5.2",
-        "safe-buffer": "^5.1.2",
-        "tough-cookie": "~2.5.0",
-        "tunnel-agent": "^0.6.0",
-        "uuid": "^3.3.2"
-      }
-    },
-    "require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
-      "dev": true
-    },
-    "require-main-filename": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz",
-      "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=",
-      "dev": true
-    },
-    "requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz",
-      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
-      "dev": true
-    },
-    "resize-observer-polyfill": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
-      "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
-    },
-    "resolve": {
-      "version": "1.20.0",
-      "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz",
-      "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=",
-      "dev": true,
-      "requires": {
-        "is-core-module": "^2.2.0",
-        "path-parse": "^1.0.6"
-      }
-    },
-    "resolve-cwd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz",
-      "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
-      "dev": true,
-      "requires": {
-        "resolve-from": "^3.0.0"
-      }
-    },
-    "resolve-from": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz",
-      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-      "dev": true
-    },
-    "resolve-url": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
-    },
-    "restore-cursor": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
-      "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
-      "dev": true,
-      "requires": {
-        "onetime": "^2.0.0",
-        "signal-exit": "^3.0.2"
-      }
-    },
-    "ret": {
-      "version": "0.1.15",
-      "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz?cache=0&sync_timestamp=1613002712228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fret%2Fdownload%2Fret-0.1.15.tgz",
-      "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=",
-      "dev": true
-    },
-    "retry": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz",
-      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
-      "dev": true
-    },
-    "reusify": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz",
-      "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=",
-      "dev": true
-    },
-    "rgb-regex": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz",
-      "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
-      "dev": true
-    },
-    "rgba-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz",
-      "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
-      "dev": true
-    },
-    "rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz",
-      "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=",
-      "dev": true,
-      "requires": {
-        "glob": "^7.1.3"
-      }
-    },
-    "ripemd160": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz",
-      "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=",
-      "dev": true,
-      "requires": {
-        "hash-base": "^3.0.0",
-        "inherits": "^2.0.1"
-      }
-    },
-    "run-async": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz",
-      "integrity": "sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=",
-      "dev": true
-    },
-    "run-parallel": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.2.0.tgz",
-      "integrity": "sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=",
-      "dev": true,
-      "requires": {
-        "queue-microtask": "^1.2.2"
-      }
-    },
-    "run-queue": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz",
-      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
-      "requires": {
-        "aproba": "^1.1.1"
-      }
-    },
-    "rxjs": {
-      "version": "6.6.7",
-      "resolved": "https://registry.nlark.com/rxjs/download/rxjs-6.6.7.tgz",
-      "integrity": "sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk=",
-      "dev": true,
-      "requires": {
-        "tslib": "^1.9.0"
-      }
-    },
-    "safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
-      "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=",
-      "dev": true
-    },
-    "safe-regex": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz",
-      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
-      "requires": {
-        "ret": "~0.1.10"
-      }
-    },
-    "safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz",
-      "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=",
-      "dev": true
-    },
-    "sass-graph": {
-      "version": "2.2.5",
-      "resolved": "https://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-graph%2Fdownload%2Fsass-graph-2.2.5.tgz",
-      "integrity": "sha1-qYHIdEa4MZ2W3OBnHkh4eb0kwug=",
-      "dev": true,
-      "requires": {
-        "glob": "^7.0.0",
-        "lodash": "^4.0.0",
-        "scss-tokenizer": "^0.2.3",
-        "yargs": "^13.3.2"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz",
-          "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
-          "dev": true
-        },
-        "cliui": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&sync_timestamp=1604880033053&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-5.0.0.tgz",
-          "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=",
-          "dev": true,
-          "requires": {
-            "string-width": "^3.1.0",
-            "strip-ansi": "^5.2.0",
-            "wrap-ansi": "^5.1.0"
-          }
-        },
-        "emoji-regex": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1614682707048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz",
-          "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
-          "dev": true
-        },
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz",
-          "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
-          "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
-          "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "path-exists": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
-          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz",
-          "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
-          "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^4.1.0"
-          }
-        },
-        "wrap-ansi": {
-          "version": "5.1.0",
-          "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz",
-          "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.0",
-            "string-width": "^3.0.0",
-            "strip-ansi": "^5.0.0"
-          }
-        },
-        "yargs": {
-          "version": "13.3.2",
-          "resolved": "https://registry.nlark.com/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1620086644940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz",
-          "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=",
-          "dev": true,
-          "requires": {
-            "cliui": "^5.0.0",
-            "find-up": "^3.0.0",
-            "get-caller-file": "^2.0.1",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^2.0.0",
-            "set-blocking": "^2.0.0",
-            "string-width": "^3.0.0",
-            "which-module": "^2.0.0",
-            "y18n": "^4.0.0",
-            "yargs-parser": "^13.1.2"
-          }
-        },
-        "yargs-parser": {
-          "version": "13.1.2",
-          "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1615405185480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz",
-          "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^5.0.0",
-            "decamelize": "^1.2.0"
-          }
-        }
-      }
-    },
-    "sass-loader": {
-      "version": "8.0.2",
-      "resolved": "https://registry.nlark.com/sass-loader/download/sass-loader-8.0.2.tgz?cache=0&sync_timestamp=1620926321113&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsass-loader%2Fdownload%2Fsass-loader-8.0.2.tgz",
-      "integrity": "sha1-3r7NjDziQ8dkVPLoKQSCFQOACQ0=",
-      "dev": true,
-      "requires": {
-        "clone-deep": "^4.0.1",
-        "loader-utils": "^1.2.3",
-        "neo-async": "^2.6.1",
-        "schema-utils": "^2.6.1",
-        "semver": "^6.3.0"
-      }
-    },
-    "sax": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
-      "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=",
-      "dev": true
-    },
-    "schema-utils": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.1.tgz",
-      "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=",
-      "dev": true,
-      "requires": {
-        "@types/json-schema": "^7.0.5",
-        "ajv": "^6.12.4",
-        "ajv-keywords": "^3.5.2"
-      }
-    },
-    "scss-tokenizer": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz",
-      "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
-      "dev": true,
-      "requires": {
-        "js-base64": "^2.1.8",
-        "source-map": "^0.4.2"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.4.4",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.4.4.tgz",
-          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
-          "dev": true,
-          "requires": {
-            "amdefine": ">=0.0.4"
-          }
-        }
-      }
-    },
-    "select": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/select/download/select-1.1.2.tgz",
-      "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0="
-    },
-    "select-hose": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz",
-      "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
-      "dev": true
-    },
-    "selfsigned": {
-      "version": "1.10.11",
-      "resolved": "https://registry.nlark.com/selfsigned/download/selfsigned-1.10.11.tgz",
-      "integrity": "sha1-JJKc2Qb+D0S20B+yOZmnOVN6y+k=",
-      "dev": true,
-      "requires": {
-        "node-forge": "^0.10.0"
-      }
-    },
-    "semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
-      "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=",
-      "dev": true
-    },
-    "semver-compare": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/semver-compare/download/semver-compare-1.0.0.tgz",
-      "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
-      "dev": true
-    },
-    "send": {
-      "version": "0.17.1",
-      "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz",
-      "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "depd": "~1.1.2",
-        "destroy": "~1.0.4",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "fresh": "0.5.2",
-        "http-errors": "~1.7.2",
-        "mime": "1.6.0",
-        "ms": "2.1.1",
-        "on-finished": "~2.3.0",
-        "range-parser": "~1.2.1",
-        "statuses": "~1.5.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          },
-          "dependencies": {
-            "ms": {
-              "version": "2.0.0",
-              "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-              "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-              "dev": true
-            }
-          }
-        },
-        "mime": {
-          "version": "1.6.0",
-          "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1613584754851&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz",
-          "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz",
-          "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=",
-          "dev": true
-        }
-      }
-    },
-    "serialize-javascript": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz?cache=0&sync_timestamp=1599740650381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-4.0.0.tgz",
-      "integrity": "sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=",
-      "dev": true,
-      "requires": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "serve-index": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz",
-      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.4",
-        "batch": "0.6.1",
-        "debug": "2.6.9",
-        "escape-html": "~1.0.3",
-        "http-errors": "~1.6.2",
-        "mime-types": "~2.1.17",
-        "parseurl": "~1.3.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "http-errors": {
-          "version": "1.6.3",
-          "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1593407676624&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz",
-          "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
-          "dev": true,
-          "requires": {
-            "depd": "~1.1.2",
-            "inherits": "2.0.3",
-            "setprototypeof": "1.1.0",
-            "statuses": ">= 1.4.0 < 2"
-          }
-        },
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        },
-        "setprototypeof": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz",
-          "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=",
-          "dev": true
-        }
-      }
-    },
-    "serve-static": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz",
-      "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=",
-      "dev": true,
-      "requires": {
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "parseurl": "~1.3.3",
-        "send": "0.17.1"
-      }
-    },
-    "set-blocking": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
-      "dev": true
-    },
-    "set-value": {
-      "version": "2.0.1",
-      "resolved": "https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz",
-      "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^2.0.1",
-        "is-extendable": "^0.1.1",
-        "is-plain-object": "^2.0.3",
-        "split-string": "^3.0.1"
-      },
-      "dependencies": {
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        }
-      }
-    },
-    "setimmediate": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz",
-      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
-      "dev": true
-    },
-    "setprototypeof": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz",
-      "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=",
-      "dev": true
-    },
-    "sha.js": {
-      "version": "2.4.11",
-      "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz",
-      "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "shallow-clone": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-3.0.1.tgz",
-      "integrity": "sha1-jymBrZJTH1UDWwH7IwdppA4C76M=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^6.0.2"
-      }
-    },
-    "shebang-command": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz",
-      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
-      "dev": true,
-      "requires": {
-        "shebang-regex": "^1.0.0"
-      }
-    },
-    "shebang-regex": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
-      "dev": true
-    },
-    "shell-quote": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz",
-      "integrity": "sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I=",
-      "dev": true
-    },
-    "signal-exit": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz",
-      "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw=",
-      "dev": true
-    },
-    "simple-swizzle": {
-      "version": "0.2.2",
-      "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz",
-      "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
-      "dev": true,
-      "requires": {
-        "is-arrayish": "^0.3.1"
-      },
-      "dependencies": {
-        "is-arrayish": {
-          "version": "0.3.2",
-          "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz",
-          "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=",
-          "dev": true
-        }
-      }
-    },
-    "slash": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz?cache=0&sync_timestamp=1618384508676&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslash%2Fdownload%2Fslash-2.0.0.tgz",
-      "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=",
-      "dev": true
-    },
-    "slice-ansi": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz?cache=0&sync_timestamp=1618554953055&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslice-ansi%2Fdownload%2Fslice-ansi-2.1.0.tgz",
-      "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^3.2.0",
-        "astral-regex": "^1.0.0",
-        "is-fullwidth-code-point": "^2.0.0"
-      },
-      "dependencies": {
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsnapdragon%2Fdownload%2Fsnapdragon-0.8.2.tgz",
-      "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=",
-      "dev": true,
-      "requires": {
-        "base": "^0.11.1",
-        "debug": "^2.2.0",
-        "define-property": "^0.2.5",
-        "extend-shallow": "^2.0.1",
-        "map-cache": "^0.2.2",
-        "source-map": "^0.5.6",
-        "source-map-resolve": "^0.5.0",
-        "use": "^3.1.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.9",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
-          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        },
-        "extend-shallow": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
-          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
-          "requires": {
-            "is-extendable": "^0.1.0"
-          }
-        },
-        "ms": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&sync_timestamp=1607433842694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
-        }
-      }
-    },
-    "snapdragon-node": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz",
-      "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
-      "dev": true,
-      "requires": {
-        "define-property": "^1.0.0",
-        "isobject": "^3.0.0",
-        "snapdragon-util": "^3.0.1"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
-          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^1.0.0"
-          }
-        },
-        "is-accessor-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
-          "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-data-descriptor": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
-          "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^6.0.0"
-          }
-        },
-        "is-descriptor": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
-          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
-          "dev": true,
-          "requires": {
-            "is-accessor-descriptor": "^1.0.0",
-            "is-data-descriptor": "^1.0.0",
-            "kind-of": "^6.0.2"
-          }
-        }
-      }
-    },
-    "snapdragon-util": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz",
-      "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.2.0"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "sockjs": {
-      "version": "0.3.21",
-      "resolved": "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.21.tgz",
-      "integrity": "sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc=",
-      "dev": true,
-      "requires": {
-        "faye-websocket": "^0.11.3",
-        "uuid": "^3.4.0",
-        "websocket-driver": "^0.7.4"
-      }
-    },
-    "sockjs-client": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.5.1.tgz?cache=0&sync_timestamp=1616686664258&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.5.1.tgz",
-      "integrity": "sha1-JWkI9tWt+5Tau9vQLGY2LMoPnqY=",
-      "dev": true,
-      "requires": {
-        "debug": "^3.2.6",
-        "eventsource": "^1.0.7",
-        "faye-websocket": "^0.11.3",
-        "inherits": "^2.0.4",
-        "json3": "^3.3.3",
-        "url-parse": "^1.5.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.7",
-          "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.7.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.7.tgz",
-          "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        }
-      }
-    },
-    "sort-keys": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz",
-      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
-      "dev": true,
-      "requires": {
-        "is-plain-obj": "^1.0.0"
-      },
-      "dependencies": {
-        "is-plain-obj": {
-          "version": "1.1.0",
-          "resolved": "https://registry.nlark.com/is-plain-obj/download/is-plain-obj-1.1.0.tgz",
-          "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
-          "dev": true
-        }
-      }
-    },
-    "source-list-map": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz",
-      "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=",
-      "dev": true
-    },
-    "source-map": {
-      "version": "0.5.7",
-      "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true
-    },
-    "source-map-resolve": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz?cache=0&sync_timestamp=1584829515586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-resolve%2Fdownload%2Fsource-map-resolve-0.5.3.tgz",
-      "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=",
-      "dev": true,
-      "requires": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
-    "source-map-support": {
-      "version": "0.5.19",
-      "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719289626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz",
-      "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=",
-      "dev": true,
-      "requires": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        }
-      }
-    },
-    "source-map-url": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.1.tgz?cache=0&sync_timestamp=1612211015749&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-url%2Fdownload%2Fsource-map-url-0.4.1.tgz",
-      "integrity": "sha1-CvZmBadFpaL5HPG7+KevvCg97FY=",
-      "dev": true
-    },
-    "spdx-correct": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz?cache=0&sync_timestamp=1590161967473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-correct%2Fdownload%2Fspdx-correct-3.1.1.tgz",
-      "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=",
-      "dev": true,
-      "requires": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-exceptions": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz",
-      "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=",
-      "dev": true
-    },
-    "spdx-expression-parse": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz",
-      "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=",
-      "dev": true,
-      "requires": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "spdx-license-ids": {
-      "version": "3.0.7",
-      "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.7.tgz?cache=0&sync_timestamp=1606610735791&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.7.tgz",
-      "integrity": "sha1-6cGKQQ5e1+EkQqVJ+9ivp2cDjWU=",
-      "dev": true
-    },
-    "spdy": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz?cache=0&sync_timestamp=1585970491493&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdy%2Fdownload%2Fspdy-4.0.2.tgz",
-      "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "handle-thing": "^2.0.0",
-        "http-deceiver": "^1.2.7",
-        "select-hose": "^2.0.0",
-        "spdy-transport": "^3.0.0"
-      }
-    },
-    "spdy-transport": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz",
-      "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "detect-node": "^2.0.4",
-        "hpack.js": "^2.1.6",
-        "obuf": "^1.1.2",
-        "readable-stream": "^3.0.6",
-        "wbuf": "^1.7.3"
-      },
-      "dependencies": {
-        "readable-stream": {
-          "version": "3.6.0",
-          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1581624324274&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz",
-          "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
-          "dev": true,
-          "requires": {
-            "inherits": "^2.0.3",
-            "string_decoder": "^1.1.1",
-            "util-deprecate": "^1.0.1"
-          }
-        }
-      }
-    },
-    "split-string": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz",
-      "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=",
-      "dev": true,
-      "requires": {
-        "extend-shallow": "^3.0.0"
-      }
-    },
-    "sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
-      "dev": true
-    },
-    "sshpk": {
-      "version": "1.16.1",
-      "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz",
-      "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=",
-      "dev": true,
-      "requires": {
-        "asn1": "~0.2.3",
-        "assert-plus": "^1.0.0",
-        "bcrypt-pbkdf": "^1.0.0",
-        "dashdash": "^1.12.0",
-        "ecc-jsbn": "~0.1.1",
-        "getpass": "^0.1.1",
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.0.2",
-        "tweetnacl": "~0.14.0"
-      }
-    },
-    "ssri": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-6.0.2.tgz?cache=0&sync_timestamp=1617826515595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-6.0.2.tgz",
-      "integrity": "sha1-FXk5E08gRk5zAd26PpD/qPdyisU=",
-      "dev": true,
-      "requires": {
-        "figgy-pudding": "^3.5.1"
-      }
-    },
-    "stable": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz",
-      "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=",
-      "dev": true
-    },
-    "stackframe": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz?cache=0&sync_timestamp=1590854108362&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstackframe%2Fdownload%2Fstackframe-1.2.0.tgz",
-      "integrity": "sha1-UkKUktY8YuuYmATBFVLj0i53kwM=",
-      "dev": true
-    },
-    "static-extend": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz",
-      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
-      "requires": {
-        "define-property": "^0.2.5",
-        "object-copy": "^0.1.0"
-      },
-      "dependencies": {
-        "define-property": {
-          "version": "0.2.5",
-          "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
-          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
-          "requires": {
-            "is-descriptor": "^0.1.0"
-          }
-        }
-      }
-    },
-    "statuses": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1609654014762&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz",
-      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
-      "dev": true
-    },
-    "stdout-stream": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.1.tgz",
-      "integrity": "sha1-WsF0zdXNcmEEqgwLK9g4FdjVNd4=",
-      "dev": true,
-      "requires": {
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "stream-browserify": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz?cache=0&sync_timestamp=1587041194718&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-browserify%2Fdownload%2Fstream-browserify-2.0.2.tgz",
-      "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=",
-      "dev": true,
-      "requires": {
-        "inherits": "~2.0.1",
-        "readable-stream": "^2.0.2"
-      }
-    },
-    "stream-each": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz",
-      "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=",
-      "dev": true,
-      "requires": {
-        "end-of-stream": "^1.1.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "stream-http": {
-      "version": "2.8.3",
-      "resolved": "https://registry.nlark.com/stream-http/download/stream-http-2.8.3.tgz",
-      "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=",
-      "dev": true,
-      "requires": {
-        "builtin-status-codes": "^3.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.6",
-        "to-arraybuffer": "^1.0.0",
-        "xtend": "^4.0.0"
-      }
-    },
-    "stream-shift": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz",
-      "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=",
-      "dev": true
-    },
-    "strict-uri-encode": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz",
-      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
-      "dev": true
-    },
-    "string-argv": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npm.taobao.org/string-argv/download/string-argv-0.3.1.tgz",
-      "integrity": "sha1-leL77AQnrhkYSTX4FtdKqkxcGdo=",
-      "dev": true
-    },
-    "string-width": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.2.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.2.tgz",
-      "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=",
-      "dev": true,
-      "requires": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.0"
-      }
-    },
-    "string.prototype.trimend": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz?cache=0&sync_timestamp=1614128416111&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.4.tgz",
-      "integrity": "sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "string.prototype.trimstart": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz",
-      "integrity": "sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=",
-      "dev": true,
-      "requires": {
-        "call-bind": "^1.0.2",
-        "define-properties": "^1.1.3"
-      }
-    },
-    "string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
-      "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "stringify-object": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz",
-      "integrity": "sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=",
-      "dev": true,
-      "requires": {
-        "get-own-enumerable-property-symbols": "^3.0.0",
-        "is-obj": "^1.0.1",
-        "is-regexp": "^1.0.0"
-      },
-      "dependencies": {
-        "is-obj": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz?cache=0&sync_timestamp=1618600378936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-obj%2Fdownload%2Fis-obj-1.0.1.tgz",
-          "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
-          "dev": true
-        }
-      }
-    },
-    "strip-ansi": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz",
-      "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=",
-      "dev": true,
-      "requires": {
-        "ansi-regex": "^5.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "5.0.0",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.0.tgz",
-          "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=",
-          "dev": true
-        }
-      }
-    },
-    "strip-bom": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz?cache=0&sync_timestamp=1618599551066&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-bom%2Fdownload%2Fstrip-bom-3.0.0.tgz",
-      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
-      "dev": true
-    },
-    "strip-eof": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
-      "dev": true
-    },
-    "strip-final-newline": {
-      "version": "2.0.0",
-      "resolved": "https://registry.nlark.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz",
-      "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=",
-      "dev": true
-    },
-    "strip-indent": {
-      "version": "2.0.0",
-      "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-2.0.0.tgz",
-      "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
-      "dev": true
-    },
-    "strip-json-comments": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-3.1.1.tgz?cache=0&sync_timestamp=1594567532500&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.1.tgz",
-      "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=",
-      "dev": true
-    },
-    "stylehacks": {
-      "version": "4.0.3",
-      "resolved": "https://registry.nlark.com/stylehacks/download/stylehacks-4.0.3.tgz",
-      "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=",
-      "dev": true,
-      "requires": {
-        "browserslist": "^4.0.0",
-        "postcss": "^7.0.0",
-        "postcss-selector-parser": "^3.0.0"
-      },
-      "dependencies": {
-        "postcss-selector-parser": {
-          "version": "3.1.2",
-          "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1620752924836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz",
-          "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
-          "dev": true,
-          "requires": {
-            "dot-prop": "^5.2.0",
-            "indexes-of": "^1.0.1",
-            "uniq": "^1.0.1"
-          }
-        }
-      }
-    },
-    "supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
-      "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
-      "dev": true,
-      "requires": {
-        "has-flag": "^3.0.0"
-      }
-    },
-    "svg-tags": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz",
-      "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
-      "dev": true
-    },
-    "svgo": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1616929367791&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz",
-      "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=",
-      "dev": true,
-      "requires": {
-        "chalk": "^2.4.1",
-        "coa": "^2.0.2",
-        "css-select": "^2.0.0",
-        "css-select-base-adapter": "^0.1.1",
-        "css-tree": "1.0.0-alpha.37",
-        "csso": "^4.0.2",
-        "js-yaml": "^3.13.1",
-        "mkdirp": "~0.5.1",
-        "object.values": "^1.1.0",
-        "sax": "~1.2.4",
-        "stable": "^0.1.8",
-        "unquote": "~1.1.1",
-        "util.promisify": "~1.0.0"
-      }
-    },
-    "symbol-observable": {
-      "version": "1.2.0",
-      "resolved": "https://registry.nlark.com/symbol-observable/download/symbol-observable-1.2.0.tgz",
-      "integrity": "sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ=",
-      "dev": true
-    },
-    "table": {
-      "version": "5.4.6",
-      "resolved": "https://registry.nlark.com/table/download/table-5.4.6.tgz",
-      "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=",
-      "dev": true,
-      "requires": {
-        "ajv": "^6.10.2",
-        "lodash": "^4.17.14",
-        "slice-ansi": "^2.1.0",
-        "string-width": "^3.0.0"
-      },
-      "dependencies": {
-        "emoji-regex": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1614682707048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz",
-          "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz",
-          "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
-          "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^4.1.0"
-          }
-        }
-      }
-    },
-    "tapable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1607088905649&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz",
-      "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=",
-      "dev": true
-    },
-    "tar": {
-      "version": "2.2.2",
-      "resolved": "https://registry.npm.taobao.org/tar/download/tar-2.2.2.tgz",
-      "integrity": "sha1-DKiEhWLHKZuLRG/2pNYM27I+3EA=",
-      "dev": true,
-      "requires": {
-        "block-stream": "*",
-        "fstream": "^1.0.12",
-        "inherits": "2"
-      }
-    },
-    "terser": {
-      "version": "4.8.0",
-      "resolved": "https://registry.nlark.com/terser/download/terser-4.8.0.tgz",
-      "integrity": "sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=",
-      "dev": true,
-      "requires": {
-        "commander": "^2.20.0",
-        "source-map": "~0.6.1",
-        "source-map-support": "~0.5.12"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        }
-      }
-    },
-    "terser-webpack-plugin": {
-      "version": "1.4.5",
-      "resolved": "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz?cache=0&sync_timestamp=1620830698693&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.5.tgz",
-      "integrity": "sha1-oheu+uozDnNP+sthIOwfoxLWBAs=",
-      "dev": true,
-      "requires": {
-        "cacache": "^12.0.2",
-        "find-cache-dir": "^2.1.0",
-        "is-wsl": "^1.1.0",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^4.0.0",
-        "source-map": "^0.6.1",
-        "terser": "^4.1.2",
-        "webpack-sources": "^1.4.0",
-        "worker-farm": "^1.7.0"
-      },
-      "dependencies": {
-        "find-cache-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz",
-          "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=",
-          "dev": true,
-          "requires": {
-            "commondir": "^1.0.1",
-            "make-dir": "^2.0.0",
-            "pkg-dir": "^3.0.0"
-          }
-        },
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz",
-          "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
-          "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "make-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1587567572251&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz",
-          "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=",
-          "dev": true,
-          "requires": {
-            "pify": "^4.0.1",
-            "semver": "^5.6.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
-          "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "path-exists": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
-          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1602859045787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz",
-          "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          }
-        },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
-          "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463603361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
-          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        }
-      }
-    },
-    "text-table": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz",
-      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
-      "dev": true
-    },
-    "thenify": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npm.taobao.org/thenify/download/thenify-3.3.1.tgz",
-      "integrity": "sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8=",
-      "dev": true,
-      "requires": {
-        "any-promise": "^1.0.0"
-      }
-    },
-    "thenify-all": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz",
-      "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
-      "dev": true,
-      "requires": {
-        "thenify": ">= 3.1.0 < 4"
-      }
-    },
-    "thread-loader": {
-      "version": "2.1.3",
-      "resolved": "https://registry.nlark.com/thread-loader/download/thread-loader-2.1.3.tgz",
-      "integrity": "sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo=",
-      "dev": true,
-      "requires": {
-        "loader-runner": "^2.3.1",
-        "loader-utils": "^1.1.0",
-        "neo-async": "^2.6.0"
-      }
-    },
-    "throttle-debounce": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz?cache=0&sync_timestamp=1604313832516&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrottle-debounce%2Fdownload%2Fthrottle-debounce-1.1.0.tgz",
-      "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0="
-    },
-    "through": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz",
-      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
-      "dev": true
-    },
-    "through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz",
-      "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=",
-      "dev": true,
-      "requires": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
-      }
-    },
-    "thunky": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz",
-      "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=",
-      "dev": true
-    },
-    "timers-browserify": {
-      "version": "2.0.12",
-      "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.12.tgz?cache=0&sync_timestamp=1603793741116&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-browserify-2.0.12.tgz",
-      "integrity": "sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4=",
-      "dev": true,
-      "requires": {
-        "setimmediate": "^1.0.4"
-      }
-    },
-    "timsort": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz",
-      "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
-      "dev": true
-    },
-    "tiny-emitter": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npm.taobao.org/tiny-emitter/download/tiny-emitter-2.1.0.tgz",
-      "integrity": "sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM="
-    },
-    "tmp": {
-      "version": "0.0.33",
-      "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz?cache=0&sync_timestamp=1588178571895&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftmp%2Fdownload%2Ftmp-0.0.33.tgz",
-      "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=",
-      "dev": true,
-      "requires": {
-        "os-tmpdir": "~1.0.2"
-      }
-    },
-    "to-arraybuffer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz",
-      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
-      "dev": true
-    },
-    "to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1580550317222&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
-      "dev": true
-    },
-    "to-object-path": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz",
-      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
-      "requires": {
-        "kind-of": "^3.0.2"
-      },
-      "dependencies": {
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
-    "to-regex": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz",
-      "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=",
-      "dev": true,
-      "requires": {
-        "define-property": "^2.0.2",
-        "extend-shallow": "^3.0.2",
-        "regex-not": "^1.0.2",
-        "safe-regex": "^1.1.0"
-      }
-    },
-    "to-regex-range": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz",
-      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
-      "requires": {
-        "is-number": "^3.0.0",
-        "repeat-string": "^1.6.1"
-      }
-    },
-    "toidentifier": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz",
-      "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=",
-      "dev": true
-    },
-    "toposort": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz",
-      "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=",
-      "dev": true
-    },
-    "tough-cookie": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz?cache=0&sync_timestamp=1584646121003&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftough-cookie%2Fdownload%2Ftough-cookie-2.5.0.tgz",
-      "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=",
-      "dev": true,
-      "requires": {
-        "psl": "^1.1.28",
-        "punycode": "^2.1.1"
-      }
-    },
-    "trim-newlines": {
-      "version": "1.0.0",
-      "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-1.0.0.tgz?cache=0&sync_timestamp=1619005721489&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-1.0.0.tgz",
-      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
-      "dev": true
-    },
-    "true-case-path": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.3.tgz",
-      "integrity": "sha1-+BO1qMhrQNpZYGcisUTjIleZ9H0=",
-      "dev": true,
-      "requires": {
-        "glob": "^7.1.2"
-      }
-    },
-    "tryer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz",
-      "integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=",
-      "dev": true
-    },
-    "ts-pnp": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.2.0.tgz",
-      "integrity": "sha1-pQCtCEsHmPHDBxrzkeZZEshrypI=",
-      "dev": true
-    },
-    "tsconfig-paths": {
-      "version": "3.9.0",
-      "resolved": "https://registry.npm.taobao.org/tsconfig-paths/download/tsconfig-paths-3.9.0.tgz",
-      "integrity": "sha1-CYVHpsREiAfo/Ljq4IEGTumjyQs=",
-      "dev": true,
-      "requires": {
-        "@types/json5": "^0.0.29",
-        "json5": "^1.0.1",
-        "minimist": "^1.2.0",
-        "strip-bom": "^3.0.0"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz",
-          "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        }
-      }
-    },
-    "tslib": {
-      "version": "1.14.1",
-      "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.14.1.tgz",
-      "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=",
-      "dev": true
-    },
-    "tty-browserify": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz",
-      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
-      "dev": true
-    },
-    "tunnel-agent": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
-      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "^5.0.1"
-      }
-    },
-    "tweetnacl": {
-      "version": "0.14.5",
-      "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz?cache=0&sync_timestamp=1581364203962&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftweetnacl%2Fdownload%2Ftweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true
-    },
-    "type-check": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz",
-      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
-      "dev": true,
-      "requires": {
-        "prelude-ls": "~1.1.2"
-      }
-    },
-    "type-fest": {
-      "version": "0.6.0",
-      "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz",
-      "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=",
-      "dev": true
-    },
-    "type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz",
-      "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=",
-      "dev": true,
-      "requires": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
-      }
-    },
-    "typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
-    },
-    "uglify-js": {
-      "version": "3.4.10",
-      "resolved": "https://registry.nlark.com/uglify-js/download/uglify-js-3.4.10.tgz",
-      "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=",
-      "dev": true,
-      "requires": {
-        "commander": "~2.19.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "2.19.0",
-          "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1616364009866&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz",
-          "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        }
-      }
-    },
-    "unbox-primitive": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/unbox-primitive/download/unbox-primitive-1.0.1.tgz?cache=0&sync_timestamp=1616706302651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funbox-primitive%2Fdownload%2Funbox-primitive-1.0.1.tgz",
-      "integrity": "sha1-CF4hViXsMWJXTciFmr7nilmxRHE=",
-      "dev": true,
-      "requires": {
-        "function-bind": "^1.1.1",
-        "has-bigints": "^1.0.1",
-        "has-symbols": "^1.0.2",
-        "which-boxed-primitive": "^1.0.2"
-      }
-    },
-    "unicode-canonical-property-names-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg=",
-      "dev": true
-    },
-    "unicode-match-property-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz",
-      "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=",
-      "dev": true,
-      "requires": {
-        "unicode-canonical-property-names-ecmascript": "^1.0.4",
-        "unicode-property-aliases-ecmascript": "^1.0.4"
-      }
-    },
-    "unicode-match-property-value-ecmascript": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz",
-      "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE=",
-      "dev": true
-    },
-    "unicode-property-aliases-ecmascript": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz?cache=0&sync_timestamp=1583945910569&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-1.1.0.tgz",
-      "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ=",
-      "dev": true
-    },
-    "union-value": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz",
-      "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=",
-      "dev": true,
-      "requires": {
-        "arr-union": "^3.1.0",
-        "get-value": "^2.0.6",
-        "is-extendable": "^0.1.1",
-        "set-value": "^2.0.1"
-      }
-    },
-    "uniq": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz",
-      "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
-      "dev": true
-    },
-    "uniqs": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz",
-      "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
-      "dev": true
-    },
-    "unique-filename": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz",
-      "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=",
-      "dev": true,
-      "requires": {
-        "unique-slug": "^2.0.0"
-      }
-    },
-    "unique-slug": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz",
-      "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=",
-      "dev": true,
-      "requires": {
-        "imurmurhash": "^0.1.4"
-      }
-    },
-    "universalify": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1603179967633&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz",
-      "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=",
-      "dev": true
-    },
-    "unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
-      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
-      "dev": true
-    },
-    "unquote": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz",
-      "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
-      "dev": true
-    },
-    "unset-value": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz?cache=0&sync_timestamp=1616088539233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funset-value%2Fdownload%2Funset-value-1.0.0.tgz",
-      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
-      "requires": {
-        "has-value": "^0.3.1",
-        "isobject": "^3.0.0"
-      },
-      "dependencies": {
-        "has-value": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz",
-          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-          "dev": true,
-          "requires": {
-            "get-value": "^2.0.3",
-            "has-values": "^0.1.4",
-            "isobject": "^2.0.0"
-          },
-          "dependencies": {
-            "isobject": {
-              "version": "2.1.0",
-              "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz",
-              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-              "dev": true,
-              "requires": {
-                "isarray": "1.0.0"
-              }
-            }
-          }
-        },
-        "has-values": {
-          "version": "0.1.4",
-          "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-          "dev": true
-        }
-      }
-    },
-    "upath": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&sync_timestamp=1604768535464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz",
-      "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=",
-      "dev": true
-    },
-    "upper-case": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz",
-      "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
-      "dev": true
-    },
-    "uri-js": {
-      "version": "4.4.1",
-      "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237624359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz",
-      "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=",
-      "dev": true,
-      "requires": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "urix": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
-    },
-    "url": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz",
-      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
-      "requires": {
-        "punycode": "1.3.2",
-        "querystring": "0.2.0"
-      },
-      "dependencies": {
-        "punycode": {
-          "version": "1.3.2",
-          "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-          "dev": true
-        }
-      }
-    },
-    "url-loader": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npm.taobao.org/url-loader/download/url-loader-2.3.0.tgz?cache=0&sync_timestamp=1602252626029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-loader%2Fdownload%2Furl-loader-2.3.0.tgz",
-      "integrity": "sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs=",
-      "dev": true,
-      "requires": {
-        "loader-utils": "^1.2.3",
-        "mime": "^2.4.4",
-        "schema-utils": "^2.5.0"
-      }
-    },
-    "url-parse": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npm.taobao.org/url-parse/download/url-parse-1.5.1.tgz?cache=0&sync_timestamp=1613660079745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-parse%2Fdownload%2Furl-parse-1.5.1.tgz",
-      "integrity": "sha1-1fqYkK+KXh8nSiyYN2UQ9kJfbjs=",
-      "dev": true,
-      "requires": {
-        "querystringify": "^2.1.1",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "use": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz",
-      "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=",
-      "dev": true
-    },
-    "util": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz",
-      "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=",
-      "dev": true,
-      "requires": {
-        "inherits": "2.0.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
-          "dev": true
-        }
-      }
-    },
-    "util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
-    },
-    "util.promisify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz?cache=0&sync_timestamp=1610159895694&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.1.tgz",
-      "integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.17.2",
-        "has-symbols": "^1.0.1",
-        "object.getownpropertydescriptors": "^2.1.0"
-      }
-    },
-    "utila": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz",
-      "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
-      "dev": true
-    },
-    "utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz",
-      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
-      "dev": true
-    },
-    "uuid": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1607460081656&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz",
-      "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=",
-      "dev": true
-    },
-    "v8-compile-cache": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz?cache=0&sync_timestamp=1614993639567&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.3.0.tgz",
-      "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=",
-      "dev": true
-    },
-    "validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz",
-      "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=",
-      "dev": true,
-      "requires": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    "vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
-      "dev": true
-    },
-    "vendors": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz?cache=0&sync_timestamp=1615203425696&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvendors%2Fdownload%2Fvendors-1.0.4.tgz",
-      "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=",
-      "dev": true
-    },
-    "verror": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
-      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "dev": true,
-      "requires": {
-        "assert-plus": "^1.0.0",
-        "core-util-is": "1.0.2",
-        "extsprintf": "^1.2.0"
-      }
-    },
-    "vm-browserify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1572870717730&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz",
-      "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=",
-      "dev": true
-    },
-    "vue": {
-      "version": "2.6.12",
-      "resolved": "https://registry.nlark.com/vue/download/vue-2.6.12.tgz?cache=0&sync_timestamp=1620856192360&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue%2Fdownload%2Fvue-2.6.12.tgz",
-      "integrity": "sha1-9evU+mvShpQD4pqJau1JBEVskSM="
-    },
-    "vue-cli-plugin-element-ui": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npm.taobao.org/vue-cli-plugin-element-ui/download/vue-cli-plugin-element-ui-1.1.4.tgz",
-      "integrity": "sha1-gwdkDYUjC6YeFekmh59pW6jurt8=",
-      "dev": true
-    },
-    "vue-clipboard2": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npm.taobao.org/vue-clipboard2/download/vue-clipboard2-0.3.1.tgz",
-      "integrity": "sha1-blUft704SImyiw2jsSKJ7WvKSJQ=",
-      "requires": {
-        "clipboard": "^2.0.0"
-      }
-    },
-    "vue-eslint-parser": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-7.6.0.tgz?cache=0&sync_timestamp=1614679548045&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-7.6.0.tgz",
-      "integrity": "sha1-AeoaKTL1gf8kQzZWXXEoAfj3JWE=",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.1",
-        "eslint-scope": "^5.0.0",
-        "eslint-visitor-keys": "^1.1.0",
-        "espree": "^6.2.1",
-        "esquery": "^1.4.0",
-        "lodash": "^4.17.15"
-      },
-      "dependencies": {
-        "eslint-scope": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1599933651660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz",
-          "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=",
-          "dev": true,
-          "requires": {
-            "esrecurse": "^4.3.0",
-            "estraverse": "^4.1.1"
-          }
-        }
-      }
-    },
-    "vue-hot-reload-api": {
-      "version": "2.3.4",
-      "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz",
-      "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=",
-      "dev": true
-    },
-    "vue-loader": {
-      "version": "15.9.7",
-      "resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-15.9.7.tgz",
-      "integrity": "sha1-FbBXdcPgw4QHZ5OTws5t9nOwEEQ=",
-      "dev": true,
-      "requires": {
-        "@vue/component-compiler-utils": "^3.1.0",
-        "hash-sum": "^1.0.2",
-        "loader-utils": "^1.1.0",
-        "vue-hot-reload-api": "^2.3.0",
-        "vue-style-loader": "^4.1.0"
-      },
-      "dependencies": {
-        "hash-sum": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
-          "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
-          "dev": true
-        }
-      }
-    },
-    "vue-loader-v16": {
-      "version": "npm:vue-loader@16.8.3",
-      "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
-      "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "chalk": "^4.1.0",
-        "hash-sum": "^2.0.0",
-        "loader-utils": "^2.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "chalk": {
-          "version": "4.1.2",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
-          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ansi-styles": "^4.1.0",
-            "supports-color": "^7.1.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-          "dev": true,
-          "optional": true
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true,
-          "optional": true
-        },
-        "loader-utils": {
-          "version": "2.0.4",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
-          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^2.1.2"
-          }
-        },
-        "supports-color": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        }
-      }
-    },
-    "vue-router": {
-      "version": "3.5.1",
-      "resolved": "https://registry.nlark.com/vue-router/download/vue-router-3.5.1.tgz?cache=0&sync_timestamp=1620899536020&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-router%2Fdownload%2Fvue-router-3.5.1.tgz",
-      "integrity": "sha1-7fPPSQeVLR4Fg+B5I3Igxf9utsk="
-    },
-    "vue-style-loader": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.3.tgz",
-      "integrity": "sha1-bVWGOlH6dXqyTonZNxRlByqnvDU=",
-      "dev": true,
-      "requires": {
-        "hash-sum": "^1.0.2",
-        "loader-utils": "^1.0.2"
-      },
-      "dependencies": {
-        "hash-sum": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
-          "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
-          "dev": true
-        }
-      }
-    },
-    "vue-template-compiler": {
-      "version": "2.6.12",
-      "resolved": "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.12.tgz?cache=0&sync_timestamp=1597927407682&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-template-compiler%2Fdownload%2Fvue-template-compiler-2.6.12.tgz",
-      "integrity": "sha1-lH7XGWdEyKUoXr4SM/6WBDf8xX4=",
-      "dev": true,
-      "requires": {
-        "de-indent": "^1.0.2",
-        "he": "^1.1.0"
-      }
-    },
-    "vue-template-es2015-compiler": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz",
-      "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=",
-      "dev": true
-    },
-    "vuescroll": {
-      "version": "4.17.3",
-      "resolved": "https://registry.npm.taobao.org/vuescroll/download/vuescroll-4.17.3.tgz",
-      "integrity": "sha1-4cKTcqAH4N/wzua0UVeD1Dkk+eE="
-    },
-    "vuex": {
-      "version": "3.6.2",
-      "resolved": "https://registry.npm.taobao.org/vuex/download/vuex-3.6.2.tgz?cache=0&sync_timestamp=1612277384353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvuex%2Fdownload%2Fvuex-3.6.2.tgz",
-      "integrity": "sha1-I2vAhqhww655lG8QfxbeWdWJXnE="
-    },
-    "watch-size": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/watch-size/download/watch-size-2.0.0.tgz",
-      "integrity": "sha1-CW7ijQNlvX6gPZyL8fL1CnO+FHQ="
-    },
-    "watchpack": {
-      "version": "1.7.5",
-      "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.5.tgz",
-      "integrity": "sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM=",
-      "dev": true,
-      "requires": {
-        "chokidar": "^3.4.1",
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0",
-        "watchpack-chokidar2": "^2.0.1"
-      }
-    },
-    "watchpack-chokidar2": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz?cache=0&sync_timestamp=1604989128919&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack-chokidar2%2Fdownload%2Fwatchpack-chokidar2-2.0.1.tgz",
-      "integrity": "sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc=",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "chokidar": "^2.1.8"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.nlark.com/anymatch/download/anymatch-2.0.0.tgz",
-          "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299308660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz",
-          "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=",
-          "dev": true,
-          "optional": true
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1610719440699&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz",
-          "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz",
-          "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "bindings": "^1.5.0",
-            "nan": "^2.12.1"
-          }
-        },
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz",
-          "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        }
-      }
-    },
-    "wbuf": {
-      "version": "1.7.3",
-      "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz",
-      "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=",
-      "dev": true,
-      "requires": {
-        "minimalistic-assert": "^1.0.0"
-      }
-    },
-    "wcwidth": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz",
-      "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
-      "dev": true,
-      "requires": {
-        "defaults": "^1.0.3"
-      }
-    },
-    "webpack": {
-      "version": "4.46.0",
-      "resolved": "https://registry.nlark.com/webpack/download/webpack-4.46.0.tgz?cache=0&sync_timestamp=1620663741729&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack%2Fdownload%2Fwebpack-4.46.0.tgz",
-      "integrity": "sha1-v5tEBOogoHNgXgoBHRiNd8tq1UI=",
-      "dev": true,
-      "requires": {
-        "@webassemblyjs/ast": "1.9.0",
-        "@webassemblyjs/helper-module-context": "1.9.0",
-        "@webassemblyjs/wasm-edit": "1.9.0",
-        "@webassemblyjs/wasm-parser": "1.9.0",
-        "acorn": "^6.4.1",
-        "ajv": "^6.10.2",
-        "ajv-keywords": "^3.4.1",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.5.0",
-        "eslint-scope": "^4.0.3",
-        "json-parse-better-errors": "^1.0.2",
-        "loader-runner": "^2.4.0",
-        "loader-utils": "^1.2.3",
-        "memory-fs": "^0.4.1",
-        "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.3",
-        "neo-async": "^2.6.1",
-        "node-libs-browser": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.3",
-        "watchpack": "^1.7.4",
-        "webpack-sources": "^1.4.1"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
-          "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        }
-      }
-    },
-    "webpack-bundle-analyzer": {
-      "version": "3.9.0",
-      "resolved": "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz",
-      "integrity": "sha1-9vlNsQj7V05BWtMT3kGicH0z7zw=",
-      "dev": true,
-      "requires": {
-        "acorn": "^7.1.1",
-        "acorn-walk": "^7.1.1",
-        "bfj": "^6.1.1",
-        "chalk": "^2.4.1",
-        "commander": "^2.18.0",
-        "ejs": "^2.6.1",
-        "express": "^4.16.3",
-        "filesize": "^3.6.1",
-        "gzip-size": "^5.0.0",
-        "lodash": "^4.17.19",
-        "mkdirp": "^0.5.1",
-        "opener": "^1.5.1",
-        "ws": "^6.0.0"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "7.4.1",
-          "resolved": "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1620134123724&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz",
-          "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
-          "dev": true
-        }
-      }
-    },
-    "webpack-chain": {
-      "version": "6.5.1",
-      "resolved": "https://registry.npm.taobao.org/webpack-chain/download/webpack-chain-6.5.1.tgz",
-      "integrity": "sha1-TycoTLu2N+PI+970Pu9YjU2GEgY=",
-      "dev": true,
-      "requires": {
-        "deepmerge": "^1.5.2",
-        "javascript-stringify": "^2.0.1"
-      }
-    },
-    "webpack-dev-middleware": {
-      "version": "3.7.3",
-      "resolved": "https://registry.nlark.com/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz",
-      "integrity": "sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU=",
-      "dev": true,
-      "requires": {
-        "memory-fs": "^0.4.1",
-        "mime": "^2.4.4",
-        "mkdirp": "^0.5.1",
-        "range-parser": "^1.2.1",
-        "webpack-log": "^2.0.0"
-      }
-    },
-    "webpack-dev-server": {
-      "version": "3.11.2",
-      "resolved": "https://registry.nlark.com/webpack-dev-server/download/webpack-dev-server-3.11.2.tgz",
-      "integrity": "sha1-aV687Xakkp8NXef9c/r+GF/jNwg=",
-      "dev": true,
-      "requires": {
-        "ansi-html": "0.0.7",
-        "bonjour": "^3.5.0",
-        "chokidar": "^2.1.8",
-        "compression": "^1.7.4",
-        "connect-history-api-fallback": "^1.6.0",
-        "debug": "^4.1.1",
-        "del": "^4.1.1",
-        "express": "^4.17.1",
-        "html-entities": "^1.3.1",
-        "http-proxy-middleware": "0.19.1",
-        "import-local": "^2.0.0",
-        "internal-ip": "^4.3.0",
-        "ip": "^1.1.5",
-        "is-absolute-url": "^3.0.3",
-        "killable": "^1.0.1",
-        "loglevel": "^1.6.8",
-        "opn": "^5.5.0",
-        "p-retry": "^3.0.1",
-        "portfinder": "^1.0.26",
-        "schema-utils": "^1.0.0",
-        "selfsigned": "^1.10.8",
-        "semver": "^6.3.0",
-        "serve-index": "^1.9.1",
-        "sockjs": "^0.3.21",
-        "sockjs-client": "^1.5.0",
-        "spdy": "^4.0.2",
-        "strip-ansi": "^3.0.1",
-        "supports-color": "^6.1.0",
-        "url": "^0.11.0",
-        "webpack-dev-middleware": "^3.7.2",
-        "webpack-log": "^2.0.0",
-        "ws": "^6.2.1",
-        "yargs": "^13.3.2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "2.1.1",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
-        },
-        "anymatch": {
-          "version": "2.0.0",
-          "resolved": "https://registry.nlark.com/anymatch/download/anymatch-2.0.0.tgz",
-          "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
-          "dev": true,
-          "requires": {
-            "micromatch": "^3.1.4",
-            "normalize-path": "^2.1.1"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "version": "2.1.1",
-              "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
-              "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-              "dev": true,
-              "requires": {
-                "remove-trailing-separator": "^1.0.1"
-              }
-            }
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299308660&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz",
-          "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=",
-          "dev": true
-        },
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz",
-          "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
-          "dev": true
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1610719440699&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz",
-          "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=",
-          "dev": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
-        },
-        "cliui": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&sync_timestamp=1604880033053&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-5.0.0.tgz",
-          "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=",
-          "dev": true,
-          "requires": {
-            "string-width": "^3.1.0",
-            "strip-ansi": "^5.2.0",
-            "wrap-ansi": "^5.1.0"
-          },
-          "dependencies": {
-            "ansi-regex": {
-              "version": "4.1.0",
-              "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz",
-              "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
-              "dev": true
-            },
-            "strip-ansi": {
-              "version": "5.2.0",
-              "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
-              "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^4.1.0"
-              }
-            }
-          }
-        },
-        "emoji-regex": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1614682707048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz",
-          "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
-          "dev": true
-        },
-        "find-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz",
-          "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
-          "dev": true,
-          "requires": {
-            "locate-path": "^3.0.0"
-          }
-        },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz",
-          "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "bindings": "^1.5.0",
-            "nan": "^2.12.1"
-          }
-        },
-        "glob-parent": {
-          "version": "3.1.0",
-          "resolved": "https://registry.nlark.com/glob-parent/download/glob-parent-3.1.0.tgz",
-          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-          "dev": true,
-          "requires": {
-            "is-glob": "^3.1.0",
-            "path-dirname": "^1.0.0"
-          },
-          "dependencies": {
-            "is-glob": {
-              "version": "3.1.0",
-              "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
-              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-              "dev": true,
-              "requires": {
-                "is-extglob": "^2.1.0"
-              }
-            }
-          }
-        },
-        "http-proxy-middleware": {
-          "version": "0.19.1",
-          "resolved": "https://registry.nlark.com/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz",
-          "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=",
-          "dev": true,
-          "requires": {
-            "http-proxy": "^1.17.0",
-            "is-glob": "^4.0.0",
-            "lodash": "^4.17.11",
-            "micromatch": "^3.1.10"
-          }
-        },
-        "is-absolute-url": {
-          "version": "3.0.3",
-          "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz",
-          "integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=",
-          "dev": true
-        },
-        "is-binary-path": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
-          "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-          "dev": true,
-          "requires": {
-            "binary-extensions": "^1.0.0"
-          }
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "locate-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
-          "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
-          "dev": true,
-          "requires": {
-            "p-locate": "^3.0.0",
-            "path-exists": "^3.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
-          "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.0.0"
-          }
-        },
-        "path-exists": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
-          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-          "dev": true
-        },
-        "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz",
-          "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "schema-utils": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
-          "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-errors": "^1.0.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        },
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz",
-          "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
-          },
-          "dependencies": {
-            "ansi-regex": {
-              "version": "4.1.0",
-              "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz",
-              "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
-              "dev": true
-            },
-            "strip-ansi": {
-              "version": "5.2.0",
-              "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
-              "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^4.1.0"
-              }
-            }
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
-          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1618560959124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
-          "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        },
-        "wrap-ansi": {
-          "version": "5.1.0",
-          "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz",
-          "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.0",
-            "string-width": "^3.0.0",
-            "strip-ansi": "^5.0.0"
-          },
-          "dependencies": {
-            "ansi-regex": {
-              "version": "4.1.0",
-              "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz",
-              "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
-              "dev": true
-            },
-            "strip-ansi": {
-              "version": "5.2.0",
-              "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
-              "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^4.1.0"
-              }
-            }
-          }
-        },
-        "yargs": {
-          "version": "13.3.2",
-          "resolved": "https://registry.nlark.com/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1620086644940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz",
-          "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=",
-          "dev": true,
-          "requires": {
-            "cliui": "^5.0.0",
-            "find-up": "^3.0.0",
-            "get-caller-file": "^2.0.1",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^2.0.0",
-            "set-blocking": "^2.0.0",
-            "string-width": "^3.0.0",
-            "which-module": "^2.0.0",
-            "y18n": "^4.0.0",
-            "yargs-parser": "^13.1.2"
-          }
-        },
-        "yargs-parser": {
-          "version": "13.1.2",
-          "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1615405185480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz",
-          "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^5.0.0",
-            "decamelize": "^1.2.0"
-          }
-        }
-      }
-    },
-    "webpack-log": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz",
-      "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=",
-      "dev": true,
-      "requires": {
-        "ansi-colors": "^3.0.0",
-        "uuid": "^3.3.2"
-      }
-    },
-    "webpack-merge": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz",
-      "integrity": "sha1-onxS6ng9E5iv0gh/VH17nS9DY00=",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.15"
-      }
-    },
-    "webpack-sources": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1603965311142&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz",
-      "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=",
-      "dev": true,
-      "requires": {
-        "source-list-map": "^2.0.0",
-        "source-map": "~0.6.1"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1571657176668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
-          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-          "dev": true
-        }
-      }
-    },
-    "websocket-driver": {
-      "version": "0.7.4",
-      "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz?cache=0&sync_timestamp=1591288600527&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebsocket-driver%2Fdownload%2Fwebsocket-driver-0.7.4.tgz",
-      "integrity": "sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=",
-      "dev": true,
-      "requires": {
-        "http-parser-js": ">=0.5.1",
-        "safe-buffer": ">=5.1.0",
-        "websocket-extensions": ">=0.1.1"
-      }
-    },
-    "websocket-extensions": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz?cache=0&sync_timestamp=1591103014229&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebsocket-extensions%2Fdownload%2Fwebsocket-extensions-0.1.4.tgz",
-      "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=",
-      "dev": true
-    },
-    "which": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1574116720213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz",
-      "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
-      "dev": true,
-      "requires": {
-        "isexe": "^2.0.0"
-      }
-    },
-    "which-boxed-primitive": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npm.taobao.org/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz?cache=0&sync_timestamp=1614855347940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich-boxed-primitive%2Fdownload%2Fwhich-boxed-primitive-1.0.2.tgz",
-      "integrity": "sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=",
-      "dev": true,
-      "requires": {
-        "is-bigint": "^1.0.1",
-        "is-boolean-object": "^1.1.0",
-        "is-number-object": "^1.0.4",
-        "is-string": "^1.0.5",
-        "is-symbol": "^1.0.3"
-      }
-    },
-    "which-module": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
-      "dev": true
-    },
-    "wide-align": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz",
-      "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=",
-      "dev": true,
-      "requires": {
-        "string-width": "^1.0.2 || 2"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&sync_timestamp=1618558823901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz",
-          "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
-          "dev": true,
-          "requires": {
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^4.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        }
-      }
-    },
-    "word-wrap": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz",
-      "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=",
-      "dev": true
-    },
-    "worker-farm": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz",
-      "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=",
-      "dev": true,
-      "requires": {
-        "errno": "~0.1.7"
-      }
-    },
-    "wrap-ansi": {
-      "version": "7.0.0",
-      "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz",
-      "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=",
-      "dev": true,
-      "requires": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "4.3.0",
-          "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995547052&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
-          "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
-          "dev": true,
-          "requires": {
-            "color-convert": "^2.0.1"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz",
-          "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
-        "color-name": {
-          "version": "1.1.4",
-          "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
-          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
-          "dev": true
-        }
-      }
-    },
-    "wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
-    },
-    "write": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz",
-      "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=",
-      "dev": true,
-      "requires": {
-        "mkdirp": "^0.5.1"
-      }
-    },
-    "ws": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz?cache=0&sync_timestamp=1618734243525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.1.tgz",
-      "integrity": "sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=",
-      "dev": true,
-      "requires": {
-        "async-limiter": "~1.0.0"
-      }
-    },
-    "xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz",
-      "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=",
-      "dev": true
-    },
-    "y18n": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.3.tgz",
-      "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=",
-      "dev": true
-    },
-    "yallist": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz",
-      "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=",
-      "dev": true
-    },
-    "yargs": {
-      "version": "16.2.0",
-      "resolved": "https://registry.nlark.com/yargs/download/yargs-16.2.0.tgz?cache=0&sync_timestamp=1620086644940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-16.2.0.tgz",
-      "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=",
-      "dev": true,
-      "requires": {
-        "cliui": "^7.0.2",
-        "escalade": "^3.1.1",
-        "get-caller-file": "^2.0.5",
-        "require-directory": "^2.1.1",
-        "string-width": "^4.2.0",
-        "y18n": "^5.0.5",
-        "yargs-parser": "^20.2.2"
-      },
-      "dependencies": {
-        "cliui": {
-          "version": "7.0.4",
-          "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-7.0.4.tgz?cache=0&sync_timestamp=1604880033053&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-7.0.4.tgz",
-          "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=",
-          "dev": true,
-          "requires": {
-            "string-width": "^4.2.0",
-            "strip-ansi": "^6.0.0",
-            "wrap-ansi": "^7.0.0"
-          }
-        },
-        "y18n": {
-          "version": "5.0.8",
-          "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz",
-          "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=",
-          "dev": true
-        }
-      }
-    },
-    "yargs-parser": {
-      "version": "20.2.7",
-      "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz?cache=0&sync_timestamp=1615405185480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.7.tgz",
-      "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo=",
-      "dev": true
-    },
-    "yorkie": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz",
-      "integrity": "sha1-kkEZEtQ1IU4SxRwq4Qk+VLa7g9k=",
-      "dev": true,
-      "requires": {
-        "execa": "^0.8.0",
-        "is-ci": "^1.0.10",
-        "normalize-path": "^1.0.0",
-        "strip-indent": "^2.0.0"
-      },
-      "dependencies": {
-        "cross-spawn": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz",
-          "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^4.0.1",
-            "shebang-command": "^1.2.0",
-            "which": "^1.2.9"
-          }
-        },
-        "execa": {
-          "version": "0.8.0",
-          "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.8.0.tgz?cache=0&sync_timestamp=1606971018065&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.8.0.tgz",
-          "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=",
-          "dev": true,
-          "requires": {
-            "cross-spawn": "^5.0.1",
-            "get-stream": "^3.0.0",
-            "is-stream": "^1.1.0",
-            "npm-run-path": "^2.0.0",
-            "p-finally": "^1.0.0",
-            "signal-exit": "^3.0.0",
-            "strip-eof": "^1.0.0"
-          }
-        },
-        "get-stream": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-3.0.0.tgz",
-          "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
-          "dev": true
-        },
-        "lru-cache": {
-          "version": "4.1.5",
-          "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427582110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz",
-          "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
-          "dev": true,
-          "requires": {
-            "pseudomap": "^1.0.2",
-            "yallist": "^2.1.2"
-          }
-        },
-        "normalize-path": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-1.0.0.tgz",
-          "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=",
-          "dev": true
-        },
-        "yallist": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
-          "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
-          "dev": true
-        }
-      }
-    }
-  }
-}
diff --git a/admin/.svn/pristine/cd/cd1dbe8b7c1071e9e252fcf0ea83eb6ed0fc192c.svn-base b/admin/.svn/pristine/cd/cd1dbe8b7c1071e9e252fcf0ea83eb6ed0fc192c.svn-base
deleted file mode 100644
index 7499def..0000000
--- a/admin/.svn/pristine/cd/cd1dbe8b7c1071e9e252fcf0ea83eb6ed0fc192c.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621746809427" class="icon" viewBox="0 0 1025 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4923" width="64.0625" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M928.612599 95.57028a325.17778 325.17778 0 0 0-523.501496 370.143341l-383.852354 383.852354a72.018013 72.018013 0 0 0 0 102.177841L73.352997 1002.741343a72.018013 72.018013 0 0 0 102.177841 0L329.254566 847.920893l19.192618 19.192618a73.114734 73.114734 0 0 0 102.177841 0l51.180314-51.180314a73.114734 73.114734 0 0 0 0-102.177841L482.978295 694.928312l75.490963-75.490963A325.17778 325.17778 0 0 0 928.612599 95.57028zM777.447886 402.469376a109.672101 109.672101 0 1 1-2.741802-155.186023 109.672101 109.672101 0 0 1 2.741802 155.186023z" p-id="4924" fill="#f7f7f7"></path></svg>
diff --git a/admin/.svn/pristine/cd/cd7c28733b2bda962129e938c18336b13c45f65a.svn-base b/admin/.svn/pristine/cd/cd7c28733b2bda962129e938c18336b13c45f65a.svn-base
deleted file mode 100644
index d2477db..0000000
--- a/admin/.svn/pristine/cd/cd7c28733b2bda962129e938c18336b13c45f65a.svn-base
+++ /dev/null
@@ -1,152 +0,0 @@
-<template>
-  <GlobalWindow
-    class="position-user-window"
-    width="80%"
-    :title="positionName + '浜哄憳鍒楄〃'"
-    :visible.sync="visible"
-    :with-footer="false"
-  >
-    <TableLayout :with-breadcrumb="false">
-      <!-- 鎼滅储琛ㄥ崟 -->
-      <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="80px" inline>
-        <el-form-item label="鐢ㄦ埛鍚�" prop="username">
-          <el-input v-model="searchForm.username" v-trim placeholder="璇疯緭鍏ョ敤鎴峰悕" @keypress.enter.native="search"/>
-        </el-form-item>
-        <el-form-item label="濮撳悕" prop="realname">
-          <el-input v-model="searchForm.realname" v-trim placeholder="璇疯緭鍏ュ鍚�" @keypress.enter.native="search"/>
-        </el-form-item>
-        <el-form-item label="鎵嬫満鍙风爜" prop="mobile">
-          <el-input v-model="searchForm.mobile" v-trim placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" @keypress.enter.native="search"/>
-        </el-form-item>
-        <section>
-          <el-button type="primary" icon="el-icon-search" @click="search">鎼滅储</el-button>
-          <el-button @click="reset">閲嶇疆</el-button>
-        </section>
-      </el-form>
-      <template v-slot:table-wrap>
-        <el-table
-          v-loading="isWorking.search"
-          :data="tableData.list"
-          stripe
-          @selection-change="handleSelectionChange"
-        >
-          <el-table-column type="selection" width="55"></el-table-column>
-          <el-table-column prop="avatar" label="澶村儚" width="80px" class-name="table-column-avatar" fixed="left">
-            <template slot-scope="{row}">
-              <img :src="row.avatar == null ? '/static/avatar/man.png' : row.avatar">
-            </template>
-          </el-table-column>
-          <el-table-column prop="realname" label="濮撳悕" min-width="100px" fixed="left"></el-table-column>
-          <el-table-column prop="username" label="鐢ㄦ埛鍚�" min-width="100px"></el-table-column>
-          <el-table-column prop="empNo" label="宸ュ彿" min-width="80px"></el-table-column>
-                    <el-table-column prop="department" label="閮ㄩ棬" min-width="120px">
-            <template slot-scope="{row}">{{row.department == null ? '' : row.department.name}}</template>
-          </el-table-column>
-          <el-table-column prop="position" label="宀椾綅" min-width="120px" class-name="table-column-strings">
-            <template slot-scope="{row}">
-              <ul>
-                <li v-for="position in row.positions" :key="position.id">{{position.name}}</li>
-              </ul>
-            </template>
-          </el-table-column>
-          <el-table-column prop="sex" label="鎬у埆" min-width="80px">
-            <template slot-scope="{row}">
-              {{row.sex | sex}}
-            </template>
-          </el-table-column>
-          <el-table-column prop="mobile" label="鎵嬫満鍙风爜" min-width="100px"></el-table-column>
-          <el-table-column prop="email" label="閭" min-width="180px"></el-table-column>
-          <el-table-column prop="birthday" label="鐢熸棩" min-width="100px"></el-table-column>
-          <el-table-column prop="birthday" label="瑙掕壊" min-width="160px" class-name="table-column-role">
-            <template slot-scope="{row}">
-              <ul>
-                <li v-for="role in row.roles" :key="role.id">{{role.name}}</li>
-              </ul>
-            </template>
-          </el-table-column>
-        </el-table>
-        <pagination
-          @size-change="handleSizeChange"
-          @current-change="handlePageChange"
-          :pagination="tableData.pagination"
-        ></pagination>
-      </template>
-    </TableLayout>
-  </GlobalWindow>
-</template>
-
-<script>
-import TableLayout from '@/layouts/TableLayout'
-import BaseTable from '@/components/base/BaseTable'
-import GlobalWindow from '@/components/common/GlobalWindow'
-import Pagination from '@/components/common/Pagination'
-export default {
-  name: 'PositionUserWindow',
-  extends: BaseTable,
-  components: { Pagination, GlobalWindow, TableLayout },
-  data () {
-    return {
-      positionId: null,
-      positionName: '',
-      visible: false,
-      // 鎼滅储琛ㄥ崟
-      searchForm: {
-        positionId: null,
-        username: '',
-        realname: '',
-        mobile: ''
-      }
-    }
-  },
-  methods: {
-    // 鎵撳紑鏌ョ湅浜哄憳绐楀彛
-    open (positionId, positionName) {
-      this.positionId = positionId
-      this.positionName = positionName
-      this.searchForm.positionId = positionId
-      this.visible = true
-      this.search()
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/user'
-    })
-  }
-}
-</script>
-
-<style scoped lang="scss">
-.position-user-window {
-  /deep/ .table-search-form {
-    padding: 0;
-  }
-  /deep/ .window__body {
-    background: #f7f7f7;
-    .table-content {
-      padding: 0;
-      .table-wrap {
-        padding: 0;
-      }
-    }
-  }
-  // 鍒楄〃澶村儚澶勭悊
-  .table-column-avatar {
-    img {
-      width: 48px;
-    }
-  }
-  // 鍒楄〃瑙掕壊澶勭悊
-  .table-column-role {
-    ul {
-      li {
-        display: inline-block;
-        background: #eee;
-        border-radius: 3px;
-        padding: 0 3px;
-        margin-right: 3px;
-      }
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/cf/cf47e1a19627cce90ca243eb410ea119361f6a8a.svn-base b/admin/.svn/pristine/cf/cf47e1a19627cce90ca243eb410ea119361f6a8a.svn-base
deleted file mode 100644
index 5d3d2ec..0000000
--- a/admin/.svn/pristine/cf/cf47e1a19627cce90ca243eb410ea119361f6a8a.svn-base
+++ /dev/null
@@ -1,29 +0,0 @@
-import { MessageBox } from 'element-ui'
-
-export default {
-  ...MessageBox,
-  // 鍒犻櫎浜屾纭
-  deleteConfirm (message) {
-    return MessageBox.confirm(message, '鍒犻櫎鎻愰啋', {
-      confirmButtonText: '纭鍒犻櫎',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning'
-    })
-  },
-  // 绂佺敤浜屾纭
-  disableConfirm (message) {
-    return MessageBox.confirm(message, '绂佺敤鎻愰啋', {
-      confirmButtonText: '纭绂佺敤',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning'
-    })
-  },
-  // 瀵煎嚭浜屾纭
-  exportConfirm (message) {
-    return MessageBox.confirm(message, '瀵煎嚭鎻愰啋', {
-      confirmButtonText: '纭瀵煎嚭',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning'
-    })
-  }
-}
diff --git a/admin/.svn/pristine/d0/d0f028418437d0f80c2d82fe4e8ade9b333db552.svn-base b/admin/.svn/pristine/d0/d0f028418437d0f80c2d82fe4e8ade9b333db552.svn-base
deleted file mode 100644
index 3c0b233..0000000
--- a/admin/.svn/pristine/d0/d0f028418437d0f80c2d82fe4e8ade9b333db552.svn-base
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/pristine/d4/d42a776b1922ef67f2c4745b80c5e7073ea0cd55.svn-base b/admin/.svn/pristine/d4/d42a776b1922ef67f2c4745b80c5e7073ea0cd55.svn-base
deleted file mode 100644
index 5b029f7..0000000
--- a/admin/.svn/pristine/d4/d42a776b1922ef67f2c4745b80c5e7073ea0cd55.svn-base
+++ /dev/null
@@ -1,127 +0,0 @@
-<template>
-  <GlobalWindow
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    width="582px"
-    title="閰嶇疆鐢ㄦ埛瑙掕壊"
-    @confirm="confirm"
-  >
-    <p class="tip" v-if="user != null">涓虹敤鎴� <em>{{user.realname}}</em> 閰嶇疆瑙掕壊</p>
-    <p class="tip-warn"><i class="el-icon-warning"></i>鎻愰啋锛氳鑹查厤缃悗闇�閲嶆柊鐧诲綍鍚庣敓鏁�</p>
-    <el-transfer
-      v-model="selectedIds"
-      :titles="['鏈巿鏉冭鑹�', '宸叉巿鏉冭鑹�']"
-      :props="{
-        key: 'id',
-        label: 'name'
-      }"
-      :data="roles">
-    </el-transfer>
-  </GlobalWindow>
-</template>
-
-<script>
-import BasePage from '@/components/base/BasePage'
-import GlobalWindow from '@/components/common/GlobalWindow'
-import { createUserRole } from '@/api/system/user'
-import { fetchAll as fetchAllRoles } from '@/api/system/role'
-export default {
-  name: 'RoleConfigWindow',
-  extends: BasePage,
-  components: { GlobalWindow },
-  data () {
-    return {
-      visible: false,
-      isWorking: false,
-      // 鐢ㄦ埛
-      user: null,
-      // 瑙掕壊鍒楄〃
-      roles: null,
-      // 宸查�変腑鐨勮鑹睮D
-      selectedIds: []
-    }
-  },
-  methods: {
-    open (user) {
-      fetchAllRoles()
-        .then(records => {
-          this.roles = records
-          this.user = user
-          // 濡傛灉涓哄浐瀹氱敤鎴凤紝鍒欏浐瀹氳鑹蹭笉鍙洿鏀�
-          if (this.user.fixed) {
-            for (const role of this.roles) {
-              if (role.fixed) {
-                role.disabled = true
-              }
-            }
-          }
-          // 濡傛灉褰撳墠鐢ㄦ埛涓洪潪瓒呯骇绠$悊鍛樼敤鎴凤紝鍒欎笉鍏佽鎺堟潈瓒呯骇绠$悊鍛樿鑹�
-          if (!this.isAdmin) {
-            for (const role of this.roles) {
-              if (role.code === this.adminCode) {
-                role.disabled = true
-              }
-            }
-          }
-          this.selectedIds = this.user.roles.map(r => r.id)
-          this.visible = true
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-    },
-    // 纭閫夋嫨瑙掕壊
-    confirm () {
-      if (this.isWorking) {
-        return
-      }
-      this.isWorking = true
-      createUserRole({
-        userId: this.user.id,
-        roleIds: this.selectedIds
-      })
-        .then(() => {
-          this.$tip.apiSuccess('瑙掕壊閰嶇疆鎴愬姛锛岀敤鎴烽噸鏂扮櫥褰曞悗鐢熸晥')
-          this.visible = false
-          this.$emit('success')
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          this.isWorking = false
-        })
-    },
-    // 鍏抽棴
-    close () {
-      this.$emit('update:visible', false)
-    }
-  }
-}
-</script>
-
-<style scoped lang="scss">
-@import "@/assets/style/variables.scss";
-// 瑙掕壊閰嶇疆
-.global-window {
-  .tip {
-    em {
-      font-style: normal;
-      color: $primary-color;
-      font-weight: bold;
-    }
-  }
-  .tip-warn {
-    margin: 4px 0 12px 0;
-    font-size: 12px;
-    color: #999;
-    i {
-      color: orange;
-      margin-right: 4px;
-      font-size: 14px;
-      position: relative;
-      top: 1px;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/d4/d445b6466aa80b1c43908c6ab2f69172a9857635.svn-base b/admin/.svn/pristine/d4/d445b6466aa80b1c43908c6ab2f69172a9857635.svn-base
deleted file mode 100644
index 67769ac..0000000
--- a/admin/.svn/pristine/d4/d445b6466aa80b1c43908c6ab2f69172a9857635.svn-base
+++ /dev/null
@@ -1,121 +0,0 @@
-<template>
-  <GlobalWindow
-    :title="title"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    @confirm="confirm"
-  >
-    <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="涓氬姟妯″潡" prop="businessCode" required>
-        <DataPermModuleSelect v-model="form.businessCode" :disabled="form.id != null" :inline="false" @change="handleBusinessChange"/>
-      </el-form-item>
-      <el-form-item label="瑙掕壊" prop="roleId" required>
-        <RoleSelect v-model="form.roleId" :disabled="form.id != null" :inline="false"/>
-      </el-form-item>
-      <el-form-item label="鏉冮檺绫诲瀷" prop="type" required>
-        <DataPermTypeSelect v-model="form.type" :module="form.businessCode" :inline="false" @change="handleTypeChange"/>
-      </el-form-item>
-      <el-form-item v-show="showCustomData" label="鑷畾涔夋暟鎹�" prop="customData">
-        <CustomSelect v-if="visible" v-model="customData" :business-code="form.businessCode" @change="handleCustomDataChange"/>
-      </el-form-item>
-      <el-form-item label="澶囨敞" prop="remark">
-        <el-input type="textarea" v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim :rows="3" maxlength="500"/>
-      </el-form-item>
-    </el-form>
-  </GlobalWindow>
-</template>
-
-<script>
-import BaseOpera from '@/components/base/BaseOpera'
-import GlobalWindow from '@/components/common/GlobalWindow'
-import RoleSelect from '@/components/system/role/RoleSelect'
-import DataPermModuleSelect from './DataPermModuleSelect'
-import DataPermTypeSelect from './DataPermTypeSelect'
-import CustomSelect from './CustomSelect'
-export default {
-  name: 'OperaDataPermissionWindow',
-  extends: BaseOpera,
-  components: { CustomSelect, RoleSelect, DataPermTypeSelect, DataPermModuleSelect, GlobalWindow },
-  data () {
-    return {
-      // 鑷畾涔夋暟鎹�
-      customData: [],
-      // 灞曠ず鑷畾涔夋暟鎹爣璇�
-      showCustomData: false,
-      // 琛ㄥ崟鏁版嵁
-      form: {
-        id: null,
-        businessCode: '',
-        roleId: '',
-        type: '',
-        remark: '',
-        customData: ''
-      },
-      // 楠岃瘉瑙勫垯
-      rules: {
-        businessCode: [
-          { required: true, message: '璇烽�夋嫨涓氬姟妯″潡' }
-        ],
-        roleId: [
-          { required: true, message: '璇烽�夋嫨瑙掕壊' }
-        ],
-        type: [
-          { required: true, message: '璇烽�夋嫨鏉冮檺绫诲瀷' }
-        ]
-      }
-    }
-  },
-  methods: {
-    /**
-     * @title 绐楀彛鏍囬
-     * @target 缂栬緫鐨勫璞�
-     */
-    open (title, target) {
-      this.title = title
-      this.visible = true
-      // 鏂板缓
-      if (target == null) {
-        this.$nextTick(() => {
-          this.customData = []
-          this.showCustomData = false
-          this.$refs.form.resetFields()
-          this.form[this.configData['field.id']] = null
-        })
-        return
-      }
-      // 缂栬緫
-      this.$nextTick(() => {
-        for (const key in this.form) {
-          this.form[key] = target[key]
-        }
-        this.customData = this.form.customData == null || this.form.customData === '' ? [] : this.form.customData.split(',')
-        this.handleTypeChange()
-      })
-    },
-    // 涓氬姟妯″潡鍒囨崲
-    handleBusinessChange () {
-      this.form.customData = ''
-      this.customData = []
-      this.handleTypeChange()
-    },
-    // 鏉冮檺绫诲瀷鍒囨崲
-    handleTypeChange () {
-      if ((this.form.type === 11 || this.form.type === 21) && this.form.businessCode != null && this.form.businessCode !== '') {
-        this.showCustomData = true
-      } else {
-        this.showCustomData = false
-      }
-    },
-    // 鑷畾涔夋暟鎹彉鍖�
-    handleCustomDataChange (values) {
-      this.form.customData = values.join(',')
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/dataPermission',
-      'field.id': 'id'
-    })
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/d4/d4b9b9e2c4c7a3b6f6c482187493c59f4c5951b5.svn-base b/admin/.svn/pristine/d4/d4b9b9e2c4c7a3b6f6c482187493c59f4c5951b5.svn-base
deleted file mode 100644
index cfae4c6..0000000
--- a/admin/.svn/pristine/d4/d4b9b9e2c4c7a3b6f6c482187493c59f4c5951b5.svn-base
+++ /dev/null
@@ -1,98 +0,0 @@
-<template>
-  <div class="home">
-    <!-- <div class="wrap">
-      <h2>娆㈣繋浣跨敤浼婂▋鏋侀�熷紑鍙戞鏋�</h2>
-      <p>鎮ㄤ娇鐢ㄧ殑姝ゅ寮�婧愭鏋舵病鏈変换浣曠増鏉冮棶棰橈紝鍙涔犲彲鍟嗙敤锛岃鏀惧績浣跨敤锛�</p>
-      <p>浼婂▋鑷村姏浜庢墦閫犵畝娲併�佸悎鐞嗐�侀珮鏁堢殑寮�鍙戜綋楠岋紝涓烘鎴戜滑灏嗕笉鏂崌绾э紝鎰熻阿鎮ㄧ殑鏀寔锛�</p>
-      <p style="margin-top: 12px;">
-        <a href="https://gitee.com/coderd-repos/eva" target="_blank">GITEE</a>
-        <a href="https://github.com/coderd-repos/eva" target="_blank">GITHUB</a>
-      </p>
-      <div class="guide">
-        <a href="http://eva.adjustrd.com" target="_blank">鍓嶅線瀹樼綉</a>
-        <a href="http://coderd.adjustrd.com/template/308/default" target="_blank">鍓嶅線CodeRd</a>
-      </div>
-      <img src="@/assets/images/qq.png">
-      <p>浣犲彲浠ユ壂鐮佸姞鍏ョ兢鑱婁互鑾峰緱鎶�鏈敮鎸�</p>
-      <div class="award">
-        <h4>婵�鍔变綔鑰呭仛寰楁洿濂�</h4>
-        <img src="@/assets/images/alipay.jpeg">
-        <img src="@/assets/images/wxpay.jpeg">
-      </div>
-    </div> -->
-  </div>
-</template>
-
-<script>
-export default {
-  name: 'Index',
-  data () {
-    return {}
-  }
-}
-</script>
-
-<style scoped lang="scss">
-@import "@/assets/style/variables.scss";
-.home {
-  text-align: center;
-  color: #777;
-  .wrap {
-    margin-top: 80px;
-    img {
-      width: 240px;
-    }
-  }
-  h2 {
-    font-size: 32px;
-    color: #555;
-    margin-bottom: 20px;
-  }
-  p {
-    line-height: 24px;
-    margin: 0;
-  }
-  .start-up {
-    margin-top: 8px;
-  }
-  .guide {
-    margin: 30px 0 40px 0;
-    display: flex;
-    justify-content: center;
-    a {
-      margin-right: 12px;
-      padding: 12px 40px;
-      border-radius: 30px;
-      background: $primary-color;
-      color: #fff;
-      text-decoration: none;
-    }
-  }
-  em,a {
-    font-style: normal;
-    font-weight: bold;
-    margin: 0 3px;
-    color: $primary-color;
-  }
-  .award {
-    position: absolute;
-    right: 20px;
-    bottom: 60px;
-    display: flex;
-    flex-direction: column;
-    text-align: left;
-    padding: 12px;
-    border: 1px solid #eee;
-    box-shadow: -1px 1px 10px #ccc;
-    h4 {
-      font-weight: bold;
-      margin-bottom: 8px;
-    }
-    img {
-      width: 160px;
-      margin-bottom: 20px;
-      transition: opacity ease .3s;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/d5/d519de51fd249578a2eee812e407f76d32224285.svn-base b/admin/.svn/pristine/d5/d519de51fd249578a2eee812e407f76d32224285.svn-base
deleted file mode 100644
index 6b90c77..0000000
--- a/admin/.svn/pristine/d5/d519de51fd249578a2eee812e407f76d32224285.svn-base
+++ /dev/null
@@ -1,38 +0,0 @@
-<template>
-  <NotAllow>
-    <div class="content">
-      <img src="../assets/images/not-allow.png">
-      <h2>鏃犳潈璁块棶</h2>
-      <p>濡傛偍闇�瑕佽闂绯荤粺锛岃鑱旂郴绯荤粺绠$悊鍛�</p>
-      <el-button @click="logout" type="primary">閫�鍑虹郴缁�</el-button>
-    </div>
-  </NotAllow>
-</template>
-
-<script>
-import NotAllow from '../components/common/NotAllow'
-import { mapMutations } from 'vuex'
-import { logout } from '@/api/system/common'
-export default {
-  name: 'NoPermissions',
-  components: { NotAllow },
-  methods: {
-    ...mapMutations(['setUserInfo']),
-    // 閫�鍑虹櫥褰�
-    logout () {
-      logout()
-        .then(() => {
-          this.$router.push({ name: 'login' })
-          this.setUserInfo(null)
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-    }
-  }
-}
-</script>
-
-<style scoped>
-
-</style>
diff --git a/admin/.svn/pristine/d7/d7675f0f20f4debe72b527ace8b05dd1cce26ce8.svn-base b/admin/.svn/pristine/d7/d7675f0f20f4debe72b527ace8b05dd1cce26ce8.svn-base
deleted file mode 100644
index ed6dd16..0000000
--- a/admin/.svn/pristine/d7/d7675f0f20f4debe72b527ace8b05dd1cce26ce8.svn-base
+++ /dev/null
@@ -1,87 +0,0 @@
-<template>
-  <GlobalWindow
-    :title="title"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    @confirm="confirm"
-  >
-    <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="涓婄骇宀椾綅" prop="parentId">
-        <PositionSelect v-if="visible" v-model="form.parentId" placeholder="璇烽�夋嫨涓婄骇宀椾綅" :exclude-id="excludePositionId" clearable :inline="false"/>
-      </el-form-item>
-      <el-form-item label="宀椾綅缂栫爜" prop="code" required>
-        <el-input v-model="form.code" placeholder="璇疯緭鍏ュ矖浣嶇紪鐮�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="宀椾綅鍚嶇О" prop="name" required>
-        <el-input v-model="form.name" placeholder="璇疯緭鍏ュ矖浣嶅悕绉�" v-trim maxlength="50"/>
-      </el-form-item>
-    </el-form>
-  </GlobalWindow>
-</template>
-
-<script>
-import BaseOpera from '@/components/base/BaseOpera'
-import GlobalWindow from '@/components/common/GlobalWindow'
-import PositionSelect from '@/components/common/PositionSelect'
-export default {
-  name: 'OperaPositionWindow',
-  extends: BaseOpera,
-  components: { PositionSelect, GlobalWindow },
-  data () {
-    return {
-      // 闇�鎺掗櫎閫夋嫨鐨勫矖浣岻D
-      excludePositionId: null,
-      // 琛ㄥ崟鏁版嵁
-      form: {
-        id: null,
-        parentId: null,
-        code: '',
-        name: ''
-      },
-      // 楠岃瘉瑙勫垯
-      rules: {
-        code: [
-          { required: true, message: '璇疯緭鍏ュ矖浣嶇紪鐮�' }
-        ],
-        name: [
-          { required: true, message: '璇疯緭鍏ュ矖浣嶅悕绉�' }
-        ]
-      }
-    }
-  },
-  methods: {
-    /**
-     * @title 绐楀彛鏍囬
-     * @target 缂栬緫鐨勫矖浣嶅璞�
-     * @parent 鏂板缓鏃剁殑涓婄骇宀椾綅瀵硅薄
-     * @positionList 宀椾綅鍒楄〃
-     */
-    open (title, target, parent) {
-      this.title = title
-      this.visible = true
-      // 鏂板缓
-      if (target == null) {
-        this.excludePositionId = null
-        this.$nextTick(() => {
-          this.$refs.form.resetFields()
-          this.form.id = null
-          this.form.parentId = parent == null ? null : parent.id
-        })
-        return
-      }
-      // 缂栬緫
-      this.$nextTick(() => {
-        this.excludePositionId = target.id
-        for (const key in this.form) {
-          this.form[key] = target[key]
-        }
-      })
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/position'
-    })
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/d8/d88cea77fc098536dd0812f8b23184f7cbe6fba8.svn-base b/admin/.svn/pristine/d8/d88cea77fc098536dd0812f8b23184f7cbe6fba8.svn-base
deleted file mode 100644
index a678173..0000000
--- a/admin/.svn/pristine/d8/d88cea77fc098536dd0812f8b23184f7cbe6fba8.svn-base
+++ /dev/null
@@ -1,22 +0,0 @@
-export default {
-  inserted: function (el, binding, vnode) {
-    // 鑾峰彇鐢ㄦ埛淇℃伅
-    const userInfo = vnode.context.$store.state.userInfo
-    if (userInfo == null) {
-      el.parentNode && el.parentNode.removeChild(el)
-      return
-    }
-    // 鑾峰彇閰嶇疆瑙掕壊
-    const configRoles = binding.value
-    if (configRoles == null) {
-      return
-    }
-    if (!(configRoles instanceof Array)) {
-      throw new Error('v-roles鐨勫�煎繀椤讳负涓�涓暟缁�')
-    }
-    // 楠岃瘉鏉冮檺
-    if (configRoles.findIndex(code => userInfo.roles.findIndex(r => r === code) > -1) === -1) {
-      el.parentNode && el.parentNode.removeChild(el)
-    }
-  }
-}
diff --git a/admin/.svn/pristine/da/daacfcebe329042171de443822414e5bebfa5b42.svn-base b/admin/.svn/pristine/da/daacfcebe329042171de443822414e5bebfa5b42.svn-base
deleted file mode 100644
index c555d1c..0000000
--- a/admin/.svn/pristine/da/daacfcebe329042171de443822414e5bebfa5b42.svn-base
+++ /dev/null
@@ -1,254 +0,0 @@
-<template>
-  <TableLayout :permissions="['system:traceLog:query']">
-    <!-- 鎼滅储琛ㄥ崟 -->
-    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-      <el-form-item label="鐢ㄦ埛濮撳悕" prop="userRealname">
-        <el-input v-model="searchForm.userRealname" placeholder="璇疯緭鍏ュ浐鍖栫敤鎴峰鍚�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="涓氬姟妯″潡" prop="operaModule">
-        <el-input v-model="searchForm.operaModule" placeholder="璇疯緭鍏ヤ笟鍔℃ā鍧�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="璇锋眰鍦板潃" prop="requestUri">
-        <el-input v-model="searchForm.requestUri" placeholder="璇疯緭鍏ヨ姹傚湴鍧�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="鐘舵��" prop="status">
-        <el-select v-model="searchForm.status" clearable @change="search">
-          <el-option value="-1" label="鏈鐞�"/>
-          <el-option value="0" label="澶辫触"/>
-          <el-option value="1" label="鎴愬姛"/>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="寮傚父绛夌骇" prop="exceptionLevel">
-        <el-select v-model="searchForm.exceptionLevel" clearable @change="search">
-          <el-option value="10" label="楂�"/>
-          <el-option value="5" label="涓�"/>
-          <el-option value="0" label="浣�"/>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="鎿嶄綔鏃堕棿鑼冨洿">
-        <el-date-picker
-          v-model="searchDateRange"
-          type="datetimerange"
-          range-separator="鑷�"
-          value-format="yyyy-MM-dd HH:mm:ss"
-          start-placeholder="寮�濮嬫椂闂�"
-          end-placeholder="缁撴潫鏃堕棿"
-          @change="handleSearchTimeChange"
-        ></el-date-picker>
-      </el-form-item>
-      <section>
-        <el-button type="primary" @click="search">鎼滅储</el-button>
-        <el-button type="primary" :loading="isWorking.export" @click="exportExcel">瀵煎嚭</el-button>
-        <el-button @click="reset">閲嶇疆</el-button>
-      </section>
-    </el-form>
-    <div slot="space" class="status-bar">
-      <label class="status-normal">姝e父</label>
-      <label class="status-warn">璀﹀憡寮傚父(闇�鎺掓煡)</label>
-      <label class="status-danger">绯荤粺寮傚父(闇�淇)</label>
-    </div>
-    <!-- 琛ㄦ牸鍜屽垎椤� -->
-    <template v-slot:table-wrap>
-      <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        stripe
-        :default-sort="{prop: 'operaTime', order: 'descending'}"
-        :row-class-name="tableRowClassName"
-        @sort-change="handleSortChange"
-      >
-        <el-table-column prop="operaModule" label="涓氬姟妯″潡" min-width="100px"></el-table-column>
-        <el-table-column prop="operaRemark" label="鎿嶄綔璇存槑" min-width="100px"></el-table-column>
-        <el-table-column prop="requestMethod" label="璇锋眰鏂瑰紡" min-width="80px"></el-table-column>
-        <el-table-column prop="requestUri" label="璇锋眰鍦板潃" min-width="200px"></el-table-column>
-        <el-table-column prop="status" label="鐘舵��" min-width="80px">
-          <template slot-scope="{row}">
-            {{row.status | statusText}}
-          </template>
-        </el-table-column>
-        <el-table-column prop="requestParams" label="璇锋眰鍙傛暟" min-width="80px">
-          <template slot-scope="{row}">
-            <ColumnDetail v-if="row.requestParams != null" :content="row.requestParams" :limit="0"/>
-          </template>
-        </el-table-column>
-        <el-table-column prop="requestResult" label="璇锋眰缁撴灉" min-width="80px">
-          <template slot-scope="{row}">
-            <ColumnDetail v-if="row.requestResult != null" :content="row.requestResult"/>
-          </template>
-        </el-table-column>
-        <el-table-column prop="exceptionLevel" label="寮傚父绛夌骇" sortable="custom" sort-by="EXCEPTION_LEVEL" min-width="100px">
-          <template slot-scope="{row}">
-            {{row.exceptionLevel | exceptionLevelText}}
-          </template>
-        </el-table-column>
-        <el-table-column prop="exceptionStack" label="寮傚父淇℃伅" min-width="170px">
-          <template slot-scope="{row}">
-            <ColumnDetail v-if="row.exceptionStack != null" :content="row.exceptionStack" :button-type="getExceptionButtonType(row.exceptionLevel)"/>
-          </template>
-        </el-table-column>
-        <el-table-column prop="operaSpendTime" label="璇锋眰鑰楁椂(ms)" sortable="custom" sort-by="OPERA_SPEND_TIME" min-width="120px"></el-table-column>
-        <el-table-column prop="userRealname" label="鎿嶄綔浜�" min-width="100px"></el-table-column>
-        <el-table-column prop="operaTime" label="鎿嶄綔鏃堕棿" sortable="custom" sort-by="OPERA_TIME" min-width="140px"></el-table-column>
-        <el-table-column prop="platform" label="鎿嶄綔骞冲彴" min-width="100px"></el-table-column>
-        <el-table-column prop="systemVersion" label="绯荤粺鐗堟湰" min-width="80px"></el-table-column>
-        <el-table-column prop="serverIp" label="澶勭悊鏈嶅姟鍣↖P" min-width="100px"></el-table-column>
-        <el-table-column prop="ip" label="鐢ㄦ埛IP" min-width="100px"></el-table-column>
-        <el-table-column prop="clientInfo" label="鐢ㄦ埛瀹㈡埛绔�" min-width="200px"></el-table-column>
-        <el-table-column prop="osInfo" label="鐢ㄦ埛鎿嶄綔绯荤粺" min-width="100px"></el-table-column>
-      </el-table>
-      <pagination
-        @size-change="handleSizeChange"
-        @current-change="handlePageChange"
-        :pagination="tableData.pagination"
-      ></pagination>
-    </template>
-  </TableLayout>
-</template>
-
-<script>
-import Pagination from '@/components/common/Pagination'
-import TableLayout from '@/layouts/TableLayout'
-import BaseTable from '@/components/base/BaseTable'
-import ColumnDetail from '../../components/common/ColumnDetail'
-
-export default {
-  name: 'SystemTraceLog',
-  extends: BaseTable,
-  components: { ColumnDetail, TableLayout, Pagination },
-  data () {
-    return {
-      // 鎼滅储鏃堕棿鍙嶈儍
-      searchDateRange: [],
-      // 鎼滅储
-      searchForm: {
-        userRealname: '',
-        operaModule: '',
-        requestUri: '',
-        status: null,
-        exceptionLevel: null,
-        startTime: null,
-        endTime: null
-      }
-    }
-  },
-  filters: {
-    // 鐘舵��
-    statusText (value) {
-      if (value === 1) {
-        return '鎴愬姛'
-      }
-      if (value === 0) {
-        return '澶辫触'
-      }
-      return '鏈鐞�'
-    },
-    // 寮傚父绛夌骇
-    exceptionLevelText (value) {
-      if (value == null) {
-        return ''
-      }
-      if (value === 0) {
-        return '浣�'
-      }
-      if (value === 5) {
-        return '涓�'
-      }
-      if (value === 10) {
-        return '楂�'
-      }
-      return '鏈煡'
-    }
-  },
-  methods: {
-    // 鎼滅储妗嗛噸缃�
-    reset () {
-      this.$refs.searchForm.resetFields()
-      this.searchDateRange = []
-      this.searchForm.startTime = null
-      this.searchForm.endTime = null
-      this.search()
-    },
-    // 鏍囪琛宑lass
-    tableRowClassName ({ row }) {
-      if (row.exceptionLevel === 5 || row.status === -1) {
-        return 'warning-log'
-      } else if (row.exceptionLevel === 10) {
-        return 'danger-log'
-      }
-      return ''
-    },
-    // 鑾峰彇寮傚父鏌ョ湅鎸夐挳绫诲瀷
-    getExceptionButtonType (level) {
-      if (level === 5) {
-        return 'warning'
-      }
-      if (level === 10) {
-        return 'danger'
-      }
-      return null
-    },
-    // 鏃堕棿鎼滅储鑼冨洿鍙樺寲
-    handleSearchTimeChange (value) {
-      this.searchForm.startTime = null
-      this.searchForm.endTime = null
-      if (value != null) {
-        this.searchForm.startTime = value[0]
-        this.searchForm.endTime = value[1]
-      }
-      this.search()
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/traceLog',
-      sorts: [{
-        property: 'OPERA_TIME',
-        direction: 'DESC'
-      }]
-    })
-    this.search()
-  }
-}
-</script>
-
-<style scoped lang="scss">
-// 鐘舵�佹爮
-.status-bar {
-  padding: 0 16px;
-  [class^=status-] {
-    font-size: 13px;
-    margin-right: 12px;
-    line-height: 40px;
-    &::before {
-      position: relative;
-      top: 2px;
-      display: inline-block;
-      content: '';
-      width: 12px;
-      height: 12px;
-      border: 1px solid #ccc;
-      background: #fff;
-      margin-right: 6px;
-    }
-  }
-  .status-warn::before {
-    background-color: oldlace;
-    border-color: orange;
-  }
-  .status-danger::before {
-    background-color: #fdf0f0;
-    border-color: indianred;
-  }
-}
-/deep/ .table-content {
-  margin-top: 0;
-}
-// 璀﹀憡绾ф棩蹇�
-/deep/ .warning-log td {
-  background-color: oldlace !important;
-}
-// 鍗遍櫓绾ф棩蹇�
-/deep/ .danger-log td {
-  background-color: #fdf0f0 !important;
-}
-</style>
diff --git a/admin/.svn/pristine/db/db3adb3e91dd941490ce1e3cb1ccb18bcad6b4c1.svn-base b/admin/.svn/pristine/db/db3adb3e91dd941490ce1e3cb1ccb18bcad6b4c1.svn-base
deleted file mode 100644
index eef8695..0000000
--- a/admin/.svn/pristine/db/db3adb3e91dd941490ce1e3cb1ccb18bcad6b4c1.svn-base
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/pristine/db/db4a6edb37dd5387f81eb1648a5aa6a09068ebfd.svn-base b/admin/.svn/pristine/db/db4a6edb37dd5387f81eb1648a5aa6a09068ebfd.svn-base
deleted file mode 100644
index 3bfefc9..0000000
--- a/admin/.svn/pristine/db/db4a6edb37dd5387f81eb1648a5aa6a09068ebfd.svn-base
+++ /dev/null
@@ -1,34 +0,0 @@
-<template>
-  <div v-if="containRoles(roles) && containPermissions(permissions)">
-    <slot></slot>
-  </div>
-  <div v-else class="not-allow-wrap">
-    <slot name="not-allow"><NotAllow/></slot>
-  </div>
-</template>
-
-<script>
-import BasePage from '@/components/base/BasePage'
-import NotAllow from './NotAllow'
-export default {
-  name: 'Profile',
-  components: { NotAllow },
-  extends: BasePage,
-  props: {
-    permissions: {
-      type: Array
-    },
-    roles: {
-      type: Array
-    }
-  }
-}
-</script>
-
-<style scoped lang="scss">
-.not-allow-wrap {
-  height: 100%;
-  padding: 10px 16px;
-  box-sizing: border-box;
-}
-</style>
diff --git a/admin/.svn/pristine/de/de0de31fdc5240b43edad0a0cb3e955f693df3c3.svn-base b/admin/.svn/pristine/de/de0de31fdc5240b43edad0a0cb3e955f693df3c3.svn-base
deleted file mode 100644
index cea5d3a..0000000
--- a/admin/.svn/pristine/de/de0de31fdc5240b43edad0a0cb3e955f693df3c3.svn-base
+++ /dev/null
@@ -1,183 +0,0 @@
-<template>
-  <div class="menu" :class="{collapse: menuData.collapse}">
-    <div class="logo">
-      <div><img src="@/assets/logo.png"></div>
-      <h1 :class="{ hidden: menuData.collapse }">棰勯�夋竻鍗曟煡璇㈢郴缁�</h1>
-    </div>
-    <scrollbar>
-      <el-menu
-        ref="menu"
-        :default-active="activeIndex"
-        text-color="#fff"
-        active-text-color="#fff"
-        :collapse="menuData.collapse"
-        :default-openeds="defaultOpeneds"
-        :collapse-transition="false"
-        @select="handleSelect"
-      >
-        <MenuItems v-for="menu in menuData.list" :key="menu.index" :menu="menu" :is-root-menu="true"/>
-      </el-menu>
-    </scrollbar>
-  </div>
-</template>
-
-<script>
-import { mapState } from 'vuex'
-import MenuItems from './MenuItems'
-import Scrollbar from './Scrollbar'
-export default {
-  name: 'Menu',
-  components: { Scrollbar, MenuItems },
-  computed: {
-    ...mapState(['menuData']),
-    // 閫変腑鐨勮彍鍗昳ndex
-    activeIndex () {
-      let path = this.$route.path
-      if (path.endsWith('/')) {
-        path = path.substring(0, path.length - 1)
-      }
-      const menuConfig = this.__getMenuConfig(path, 'url', this.menuData.list)
-      if (menuConfig == null) {
-        return null
-      }
-      return menuConfig.index
-    },
-    // 榛樿灞曞紑鐨勮彍鍗昳ndex
-    defaultOpeneds () {
-      return this.menuData.list.map(menu => menu.index)
-    }
-  },
-  methods: {
-    // 澶勭悊鑿滃崟閫変腑
-    handleSelect (menuIndex) {
-      const menuConfig = this.__getMenuConfig(menuIndex, 'index', this.menuData.list)
-      // 鎵句笉鍒伴〉闈�
-      try {
-        require('@/views' + menuConfig.url)
-      } catch (e) {
-        this.$tip.error('鏈壘鍒伴〉闈㈡枃浠禓/views' + menuConfig.url + '.vue锛岃妫�鏌ヨ彍鍗曡矾寰勬槸鍚︽纭�')
-      }
-      // 鐐瑰嚮褰撳墠鑿滃崟涓嶅仛澶勭悊
-      if (menuConfig.url === this.$route.path) {
-        return
-      }
-      if (menuConfig.url == null || menuConfig.url.trim().length === 0) {
-        return
-      }
-      this.$router.push(menuConfig.url)
-    },
-    // 鑾峰彇鑿滃崟閰嶇疆
-    __getMenuConfig (value, key, menus) {
-      for (const menu of menus) {
-        if (menu[key] === value) {
-          return menu
-        }
-        if (menu.children != null && menu.children.length > 0) {
-          const menuConfig = this.__getMenuConfig(value, key, menu.children)
-          if (menuConfig != null) {
-            return menuConfig
-          }
-        }
-      }
-      return null
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-@import "@/assets/style/variables.scss";
-.menu {
-  height: 100%;
-  display: flex;
-  flex-direction: column;
-  // LOGO
-  .logo {
-    height: 60px;
-    flex-shrink: 0;
-    line-height: 60px;
-    overflow: hidden;
-    display: flex;
-    background: $primary-color - 20;
-    padding: 0 16px;
-    & > div {
-      width: 32px;
-      flex-shrink: 0;
-      margin-right: 12px;
-      img {
-        width: 100%;
-        flex-shrink: 0;
-        vertical-align: middle;
-        position: relative;
-        top: -2px;
-      }
-    }
-    h1 {
-      font-size: 16px;
-      font-weight: 500;
-      transition: opacity ease .3s;
-      overflow: hidden;
-      &.hidden {
-        opacity: 0;
-      }
-    }
-  }
-}
-</style>
-<style lang="scss">
-@import "@/assets/style/variables.scss";
-// 鑿滃崟鏍峰紡
-.el-menu {
-  border-right: 0 !important;
-  user-select: none;
-  background: $primary-color !important;
-  .el-menu-item {
-    background: $primary-color;
-    // 閫変腑鐘舵��
-    &.is-active {
-      background: $primary-color - 40 !important;
-    }
-    // 鎮诞
-    &:hover {
-      background-color: $primary-color - 12;
-    }
-    &:focus {
-      background: $primary-color;
-    }
-  }
-  // 瀛愯彍鍗�
-  .el-submenu {
-    .el-submenu__title{
-      background-color: $primary-color;
-    }
-    &.is-active {
-      .el-submenu__title{
-        background-color: $primary-color - 20;
-      }
-      .el-menu .el-menu-item{
-        background-color: $primary-color - 20;
-        // 鎮诞
-        &:hover {
-          background-color: $primary-color - 30;
-        }
-      }
-    }
-    // 鑿滃崟涓婁笅绠ご
-    .el-submenu__title i {
-      color: #f7f7f7;
-    }
-  }
-  // 鑿滃崟鍥炬爣
-  i:not(.el-submenu__icon-arrow) {
-    color: #f7f7f7 !important;
-    position: relative;
-    top: -1px;
-    // 鑷畾涔夊浘鏍�
-    &[class^="eva-icon-"] {
-      width: 24px;
-      margin-right: 5px;
-      background-size: 15px;
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/de/de8c798fd702c12f5139bc3ebf91d2a34c7cdc5a.svn-base b/admin/.svn/pristine/de/de8c798fd702c12f5139bc3ebf91d2a34c7cdc5a.svn-base
deleted file mode 100644
index 245a964..0000000
--- a/admin/.svn/pristine/de/de8c798fd702c12f5139bc3ebf91d2a34c7cdc5a.svn-base
+++ /dev/null
@@ -1,24 +0,0 @@
-.DS_Store
-coderd.json
-node_modules
-/dist
-
-
-# local env files
-.env.local
-.env.*.local
-
-# Log files
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-pnpm-debug.log*
-
-# Editor directories and files
-.idea
-.vscode
-*.suo
-*.ntvs*
-*.njsproj
-*.sln
-*.sw?
diff --git a/admin/.svn/pristine/e0/e0520defb884fea75c35e12b5dc1fd609159b34b.svn-base b/admin/.svn/pristine/e0/e0520defb884fea75c35e12b5dc1fd609159b34b.svn-base
deleted file mode 100644
index a9ce2c2..0000000
--- a/admin/.svn/pristine/e0/e0520defb884fea75c35e12b5dc1fd609159b34b.svn-base
+++ /dev/null
@@ -1,197 +0,0 @@
-<template>
-  <TableLayout :permissions="['system:datapermission:query']">
-    <!-- 鎼滅储琛ㄥ崟 -->
-    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-      <el-form-item label="涓氬姟妯″潡" prop="businessCode">
-        <DataPermModuleSelect v-model="searchForm.businessCode" clearable @change="search"/>
-      </el-form-item>
-      <el-form-item label="瑙掕壊" prop="roleId">
-        <RoleSelect v-model="searchForm.roleId" clearable @change="search"/>
-      </el-form-item>
-      <section>
-        <el-button type="primary" @click="search">鎼滅储</el-button>
-        <el-button @click="reset">閲嶇疆</el-button>
-      </section>
-    </el-form>
-    <!-- 琛ㄦ牸鍜屽垎椤� -->
-    <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['system:datapermission:create', 'system:datapermission:delete']">
-        <li><el-button type="primary" @click="$refs.operaDataPermissionWindow.open('鏂板缓鏁版嵁鏉冮檺')" icon="el-icon-plus" v-permissions="['system:datapermission:create']">鏂板缓</el-button></li>
-        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:datapermission:delete']">鍒犻櫎</el-button></li>
-      </ul>
-      <el-table
-        v-loading="isWorking.search"
-        :data="tableData.list"
-        stripe
-        @selection-change="handleSelectionChange"
-      >
-        <el-table-column type="selection" width="55"></el-table-column>
-        <el-table-column prop="businessCode" label="涓氬姟妯″潡" min-width="100px">
-          <template slot-scope="{row}">{{row.businessCode | moduleText(modules)}}</template>
-        </el-table-column>
-        <el-table-column prop="roleId" label="瑙掕壊" min-width="100px">
-          <template slot-scope="{row}">{{row.role.name}}</template>
-        </el-table-column>
-        <el-table-column prop="type" label="鏉冮檺绫诲瀷" min-width="140px">
-          <template slot-scope="{row}">{{row.type | typeText(types)}}</template>
-        </el-table-column>
-        <el-table-column prop="disabled" label="鏄惁鍚敤" min-width="100px">
-          <template slot-scope="{row}">
-            <el-switch v-model="row.disabled" :active-value="false" :inactive-value="true" @change="switchDisabled(row)"/>
-          </template>
-        </el-table-column>
-        <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column>
-        <el-table-column prop="createUser" label="鍒涘缓浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="140px"></el-table-column>
-        <el-table-column prop="updateUser" label="淇敼浜�" min-width="100px">
-          <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template>
-        </el-table-column>
-        <el-table-column prop="updateTime" label="淇敼鏃堕棿" min-width="140px"></el-table-column>
-        <el-table-column
-          v-if="containPermissions(['system:datapermission:update', 'system:datapermission:delete'])"
-          label="鎿嶄綔"
-          min-width="120"
-          fixed="right"
-        >
-          <template slot-scope="{row}">
-            <el-button type="text" @click="$refs.operaDataPermissionWindow.open('缂栬緫鏁版嵁鏉冮檺', row)" icon="el-icon-edit" v-permissions="['system:datapermission:update']">缂栬緫</el-button>
-            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['system:datapermission:delete']">鍒犻櫎</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-      <pagination
-        @size-change="handleSizeChange"
-        @current-change="handlePageChange"
-        :pagination="tableData.pagination"
-      >
-      </pagination>
-    </template>
-    <!-- 鏂板缓/淇敼 -->
-    <OperaDataPermissionWindow ref="operaDataPermissionWindow" @success="handlePageChange"/>
-  </TableLayout>
-</template>
-
-<script>
-import BaseTable from '@/components/base/BaseTable'
-import TableLayout from '@/layouts/TableLayout'
-import Pagination from '@/components/common/Pagination'
-import OperaDataPermissionWindow from '@/components/system/datapermission/OperaDataPermissionWindow'
-import DataPermModuleSelect from '@/components/system/datapermission/DataPermModuleSelect'
-import RoleSelect from '../../components/system/role/RoleSelect'
-
-// 鑾峰彇妯″潡鍚嶇О
-const __getModuleName = function (businessCode, modules) {
-  for (const module of modules) {
-    if (module.businessCode === businessCode) {
-      return module.moduleName
-    }
-  }
-  return '鏈煡'
-}
-
-export default {
-  name: 'DataPermission',
-  extends: BaseTable,
-  components: { RoleSelect, DataPermModuleSelect, TableLayout, Pagination, OperaDataPermissionWindow },
-  data () {
-    return {
-      // 鏁版嵁鏉冮檺妯″潡
-      modules: [],
-      // 鏁版嵁鏉冮檺绫诲瀷
-      types: [],
-      // 鎼滅储
-      searchForm: {
-        businessCode: '',
-        roleId: null,
-        type: ''
-      }
-    }
-  },
-  filters: {
-    // 鏁版嵁鏉冮檺绫诲瀷鏂囨
-    typeText (value, types) {
-      for (const type of types) {
-        if (type.code === value) {
-          return type.remark
-        }
-      }
-      return '鏈煡'
-    },
-    // 鏁版嵁鏉冮檺妯″潡鏂囨
-    moduleText (value, modules) {
-      return __getModuleName(value, modules)
-    }
-  },
-  methods: {
-    // 鍚敤/绂佺敤鑿滃崟
-    switchDisabled (row) {
-      if (!row.disabled) {
-        this.__updateStatus(row)
-        return
-      }
-      this.$dialog.disableConfirm(`纭绂佺敤 ${__getModuleName(row.businessCode, this.modules)}/${row.role.name} 鏁版嵁鏉冮檺鍚楋紵`)
-        .then(() => {
-          this.__updateStatus(row)
-        }).catch(() => {
-          row.disabled = !row.disabled
-        })
-    },
-    // 鍒犻櫎琛�
-    deleteById (row) {
-      this.$dialog.deleteConfirm(`纭鍒犻櫎銆�${__getModuleName(row.businessCode, this.modules)}/${row.role.name}銆戞暟鎹潈闄愬悧锛焋)
-        .then(() => {
-          this.isWorking.delete = true
-          this.api.deleteById(row.id)
-            .then(() => {
-              this.$tip.apiSuccess('鍒犻櫎鎴愬姛')
-              this.__afterDelete()
-            })
-            .catch(e => {
-              this.$tip.apiFailed(e)
-            })
-            .finally(() => {
-              this.isWorking.delete = false
-            })
-        })
-        .catch(() => {})
-    },
-    // 淇敼鐘舵��
-    __updateStatus (row) {
-      this.api.updateStatus({
-        id: row.id,
-        disabled: row.disabled
-      })
-        .then(() => {
-          this.$tip.apiSuccess('淇敼鎴愬姛')
-        })
-        .catch(e => {
-          row.disabled = !row.disabled
-          this.$tip.apiFailed(e)
-        })
-    }
-  },
-  async created () {
-    this.config({
-      module: '鏁版嵁鏉冮檺',
-      api: '/system/dataPermission'
-    })
-    // 鍒濆鍖栨暟鎹潈闄愭ā鍧�
-    await this.api.fetchModules()
-      .then(data => {
-        this.modules = data
-      })
-    // 鍒濆鍖栨暟鎹潈闄愭ā鍧�
-    await this.api.fetchTypes()
-      .then(data => {
-        this.types = data
-      })
-      .catch(e => {
-        console.log(e)
-      })
-    // 鎵ц鎼滅储
-    this.search()
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/e6/e62b0d4c58bbdb0dc3a5f0741f284d6845f3d158.svn-base b/admin/.svn/pristine/e6/e62b0d4c58bbdb0dc3a5f0741f284d6845f3d158.svn-base
deleted file mode 100644
index ea5f26c..0000000
--- a/admin/.svn/pristine/e6/e62b0d4c58bbdb0dc3a5f0741f284d6845f3d158.svn-base
+++ /dev/null
@@ -1,84 +0,0 @@
-<template>
-  <TreeSelect
-    :placeholder="placeholder"
-    :value="value"
-    :data="data"
-    :append-to-body="appendToBody"
-    :clearable="clearable"
-    :inline="inline"
-    @input="$emit('input', $event)"
-  />
-</template>
-
-<script>
-import TreeSelect from './TreeSelect'
-import { fetchTree } from '@/api/system/menu'
-export default {
-  name: 'MenuSelect',
-  components: { TreeSelect },
-  props: {
-    value: {},
-    inline: {
-      default: true
-    },
-    placeholder: {
-      default: '璇烽�夋嫨鑿滃崟'
-    },
-    // 鏄惁鍙竻绌�
-    clearable: {
-      default: false
-    },
-    appendToBody: {
-      default: false
-    },
-    // 闇�琚帓闄ょ殑閮ㄩ棬ID
-    excludeId: {}
-  },
-  data () {
-    return {
-      data: []
-    }
-  },
-  watch: {
-    excludeId () {
-      this.fetchData()
-    }
-  },
-  methods: {
-    // 鑾峰彇鎵�鏈夎彍鍗�
-    fetchData () {
-      fetchTree()
-        .then(records => {
-          this.data = []
-          this.__fillData(this.data, records)
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-    },
-    // 濉厖鑿滃崟鏍�
-    __fillData (list, pool) {
-      for (const menu of pool) {
-        if (menu.id === this.excludeId) {
-          continue
-        }
-        const menuNode = {
-          id: menu.id,
-          label: menu.name
-        }
-        list.push(menuNode)
-        if (menu.children != null && menu.children.length > 0) {
-          menuNode.children = []
-          this.__fillData(menuNode.children, menu.children)
-          if (menuNode.children.length === 0) {
-            menuNode.children = undefined
-          }
-        }
-      }
-    }
-  },
-  created () {
-    this.fetchData()
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/e8/e80bbcd8e04351a49e7becf96941fd0489793ade.svn-base b/admin/.svn/pristine/e8/e80bbcd8e04351a49e7becf96941fd0489793ade.svn-base
deleted file mode 100644
index abc3f24..0000000
--- a/admin/.svn/pristine/e8/e80bbcd8e04351a49e7becf96941fd0489793ade.svn-base
+++ /dev/null
@@ -1,102 +0,0 @@
-<template>
-  <GlobalWindow
-    :title="title"
-    :visible.sync="visible"
-    :confirm-working="isWorking"
-    @confirm="confirm"
-  >
-    <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="涓婄骇閮ㄩ棬" prop="parentId">
-        <DepartmentSelect v-if="visible" ref="departmentSelect" placeholder="璇烽�夋嫨涓婄骇閮ㄩ棬" v-model="form.parentId" :exclude-id="excludeDeptId" :inline="false"/>
-      </el-form-item>
-      <el-form-item label="閮ㄩ棬缂栫爜" prop="code" required>
-        <el-input v-model="form.code" placeholder="璇疯緭鍏ラ儴闂ㄧ紪鐮�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="閮ㄩ棬鍚嶇О" prop="name" required>
-        <el-input v-model="form.name" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" v-trim maxlength="50"/>
-      </el-form-item>
-      <el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
-        <el-input v-model="form.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" v-trim maxlength="11"/>
-      </el-form-item>
-      <el-form-item label="閮ㄩ棬閭" prop="email">
-        <el-input v-model="form.email" placeholder="璇疯緭鍏ラ儴闂ㄩ偖绠�" v-trim maxlength="200"/>
-      </el-form-item>
-    </el-form>
-  </GlobalWindow>
-</template>
-
-<script>
-import BaseOpera from '@/components/base/BaseOpera'
-import GlobalWindow from '@/components/common/GlobalWindow'
-import DepartmentSelect from '@/components/common/DepartmentSelect'
-import { checkMobile, checkEmail } from '@/utils/form'
-export default {
-  name: 'OperaDepartmentWindow',
-  extends: BaseOpera,
-  components: { DepartmentSelect, GlobalWindow },
-  data () {
-    return {
-      // 闇�鎺掗櫎閫夋嫨鐨勯儴闂↖D
-      excludeDeptId: null,
-      // 琛ㄥ崟鏁版嵁
-      form: {
-        id: null,
-        parentId: null,
-        code: '',
-        name: '',
-        phone: '',
-        email: ''
-      },
-      // 楠岃瘉瑙勫垯
-      rules: {
-        code: [
-          { required: true, message: '璇疯緭鍏ラ儴闂ㄧ紪鐮�' }
-        ],
-        name: [
-          { required: true, message: '璇疯緭鍏ラ儴闂ㄥ悕绉�' }
-        ],
-        phone: [
-          { validator: checkMobile }
-        ],
-        email: [
-          { validator: checkEmail }
-        ]
-      }
-    }
-  },
-  methods: {
-    /**
-     * @title 绐楀彛鏍囬
-     * @target 缂栬緫鐨勯儴闂ㄥ璞�
-     * @parent 鏂板缓鏃剁殑涓婄骇閮ㄩ棬瀵硅薄
-     * @departmentList 閮ㄩ棬鍒楄〃
-     */
-    open (title, target, parent) {
-      this.title = title
-      this.visible = true
-      // 鏂板缓
-      if (target == null) {
-        this.excludeDeptId = null
-        this.$nextTick(() => {
-          this.$refs.form.resetFields()
-          this.form.id = null
-          this.form.parentId = parent == null ? null : parent.id
-        })
-        return
-      }
-      // 缂栬緫
-      this.$nextTick(() => {
-        this.excludeDeptId = target.id
-        for (const key in this.form) {
-          this.form[key] = target[key]
-        }
-      })
-    }
-  },
-  created () {
-    this.config({
-      api: '/system/department'
-    })
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/ec/ec012eba081953acdea6e02147fff703a5d336a7.svn-base b/admin/.svn/pristine/ec/ec012eba081953acdea6e02147fff703a5d336a7.svn-base
deleted file mode 100644
index e3d7429..0000000
--- a/admin/.svn/pristine/ec/ec012eba081953acdea6e02147fff703a5d336a7.svn-base
+++ /dev/null
@@ -1,13 +0,0 @@
-import vPermissions from './v-permissions'
-import vRoles from './v-roles'
-import vTrim from './v-trim'
-export default {
-  install (Vue) {
-    // 瑙掕壊鎺у埗鎸囦护
-    Vue.directive('roles', vRoles)
-    // 鏉冮檺鎺у埗鎸囦护
-    Vue.directive('permissions', vPermissions)
-    // 鑷姩鍘荤┖鎸囦护
-    Vue.directive('trim', vTrim)
-  }
-}
diff --git a/admin/.svn/pristine/ed/ed848cec2ff049e58466a7b84b36620c4232ae35.svn-base b/admin/.svn/pristine/ed/ed848cec2ff049e58466a7b84b36620c4232ae35.svn-base
deleted file mode 100644
index 03d6539..0000000
--- a/admin/.svn/pristine/ed/ed848cec2ff049e58466a7b84b36620c4232ae35.svn-base
+++ /dev/null
@@ -1,210 +0,0 @@
-<template>
-  <div class="wrap">
-    <div class="introduce">
-      <h2>棰勯�夋竻鍗曟煡璇㈢郴缁�</h2>
-    </div>
-    <div class="login">
-      <h1>绯荤粺鐧诲綍&nbsp;/&nbsp;LOGIN IN</h1>
-      <div class="info-input">
-        <el-input v-model="username" placeholder="璇疯緭鍏ョ敤鎴峰悕" prefix-icon="el-icon-user-solid" maxlength="50" v-trim/>
-        <el-input v-model="password" placeholder="璇疯緭鍏ュ瘑鐮�" type="password" prefix-icon="eva-icon-password" maxlength="30" show-password/>
-        <div class="captcha-input">
-          <el-input v-model="captcha.value" placeholder="鍥剧墖楠岃瘉鐮�" prefix-icon="eva-icon-shield" maxlength="4" @keypress.enter.native="login"/>
-          <img v-if="!captcha.loading" :src="captcha.uri" @click="refreshCaptcha">
-          <span v-else><i class="el-icon-loading"></i></span>
-        </div>
-      </div>
-      <el-button :loading="loading" @click="login">鐧�&nbsp;&nbsp;褰�</el-button>
-    </div>
-  </div>
-</template>
-
-<script>
-import { mapMutations } from 'vuex'
-import { getCaptcha, loginByPassword } from '@/api/system/common'
-
-export default {
-  name: 'Login',
-  data () {
-    return {
-      loading: false,
-      username: '',
-      password: '',
-      // 楠岃瘉鐮�
-      captcha: {
-        loading: false,
-        value: '',
-        uuid: '',
-        uri: ''
-      }
-    }
-  },
-  methods: {
-    ...mapMutations(['setUserInfo']),
-    // 鐧诲綍
-    login () {
-      if (this.loading) {
-        return
-      }
-      if (!this.__check()) {
-        return
-      }
-      this.loading = true
-      loginByPassword({
-        username: this.username.trim(),
-        password: this.password,
-        code: this.captcha.value.trim(),
-        uuid: this.captcha.uuid
-      })
-        .then(() => {
-          window.location.href = process.env.VUE_APP_CONTEXT_PATH
-        })
-        .catch(e => {
-          this.refreshCaptcha()
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          this.loading = false
-        })
-    },
-    // 鍒锋柊楠岃瘉鐮�
-    refreshCaptcha () {
-      this.captcha.loading = true
-      getCaptcha()
-        .then(data => {
-          this.captcha.uri = data.image
-          this.captcha.uuid = data.uuid
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          setTimeout(() => {
-            this.captcha.loading = false
-          }, 150)
-        })
-    },
-    // 鐧诲綍鍓嶉獙璇�
-    __check () {
-      if (this.username.trim() === '') {
-        this.$tip.error('璇疯緭鍏ョ敤鎴峰悕')
-        return false
-      }
-      if (this.password === '') {
-        this.$tip.error('璇疯緭鍏ュ瘑鐮�')
-        return false
-      }
-      if (this.captcha.value.trim() === '') {
-        this.$tip.error('璇疯緭鍏ュ浘鐗囬獙璇佺爜')
-        return false
-      }
-      return true
-    }
-  },
-  created () {
-    this.refreshCaptcha()
-  }
-}
-</script>
-
-<style scoped lang="scss">
-@import "@/assets/style/variables.scss";
-$input-gap: 30px;
-.wrap {
-  display: flex;
-  width: 100%;
-  height: 100vh;
-  background-image: url("../assets/images/login.jpg");
-  background-repeat: no-repeat;
-  background-size: auto 180%;
-  background-clip: content-box;
-  background-position: center;
-  // 宸﹁竟浠嬬粛
-  .introduce {
-    padding-left: 10%;
-    width: 100%;
-    height: 100%;
-    box-sizing: border-box;
-    color: #fff;
-    background: rgba(0, 0, 0, 0.4);
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    h2 {
-      font-size:34px;
-      font-style: italic;
-      font-weight: 900;
-      margin-top: 50px;
-    }
-    h3 {
-      font-size: 49px;
-      font-weight: 300;
-      margin: 25px 0;
-    }
-  }
-  // 鍙宠竟鐧诲綍
-  .login {
-    height: 100%;
-    width: 38%;
-    max-width: 560px;
-    min-width: 460px;
-    flex-shrink: 0;
-    text-align: center;
-    background: #fff;
-    padding: 0 80px;
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    box-sizing: border-box;
-    h1 {
-      font-size: 28px;
-      font-weight: 500;
-    }
-    .info-input {
-      margin-top: $input-gap;
-      margin-bottom: 60px;
-      /deep/ .el-input {
-        margin-top: 30px;
-        .el-input__inner {
-          height: 50px;
-          background: #F9F9F9;
-          border: 1px solid transparent;
-          &:focus {
-            border: 1px solid $primary-color;
-          }
-        }
-      }
-    }
-    // 楠岃瘉鐮佽緭鍏�
-    .captcha-input {
-      display: flex;
-      margin-top: $input-gap;
-      height: 50px;
-      .el-input {
-        width: 100%;
-        margin-top: 0;
-      }
-      span, img {
-        width: 45%;
-        height: 100%;
-        flex-shrink: 0;
-        margin-left: 16px;
-      }
-      span {
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        background: #f7f7f7;
-        border-radius: 8px;
-      }
-    }
-    .el-button {
-      height: 50px;
-      width: 100%;
-      color: #fff;
-      font-size: 16px;
-      background: linear-gradient(130deg, $primary-color + 20 0%, $primary-color - 20 100%);
-    }
-  }
-}
-</style>
diff --git a/admin/.svn/pristine/ee/ee1d5aec1b79d42608157898498180184f95429d.svn-base b/admin/.svn/pristine/ee/ee1d5aec1b79d42608157898498180184f95429d.svn-base
deleted file mode 100644
index 5182634..0000000
--- a/admin/.svn/pristine/ee/ee1d5aec1b79d42608157898498180184f95429d.svn-base
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/pristine/f1/f10efcd318f7a213cdc6d5da6972586f61b21cb4.svn-base b/admin/.svn/pristine/f1/f10efcd318f7a213cdc6d5da6972586f61b21cb4.svn-base
deleted file mode 100644
index c77cebe..0000000
--- a/admin/.svn/pristine/f1/f10efcd318f7a213cdc6d5da6972586f61b21cb4.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1621744473001" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2398" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M822.857143 475.428571a36.571429 36.571429 0 0 1 36.571428 36.571429v91.428571a347.428571 347.428571 0 0 1-694.857142 0v-91.428571a36.571429 36.571429 0 0 1 36.571428-36.571429h621.714286m0-73.142857H201.142857a109.714286 109.714286 0 0 0-109.714286 109.714286v91.428571a420.571429 420.571429 0 0 0 420.571429 420.571429 420.571429 420.571429 0 0 0 420.571429-420.571429v-91.428571a109.714286 109.714286 0 0 0-109.714286-109.714286z" p-id="2399" fill="#c1c4cc"></path><path d="M731.428571 475.428571a36.571429 36.571429 0 0 1-36.571428-36.571428V256a182.857143 182.857143 0 0 0-365.714286 0v182.857143a36.571429 36.571429 0 0 1-73.142857 0V256a256 256 0 0 1 512 0v182.857143a36.571429 36.571429 0 0 1-36.571429 36.571428zM512 768a36.571429 36.571429 0 0 1-36.571429-36.571429v-146.285714a36.571429 36.571429 0 0 1 73.142858 0v146.285714a36.571429 36.571429 0 0 1-36.571429 36.571429z" p-id="2400" fill="#c1c4cc"></path></svg>
diff --git a/admin/.svn/pristine/f8/f836164221ef52315b33e9449ef7e7a97cfb2083.svn-base b/admin/.svn/pristine/f8/f836164221ef52315b33e9449ef7e7a97cfb2083.svn-base
deleted file mode 100644
index a030e67..0000000
--- a/admin/.svn/pristine/f8/f836164221ef52315b33e9449ef7e7a97cfb2083.svn-base
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1622347607410" class="icon" viewBox="0 0 1038 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3794" width="64.875" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M76.778433 76.778433h776.41112v328.249368h77.209773v-345.071609A59.956192 59.956192 0 0 0 872.599832 0H59.956192A59.956192 59.956192 0 0 0 0 59.956192v898.048863a59.956192 59.956192 0 0 0 59.956192 59.956192H474.473463v-75.915754H76.778433z" p-id="3795" fill="#f7f7f7"></path><path d="M209.631003 256.647009h513.294018v81.091828H209.631003zM209.631003 472.748104h389.068239v81.091829H209.631003zM209.631003 684.535805h278.213984v81.091828H209.631003zM914.871104 774.685762a163.046335 163.046335 0 1 0-227.747262 0 180.731255 180.731255 0 0 0-122.069082 180.731256c0 68.582982 102.227464 68.582982 243.706824 68.582982h86.267902c59.956192 0 101.364785-3.450716 125.088458-27.605729a57.799495 57.799495 0 0 0 17.68492-43.133951 172.535805 172.535805 0 0 0-122.93176-178.574558zM733.277169 590.503791a94.894693 94.894693 0 0 1 67.288964-28.037068 92.306655 92.306655 0 1 1-67.288964 26.74305z m122.500422 364.913227h-46.584668a862.679023 862.679023 0 0 1-172.535804-10.352149c5.607414-99.639427 92.737995-121.206403 166.065712-121.206402 144.498736 0 164.771693 70.73968 166.497051 125.951137a480.943555 480.943555 0 0 1-113.442291 5.607414z" p-id="3796" fill="#f7f7f7"></path></svg>
diff --git a/admin/.svn/pristine/f8/f8cba133e96adc166b057ba7401aecf233895d59.svn-base b/admin/.svn/pristine/f8/f8cba133e96adc166b057ba7401aecf233895d59.svn-base
deleted file mode 100644
index bb715e1..0000000
--- a/admin/.svn/pristine/f8/f8cba133e96adc166b057ba7401aecf233895d59.svn-base
+++ /dev/null
@@ -1,126 +0,0 @@
-import axios from 'axios'
-import Cookies from 'js-cookie'
-import pkg from '../../package'
-import { trim } from './util'
-import cache from '../plugins/cache'
-
-axios.defaults.headers.common['Content-Type'] = 'application/json;charset=UTF-8'
-const axiosInstance = axios.create({
-  baseURL: process.env.VUE_APP_API_PREFIX,
-  // 璇锋眰瓒呮椂鏃堕棿
-  timeout: 60000
-})
-
-// 鏂板缓璇锋眰鎷︽埅鍣�
-axiosInstance.interceptors.request.use(config => {
-  // 鍙傛暟鍘荤┖鏍�
-  if (config.trim === true) {
-    if (config.data != null) {
-      config.data = trim(config.data)
-    }
-    if (config.params != null) {
-      config.params = trim(config.params)
-    }
-  }
-  // 瀵煎嚭澶勭悊
-  if (config.download === true) {
-    config.responseType = 'blob'
-  }
-  // 璁剧疆鎿嶄綔骞冲彴
-  config.headers['eva-platform'] = `pc-${pkg.version}`
-  // 璁剧疆璁よ瘉澶�
-  const authToken = Cookies.get('eva-auth-token')
-  if (authToken != null) {
-    config.headers['eva-auth-token'] = authToken
-  }
-  return config
-}, function (error) {
-  return Promise.reject(error)
-})
-
-// 鏂板缓鍝嶅簲鎷︽埅鍣�
-axiosInstance.interceptors.response.use((response) => {
-  // 璇锋眰澶辫触
-  if (response.status !== 200) {
-    return Promise.reject(new Error('鏈嶅姟鍣ㄧ箒蹇欙紝璇风◢鍚庡啀璇�'))
-  }
-  // 涓嬭浇鎺ュ彛澶勭悊
-  if (response.headers['eva-opera-type'] === 'download') {
-    return Promise.resolve(response)
-  }
-  // 鏈櫥褰�
-  if (response.data.code === 401) {
-    if (response.config.autoLogin !== false) {
-      window.location.href = process.env.VUE_APP_ROUTER_MODE === 'history' ? '/#/login' : '/login'
-    }
-    return Promise.reject(response.data)
-  }
-  // 涓氬姟澶辫触
-  if (!response.data.success) {
-    return Promise.reject(response.data)
-  }
-  return response.data.data
-}, function (error) {
-  if (error.code == null) {
-    return Promise.reject(new Error('鏈嶅姟鍣ㄧ箒蹇欙紝璇风◢鍚庡啀璇�'))
-  }
-  if (error.code === 'ECONNABORTED' && error.message.indexOf('timeout') !== -1) {
-    return Promise.reject(new Error('鏈嶅姟鍣ㄥ搷搴旇秴鏃讹紝璇风◢鍚庡啀璇�'))
-  }
-  return Promise.reject(error)
-})
-
-// 缂撳瓨璇锋眰缁撴灉
-const buildCachePromise = (cacheKey, method, args, cacheImpl) => {
-  return {
-    __cacheImpl: cache[cacheImpl],
-    __arguments: args,
-    __result_promise: null,
-    // 寮�鍚紦瀛�
-    cache () {
-      const data = this.__cacheImpl.getJSON(cacheKey)
-      if (data != null) {
-        this.__result_promise = Promise.resolve(data)
-      }
-      if (this.__result_promise != null) {
-        return this.__result_promise
-      }
-      return this
-    },
-    then () {
-      return this.__access('then', arguments)
-    },
-    catch () {
-      return this.__access('catch', arguments)
-    },
-    finally () {
-      return this.__access('finally', arguments)
-    },
-    __access (methodName, args) {
-      if (this.__result_promise != null) {
-        return this.__result_promise
-      }
-      this.__result_promise = axiosInstance[method].apply(axiosInstance, this.__arguments)
-      this.__result_promise.then(data => {
-        this.__cacheImpl.setJSON(cacheKey, data)
-        return data
-      })
-      return this.__result_promise[methodName].apply(this.__result_promise, args)
-    }
-  }
-}
-const methods = ['get', 'post', 'delete', 'put', 'head', 'options', 'patch', 'request']
-axiosInstance.cache = function (cacheKey, isLocal = false) {
-  if (cacheKey == null) {
-    throw Error('Request cache key can not be null.')
-  }
-  const cacheAxiosInstance = {}
-  for (const method of methods) {
-    cacheAxiosInstance[method] = function () {
-      return buildCachePromise(cacheKey, method, arguments, isLocal ? 'local' : 'session')
-    }
-  }
-  return cacheAxiosInstance
-}
-
-export default axiosInstance
diff --git a/admin/.svn/pristine/fc/fcba030d5c1a9816bde30b46e4259d06be6ed0c1.svn-base b/admin/.svn/pristine/fc/fcba030d5c1a9816bde30b46e4259d06be6ed0c1.svn-base
deleted file mode 100644
index c9df637..0000000
--- a/admin/.svn/pristine/fc/fcba030d5c1a9816bde30b46e4259d06be6ed0c1.svn-base
+++ /dev/null
@@ -1,97 +0,0 @@
-<template>
-    <GlobalWindow
-      :title="title"
-      :visible.sync="visible"
-      :confirm-working="isWorking"
-      @confirm="confirm"
-    >
-      <el-form :model="form" ref="form" :rules="rules">
-        <el-form-item label="鍝佺墝鍚嶇О" prop="name">
-          <el-input v-model="form.name" maxlength="20" placeholder="璇疯緭鍏ワ紝涓嶈秴杩�20涓瓧绗�" v-trim/>
-        </el-form-item>
-        <el-form-item label="鍥炬爣" prop="imgurl">
-            <el-upload
-            :action="action"
-            :file-list="form.fileList"
-            :data="{ folder: 'projects' }"
-            list-type="picture-card"
-            :limit="1"
-            :on-success="fileSuccess"
-            :on-exceed="exceed"
-            :on-remove="handleRemove">
-            <i class="el-icon-plus"></i>
-            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶鍥剧墖鏍煎紡锛宲ng鏍煎紡锛屽缓璁昂瀵�200*200px</div>
-          </el-upload>
-        </el-form-item>
-        <el-form-item label="鎺掑簭鐮�" prop="sortnum">
-          <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
-        </el-form-item>
-      </el-form>
-    </GlobalWindow>
-  </template>
-  
-  <script>
-  import BaseOpera from '@/components/base/BaseOpera'
-  import GlobalWindow from '@/components/common/GlobalWindow'
-  export default {
-    name: 'OperaBrandWindow',
-    extends: BaseOpera,
-    components: { GlobalWindow },
-    data () {
-      return {
-        action: process.env.VUE_APP_API_PREFIX + '/public/uploadLocal',
-        // 琛ㄥ崟鏁版嵁
-        form: {
-          id: null,
-          name: '',
-          sortnum: '',
-          imgurl: '',
-          fileList: [],
-        },
-        // 楠岃瘉瑙勫垯
-        rules: {
-            name: [
-                { required: true, message: '涓嶈兘涓虹┖', trigger: 'blur' }
-            ]
-        }
-      }
-    },
-    created () {
-      this.config({
-        api: '/business/brand',
-        'field.id': 'id'
-      })
-    },
-    methods: {
-        fileSuccess(response) {
-            this.form.fileList.push({ imgaddr: response.data.imgaddr, url: response.data.url })
-            this.form.imgurl = response.data.imgaddr
-        },
-        handleRemove() {
-            this.form.fileList = []
-            this.form.imgurl = ''
-        },
-        exceed() {
-            this.$message.warning({
-                message: '鍙兘涓婁紶涓�涓浘鏍�'
-            })
-        }
-    },
-    watch: {
-      visible: {
-        handler(news, old) {
-          if (!news) {
-            this.form = {
-                id: null,
-                name: '',
-                sortnum: '',
-                imgurl: '',
-                fileList: [],
-            }
-          }
-        }
-      }
-    }
-  }
-  </script>
-  
\ No newline at end of file
diff --git a/admin/.svn/pristine/fe/fe01dead46bf52e3f197823a3e10f7a98d9df7c8.svn-base b/admin/.svn/pristine/fe/fe01dead46bf52e3f197823a3e10f7a98d9df7c8.svn-base
deleted file mode 100644
index e738f2d..0000000
--- a/admin/.svn/pristine/fe/fe01dead46bf52e3f197823a3e10f7a98d9df7c8.svn-base
+++ /dev/null
@@ -1,215 +0,0 @@
-<script>
-import BasePage from './BasePage'
-export default {
-  name: 'BaseTable',
-  extends: BasePage,
-  data () {
-    return {
-      // 鎺ュ彛
-      api: null,
-      // 妯″潡鍚嶇О
-      module: '鏁版嵁',
-      // 閰嶇疆鏁版嵁
-      configData: {
-        // id瀛楁
-        'field.id': 'id',
-        // 涓诲瓧娈�
-        'field.main': 'name'
-      },
-      // 鏄惁姝e湪鎵ц
-      isWorking: {
-        // 鎼滅储涓�
-        search: false,
-        // 鍒犻櫎涓�
-        delete: false,
-        // 瀵煎嚭涓�
-        export: false
-      },
-      // 琛ㄦ牸鏁版嵁
-      tableData: {
-        // 宸查�変腑鐨勬暟鎹�
-        selectedRows: [],
-        // 鎺掑簭鐨勫瓧娈�
-        sorts: [],
-        // 褰撳墠椤垫暟鎹�
-        list: [],
-        // 鍒嗛〉
-        pagination: {
-          pageIndex: 1,
-          pageSize: 10,
-          total: 0
-        }
-      }
-    }
-  },
-  methods: {
-    // 閰嶇疆
-    config (extParams) {
-      if (extParams == null) {
-        throw new Error('Parameter can not be null of method \'config\' .')
-      }
-      if (extParams.api == null) {
-        throw new Error('Missing config option \'api\'.')
-      }
-      this.api = require('@/api' + extParams.api)
-      extParams.module && (this.module = extParams.module)
-      extParams['field.id'] && (this.configData['field.id'] = extParams['field.id'])
-      extParams['field.main'] && (this.configData['field.main'] = extParams['field.main'])
-      this.tableData.sorts = extParams.sorts
-    },
-    // 鎼滅储
-    search () {
-      this.handlePageChange(1)
-    },
-    // 瀵煎嚭Excel
-    exportExcel () {
-      this.__checkApi()
-      this.$dialog.exportConfirm('纭瀵煎嚭鍚楋紵')
-        .then(() => {
-          this.isWorking.export = true
-          this.api.exportExcel({
-            page: this.tableData.pagination.pageIndex,
-            capacity: 1000000,
-            model: this.searchForm,
-            sorts: this.tableData.sorts
-          })
-            .then(response => {
-              this.download(response)
-            })
-            .catch(e => {
-              this.$tip.apiFailed(e)
-            })
-            .finally(() => {
-              this.isWorking.export = false
-            })
-        })
-        .catch(() => {})
-    },
-    // 鎼滅储妗嗛噸缃�
-    reset () {
-      this.$refs.searchForm.resetFields()
-      this.search()
-    },
-    // 姣忛〉鏄剧ず鏁伴噺鍙樻洿澶勭悊
-    handleSizeChange (pageSize) {
-      this.tableData.pagination.pageSize = pageSize
-      this.search()
-    },
-    // 琛岄�変腑澶勭悊
-    handleSelectionChange (selectedRows) {
-      this.tableData.selectedRows = selectedRows
-    },
-    // 鎺掑簭
-    handleSortChange (sortData) {
-      this.tableData.sorts = []
-      if (sortData.order != null) {
-        this.tableData.sorts.push({
-          property: sortData.column.sortBy,
-          direction: sortData.order === 'descending' ? 'DESC' : 'ASC'
-        })
-      }
-      this.handlePageChange()
-    },
-    // 椤电爜鍙樻洿澶勭悊
-    handlePageChange (pageIndex) {
-      this.__checkApi()
-      this.tableData.pagination.pageIndex = pageIndex || this.tableData.pagination.pageIndex
-      this.isWorking.search = true
-      this.api.fetchList({
-        page: this.tableData.pagination.pageIndex,
-        capacity: this.tableData.pagination.pageSize,
-        model: this.searchForm,
-        sorts: this.tableData.sorts
-      })
-        .then(data => {
-          this.tableData.list = data.records
-          this.tableData.pagination.total = data.total
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
-        .finally(() => {
-          this.isWorking.search = false
-        })
-    },
-    // 鍒犻櫎
-    deleteById (row, childConfirm = true) {
-      this.__checkApi()
-      let message = `纭鍒犻櫎${this.module}銆�${row[this.configData['field.main']]}銆戝悧?`
-      if (childConfirm && row.children != null && row.children.length > 0) {
-        message = `纭鍒犻櫎${this.module}銆�${row[this.configData['field.main']]}銆戝強鍏跺瓙${this.module}鍚�?`
-      }
-      this.$dialog.deleteConfirm(message)
-        .then(() => {
-          this.isWorking.delete = true
-          this.api.deleteById(row[this.configData['field.id']])
-            .then(() => {
-              this.$tip.apiSuccess('鍒犻櫎鎴愬姛')
-              this.__afterDelete()
-            })
-            .catch(e => {
-              this.$tip.apiFailed(e)
-            })
-            .finally(() => {
-              this.isWorking.delete = false
-            })
-        })
-        .catch(() => {})
-    },
-    /**
-     * 鎵归噺鍒犻櫎
-     * @treeMode 鏄惁娣诲姞瀛愯妭鐐瑰垹闄ょ‘璁�
-     */
-    deleteByIdInBatch (childConfirm = true) {
-      this.__checkApi()
-      if (this.tableData.selectedRows.length === 0) {
-        this.$tip.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�')
-        return
-      }
-      let message = `纭鍒犻櫎宸查�変腑鐨� ${this.tableData.selectedRows.length} 鏉�${this.module}璁板綍鍚�?`
-      if (childConfirm) {
-        const containChildrenRows = []
-        for (const row of this.tableData.selectedRows) {
-          if (row.children != null && row.children.length > 0) {
-            containChildrenRows.push(row[this.configData['field.main']])
-          }
-        }
-        if (containChildrenRows.length > 0) {
-          message = `鏈灏嗗垹闄�${this.module}銆�${containChildrenRows.join('銆�')}銆戝強鍏跺瓙${this.module}璁板綍锛岀‘璁ゅ垹闄ゅ悧锛焋
-        }
-      }
-      this.$dialog.deleteConfirm(message)
-        .then(() => {
-          this.isWorking.delete = true
-          this.api.deleteByIdInBatch(this.tableData.selectedRows.map(row => row.id).join(','))
-            .then(() => {
-              this.$tip.apiSuccess('鍒犻櫎鎴愬姛')
-              this.__afterDelete(this.tableData.selectedRows.length)
-            })
-            .catch(e => {
-              this.$tip.apiFailed(e)
-            })
-            .finally(() => {
-              this.isWorking.delete = false
-            })
-        })
-        .catch(() => {})
-    },
-    // 鍒犻櫎澶勭悊
-    __afterDelete (deleteCount = 1) {
-      // 鍒犻櫎褰撳墠椤垫渶鍚庝竴鏉¤褰曟椂鏌ヨ涓婁竴椤垫暟鎹�
-      if (this.tableData.list.length - deleteCount === 0) {
-        this.handlePageChange(this.tableData.pagination.pageIndex - 1 === 0 ? 1 : this.tableData.pagination.pageIndex - 1)
-      } else {
-        this.handlePageChange(this.tableData.pagination.pageIndex)
-      }
-    },
-    // 妫�鏌ユ帴鍙f槸鍚﹂厤缃�
-    __checkApi () {
-      if (this.api == null) {
-        throw new Error('The page is not initialized, you can use method \'this.config\' to initialize this page.')
-      }
-    }
-  }
-}
-</script>
diff --git a/admin/.svn/pristine/ff/ff111bb4fc5c6fc7629b33ec49ed3ff709b5ae3c.svn-base b/admin/.svn/pristine/ff/ff111bb4fc5c6fc7629b33ec49ed3ff709b5ae3c.svn-base
deleted file mode 100644
index 48fe811..0000000
--- a/admin/.svn/pristine/ff/ff111bb4fc5c6fc7629b33ec49ed3ff709b5ae3c.svn-base
+++ /dev/null
@@ -1,50 +0,0 @@
-<template>
-  <component :is="component" :value="values" :inline="false" @input="handleInput" multiple/>
-</template>
-
-<script>
-export default {
-  name: 'CustomSelect',
-  props: {
-    value: {},
-    businessCode: {
-      type: String,
-      required: true
-    }
-  },
-  computed: {
-    // vuetreeselect鍊肩被鍨嬪尮閰嶏紙瑙e喅缂栬緫鏃舵棤娉曞垹闄ゅ凡鏈夊�肩殑BUG锛�
-    values () {
-      if (this.businessCode === 'DEPARTMENT' || this.businessCode === 'POSITION') {
-        const values = []
-        for (const id of this.value) {
-          values.push(parseInt(id))
-        }
-        return values
-      }
-      return this.value
-    },
-    component () {
-      // 閮ㄩ棬閫夋嫨鍣�
-      if (this.businessCode === 'DEPARTMENT') {
-        return () => import('@/components/common/DepartmentSelect')
-      }
-      // 宀椾綅閫夋嫨鍣�
-      if (this.businessCode === 'POSITION') {
-        return () => import('@/components/common/PositionSelect')
-      }
-      return null
-    }
-  },
-  methods: {
-    handleInput (value) {
-      this.$emit('input', value)
-      this.$emit('change', value)
-    }
-  }
-}
-</script>
-
-<style scoped>
-
-</style>
diff --git a/admin/.svn/pristine/ff/ff5a2ef118eefe63cc5b72d068933e6e36a54fc2.svn-base b/admin/.svn/pristine/ff/ff5a2ef118eefe63cc5b72d068933e6e36a54fc2.svn-base
deleted file mode 100644
index fc2efdf..0000000
--- a/admin/.svn/pristine/ff/ff5a2ef118eefe63cc5b72d068933e6e36a54fc2.svn-base
+++ /dev/null
@@ -1,67 +0,0 @@
-<!-- 缁勪欢璇︽儏璇峰弬闃呭畼鏂规枃妗o細https://www.vue-treeselect.cn/ -->
-<template>
-  <vue-tree-select
-    :class="{inline}"
-    :placeholder="placeholder"
-    :value="value"
-    :options="data"
-    :clearable="clearable"
-    :flat="flat"
-    :append-to-body="appendToBody"
-    :multiple="multiple"
-    no-children-text="鏃犺褰�"
-    no-options-text="鏃犺褰�"
-    no-results-text="鏈尮閰嶅埌鏁版嵁"
-    @input="$emit('input', $event)"
-  />
-</template>
-
-<script>
-import VueTreeSelect from '@riophae/vue-treeselect'
-import '@riophae/vue-treeselect/dist/vue-treeselect.css'
-export default {
-  name: 'TreeSelect',
-  props: {
-    inline: {
-      default: false
-    },
-    multiple: {
-      default: false
-    },
-    flat: {
-      default: false
-    },
-    value: {},
-    placeholder: {
-      default: '璇烽�夋嫨'
-    },
-    // 鏄惁鍙竻绌�
-    clearable: {
-      default: false
-    },
-    data: {
-      type: Array,
-      required: true
-    },
-    appendToBody: {
-      default: false
-    }
-  },
-  components: { VueTreeSelect }
-}
-</script>
-
-<style scoped lang="scss">
-  .inline {
-    width: 178px;
-  }
-  .vue-treeselect {
-    line-height: 30px;
-    /deep/ .vue-treeselect__control {
-      height: 32px;
-      .vue-treeselect__single-value {
-        line-height: 30px;
-      }
-    }
-  }
-</style>
diff --git a/admin/.svn/wc.db b/admin/.svn/wc.db
deleted file mode 100644
index b40b03a..0000000
--- a/admin/.svn/wc.db
+++ /dev/null
Binary files differ
diff --git a/admin/.svn/wc.db-journal b/admin/.svn/wc.db-journal
deleted file mode 100644
index e69de29..0000000
--- a/admin/.svn/wc.db-journal
+++ /dev/null

--
Gitblit v1.9.3