From 267994c339349b98b70990df26446dff596d3f35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=94=E6=9C=A8=E8=80=81=E7=A5=96?= Date: Wed, 6 Jan 2021 22:43:27 +0800 Subject: [PATCH] Refactor --- Dockerfile | 43 - MareWood.go | 66 +- README.md | 226 +- config.json | 12 +- config/main.go | 2 +- config/systemConfig.go | 44 +- config/userConfig.go | 18 +- controller/category.go | 232 +- controller/commitRecord.go | 142 +- controller/repository.go | 12 +- controller/system.go | 38 +- controller/{job.go => task.go} | 88 +- controller/user.go | 432 +- controller/webHook.go | 4 +- controller/websocket.go | 64 +- docker-run.sh | 10 - go.sum | 308 +- helper/common.go | 170 +- helper/gitUrlHelper.go | 68 +- middlewares/cors.go | 48 +- middlewares/jwt.go | 70 +- middlewares/role.go | 216 +- models/category.go | 22 +- models/common.go | 2 +- models/repository.go | 8 +- models/{job.go => task.go} | 74 +- models/user.go | 170 +- models/websocket.go | 96 +- preview/category.png | Bin 163697 -> 0 bytes preview/dashboard.png | Bin 77906 -> 0 bytes preview/jobs.png | Bin 231829 -> 0 bytes preview/repo.png | Bin 245541 -> 118975 bytes preview/task.png | Bin 0 -> 147438 bytes public/.env.dev | 2 +- public/.env.devtest | 2 +- public/.env.pre | 2 +- public/.env.test | 2 +- public/.gitignore | 64 +- public/README.md | 4 +- public/package.json | 92 +- public/public/index.html | 88 +- public/public/manifest.json | 50 +- public/public/robots.txt | 4 +- public/src/App.js | 106 +- public/src/api/category.js | 104 +- public/src/api/repository.js | 340 +- public/src/api/system.js | 28 +- public/src/api/task.js | 210 +- public/src/api/user.js | 132 +- public/src/assets/font/font.css | 504 +- public/src/assets/font/icon.css | 46 +- public/src/assets/img/logo.svg | 84 +- public/src/assets/jss/common.js | 20 +- public/src/assets/style/style.scss | 104 +- public/src/assets/style/variables.scss | 4 +- public/src/components/copyright.js | 34 +- public/src/components/detailsPanel.js | 196 +- public/src/components/editField.js | 286 +- public/src/components/helperTooltips.js | 42 +- public/src/components/searchBox.js | 182 +- public/src/components/snackbar/index.js | 44 +- public/src/components/snackbar/snackbar.js | 120 +- .../snackbar/snackbarContentWrapper.js | 172 +- .../components/snackbar/snackbarInstance.js | 14 +- public/src/config/index.js | 22 +- public/src/config/url.js | 72 +- public/src/i18n/en-US.json | 243 +- public/src/i18n/zh-CN.json | 244 +- public/src/index.js | 40 +- public/src/router/route.js | 98 +- public/src/serviceWorker.js | 270 +- public/src/utils/busEvents.js | 24 +- public/src/utils/dataStorage.js | 90 +- public/src/utils/request.js | 118 +- public/src/utils/websocket.js | 77 +- public/src/views/category/edit.js | 162 +- public/src/views/category/index.js | 568 +- public/src/views/dashboard/index.js | 166 +- public/src/views/error/404.js | 36 +- public/src/views/layout/admin.scss | 76 +- public/src/views/layout/index.js | 184 +- public/src/views/layout/lang.js | 120 +- public/src/views/layout/notice.js | 192 +- public/src/views/layout/search.js | 86 +- public/src/views/layout/searchFloatInput.js | 186 +- public/src/views/layout/topBar.js | 200 +- public/src/views/login/index.js | 298 +- public/src/views/register/index.js | 226 +- public/src/views/repository/edit.js | 316 +- public/src/views/repository/index.js | 262 +- .../src/views/repository/repositoryStatus.js | 76 +- .../src/views/repository/repositoryTable.js | 784 +- .../views/repository/repositoryTaskStatus.js | 57 +- public/src/views/task/addTask/edit.js | 376 +- public/src/views/task/addTask/index.js | 132 +- public/src/views/task/categoriesTable.js | 1174 +- public/src/views/task/index.js | 284 +- public/src/views/task/switchBranchDialog.js | 150 +- public/src/views/task/taskStatus.js | 106 +- public/src/views/users/index.js | 278 +- public/src/views/users/roleDesc.js | 48 +- public/yarn.lock | 22784 ++++++++-------- routes/main.go | 18 +- service/serviceConfig/checkEnvAndInitDir.go | 114 +- service/serviceRepository/depend.go | 40 +- service/serviceRepository/packageJson.go | 72 +- service/serviceRepository/repository.go | 310 +- .../job.go => serviceTask/task.go} | 54 +- service/serviceUser/broadcast.go | 46 +- service/serviceUser/jwt.go | 100 +- sql/db.go | 42 +- 111 files changed, 18578 insertions(+), 18610 deletions(-) delete mode 100644 Dockerfile rename controller/{job.go => task.go} (77%) delete mode 100755 docker-run.sh rename models/{job.go => task.go} (54%) delete mode 100644 preview/category.png delete mode 100644 preview/dashboard.png delete mode 100644 preview/jobs.png create mode 100644 preview/task.png rename service/{serviceJob/job.go => serviceTask/task.go} (53%) diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 6de73e1..0000000 --- a/Dockerfile +++ /dev/null @@ -1,43 +0,0 @@ -FROM node:lts-alpine as FPack-base -RUN apk add --no-cache git build-base -WORKDIR /marewood-f - -FROM FPack-base as FBuild-vendor-pre -COPY public/package.json /marewood-f/package.json -RUN node -pe '(d=`dependencies`,dd=`devDependencies`,p=`./package.json`,JSON.stringify({[d]:require(p)[d],[dd]:require(p)[dd]},null,2))' >pkg-build-deps.json - -FROM FPack-base as FBuild-vendor-build -COPY public/yarn.lock /marewood-f/yarn.lock -COPY --from=FBuild-vendor-pre /marewood-f/pkg-build-deps.json /marewood-f/package.json -RUN yarn install - -FROM FPack-base as FBuild -COPY public /marewood-f -COPY --from=FBuild-vendor-build /marewood-f/node_modules /marewood-f/node_modules -ENV REACT_APP_API_URL=/ -RUN yarn build - -FROM golang:1.13-alpine as Build-pre -WORKDIR /marewood -COPY . /marewood -RUN rm -rf public docker-run.sh - -FROM golang:1.13-alpine as Build -RUN apk add --no-cache git build-base -WORKDIR /marewood -COPY --from=Build-pre /marewood /marewood -RUN go build -mod=vendor -o marewood - -FROM node:lts-alpine -RUN apk add --no-cache git -WORKDIR /marewood/data -COPY --from=Build /marewood/marewood /marewood/marewood -COPY --from=FBuild /marewood-f/build /marewood/public/build -COPY docker-run.sh /marewood/docker-run.sh -RUN chmod +x /marewood/docker-run.sh -ENV LogMode=true \ - GinMode=debug \ - HttpPort=8081 \ - AddressUrl=http://localhost:8081 \ - ClientDir=/marewood/public/build -CMD [ "/marewood/docker-run.sh" ] diff --git a/MareWood.go b/MareWood.go index 409d7e0..acfcdcc 100644 --- a/MareWood.go +++ b/MareWood.go @@ -1,33 +1,33 @@ -package main - -import ( - "MareWood/config" - "MareWood/models" - "MareWood/routes" - "MareWood/service/serviceConfig" - "MareWood/sql" - "log" -) - -func main() { - - err := serviceConfig.CheckEnvAndInitDir() - if err != nil { - log.Printf("检查命令工具或者初始化目录失败!") - log.Printf("请安装git和node以及在.env配置里所有前端依赖安装工具") - log.Fatal(err) - } - - sql.InitDb() - defer sql.DB.Close() - - models.AutoMigrate() - go models.BroadcastMessages() - - r := routes.InitRouter() - - err = r.Run(":" + config.Cfg.HttpPort) - if err != nil { - panic(err) - } -} +package main + +import ( + "MareWood/config" + "MareWood/models" + "MareWood/routes" + "MareWood/service/serviceConfig" + "MareWood/sql" + "log" +) + +func main() { + + err := serviceConfig.CheckEnvAndInitDir() + if err != nil { + log.Printf("检查命令工具或者初始化目录失败!") + log.Printf("请安装git和node以及在.env配置里所有前端依赖安装工具") + log.Fatal(err) + } + + sql.InitDb() + defer sql.DB.Close() + + models.AutoMigrate() + go models.BroadcastMessages() + + r := routes.InitRouter() + + err = r.Run(":" + config.Cfg.HttpPort) + if err != nil { + panic(err) + } +} diff --git a/README.md b/README.md index efb62de..2d8cbb7 100644 --- a/README.md +++ b/README.md @@ -1,113 +1,113 @@ -
- -
-
- - - - - - - -
- -![Job](preview/jobs.png) -![Repo](preview/repo.png) -![Category](preview/category.png) -# MareWood ->MareWood 是一个轻量级的前端部署工具,使用了 GOLANG、GIN、GORM、JWT、WEBSOCKET、SQLITE、REACT、MATERIAL-UI 开发, -不同于 Jenkins 的大而全,它很简单且只针对前端,你可以很灵活的配置各种部署环境。 -如果你愿意,线上发布也可以是点击一下按钮这么简单的事情,当然也可以配置 WEBHOOK,提交 GIT 代码既自动发布。 - - -# MareWood 在做什么 -MareWood 可以帮你克隆前端仓库并使用你选择的工具安装依赖,并能在同一个仓库下通过不同的任务不同的打包命令和不同的分支打包出多个环境下的前端资源并放在 resources\webs 下,通过任务 ID 一一对应,并提供快捷访问,超级简单好用灵活。 - - -# 使用 - -用户使用: 1.填入仓库地址->2.可以新建多个任务关联此仓库->3.点击打包等待完成即可访问。 -> 任务一旦生成,可以随时切换分支打包。 - - -服务搭建: -- 服务器请先安装 git、node、npm,建议同时安装 cnpm 和 yarn 以供选择。 -- 修改 config.json 来配置 MareWood 启动的端口号、域名、和支持的前端工具。 -- 进入 public 目录安装前端依赖并打包生成build文件夹。 -- 编译 MareWood 并放入后台运行。 - -其他:MareWood 提供 http 访问,建议 nginx 提供 https 静态文件服务器(nginx指向resources\webs ,配置好你的 OtherAddressUrl 字段,可留空)这样可以灵活的选择 http 或者 https 去访问打包的前端项目。 - - -那么,一个 React 或者 Vue 项目如何配置多个打包命令呢?请移步 -http://xusenlin.com/article?key=iQBftC -如果不明白也可以参考实际的项目 - -- https://github.com/xusenlin/VueMultiplePages.git -- https://github.com/xusenlin/VueElementUiAdmin.git - -# 角色 - -角色目前分为超级管理员、管理员、开发者、项目记者。权限如下: - -- 项目记者 - 只能查看所有内容,并且可以访问打包好的前端项目 -- 开发者 - 拥有创建仓库、分类、任务和拉代码、切换分支、运行打包、删除依赖、裁剪分支权限 -- 管理员 - 可以删除仓库、分类、任务 -- 超级管理员 -可以管理用户(提升和降级角色,删除用户) - -注:等级高的角色拥有低级角色的全部权限。用户注册默认成为项目记者,如果注册的名字是 Admin 会自动成为超级管理员,注册名字不可重复。 - -# 更新日志 -### v0.40 -* 添加在线人数显示 (2021-01-05) -* 添加国际化支持(2021-01-05) -* 添加任务可快速定位到对应仓库 (2020-12-31) -* webhook支持post或者get请求 (2020-12-30) -* 重构了前端任务的部分代码 (2020-12-30) -* 优化了搜索栏,添加分类可搜索 (2020-12-30) -* 添加了websocket通知记录 (2020-12-30) - -### v0.30 -* @wenbiyou 添加了任务和仓库的搜索功能 (2020-12-07) -* 添加了 websocket 重试机制 -* @wojiaolingdu111 添加了仓库重建功能 -* 添加了 websocket 广播,每个仓库和任务状态实时同步所有人。 -* 优化了接口请求加载动画禁止页面操作。 -* 添加了查看用户提交代码记录的功能。 - -### v0.20 -* 添加丢弃本地仓库变动的功能 (2020-07-23) -* 修复运行老的任务分支不存在的 BUG (2020-06-25) -* 可以快捷修改更多字段和添加任务分页 -* 缩短必要时的任务查询时间,完成打包及时知道 -* 将任务密码重构为任务加锁解锁(多人协作时方便锁定任务,但是密码是透明的) -* 修复了裁剪分支和新建仓库不刷新相关BUG -* 设计了 MareWood 的矢量 logo -* 删除了读取的 dev 打包命令 -* 设置 Token 失效时间为 10H -* 添加了裁剪分支的功能,可以手动保持和远程分支一致 - -### v0.12 -* 添加用户和权限控制模块 -* 可以快速修改仓库、分类、任务描述 -* 优化和重构了大部分前后端代码 -* 优化了前端界面UI -* 修复了一部分代码的隐藏 BUG - -### v0.10 -* 仪表盘的关键信息展示 -* 仓库列表的相关功能(克隆、锁定、更新代码、删除依赖、依赖工具、删除仓库等功能) -* 任务分类(除了按照打包环境分类也可以按照 后台管理、H5活动、M站等自由发挥) -* 部署任务(同一个前端仓库可以新建多个部署任务,每个部署任务可以任意分支任意命令打包并提供访问) - - - -# 番外 - -MareWood 翻译过来是 玛瑞·伍德 看上去像是一个人的名字,其实它是代表两个人,一个咒语。 - - - -# License - -MIT © Richard McRichface +
+ +
+
+ + + + + + + +
+ +![Task](preview/task.png) +![Repo](preview/repo.png) +# MareWood +>MareWood 是一个轻量级的前端部署工具,使用了 GOLANG、GIN、GORM、JWT、WEBSOCKET、SQLITE、REACT、MATERIAL-UI 开发, +不同于 Jenkins 的大而全,它很简单且只针对前端,你可以很灵活的配置各种部署环境。 +如果你愿意,线上发布也可以是点击一下按钮这么简单的事情,当然也可以配置 WEBHOOK,提交 GIT 代码既自动发布。 + + +# MareWood 在做什么 +MareWood 可以帮你克隆前端仓库并使用你选择的工具安装依赖,并能在同一个仓库下通过不同的任务不同的打包命令和不同的分支打包出多个环境下的前端资源并放在 resources\webs 下,通过任务 ID 一一对应,并提供快捷访问,超级简单好用灵活。 + + +# 使用 + +用户使用: 1.填入仓库地址->2.可以新建多个任务关联此仓库->3.点击打包等待完成即可访问。 +> 任务一旦生成,可以随时切换分支打包。 + + +服务搭建: +- 服务器请先安装 git、node、npm,建议同时安装 cnpm 和 yarn 以供选择。 +- 修改 config.json 来配置 MareWood 启动的端口号、域名、和支持的前端工具。 +- 进入 public 目录安装前端依赖并打包生成build文件夹。 +- 编译 MareWood 并放入后台运行。 + +其他:MareWood 提供 http 访问,建议 nginx 提供 https 静态文件服务器(nginx指向resources\webs ,配置好你的 OtherAddressUrl 字段,可留空)这样可以灵活的选择 http 或者 https 去访问打包的前端项目。 + + +那么,一个 React 或者 Vue 项目如何配置多个打包命令呢?请移步 +http://xusenlin.com/article?key=iQBftC +如果不明白也可以参考实际的项目 + +- https://github.com/xusenlin/VueMultiplePages.git +- https://github.com/xusenlin/VueElementUiAdmin.git + +# 角色 + +角色目前分为超级管理员、管理员、开发者、项目记者。权限如下: + +- 项目记者 - 只能查看所有内容,并且可以访问打包好的前端项目 +- 开发者 - 拥有创建仓库、分类、任务和拉代码、切换分支、运行打包、删除依赖、裁剪分支权限 +- 管理员 - 可以删除仓库、分类、任务 +- 超级管理员 -可以管理用户(提升和降级角色,删除用户) + +注:等级高的角色拥有低级角色的全部权限。用户注册默认成为项目记者,如果注册的名字是 Admin 会自动成为超级管理员,注册名字不可重复。 + +# 更新日志 +### v0.40 +(此版本升级需要将jobs表修改为tasks,仓库表的字段job_status修改为task_status,分类表job_quantity修改为task_quantity) +* 添加在线人数显示 (2021-01-05) +* 添加国际化支持(2021-01-05) +* 添加任务可快速定位到对应仓库 (2020-12-31) +* webhook支持post或者get请求 (2020-12-30) +* 重构了前端任务的部分代码 (2020-12-30) +* 优化了搜索栏,添加分类可搜索 (2020-12-30) +* 添加了websocket通知记录 (2020-12-30) + +### v0.30 +* @wenbiyou 添加了任务和仓库的搜索功能 (2020-12-07) +* 添加了 websocket 重试机制 +* @wojiaolingdu111 添加了仓库重建功能 +* 添加了 websocket 广播,每个仓库和任务状态实时同步所有人。 +* 优化了接口请求加载动画禁止页面操作。 +* 添加了查看用户提交代码记录的功能。 + +### v0.20 +* 添加丢弃本地仓库变动的功能 (2020-07-23) +* 修复运行老的任务分支不存在的 BUG (2020-06-25) +* 可以快捷修改更多字段和添加任务分页 +* 缩短必要时的任务查询时间,完成打包及时知道 +* 将任务密码重构为任务加锁解锁(多人协作时方便锁定任务,但是密码是透明的) +* 修复了裁剪分支和新建仓库不刷新相关BUG +* 设计了 MareWood 的矢量 logo +* 删除了读取的 dev 打包命令 +* 设置 Token 失效时间为 10H +* 添加了裁剪分支的功能,可以手动保持和远程分支一致 + +### v0.12 +* 添加用户和权限控制模块 +* 可以快速修改仓库、分类、任务描述 +* 优化和重构了大部分前后端代码 +* 优化了前端界面UI +* 修复了一部分代码的隐藏 BUG + +### v0.10 +* 仪表盘的关键信息展示 +* 仓库列表的相关功能(克隆、锁定、更新代码、删除依赖、依赖工具、删除仓库等功能) +* 任务分类(除了按照打包环境分类也可以按照 后台管理、H5活动、M站等自由发挥) +* 部署任务(同一个前端仓库可以新建多个部署任务,每个部署任务可以任意分支任意命令打包并提供访问) + + + +# 番外 + +MareWood 翻译过来是 玛瑞·伍德 看上去像是一个人的名字,其实它是代表两个人,一个咒语。 + + + +# License + +MIT © Richard McRichface diff --git a/config.json b/config.json index 0452a7a..4864f46 100644 --- a/config.json +++ b/config.json @@ -1,7 +1,7 @@ -{ - "HttpPort": "8088", - "GinMode": "debug", - "DependTools": ["npm","yarn"], - "LogMode": true, - "OtherAddressUrl" : ["https://you-url.com"] +{ + "HttpPort": "8088", + "GinMode": "debug", + "DependTools": ["npm","yarn"], + "LogMode": true, + "OtherAddressUrl" : ["https://you-url.com"] } \ No newline at end of file diff --git a/config/main.go b/config/main.go index 04a5b86..c40e823 100644 --- a/config/main.go +++ b/config/main.go @@ -36,7 +36,7 @@ func init() { ClientDir = systemCfg.CurrentDir + "/public/build" } - systemCfg.Version = 0.4 + systemCfg.Version = 0.40 systemCfg.AppName = "MareWood" systemCfg.AppRepository = "https://github.com/xusenlin/MareWood" systemCfg.DbDns = systemCfg.CurrentDir + "/database.db" diff --git a/config/systemConfig.go b/config/systemConfig.go index b4da649..666ced0 100644 --- a/config/systemConfig.go +++ b/config/systemConfig.go @@ -1,22 +1,22 @@ -package config - -type systemConfig struct { - DbDns string - Version float32 - AppName string - CurrentDir string - AppRepository string - RepositoryDir string - ResourcesDir string - WebRootDir string - ClientDir string - WebHookUrl string - WebsUrl string -} - - - - - - - +package config + +type systemConfig struct { + DbDns string + Version float32 + AppName string + CurrentDir string + AppRepository string + RepositoryDir string + ResourcesDir string + WebRootDir string + ClientDir string + WebHookUrl string + WebsUrl string +} + + + + + + + diff --git a/config/userConfig.go b/config/userConfig.go index d9ce2dc..3e2e5e9 100644 --- a/config/userConfig.go +++ b/config/userConfig.go @@ -1,9 +1,9 @@ -package config - -type userConfig struct { - GinMode string - HttpPort string - DependTools []string - LogMode bool - OtherAddressUrl []string -} +package config + +type userConfig struct { + GinMode string + HttpPort string + DependTools []string + LogMode bool + OtherAddressUrl []string +} diff --git a/controller/category.go b/controller/category.go index c768a72..c2b3a12 100644 --- a/controller/category.go +++ b/controller/category.go @@ -1,116 +1,116 @@ -package controller - -import ( - "MareWood/models" - "MareWood/service/serviceUser" - "github.com/gin-gonic/gin" - "net/http" -) - -func CategoryFindAll(c *gin.Context) { - - name := c.Query("name") - result, err := new(models.Category).CategoryFindAll(name) - - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": err.Error(), - "msg": "Database query error", - }) - return - } - - c.JSON(http.StatusOK, gin.H{ - "status": true, - "data": result, - "msg": "search successful", - }) - -} - -func CategoryCreate(c *gin.Context) { - - var category models.Category - - if err := c.ShouldBindJSON(&category); err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - return - } - - err := category.Create() - - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": err.Error(), - "msg": "Database creation error", - }) - return - } - - c.JSON(http.StatusOK, gin.H{ - "status": true, - "data": "", - "msg": "Created successfully", - }) -} - -func CategoryUpdateField(c *gin.Context) { - - id := c.Query("id") - field := c.Query("field") - fieldContent := c.Query("fieldContent") - - err := new(models.Category).UpdateFieldContent(id, field, fieldContent) - - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - return - } - - c.JSON(http.StatusOK, gin.H{ - "status": true, - "data": id, - "msg": "update completed", - }) -} - -func CategoryDestroy(c *gin.Context) { - - id := c.Query("id") - - err := new(models.Category).Destroy(id) - - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": id, - "msg": err.Error(), - }) - return - } - claims, _ := serviceUser.GetJwtClaimsByContext(c) - msg := models.Message{ - Type: models.MsgTypeInfo, - TriggerID: claims.ID, - TriggerUsername: claims.Username, - Message: "“" + claims.Username + "”deleted the category", - } - models.Broadcast <- msg - - c.JSON(http.StatusOK, gin.H{ - "status": true, - "data": id, - "msg": "successfully deleted", - }) - -} +package controller + +import ( + "MareWood/models" + "MareWood/service/serviceUser" + "github.com/gin-gonic/gin" + "net/http" +) + +func CategoryFindAll(c *gin.Context) { + + name := c.Query("name") + result, err := new(models.Category).CategoryFindAll(name) + + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": err.Error(), + "msg": "Database query error", + }) + return + } + + c.JSON(http.StatusOK, gin.H{ + "status": true, + "data": result, + "msg": "search successful", + }) + +} + +func CategoryCreate(c *gin.Context) { + + var category models.Category + + if err := c.ShouldBindJSON(&category); err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + return + } + + err := category.Create() + + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": err.Error(), + "msg": "Database creation error", + }) + return + } + + c.JSON(http.StatusOK, gin.H{ + "status": true, + "data": "", + "msg": "Created successfully", + }) +} + +func CategoryUpdateField(c *gin.Context) { + + id := c.Query("id") + field := c.Query("field") + fieldContent := c.Query("fieldContent") + + err := new(models.Category).UpdateFieldContent(id, field, fieldContent) + + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + return + } + + c.JSON(http.StatusOK, gin.H{ + "status": true, + "data": id, + "msg": "update completed", + }) +} + +func CategoryDestroy(c *gin.Context) { + + id := c.Query("id") + + err := new(models.Category).Destroy(id) + + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": id, + "msg": err.Error(), + }) + return + } + claims, _ := serviceUser.GetJwtClaimsByContext(c) + msg := models.Message{ + Type: models.MsgTypeInfo, + TriggerID: claims.ID, + TriggerUsername: claims.Username, + Message: "“" + claims.Username + "”deleted the category", + } + models.Broadcast <- msg + + c.JSON(http.StatusOK, gin.H{ + "status": true, + "data": id, + "msg": "successfully deleted", + }) + +} diff --git a/controller/commitRecord.go b/controller/commitRecord.go index a0d9922..39399e3 100644 --- a/controller/commitRecord.go +++ b/controller/commitRecord.go @@ -1,71 +1,71 @@ -package controller - -import ( - "MareWood/service/serviceRepository" - "github.com/gin-gonic/gin" - "net/http" -) - -//const commitFormat string = `--pretty=format:{ -// "commit": "%H", -// "parent": "%P", -// "refs": "%D", -// "subject": "%s", -// "author": { "name": "%aN", "email": "%aE", "date": "%ad" }, -// "committer": { "name": "%cN", "email": "%cE", "date": "%cd" } -// },` - -//type GitPerson struct { -// Name string `json:"name"` -// Email string `json:"email"` -// Date *time.Time `json:"date"` -//} -//type GitCommit struct { -// Commit string `json:"commit"` -// Parent string `json:"parent"` -// Refs string `json:"refs"` -// Subject string `json:"subject"` -// Author GitPerson `json:"author"` -// Committer GitPerson `json:"committer"` -//} - -func CommitRecord(c *gin.Context) { - id := c.Query("id") - - args := []string{ - "log", - "-4", - //"--date=iso-strict", - "--first-parent", - } - - logOut , err := serviceRepository.RunCmdOnRepositoryDir(id,"git",args...) - - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - return - } - - //logOut = logOut[:len(logOut)-1] // Remove the last "," - //logOut = fmt.Sprintf("[%s]", logOut) // Add [] - - //var gitCommitList []GitCommit - //err = json.Unmarshal([]byte(logOut), &gitCommitList) - //if err != nil { - // c.JSON(http.StatusOK, gin.H{ - // "status": false, - // "data": "", - // "msg": err.Error(), - // }) - // return - //} - c.JSON(http.StatusOK, gin.H{ - "status": true, - "data": logOut, - "msg": "search successful", - }) -} +package controller + +import ( + "MareWood/service/serviceRepository" + "github.com/gin-gonic/gin" + "net/http" +) + +//const commitFormat string = `--pretty=format:{ +// "commit": "%H", +// "parent": "%P", +// "refs": "%D", +// "subject": "%s", +// "author": { "name": "%aN", "email": "%aE", "date": "%ad" }, +// "committer": { "name": "%cN", "email": "%cE", "date": "%cd" } +// },` + +//type GitPerson struct { +// Name string `json:"name"` +// Email string `json:"email"` +// Date *time.Time `json:"date"` +//} +//type GitCommit struct { +// Commit string `json:"commit"` +// Parent string `json:"parent"` +// Refs string `json:"refs"` +// Subject string `json:"subject"` +// Author GitPerson `json:"author"` +// Committer GitPerson `json:"committer"` +//} + +func CommitRecord(c *gin.Context) { + id := c.Query("id") + + args := []string{ + "log", + "-4", + //"--date=iso-strict", + "--first-parent", + } + + logOut , err := serviceRepository.RunCmdOnRepositoryDir(id,"git",args...) + + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + return + } + + //logOut = logOut[:len(logOut)-1] // Remove the last "," + //logOut = fmt.Sprintf("[%s]", logOut) // Add [] + + //var gitCommitList []GitCommit + //err = json.Unmarshal([]byte(logOut), &gitCommitList) + //if err != nil { + // c.JSON(http.StatusOK, gin.H{ + // "status": false, + // "data": "", + // "msg": err.Error(), + // }) + // return + //} + c.JSON(http.StatusOK, gin.H{ + "status": true, + "data": logOut, + "msg": "search successful", + }) +} diff --git a/controller/repository.go b/controller/repository.go index d729ac7..0ed4dd6 100644 --- a/controller/repository.go +++ b/controller/repository.go @@ -121,9 +121,9 @@ func RepositoryDestroy(c *gin.Context) { id := c.Query("id") - var jobCount int + var taskCount int - if sql.DB.Model(&models.Job{}).Where("repository_id = ?", id).Count(&jobCount).Error != nil { + if sql.DB.Model(&models.Task{}).Where("repository_id = ?", id).Count(&taskCount).Error != nil { c.JSON(http.StatusOK, gin.H{ "status": false, "data": id, @@ -131,11 +131,11 @@ func RepositoryDestroy(c *gin.Context) { }) } - if jobCount > 0 { + if taskCount > 0 { c.JSON(http.StatusOK, gin.H{ "status": false, - "data": jobCount, - "msg": "Unable to delete, there are " + strconv.Itoa(jobCount) + " tasks using this repository", + "data": taskCount, + "msg": "Unable to delete, there are " + strconv.Itoa(taskCount) + " tasks using this repository", }) return } @@ -362,7 +362,7 @@ func RepositoryReset(c *gin.Context) { }) return } - if repo.JobStatus != models.RepoJobStatusLeisured { + if repo.TaskStatus != models.RepoTaskStatusLeisured { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", diff --git a/controller/system.go b/controller/system.go index c4b4091..ddde12f 100644 --- a/controller/system.go +++ b/controller/system.go @@ -1,19 +1,19 @@ -package controller - -import ( - "MareWood/config" - "github.com/gin-gonic/gin" - "net/http" -) - -func SystemInfo(c *gin.Context) { - - c.JSON(http.StatusOK, gin.H{ - "status": true, - "data": map[string]interface{}{ - "kvConfig": config.Cfg, - "detailsConfig": config.GetSysInfo(), - }, - "msg": "search successful", - }) -} +package controller + +import ( + "MareWood/config" + "github.com/gin-gonic/gin" + "net/http" +) + +func SystemInfo(c *gin.Context) { + + c.JSON(http.StatusOK, gin.H{ + "status": true, + "data": map[string]interface{}{ + "kvConfig": config.Cfg, + "detailsConfig": config.GetSysInfo(), + }, + "msg": "search successful", + }) +} diff --git a/controller/job.go b/controller/task.go similarity index 77% rename from controller/job.go rename to controller/task.go index b2601d3..99c164e 100644 --- a/controller/job.go +++ b/controller/task.go @@ -2,7 +2,7 @@ package controller import ( "MareWood/models" - "MareWood/service/serviceJob" + "MareWood/service/serviceTask" "MareWood/service/serviceUser" "MareWood/sql" "net/http" @@ -12,9 +12,9 @@ import ( "github.com/gin-gonic/gin" ) -func JobFindAll(c *gin.Context) { +func TaskFindAll(c *gin.Context) { - result, err := new(models.Job).FindAll() + result, err := new(models.Task).FindAll() if err != nil { c.JSON(http.StatusOK, gin.H{ @@ -33,7 +33,7 @@ func JobFindAll(c *gin.Context) { } -func JobFind(c *gin.Context) { +func TaskFind(c *gin.Context) { name := c.Query("name") @@ -54,12 +54,12 @@ func JobFind(c *gin.Context) { if err2 != nil { pageSize = 8 } - var result models.JobPageResult + var result models.TaskPageResult if strings.HasPrefix(name, "id:") { - result, err = models.FindJob("", pageNum, pageSize, + result, err = models.FindTask("", pageNum, pageSize, map[string]interface{}{"id": strings.TrimLeft(name, "id:"),"category_id": categoryId}) } else { - result, err = models.FindJob(name, pageNum, pageSize, map[string]interface{}{"category_id": categoryId}) + result, err = models.FindTask(name, pageNum, pageSize, map[string]interface{}{"category_id": categoryId}) } if err != nil { @@ -79,10 +79,10 @@ func JobFind(c *gin.Context) { } -func JobCreate(c *gin.Context) { +func TaskCreate(c *gin.Context) { - var job models.Job - err := c.ShouldBindJSON(&job) + var task models.Task + err := c.ShouldBindJSON(&task) if err != nil { c.JSON(http.StatusOK, gin.H{ @@ -93,7 +93,7 @@ func JobCreate(c *gin.Context) { return } - err = job.Create() + err = task.Create() if err != nil { c.JSON(http.StatusOK, gin.H{ "status": false, @@ -103,7 +103,7 @@ func JobCreate(c *gin.Context) { return } - err = new(models.Category).CategoryJobQuantityIncrement(job.CategoryId) + err = new(models.Category).CategoryTaskQuantityIncrement(task.CategoryId) //分类数量 if err != nil { c.JSON(http.StatusOK, gin.H{ @@ -120,14 +120,14 @@ func JobCreate(c *gin.Context) { }) } -func JobUpdateBranch(c *gin.Context) { +func TaskUpdateBranch(c *gin.Context) { id := c.Query("id") branch := c.Query("branch") - var job models.Job + var task models.Task - if sql.DB.First(&job, id).Error != nil { + if sql.DB.First(&task, id).Error != nil { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", @@ -135,7 +135,7 @@ func JobUpdateBranch(c *gin.Context) { }) return } - if job.LockPassword != "" { + if task.LockPassword != "" { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", @@ -143,7 +143,7 @@ func JobUpdateBranch(c *gin.Context) { }) return } - if err := job.UpdateBranch(branch); err != nil { + if err := task.UpdateBranch(branch); err != nil { c.JSON(http.StatusOK, gin.H{ "status": false, "data": sql.DB.Error.Error(), @@ -159,12 +159,12 @@ func JobUpdateBranch(c *gin.Context) { }) } -func JobDestroy(c *gin.Context) { +func TaskDestroy(c *gin.Context) { id := c.Query("id") - var job models.Job + var task models.Task - if sql.DB.First(&job, id).Error != nil { + if sql.DB.First(&task, id).Error != nil { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", @@ -172,7 +172,7 @@ func JobDestroy(c *gin.Context) { }) return } - if job.LockPassword != "" { + if task.LockPassword != "" { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", @@ -181,7 +181,7 @@ func JobDestroy(c *gin.Context) { return } - err := job.Destroy(id) + err := task.Destroy(id) if err != nil { c.JSON(http.StatusOK, gin.H{ "status": false, @@ -195,7 +195,7 @@ func JobDestroy(c *gin.Context) { Type: models.MsgTypeInfo, TriggerID: claims.ID, TriggerUsername: claims.Username, - Message: "“" + claims.Username + "”deleted the task “" + job.Name + "”", + Message: "“" + claims.Username + "”deleted the task “" + task.Name + "”", } models.Broadcast <- msg c.JSON(http.StatusOK, gin.H{ @@ -205,13 +205,13 @@ func JobDestroy(c *gin.Context) { }) } -func JobUpdateField(c *gin.Context) { +func TaskUpdateField(c *gin.Context) { id := c.Query("id") field := c.Query("field") fieldContent := c.Query("fieldContent") - err := new(models.Job).UpdateFieldContent(id, field, fieldContent) + err := new(models.Task).UpdateFieldContent(id, field, fieldContent) if err != nil { c.JSON(http.StatusOK, gin.H{ @@ -236,14 +236,14 @@ func JobUpdateField(c *gin.Context) { 打包->创建目录并复制代码->更新Url-> 更新运行次数->更新任务状态->更新仓库状态为空闲->(执行附加脚本,暂不做)->更新终端信息。 */ -func JobRun(c *gin.Context) { +func TaskRun(c *gin.Context) { - jobId := c.Query("id") + taskId := c.Query("id") - var job models.Job + var task models.Task var repository models.Repository - if sql.DB.First(&job, jobId).Error != nil { + if sql.DB.First(&task, taskId).Error != nil { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", @@ -251,7 +251,7 @@ func JobRun(c *gin.Context) { }) return } - if job.LockPassword != "" { + if task.LockPassword != "" { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", @@ -259,7 +259,7 @@ func JobRun(c *gin.Context) { }) return } - if sql.DB.First(&repository, job.RepositoryId).Error != nil { + if sql.DB.First(&repository, task.RepositoryId).Error != nil { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", @@ -276,7 +276,7 @@ func JobRun(c *gin.Context) { return } - if repository.JobStatus != models.RepoJobStatusLeisured { + if repository.TaskStatus != models.RepoTaskStatusLeisured { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", @@ -290,15 +290,15 @@ func JobRun(c *gin.Context) { Type: models.MsgTypeInfo, TriggerID: claims.ID, TriggerUsername: claims.Username, - Message: "“" + claims.Username + "” run task“" + job.Name + "”", + Message: "“" + claims.Username + "” run task“" + task.Name + "”", } models.Broadcast <- msg //开始执行任务,任务状态和仓库的任务状态 - repository.JobStatus = models.RepoJobStatusBusy - job.Status = models.JobStatusProcessing + repository.TaskStatus = models.RepoTaskStatusBusy + task.Status = models.TaskStatusProcessing - if sql.DB.Save(&repository).Save(&job).Error != nil { + if sql.DB.Save(&repository).Save(&task).Error != nil { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", @@ -309,7 +309,7 @@ func JobRun(c *gin.Context) { //go - go serviceJob.JobRun(&job, &repository, claims) + go serviceTask.TaskRun(&task, &repository, claims) c.JSON(http.StatusOK, gin.H{ "status": true, @@ -319,13 +319,13 @@ func JobRun(c *gin.Context) { } -func JobLock(c *gin.Context) { +func TaskLock(c *gin.Context) { id := c.Query("id") password := c.Query("password") claims, _ := serviceUser.GetJwtClaimsByContext(c) - var job models.Job - if sql.DB.First(&job, id).Error != nil { + var task models.Task + if sql.DB.First(&task, id).Error != nil { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", @@ -334,8 +334,8 @@ func JobLock(c *gin.Context) { return } //加锁 - if job.LockPassword == "" { - if sql.DB.Model(&job). + if task.LockPassword == "" { + if sql.DB.Model(&task). UpdateColumn("lock_password", password). UpdateColumn("user", claims.Username). Error != nil { @@ -356,7 +356,7 @@ func JobLock(c *gin.Context) { } //解锁 - if job.LockPassword != password { + if task.LockPassword != password { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", @@ -364,7 +364,7 @@ func JobLock(c *gin.Context) { }) return } - if sql.DB.Model(&job).UpdateColumn("lock_password", "").Error != nil { + if sql.DB.Model(&task).UpdateColumn("lock_password", "").Error != nil { c.JSON(http.StatusOK, gin.H{ "status": false, "data": "", diff --git a/controller/user.go b/controller/user.go index b7014e6..ad99b11 100644 --- a/controller/user.go +++ b/controller/user.go @@ -1,216 +1,216 @@ -package controller - -import ( - "MareWood/models" - "MareWood/service/serviceUser" - "MareWood/sql" - "github.com/gin-gonic/gin" - "net/http" -) - -func UserRegister(c *gin.Context) { - - var newUser models.User - if err := c.ShouldBindJSON(&newUser); err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - return - } - - if err := newUser.Register(); err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - return - } - c.JSON(http.StatusOK, gin.H{ - "status": true, - "data": "", - "msg": "registration success", - }) - -} - -func UserLogin(c *gin.Context) { - - var user models.User - if err := c.ShouldBindJSON(&user); err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - return - } - - if err := user.Login(); err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - return - } - token, err := serviceUser.GenToken(&models.Claims{ - ID: user.ID, - Username: user.Username, - Role: user.Role, - Status: user.Status, - }) - - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - return - } - - type userAllInfo struct { - models.User - Token string - } - - c.JSON(http.StatusOK, gin.H{ - "status": true, - "data": userAllInfo{user, token,}, - "msg": "login successful", - }) - -} - -func UserFindAll(c *gin.Context) { - - var users []models.User - keyword := c.Query("name") - - query := sql.DB.Order("created_at asc") - - if keyword != "" { - query = query.Where("username LIKE ?", "%"+ keyword +"%") - } - - if query.Find(&users).Error != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": sql.DB.Error.Error(), - "msg": "Database query error", - }) - return - } - - c.JSON(http.StatusOK, gin.H{ - "status": true, - "data": users, - "msg": "search successful", - }) -} - -func UserDestroy(c *gin.Context) { - - id := c.Query("id") - var user models.User - - if !sql.DB. - Where("id = ? AND role = ?", id, models.UserRoleSuperAdministrator). - First(&models.User{}).RecordNotFound() { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": "Super administrator cannot be deleted", - }) - return - } - - if sql.DB.Where("id = ?", id).Delete(&user).Error != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": sql.DB.Error.Error(), - }) - return - } - - claims, _ := serviceUser.GetJwtClaimsByContext(c) - msg := models.Message{ - Type: models.MsgTypeInfo, - TriggerID: claims.ID, - TriggerUsername: claims.Username, - Message: "“" + claims.Username + "” delete the user“" + user.Username + "”", - } - models.Broadcast <- msg - - c.JSON(http.StatusOK, gin.H{ - "status": true, - "data": id, - "msg": "successfully deleted", - }) - -} - -func UserRoleEdit(c *gin.Context) { - - id := c.Query("id") - isUp := c.Query("isUp") - var user models.User - - if sql.DB.First(&user, id).Error != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": sql.DB.Error.Error(), - }) - return - } - - if user.Role == models.UserRoleSuperAdministrator { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": "Super administrator cannot change role", - }) - return - } - - if isUp == "1" { - if user.Role == models.UserRoleAdminister { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": "Already an administrator, can no longer upgrade", - }) - return - } - user.Role = user.Role - 1 - } else { - if user.Role == models.UserRoleReporter { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": "Already a reporter, cannot be demoted", - }) - return - } - user.Role = user.Role + 1 - } - - if sql.DB.Save(&user).Error != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": sql.DB.Error.Error(), - }) - return - } - c.JSON(http.StatusOK, gin.H{ - "status": true, - "data": "", - "msg": "Successful operation", - }) -} +package controller + +import ( + "MareWood/models" + "MareWood/service/serviceUser" + "MareWood/sql" + "github.com/gin-gonic/gin" + "net/http" +) + +func UserRegister(c *gin.Context) { + + var newUser models.User + if err := c.ShouldBindJSON(&newUser); err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + return + } + + if err := newUser.Register(); err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + return + } + c.JSON(http.StatusOK, gin.H{ + "status": true, + "data": "", + "msg": "registration success", + }) + +} + +func UserLogin(c *gin.Context) { + + var user models.User + if err := c.ShouldBindJSON(&user); err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + return + } + + if err := user.Login(); err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + return + } + token, err := serviceUser.GenToken(&models.Claims{ + ID: user.ID, + Username: user.Username, + Role: user.Role, + Status: user.Status, + }) + + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + return + } + + type userAllInfo struct { + models.User + Token string + } + + c.JSON(http.StatusOK, gin.H{ + "status": true, + "data": userAllInfo{user, token,}, + "msg": "login successful", + }) + +} + +func UserFindAll(c *gin.Context) { + + var users []models.User + keyword := c.Query("name") + + query := sql.DB.Order("created_at asc") + + if keyword != "" { + query = query.Where("username LIKE ?", "%"+ keyword +"%") + } + + if query.Find(&users).Error != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": sql.DB.Error.Error(), + "msg": "Database query error", + }) + return + } + + c.JSON(http.StatusOK, gin.H{ + "status": true, + "data": users, + "msg": "search successful", + }) +} + +func UserDestroy(c *gin.Context) { + + id := c.Query("id") + var user models.User + + if !sql.DB. + Where("id = ? AND role = ?", id, models.UserRoleSuperAdministrator). + First(&models.User{}).RecordNotFound() { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": "Super administrator cannot be deleted", + }) + return + } + + if sql.DB.Where("id = ?", id).Delete(&user).Error != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": sql.DB.Error.Error(), + }) + return + } + + claims, _ := serviceUser.GetJwtClaimsByContext(c) + msg := models.Message{ + Type: models.MsgTypeInfo, + TriggerID: claims.ID, + TriggerUsername: claims.Username, + Message: "“" + claims.Username + "” delete the user“" + user.Username + "”", + } + models.Broadcast <- msg + + c.JSON(http.StatusOK, gin.H{ + "status": true, + "data": id, + "msg": "successfully deleted", + }) + +} + +func UserRoleEdit(c *gin.Context) { + + id := c.Query("id") + isUp := c.Query("isUp") + var user models.User + + if sql.DB.First(&user, id).Error != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": sql.DB.Error.Error(), + }) + return + } + + if user.Role == models.UserRoleSuperAdministrator { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": "Super administrator cannot change role", + }) + return + } + + if isUp == "1" { + if user.Role == models.UserRoleAdminister { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": "Already an administrator, can no longer upgrade", + }) + return + } + user.Role = user.Role - 1 + } else { + if user.Role == models.UserRoleReporter { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": "Already a reporter, cannot be demoted", + }) + return + } + user.Role = user.Role + 1 + } + + if sql.DB.Save(&user).Error != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": sql.DB.Error.Error(), + }) + return + } + c.JSON(http.StatusOK, gin.H{ + "status": true, + "data": "", + "msg": "Successful operation", + }) +} diff --git a/controller/webHook.go b/controller/webHook.go index 3f6a931..1e97e6c 100644 --- a/controller/webHook.go +++ b/controller/webHook.go @@ -5,6 +5,6 @@ import ( ) //webHook 触发任务 -func JobWebHook(c *gin.Context) { - JobRun(c) +func TaskWebHook(c *gin.Context) { + TaskRun(c) } diff --git a/controller/websocket.go b/controller/websocket.go index 9342992..2a0dbd8 100644 --- a/controller/websocket.go +++ b/controller/websocket.go @@ -1,32 +1,32 @@ -package controller - -import ( - "MareWood/models" - "MareWood/service/serviceUser" - "github.com/gin-gonic/gin" - "github.com/gorilla/websocket" - "net/http" -) - -var upGrader = websocket.Upgrader{ - CheckOrigin: func(r *http.Request) bool { - return true - }, -} - -func WebsocketMsg(c *gin.Context) { - token := c.Query("token") - ws, err := upGrader.Upgrade(c.Writer, c.Request, nil) - - if err != nil || token == "" { - return - } - err = serviceUser.JoinWsClientsByToken(token, ws) - if err != nil { - _ = ws.WriteJSON(models.Message{ - Type: models.MsgTypeError, - Message: err.Error(), - }) - _ = ws.Close() - } -} +package controller + +import ( + "MareWood/models" + "MareWood/service/serviceUser" + "github.com/gin-gonic/gin" + "github.com/gorilla/websocket" + "net/http" +) + +var upGrader = websocket.Upgrader{ + CheckOrigin: func(r *http.Request) bool { + return true + }, +} + +func WebsocketMsg(c *gin.Context) { + token := c.Query("token") + ws, err := upGrader.Upgrade(c.Writer, c.Request, nil) + + if err != nil || token == "" { + return + } + err = serviceUser.JoinWsClientsByToken(token, ws) + if err != nil { + _ = ws.WriteJSON(models.Message{ + Type: models.MsgTypeError, + Message: err.Error(), + }) + _ = ws.Close() + } +} diff --git a/docker-run.sh b/docker-run.sh deleted file mode 100755 index 00d4593..0000000 --- a/docker-run.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -echo "{ - \"HttpPort\": \"${HttpPort}\", - \"GinMode\": \"${GinMode}\", - \"DependTools\": [\"npm\",\"yarn\"], - \"LogMode\": ${LogMode}, - \"AddressUrl\" : \"${AddressUrl}\" -}" > /marewood/data/config.json -exec /marewood/marewood diff --git a/go.sum b/go.sum index c813792..6cdb350 100644 --- a/go.sum +++ b/go.sum @@ -1,154 +1,154 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3 h1:t8FVkw33L+wilf2QiWkw0UV77qRpcH/JHPKGpKa2E8g= -github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= -github.com/gin-gonic/gin v1.4.0 h1:3tMoCCfM7ppqsR0ptz/wi1impNpT7/9wQtMZ8lr1mCQ= -github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/jinzhu/gorm v1.9.11 h1:gaHGvE+UnWGlbWG4Y3FUwY1EcZ5n6S9WtqBA/uySMLE= -github.com/jinzhu/gorm v1.9.11/go.mod h1:bu/pK8szGZ2puuErfU0RwyeNdsf3e6nCX/noXaVxkfw= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/mattn/go-isatty v0.0.7 h1:UvyT9uN+3r7yLEYSlJsbQGdsaB/a0DlgWP3pql6iwOc= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-sqlite3 v1.11.0 h1:LDdKkqtYlom37fkvqs8rMPFKAMe8+SgjbwZ6ex1/A/Q= -github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/ugorji/go v1.1.4 h1:j4s+tAvLfL3bZyefP2SEWmhBzmuIlH/eqNuPdFPgngw= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223 h1:DH4skfRX4EBpamg7iV4ZlCpblAHI6s6TDM39bFZumv8= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= -gopkg.in/go-playground/validator.v8 v8.18.2 h1:lFB4DoMU6B626w8ny76MV7VX6W2VHct2GVOI3xgiMrQ= -gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/denisenkom/go-mssqldb v0.0.0-20190515213511-eb9f6a1743f3/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM= +github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3 h1:t8FVkw33L+wilf2QiWkw0UV77qRpcH/JHPKGpKa2E8g= +github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= +github.com/gin-gonic/gin v1.4.0 h1:3tMoCCfM7ppqsR0ptz/wi1impNpT7/9wQtMZ8lr1mCQ= +github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= +github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/jinzhu/gorm v1.9.11 h1:gaHGvE+UnWGlbWG4Y3FUwY1EcZ5n6S9WtqBA/uySMLE= +github.com/jinzhu/gorm v1.9.11/go.mod h1:bu/pK8szGZ2puuErfU0RwyeNdsf3e6nCX/noXaVxkfw= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/mattn/go-isatty v0.0.7 h1:UvyT9uN+3r7yLEYSlJsbQGdsaB/a0DlgWP3pql6iwOc= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-sqlite3 v1.11.0 h1:LDdKkqtYlom37fkvqs8rMPFKAMe8+SgjbwZ6ex1/A/Q= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/ugorji/go v1.1.4 h1:j4s+tAvLfL3bZyefP2SEWmhBzmuIlH/eqNuPdFPgngw= +github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223 h1:DH4skfRX4EBpamg7iV4ZlCpblAHI6s6TDM39bFZumv8= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= +gopkg.in/go-playground/validator.v8 v8.18.2 h1:lFB4DoMU6B626w8ny76MV7VX6W2VHct2GVOI3xgiMrQ= +gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/helper/common.go b/helper/common.go index 34da18a..8d9d157 100644 --- a/helper/common.go +++ b/helper/common.go @@ -1,85 +1,85 @@ -package helper - -import ( - "crypto/md5" - "errors" - "fmt" - "math/rand" - "os" - "time" -) - -//随机字符串 -func RandSeq(n int) string { - const letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" - b := make([]byte, n) - rand.Seed(time.Now().UnixNano()) - for i := range b { - b[i] = letters[rand.Intn(len(letters))] - } - return string(b) -} - -func DigestString(s string) string { - return fmt.Sprintf("%x", md5.Sum([]byte(s))) -} - -func BuildDependCmd(tools string) (name string, arg string) { - switch tools { - case "npm": - return "npm", "install" - case "yarn": - return "yarn", "" - case "cnpm": - return "cnpm", "install" - default: - return "npm", "install" - } -} -func IsDir(name string) bool { - if info, err := os.Stat(name); err == nil { - return info.IsDir() - } - return false -} - -func FileIsExisted(filename string) bool { - existed := true - if _, err := os.Stat(filename); os.IsNotExist(err) { - existed = false - } - return existed -} - -func MakeDir(dir string) error { - if !FileIsExisted(dir) { - return os.MkdirAll(dir, os.ModePerm) - } - return nil -} - -func RemoveDir(dir string) error { - - if !IsDir(dir) { - return errors.New("no directory found, cannot be deleted") - } - - return os.RemoveAll(dir) -} - -func InStrArr(str string, arr []string) bool { - for _, item := range arr { - if item == str { - return true - } - } - return false -} - -func ComputeTotalPage(total, pageSize int, ) int { - totalPage := total / pageSize - if total%pageSize != 0 { - totalPage++ - } - return totalPage -} +package helper + +import ( + "crypto/md5" + "errors" + "fmt" + "math/rand" + "os" + "time" +) + +//随机字符串 +func RandSeq(n int) string { + const letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" + b := make([]byte, n) + rand.Seed(time.Now().UnixNano()) + for i := range b { + b[i] = letters[rand.Intn(len(letters))] + } + return string(b) +} + +func DigestString(s string) string { + return fmt.Sprintf("%x", md5.Sum([]byte(s))) +} + +func BuildDependCmd(tools string) (name string, arg string) { + switch tools { + case "npm": + return "npm", "install" + case "yarn": + return "yarn", "" + case "cnpm": + return "cnpm", "install" + default: + return "npm", "install" + } +} +func IsDir(name string) bool { + if info, err := os.Stat(name); err == nil { + return info.IsDir() + } + return false +} + +func FileIsExisted(filename string) bool { + existed := true + if _, err := os.Stat(filename); os.IsNotExist(err) { + existed = false + } + return existed +} + +func MakeDir(dir string) error { + if !FileIsExisted(dir) { + return os.MkdirAll(dir, os.ModePerm) + } + return nil +} + +func RemoveDir(dir string) error { + + if !IsDir(dir) { + return errors.New("no directory found, cannot be deleted") + } + + return os.RemoveAll(dir) +} + +func InStrArr(str string, arr []string) bool { + for _, item := range arr { + if item == str { + return true + } + } + return false +} + +func ComputeTotalPage(total, pageSize int, ) int { + totalPage := total / pageSize + if total%pageSize != 0 { + totalPage++ + } + return totalPage +} diff --git a/helper/gitUrlHelper.go b/helper/gitUrlHelper.go index 4347a16..a331aeb 100644 --- a/helper/gitUrlHelper.go +++ b/helper/gitUrlHelper.go @@ -1,34 +1,34 @@ -package helper - -import ( - "errors" - "net/url" - "strings" -) - -//将git url 转换为带权限的url -func GitUrl2AuthUrl(gitUrl string, userName string, password string) (string, error) { - - urlArr := strings.SplitAfter(gitUrl, "://") - if 2 != len(urlArr) { - return "", errors.New("the address is not compliant!") - } - - authUrl := urlArr[0] + url.PathEscape(userName) + ":" + url.PathEscape(password) + "@" + urlArr[1] - - return authUrl, nil -} - -//通过git url 返回仓库的名字 -func GetRepositoryNameByUrl(gitUrl string) (string, error) { - - if !strings.HasSuffix(gitUrl, ".git") { - return "", errors.New("the address must have a .git suffix! ") - } - noSuffixUrl := strings.TrimSuffix(gitUrl, ".git") - - urlArr := strings.Split(noSuffixUrl, "/") - - return urlArr[ len(urlArr) - 1 ], nil - -} +package helper + +import ( + "errors" + "net/url" + "strings" +) + +//将git url 转换为带权限的url +func GitUrl2AuthUrl(gitUrl string, userName string, password string) (string, error) { + + urlArr := strings.SplitAfter(gitUrl, "://") + if 2 != len(urlArr) { + return "", errors.New("the address is not compliant!") + } + + authUrl := urlArr[0] + url.PathEscape(userName) + ":" + url.PathEscape(password) + "@" + urlArr[1] + + return authUrl, nil +} + +//通过git url 返回仓库的名字 +func GetRepositoryNameByUrl(gitUrl string) (string, error) { + + if !strings.HasSuffix(gitUrl, ".git") { + return "", errors.New("the address must have a .git suffix! ") + } + noSuffixUrl := strings.TrimSuffix(gitUrl, ".git") + + urlArr := strings.Split(noSuffixUrl, "/") + + return urlArr[ len(urlArr) - 1 ], nil + +} diff --git a/middlewares/cors.go b/middlewares/cors.go index 82d2058..cb5a53e 100644 --- a/middlewares/cors.go +++ b/middlewares/cors.go @@ -1,25 +1,25 @@ -package middlewares - -import ( - "github.com/gin-gonic/gin" - "net/http" -) - -func Cors() gin.HandlerFunc { - return func(c *gin.Context) { - method := c.Request.Method - origin := c.Request.Header.Get("Origin") - if origin != "" { - c.Header("Access-Control-Allow-Origin", origin) - c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE") - c.Header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization") - c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type") - c.Header("Access-Control-Allow-Credentials", "false") - c.Set("content-type", "application/json") - } - if method == "OPTIONS" { - c.AbortWithStatus(http.StatusNoContent) - } - c.Next() - } +package middlewares + +import ( + "github.com/gin-gonic/gin" + "net/http" +) + +func Cors() gin.HandlerFunc { + return func(c *gin.Context) { + method := c.Request.Method + origin := c.Request.Header.Get("Origin") + if origin != "" { + c.Header("Access-Control-Allow-Origin", origin) + c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE") + c.Header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization") + c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Cache-Control, Content-Language, Content-Type") + c.Header("Access-Control-Allow-Credentials", "false") + c.Set("content-type", "application/json") + } + if method == "OPTIONS" { + c.AbortWithStatus(http.StatusNoContent) + } + c.Next() + } } \ No newline at end of file diff --git a/middlewares/jwt.go b/middlewares/jwt.go index cfb86fd..50180b4 100644 --- a/middlewares/jwt.go +++ b/middlewares/jwt.go @@ -1,36 +1,36 @@ -package middlewares - -import ( - "MareWood/models" - "MareWood/service/serviceUser" - "github.com/gin-gonic/gin" - "net/http" -) - - -func JWTAuth() func(c *gin.Context) { - return func(c *gin.Context) { - token := c.Request.Header.Get("Authorization") - if token == "" { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": "please log in first", - }) - c.Abort() - return - } - claims, err := serviceUser.ParseToken(token) - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - c.Abort() - return - } - c.Set(models.JwtClaimsKey, claims) - c.Next() // 后续的处理函数可以用过c.Get("JwtClaims")来获取当前请求的用户信息 - } +package middlewares + +import ( + "MareWood/models" + "MareWood/service/serviceUser" + "github.com/gin-gonic/gin" + "net/http" +) + + +func JWTAuth() func(c *gin.Context) { + return func(c *gin.Context) { + token := c.Request.Header.Get("Authorization") + if token == "" { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": "please log in first", + }) + c.Abort() + return + } + claims, err := serviceUser.ParseToken(token) + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + c.Abort() + return + } + c.Set(models.JwtClaimsKey, claims) + c.Next() // 后续的处理函数可以用过c.Get("JwtClaims")来获取当前请求的用户信息 + } } \ No newline at end of file diff --git a/middlewares/role.go b/middlewares/role.go index 4310692..2cfc05b 100644 --- a/middlewares/role.go +++ b/middlewares/role.go @@ -1,108 +1,108 @@ -package middlewares - -import ( - "MareWood/models" - "MareWood/service/serviceUser" - "github.com/gin-gonic/gin" - "net/http" -) - -func RoleReporter() func(c *gin.Context) { - return func(c *gin.Context) { - claims, err := serviceUser.GetJwtClaimsByContext(c) - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - c.Abort() - return - } - if claims.Role > models.UserRoleReporter { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": "Only reporters and above roles have permission to operate", - }) - c.Abort() - return - } - c.Next() - } -} - -func RoleDeveloper() func(c *gin.Context) { - return func(c *gin.Context) { - claims, err := serviceUser.GetJwtClaimsByContext(c) - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - c.Abort() - return - } - if claims.Role > models.UserRoleDeveloper { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": "Developer and above roles have the right to operate", - }) - c.Abort() - return - } - c.Next() - } -} - -func RoleAdmin() func(c *gin.Context) { - return func(c *gin.Context) { - claims, err := serviceUser.GetJwtClaimsByContext(c) - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - c.Abort() - return - } - if claims.Role > models.UserRoleAdminister { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": "Only the administrator has the authority to operate", - }) - c.Abort() - return - } - c.Next() - } -} - -func RoleSuperAdmin() func(c *gin.Context) { - return func(c *gin.Context) { - claims, err := serviceUser.GetJwtClaimsByContext(c) - if err != nil { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": err.Error(), - }) - c.Abort() - return - } - if claims.Role > models.UserRoleSuperAdministrator { - c.JSON(http.StatusOK, gin.H{ - "status": false, - "data": "", - "msg": "Only super administrators have authority to operate", - }) - c.Abort() - return - } - c.Next() - } -} +package middlewares + +import ( + "MareWood/models" + "MareWood/service/serviceUser" + "github.com/gin-gonic/gin" + "net/http" +) + +func RoleReporter() func(c *gin.Context) { + return func(c *gin.Context) { + claims, err := serviceUser.GetJwtClaimsByContext(c) + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + c.Abort() + return + } + if claims.Role > models.UserRoleReporter { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": "Only reporters and above roles have permission to operate", + }) + c.Abort() + return + } + c.Next() + } +} + +func RoleDeveloper() func(c *gin.Context) { + return func(c *gin.Context) { + claims, err := serviceUser.GetJwtClaimsByContext(c) + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + c.Abort() + return + } + if claims.Role > models.UserRoleDeveloper { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": "Developer and above roles have the right to operate", + }) + c.Abort() + return + } + c.Next() + } +} + +func RoleAdmin() func(c *gin.Context) { + return func(c *gin.Context) { + claims, err := serviceUser.GetJwtClaimsByContext(c) + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + c.Abort() + return + } + if claims.Role > models.UserRoleAdminister { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": "Only the administrator has the authority to operate", + }) + c.Abort() + return + } + c.Next() + } +} + +func RoleSuperAdmin() func(c *gin.Context) { + return func(c *gin.Context) { + claims, err := serviceUser.GetJwtClaimsByContext(c) + if err != nil { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": err.Error(), + }) + c.Abort() + return + } + if claims.Role > models.UserRoleSuperAdministrator { + c.JSON(http.StatusOK, gin.H{ + "status": false, + "data": "", + "msg": "Only super administrators have authority to operate", + }) + c.Abort() + return + } + c.Next() + } +} diff --git a/models/category.go b/models/category.go index 9e2b328..90b2f8c 100644 --- a/models/category.go +++ b/models/category.go @@ -14,7 +14,7 @@ var fillWhiteListForCategory = []string{"desc", "name"} type Category struct { gorm.Model Name string `binding:"required,min=2,max=20"` - JobQuantity int `gorm:"default:0"` + TaskQuantity int `gorm:"default:0"` Desc string `gorm:"type:varchar(1000)"` } @@ -28,7 +28,7 @@ func (c *Category) CategoryFindAll(keyword string) (categories []Category, err e } func (c *Category) Create() (err error) { - c.JobQuantity = 0 + c.TaskQuantity = 0 err = sql.DB.Create(&c).Error return } @@ -45,33 +45,33 @@ func (c *Category) UpdateFieldContent(id string, field string, fieldContent stri } -func (c *Category) CategoryJobQuantityIncrement(id int) (err error) { +func (c *Category) CategoryTaskQuantityIncrement(id int) (err error) { err = sql.DB.Model(&c).Where("id = ?", id). - UpdateColumn("job_quantity", gorm.Expr("job_quantity + ?", 1)).Error + UpdateColumn("task_quantity", gorm.Expr("task_quantity + ?", 1)).Error return } -func (c *Category) CategoryJobQuantityDecrement(id int) (err error) { +func (c *Category) CategoryTaskQuantityDecrement(id int) (err error) { err = sql.DB.Model(&c).Where("id = ?", id). - UpdateColumn("job_quantity", gorm.Expr("job_quantity - ?", 1)).Error + UpdateColumn("task_quantity", gorm.Expr("task_quantity - ?", 1)).Error return } func (c *Category) Destroy(id string) (err error) { - var jobCount int + var taskCount int - err = sql.DB.Model(&Job{}). + err = sql.DB.Model(&Task{}). Where("category_id = ?", id). - Count(&jobCount).Error + Count(&taskCount).Error if err != nil { return err } - if jobCount > 0 { - return errors.New("can't delete,There are " + strconv.Itoa(jobCount) + " more tasks using this category") + if taskCount > 0 { + return errors.New("can't delete,There are " + strconv.Itoa(taskCount) + " more tasks using this category") } return sql.DB.Where("id = ?", id).Delete(&c).Error } diff --git a/models/common.go b/models/common.go index 540a3d1..ac45b2f 100644 --- a/models/common.go +++ b/models/common.go @@ -19,7 +19,7 @@ type PackageJson struct { func AutoMigrate() { sql.DB.AutoMigrate( - &Job{}, + &Task{}, &User{}, &Category{}, &Repository{}, diff --git a/models/repository.go b/models/repository.go index 1a2e56a..53a15de 100644 --- a/models/repository.go +++ b/models/repository.go @@ -14,8 +14,8 @@ const ( //仓库拉取状态 RepoStatusProcessing = 0 ) const ( //仓库工作状态 - RepoJobStatusBusy = 1 - RepoJobStatusLeisured = 0 + RepoTaskStatusBusy = 1 + RepoTaskStatusLeisured = 0 ) var fillWhiteListForRepository = []string{"desc", "name"} @@ -28,7 +28,7 @@ type Repository struct { UserName string //仓库是私有的话需要填写 Password string //仓库是私有的话需要填写 Status int //此仓库是否已经将代码克隆过来 - JobStatus int //有任务正在打包,其他任务无法执行 + TaskStatus int //有任务正在打包,其他任务无法执行 DependTools string `binding:"required"` //依赖工具选择 TerminalInfo string `gorm:"type:varchar(1000)"` } @@ -58,7 +58,7 @@ func (r *Repository) Create() error { } r.Status = RepoStatusProcessing - r.JobStatus = RepoJobStatusLeisured + r.TaskStatus = RepoTaskStatusLeisured return sql.DB.Create(&r).Error diff --git a/models/job.go b/models/task.go similarity index 54% rename from models/job.go rename to models/task.go index 3458a91..029844f 100644 --- a/models/job.go +++ b/models/task.go @@ -12,15 +12,15 @@ import ( ) const ( //任务执行状态 - JobStatusFail = 2 //打包失败 - JobStatusSuccess = 1 //打包成功 - JobStatusLeisured = 0 //默认状态,空闲 - JobStatusProcessing = 3 //正在打包状态 + TaskStatusFail = 2 //打包失败 + TaskStatusSuccess = 1 //打包成功 + TaskStatusLeisured = 0 //默认状态,空闲 + TaskStatusProcessing = 3 //正在打包状态 ) -var fillWhiteListForJob = []string{"desc", "name"} +var fillWhiteListForTask = []string{"desc", "name"} -type Job struct { +type Task struct { gorm.Model Name string `binding:"required,min=2,max=20"` Desc string `gorm:"type:varchar(1000)",binding:"required,min=2,max=999"` @@ -39,78 +39,78 @@ type Job struct { SuccessScript string `gorm:"type:varchar(1000)"` //打包成功运行的脚本,多个用 ; 隔开 } -type JobPageResult struct { - List []*Job +type TaskPageResult struct { + List []*Task Total int PageNum int PageSize int TotalPage int } -func (j *Job) FindAll() (jobs []Job, err error) { - err = sql.DB.Order("created_at desc").Select("id,name").Find(&jobs).Error +func (t *Task) FindAll() (tasks []Task, err error) { + err = sql.DB.Order("created_at desc").Select("id,name").Find(&tasks).Error return } -func (j *Job) Create() (err error) { +func (t *Task) Create() (err error) { - j.RunQuantity = 0 - j.Branch = "master" - j.Status = JobStatusLeisured - err = sql.DB.Create(&j).Error + t.RunQuantity = 0 + t.Branch = "master" + t.Status = TaskStatusLeisured + err = sql.DB.Create(&t).Error if err != nil { return } - j.WebHookUrl = config.Cfg.WebHookUrl + "?id=" + strconv.Itoa(int(j.ID)) - err = sql.DB.Save(&j).Error + t.WebHookUrl = config.Cfg.WebHookUrl + "?id=" + strconv.Itoa(int(t.ID)) + err = sql.DB.Save(&t).Error return } -func (j *Job) UpdateBranch(branch string) (err error) { +func (t *Task) UpdateBranch(branch string) (err error) { err = - sql.DB.Model(&j).Update("branch", branch).Error + sql.DB.Model(&t).Update("branch", branch).Error return } -func (j *Job) UpdateFieldContent(id string, field string, fieldContent string) (err error) { +func (t *Task) UpdateFieldContent(id string, field string, fieldContent string) (err error) { field = strings.ToLower(field) - if !helper.InStrArr(field, fillWhiteListForJob) { + if !helper.InStrArr(field, fillWhiteListForTask) { return errors.New("cannot modify the current field!") } - if err := sql.DB.First(&j, id).Error; err != nil { + if err := sql.DB.First(&t, id).Error; err != nil { return err } - if j.LockPassword != "" { + if t.LockPassword != "" { return errors.New("please unlock the task first") } - return sql.DB.Model(&j).Update(field, fieldContent).Error + return sql.DB.Model(&t).Update(field, fieldContent).Error } -func (j *Job) Destroy(id string) (err error) { - err = sql.DB.First(&j, id).Error +func (t *Task) Destroy(id string) (err error) { + err = sql.DB.First(&t, id).Error if err != nil { return } - err = new(Category).CategoryJobQuantityDecrement(j.CategoryId) + err = new(Category).CategoryTaskQuantityDecrement(t.CategoryId) if err != nil { return } - return sql.DB.Delete(&j).Error + return sql.DB.Delete(&t).Error } -func FindJob(name string, pageNum int, pageSize int, maps interface{}) (JobPageResult, error) { - var result JobPageResult +func FindTask(name string, pageNum int, pageSize int, maps interface{}) (TaskPageResult, error) { + var result TaskPageResult var err error - result.List, result.Total, err = GetJobs(name,pageNum, pageSize, maps) + result.List, result.Total, err = GetTasks(name,pageNum, pageSize, maps) if err != nil { return result, err } @@ -123,19 +123,19 @@ func FindJob(name string, pageNum int, pageSize int, maps interface{}) (JobPageR return result, nil } -func GetJobs(name string, pageNum int, pageSize int, maps interface{}) ([]*Job, int, error) { +func GetTasks(name string, pageNum int, pageSize int, maps interface{}) ([]*Task, int, error) { var total int - var jobs []*Job + var tasks []*Task - query := sql.DB.Model(&Job{}).Where(maps).Order("updated_at desc") + query := sql.DB.Model(&Task{}).Where(maps).Order("updated_at desc") if name != "" { query = query.Where("name LIKE ?", "%"+name+"%") } query.Count(&total) - err := query.Offset((pageNum - 1) * pageSize).Limit(pageSize).Find(&jobs).Error + err := query.Offset((pageNum - 1) * pageSize).Limit(pageSize).Find(&tasks).Error if err != nil && err != gorm.ErrRecordNotFound { - return jobs, 0, err + return tasks, 0, err } - return jobs, total, nil + return tasks, total, nil } diff --git a/models/user.go b/models/user.go index a48c8b6..213f09a 100644 --- a/models/user.go +++ b/models/user.go @@ -1,85 +1,85 @@ -package models - -import ( - "MareWood/helper" - "MareWood/sql" - "errors" - "time" - - "github.com/dgrijalva/jwt-go" - "github.com/jinzhu/gorm" -) - -const ( //用户状态 - UserStatusEnabled = 1 - UserStatusDisabled = 2 -) - -const ( //用户角色 - UserRoleReporter = 4 - UserRoleDeveloper = 3 - UserRoleAdminister = 2 - UserRoleSuperAdministrator = 1 -) - -const ( - PasswordSalt = "MareWood"//密码加盐 - TokenExpireDuration = time.Hour * 10 //Token过期时间 - JwtClaimsKey = "JwtClaims" //Claims 储存在 *gin.Context 里的关键字,通过JWTAuth中间件设置。 -) - -var TokenSecret = []byte("MareWood") - -type Claims struct { - ID uint - Username string - Role int - Status int - jwt.StandardClaims -} - -type User struct { - gorm.Model - Username string `gorm:"unique",binding:"required,min=2,max=8"` - Password string `binding:"required,min=6,max=16"` - Role int - Status int `gorm:"default:1"` - Avatar string - Desc string `gorm:"type:varchar(200)"` -} - -func (u *User) Register() (err error) { - - if !sql.DB.Where("username = ?", u.Username).First(&User{}).RecordNotFound() { - return errors.New("username already exists") - } - - u.ID = 0 - u.Status = UserStatusEnabled - if u.Username == "Admin" { - u.Role = UserRoleSuperAdministrator - } else { - u.Role = UserRoleReporter - } - u.Password = helper.DigestString(PasswordSalt + u.Password) - - return sql.DB.Save(&u).Error -} - -func (u *User) Login() (err error) { - - password := helper.DigestString(PasswordSalt + u.Password) - - if sql.DB. - Where("username = ? AND password = ?", u.Username, password). - First(&u).RecordNotFound() { - return errors.New("username or password is wrong") - } - if u.Status == UserStatusDisabled { - return errors.New("user is disabled") - } - - u.Password = "***" - - return nil -} +package models + +import ( + "MareWood/helper" + "MareWood/sql" + "errors" + "time" + + "github.com/dgrijalva/jwt-go" + "github.com/jinzhu/gorm" +) + +const ( //用户状态 + UserStatusEnabled = 1 + UserStatusDisabled = 2 +) + +const ( //用户角色 + UserRoleReporter = 4 + UserRoleDeveloper = 3 + UserRoleAdminister = 2 + UserRoleSuperAdministrator = 1 +) + +const ( + PasswordSalt = "MareWood"//密码加盐 + TokenExpireDuration = time.Hour * 10 //Token过期时间 + JwtClaimsKey = "JwtClaims" //Claims 储存在 *gin.Context 里的关键字,通过JWTAuth中间件设置。 +) + +var TokenSecret = []byte("MareWood") + +type Claims struct { + ID uint + Username string + Role int + Status int + jwt.StandardClaims +} + +type User struct { + gorm.Model + Username string `gorm:"unique",binding:"required,min=2,max=8"` + Password string `binding:"required,min=6,max=16"` + Role int + Status int `gorm:"default:1"` + Avatar string + Desc string `gorm:"type:varchar(200)"` +} + +func (u *User) Register() (err error) { + + if !sql.DB.Where("username = ?", u.Username).First(&User{}).RecordNotFound() { + return errors.New("username already exists") + } + + u.ID = 0 + u.Status = UserStatusEnabled + if u.Username == "Admin" { + u.Role = UserRoleSuperAdministrator + } else { + u.Role = UserRoleReporter + } + u.Password = helper.DigestString(PasswordSalt + u.Password) + + return sql.DB.Save(&u).Error +} + +func (u *User) Login() (err error) { + + password := helper.DigestString(PasswordSalt + u.Password) + + if sql.DB. + Where("username = ? AND password = ?", u.Username, password). + First(&u).RecordNotFound() { + return errors.New("username or password is wrong") + } + if u.Status == UserStatusDisabled { + return errors.New("user is disabled") + } + + u.Password = "***" + + return nil +} diff --git a/models/websocket.go b/models/websocket.go index ff1fefb..6fd5828 100644 --- a/models/websocket.go +++ b/models/websocket.go @@ -1,48 +1,48 @@ -package models - -import ( - "github.com/gorilla/websocket" -) - -const ( - MsgTypeInfo = "info" - MsgTypeError = "error" - MsgTypeSuccess = "success" - MsgTypeWarning = "warning" -) - -type ConnUser struct { - Username string - WsConn *websocket.Conn -} - -type Message struct { - Type string - TriggerID uint - TriggerUsername string - NeedNotifySelf bool - Message string - OnlineUsers int -} - -var WsClients = make(map[uint]ConnUser) - -var Broadcast = make(chan Message) - -func BroadcastMessages() { - for { - msg := <-Broadcast - msg.OnlineUsers = len(WsClients) - for id, client := range WsClients { - if !msg.NeedNotifySelf && msg.TriggerID == id { - //如果不需要通知自己 - continue - } - err := client.WsConn.WriteJSON(msg) - if err != nil { - _ = client.WsConn.Close() - delete(WsClients, id) - } - } - } -} +package models + +import ( + "github.com/gorilla/websocket" +) + +const ( + MsgTypeInfo = "info" + MsgTypeError = "error" + MsgTypeSuccess = "success" + MsgTypeWarning = "warning" +) + +type ConnUser struct { + Username string + WsConn *websocket.Conn +} + +type Message struct { + Type string + TriggerID uint + TriggerUsername string + NeedNotifySelf bool + Message string + OnlineUsers int +} + +var WsClients = make(map[uint]ConnUser) + +var Broadcast = make(chan Message) + +func BroadcastMessages() { + for { + msg := <-Broadcast + msg.OnlineUsers = len(WsClients) + for id, client := range WsClients { + if !msg.NeedNotifySelf && msg.TriggerID == id { + //如果不需要通知自己 + continue + } + err := client.WsConn.WriteJSON(msg) + if err != nil { + _ = client.WsConn.Close() + delete(WsClients, id) + } + } + } +} diff --git a/preview/category.png b/preview/category.png deleted file mode 100644 index 01cfe4a70c2f59073f5b72fe34da9a6904ed92f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163697 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�kJ+{>y9j` z00J{gm8t8I)WEBrn>AxhuEMt*qaRlv-wtb|gb~WG9?2s_Zlq*6>4%N1K=Y#W4x@s? z62J~^UUia|ayXriWLvO%tv|BK$G*LzTT z{CVO`RTX(^hH+e!@j;eI$k zjpk_iiL(Q?RX?%@N<7eoQtTF9hWa@qSCbm0*i$9c?%d7=Q*<1IY);1l5J`#5HhDf? zA=h98!o+UqBAbae5VZQ~$j+?XWive(?N!=%BED`LNL#2rO9s5tdiR?PKyj~CRG`J% z<R9{ylDW%jZ2dt#Mw z&XdNs{2ImTwc|jJeal6HXC}z(DpuyKhsci~hDN6~SNi<{4v27gxa0$cv-GC@0LEhtsizD`3c&n0PWY76XI{NEi*t@Bm5V z0hBoMqg;R51akFlp36}G=|q_PJNoQo0in4)jAjXRv$?BVRQx;gO6$EuCT1Q8Oy<>OKmv8vB3Zvx={?c4u#w%5(q(Cfq@9}B%;m@CSx*ntelr~oT!l8Z z*zrEA$OQh}2Ijq=_v*g{z@Wk9X3t73&lgc6>Q~GdmRn2EVS8~NvAgjedo9?BCjuf) zw(Rt7o|7-*$wVqkEKBExZKYNmUW{`;w%`%L*bC`dl@~{?ywqoO?x3~M6)6IFQZdJP zgks2mMWF48;`vN%5XjAfudfgYKF43WMW(hDhjUzJsqT+(l&Mic)Vs-OEdk+vk-GQr zav?}DihSSU-H2;lC0A7~;)0st`5l}U9Zp>ln z(^W>5k$iOS7_q)sS)&j-Hy1K%Pw+EeQ}I_44pzr4Wy)#f+0r$afV}*@*Xu=1LY2K& zPYsVj<%b2Z&{a(ngcj3|d#w=`{%BGgoG3`?y3 zc>k#P_3W{2CKup{b=}UTMMUIN823pwYMO?ypKZFt(Gm&$=}nPb6c?2{rwfjRYBs=I zIHcGZV82Pf?&Gu5qc_l>ELyK09PZ1q|3H!g8STc8NAnt6?Tn@uBPGMpQxZyshprV@HF~x>dOk&2)4dw=N$U4Uo(<)P z?xf1usmqQ*!wg1LA|l02(yTb&(Vq~q8TrjX=7u|$=OWQX#kj!*6w_O*_z+)Z+~`6b zOY>Y@0tBg;v<)fpKMYE9J4RiHKhDX>wWdGW^p5D7R3 zcVv!4*+j$$1l-+G2v}NbQ-h?PW?4z3)_ZbCK~lB*fkm(m7E8ZECHO5tn2Z8GUKPzm zZpF^ATJ^|i%sZt`Zezhyu^KWLwV13&akDlcMIkQkR7||G7cfgE(r|MhI7|n~-i?Uj zLT3PB{LKBiL_YLGT$m_MwSTv7Gp;f`c!OL}-N5<|w+vAvlDDedb`!qRV7Vg5VR!Dt z7wwwvtFsKfEYTR$yLn~~w-!a6=`&H4!HH|byzUBCs7~I;;#Fl7(}E40qt8l6M0FG6 z3{QWF|AXI8^Gv_%w=}aGWjt%P|M0o=x_lwi!ts^SL3uyi1VPO<=xmuNSd28a6 z+p~Q|;~*V0vtS+TXVhdsvKAionR&f!B8lXyV0s;Ko48cDR8g{NISX%P)oj^$cdn#B zS9XV6%#!?4pVqe4(Q_+`>^I}w)k}AZp&Ezkc=s{79rc@kuQS~dNq_6G1c8P6>$-R(R$kHU{Tx?^oZ_s#cw^R?c`;XP zOGVswc{koIGVnA=d^y3d@}Axrg2478*2LEtxAAJZ3d;${pjFBaOt`d8$tIeO*%C;W zi=kF$HEy~J8@{vE6E?<~P4~nSnq8EA3vyG3pG8@DHrt+Om`1vIir10~r0d%_qbwpzLYl2lVpUU8U`EO^imgvP0J`Ku_W>x0`vxG1@jt%>%R9c6 zX{&tHU4W+k8|5g3PvZ8H0~9`4Qk-k8PPv5-S|s7y?}CERiZ=Q>xN~U9 zA{F6`&jrJ}etd!A=ZZ-YS)APGmHRYZ(I`vPW8^1EN{& zq&*~MsYqAh_zxSYkRVwPv#D_wUcZ3RKBDXTNz@=!)3vv&uY#+%x_PV2H*Us$rJGg- zoZ1$}Pbk!d2LF1cHoHo0HX zI76s1?$Yb9V9*8dSa%n2ttN?)9%oxXa&qY~qCRJ>l@hFRre0^c(5KTNDe8b3bqf!j&#?K@38r#L+Mddv=qKN^QW zLGPTL#hEqR3l&R%2Hj_d+r*IDE(~zrR>T<~gWPk&E5dX%N;^ zgY;>}ywHSNW4^L|_){cizR}j4K|(q2JVoMViJLScdQz2HxC{6)6U9zuNVff7_eJ=Q za3XPKcSLo44x0Fh`GwkE1BUWgZZ_elq+Ukp;w=T@PIpvUFGO>_f_x*C$+-Ro5Y!tO zY59#K43v3_ho7F>J;Hp2_P1eL?=!Xk(Tl1LssKQ(}u6jzJIMO(AE;r2AZ{U?1qjR<$@5 ztu#1nc=EW^@S%Bq&>MX$*@fdjw*ZUfT{>Qgzf^g_HfUW|M5sB{OZz%?9A4|Wx7=s!`0jo+y;h-A4l{Oq}n*&^^8S}zTKA4b^B z(6(Ry32^LcPZn=dt@qSJVDDKOA<{0(c<*Bn&@umzMAFim(ys8V*>xcP81Is6W+&iq zIZbBm-eKpUKI&$TY<4-(&82w>ClfX)FU@!A#v=M|;pw(;u0oeo4c=R0F!jSov>2~? z+h&ZVnfQz3Ay2gUjlGL7il`9eZmMchM+{e?m7h~&N`ilZkO`D8A03GrupkuQMh|ED0t(w%uF!`CIv*Ev`~=jQ1o(xRho_pk%Xck8(^aymJUy zs=dCxz{r?5OS**t)fn1+*}NlVUvodLNut+|qT*?uAF4@}SlV5uIKQT-E6 z25Jv*DtetebE8UWJNi9VXYlmp7=mwVo3$8|dZ}L&0b5u!Usl{}5+VQqJ5M?A6z{G| zqn^mw*j0VgC^UQq!`WDJd(oBzvgf_N&?mpn?MQX=i%f7*M=wa8YwdoLL<)DieUef4 zS#{Pn`Fc5CCYBd*n}}||X?Q=gt6Yd~RKhuR3j@}Aojz}BYX?RN=K^E9s`?!E9D(Z# zr%L20cs%1)H}UdGTws&3ah+O5f!=v~9)!N5H^fxF_`BBwmA+`NhG8>P%wa7Rm9cNO~2viXZi8Pqugpw8Gi zap5#5JhFwnH^$3veU+G7k3ZtV#I2ovd6`nhvQIY4vFSG9Q%ja*3k8m)A+SyGQHAT> z;&N<5k?@}RZE3khCN@uL*73WH>Zd$N3x%}O(e9-@uvU+n=puusOK)-42Zv8OPx(1* zyhMkkCR&B#V?r}#hv3A^a)q(^l%xNmmjDJhuc7l;q;0ZvTATFiKtASIlch}^O8eP^ zs(0=Xyq`px;clBNAtf03kz|SK1-Y<4Z-InyOsvCbr(8^!gQy9663PCoIB!}o%Q7Zd zb%XSPy7O2I&79U3BI0->;UIoBeW_WN+}K8i8H5;({npGJ;P#nks6J0nZs8Bg8a^8q z7tl@#Hm!;`sv6b!E8|_@F(Hf*o(3i8F7$7TB)4AQ$RmZ;@x`r>r6TiAM96XJeB@we zdFRf@jT1I}0VcRVW2#z3-gDTtP*O1K*93_tLgmCgFIV+7S-n&lBLd3yC>hj_$$a2d z>6x~Nm+cuDxXu;cc5|qKoV7S&2U@KNua2Q%uKEAul|tIK#xFI|bycrj7gA06bCj z;Q+2UgoH0@04M}Vjg0x$6am6-C*&q6R||;nU!%Ra1=8Nnq@Lgi7D9z z>%h3zr-`rHmF?{HyliJQF2J6=4Up-Luoi8_z2iTYEzDbHn7BBIEJ?YB%R!r00sh4a zDk%PwD|?hJae#waRl~f5QJyV;ab|<_AzU%vI-VNml%a7;_0R{SaVLe*3#t^xCQ!Gi zN*&Z@JC_JTA&be#T-Idc{Kvz|7o}IuNS&KNfTX<*?jjrDF5Zdl<>obFfyM70u*$&U z@~yn#fJHVj+0|+47S{Wo3m<>+MilEL3q0&rm^=USe**g7w&VoD#ed^U0K&;))YLDa))u2 z^c{O~$0kiPhUdtSDCRptZIYY?CgH8V2^O-`uPhfp%@MonM7_~Ocs}Dto`=+=k&~2@ zq1LPF#GX7fs&@VuwpY?2cF|`?_u^`wB%Ap9qWCE@h=;v^H{RE>)7UvgV#k!(XKb%= zh#a{$*JS;a>C#I-|GBWlEU1w=6(!L1H*0M_>6RSd>iwC;FxIB{?U;KO&118>k|Gj7am?8G&>1O{A`w^G?pwKpu*UT!`!{~aoJm0!*e#4 z{<#D1;xWGle2p?k=Tw6*uI{!sJfcgpCumWyRMA|hP@mbIfTjUY00s3?5ON1yh*<23Qs*Eg$(50@R{ zo;hu;?=fX?eI3^8gj`vjx9^bs>~&`akLu+}W87q$SPIHt#X7eW!rY!uTKYKgW_%S@`}^fA zcc1JOgI%M_Nt^*AhvtnV;k@#5#UHri%SNoM7$U+R*#J;c#s&mTO=U64^>8^OoS>&^ zHYTc`XQ1q~T0&dw&6ThVQ5#`2y^~O;-eGkszi$}!8gPxYxidrlk}i(2zC#Q#ngAcr zCSP!aultwEhxOL*lgpzF1o-01(2bPwd7F-_ltNNsb;*2;TLg6J0*&YPeJ=O7kxo>v zFuybGvaIEiS+60UPJdL}Nj(74! z0I-jGZG9W3Z(j4Q9tT@?&jXxL*p?b1W@jW$N%eO)#?98xo9FdV2>SxWAIeJjUAM(< z*?lId`M05O*%OPs$Xwf}fW=pa+>t+uNJKSxZ<8lnWJ6%Y zUci#dCTM+QdGnTgVm&Y)yEVf4%NQS%j!({Kl8)cwsE6nnrJ+8+qdSsjIP~MeBx43N zZHuKF&6H)7knVo@C8_7-0s_Z;g}aR$Ss5cUt6leaClKVj^)y=%a#QFq4e4|=deac* z0-^=U9{G`brljwHNDYq=&J_vRAle2Un0ds#q#U&BrIG~_ca*W_w!A3_1rhW-$K^76 zq&Jf_;bdEs;K7lijo6nyilMmARfWbL7KU#k6pj?b3|0R=r;PRsm{%ATcH>)llz4Wq zQd#(2Lat!l8tXf6KsED_&D90Vb8Pt>5Mwh_Vw(+W&c3z=p*5U6TDNq^+r+TBRlCa6M~ z46lYlCqUTh`>pm8bG95~4ekbEkvuo?H>S|BT8|s3YxO~~0XJ`q#w0rn($@HfKpC$% zTzt1Cn(@5{2^Xl}<2YdI}P_q~;alf5L$g#0dCD8N2&A7MS8=D}Q z1iIjyYB}%XxUch5M}Y{4ie3LND)utNjtQL6n#ZDKy<0L*%ZVeYxWXq%b$xR_kp-=R68ICd=^J@+Q5OKIi0cX{tumQlFJ^obr)6KU2oZc$gdSJtujy)>)ydc2 zz51x?{iVZAr;Cl}<)xBlVF5Q%8riOt>r+JhSW`@z>hq09#K;RpzSeN)@OMJ?KKIEb z2v`_@^;EY{*zj@g?nqX*0Ud0gD?aD-jzhXsOJI&lx^A3 zSt>!{m}7Hx$@P>xONl|`>dDz02}wAXXu$)#l}BGxP;x&tdc4&d#vp(Q>h4WQVM zDYvIq8wL!JTJs`ws zyyjBJZmZoiBKK1nO{t*!u6$I7Gw*(Xe0LHY2bA4`3!>X}#U z@D;|4IW+H|0_0WiBa9ox1B`S3Rcgj|GNFK!b?qEF>CTJW7jW!~ z7p^>G+`9kfF8eN8zw?-^QCo3onop^Bs_isM-Zs^zRG@qzeO#2V`az2_rN>ZSqHW9M z#PV4EG>N5)v#{|*$eCx0%9^gi{iT4Kxihw$j4aW%V-na_G$*LI_e_>3Gz6VapcO$c@K* z7am8tr;a-~6t@WeE6C$*e z#j}7^m^PuHwR|l{(ve2)B$kBqqbQHYJDsJ&ynXwIWc7|J;cYD>#!9-0`-b1O8?bU} zOiIsATNrv}M`e&{qkOqd1Dyk}C`(3(^RxO>QaX+(1J_Wy2|M#Y{&kOBKgHHiOB9 z;su|+DSZ2D;`7>dvrohQ=548qq_JT8kcu3KPTYbo6w@bZYV2OBqoyHwbn$we=0< zkegd#l%h;citKb-QOH<1B)IC@VlPFoUQatsI#O6E*ZKCPLi5Y+w^W~EF<#!<^!B~!qfa_GTD(D7nu+>`iPM|gjB^S-^PVSM4>n7`88a@1)G<~cl;0wmexc2Q zoe@#(4#TQNAdPrV$!-*I;(h?J9-GDt@E3Ig$L5V$EEdWNTAS za0XIhvm^(_+XO8FjQJ%a;~9kdqn91C^BiP`^n_38I!y zr=EIr=*UT2N(DZKKtznH`SQL!*UX*eCi?fV zR|+SudUc^v-#F)-4HLi_-+a9_TdX)s_LALmY9Dw-?ykOQJ0DBaK*k`s zA+BMcaQ!S)$xtMxyUJBz_BBT!cT9fC083k=CC#*|X$(&j4xzb(GzoW@VY!PDn=};f z6@mi3_U0p0?`Nm04wS7Aag>>??hm_Leq?D`Jy;=8&6*=8o9s0e#k#G>RKbxl{Ia#U zk6>$SblmR~2X{>AQjyg3nnCWRFB-4El?31%CtuZ9IOs9Es1nPy-rI@{=_8u%DXtTr zrnlSkiY8P?#yMY^(sPuwKUPLAMHCG@C~o$4FkD}LABxiU%w|u9Dl=YDhzxiN0tY!q zIo=IgFg#=S_4F%gg~>w)oD1F!tM9mS%RQ5okx26)P;n$fBpcc?nw1;WZ!bYLI2z0^ ztG6hrq{JE@mk8*;8kVrSAf$7>H5Vomm2p4;RNbA}oC+(5P)yRv)YaK`#O+E&^iGGA zmVNX1l@0Kh%?bZhv~^FNXMmb$beXj&YUw~vR3&-0oFz@mF8vVSTq2N zCt$W#x~;I{y(kWcf!%P0OYEJtw|co4GaAGRZBD%l{UUSh%ktmiJV=a)jm=N%7BNXGBJMHTZ31sp&}}Y zeFf>rH4f)erw9+a6j9M|Ml&wsw-{0mExyO{Csw5s&qHX^*l+drHi_<0 z^ne6Y)ERe{$0{$wY^qp8MR@O?YKmrZ}XrnlL~zK^`4Fhr_xsr*E>uMu|tqlA+xnsNRb+*0WYBfWr5KVa6&FY4n_PS zKvQi+vXq2PM%FhB8Q84I7JCsI7wgV{i3_I2x3v$$!4c*}?MST* zl{W0ZV59QJ2JKF%TGY`qIj!|nylt3q0IqKRx2FCDBDCqy0zc`ia(bi6 zt3YC<&l|(Tqh+YR9HN14w(N?$WtbZO!I7UmiWSdV1L3>J{Sp_f%|LB|DTxRtiT-nX z$wzI(mEU>JKZH!m*@os;mg4J3VfuW0W}Uja!~D@ zhv6a(B6m_xW2$|b{Y z=@+Iw7&=D`@$n^%-wRqI72Rw)-KotUWsfaiM83Ibh)!lDI%7*r%T^o^D%adUeH`)Q z%YAM9Q8X7T13JHou6Y;4PZ{R5~a{SyK1=eZ(|h~Iir?Mb#aXB{jbi8LC2oyo|j_4e47 z&3dL@)+UPS+IQX!>XOTAK3m`Bo`RGxVcrU$QgAzYe|mnnJMYa{T_$taD(&6M+(D4Y z${QRFOk}Vy=kUx*2i1A`Bk+iWUIc{ZEYNqFty}F)6MUZVV#q8#IE-<2UL+z(T(l>b zdj_-gt`M7X)sbSIbaHh9(ogjyEFS#&YysT7c^{bsB8?N>qk+Y`SBb?&JzO2X-lb>k za?#JfB^Txy4-7Vmu;KMZSRBvdW7ZcUAi5|sCWcpWkPzZMPD&mfxb@~*uD{I*rapGt z)%-42^)pX5tj793G_OkI91LuH(aXlyWT9ZA-?^pRIjWQCP+-Cv3R^ckN4!#5Aj06I z+s(Oum*kD({rzT-;U`_7MF!0VJROCmI@Rgj3xEuWFWR7 zufXQuY$#;J!{L-3wQHWH_1##GJtJK}gE#0b3>SO5mh1>-Ks#6yI($pREd4Q-1(}_u zrhB-@%3*QMJuRF41^-&#<_=d&%xNXk=hH67+G2)eFP?IJTUS27+D7m>3&(5jOJ3>G z&~#Nlq%8KtCT^lAj=#C&__?|REWH}X-QkDlDvi`1<|7+XCK-=bS zv*x`D;0$JhpNrWWb~|>Hmm$MRcJnhp^478aO$X~Ts6&2dd$XSdL%uj*R;ON_KHim3bI+S@yNFsq{W|ytFzY&h-=LmKd_lWi{}d3uzpIH z9;)$a2nv5D{z(I^#+q7v+8%Tf79f1_i1%N+AB~)ZmsD5_ zXG!DJc`&h!?PDi!sXNA@S`cWfCBS)Yf0?5BT8g;>v8c*GGJY9*@iSG`b^6SNx-s8u z3TCj z>%kr9+v~HK%t-v^Kt{RNdb^$Cp4gWME|@bj zCm(8nLS%aG8!*KxNlL;Th?9JXs#kTt$H)hjH!v`Yc(5n^z?02?Y(RCd%@X|S6l(1~ zMm33~*_oO>ojS&v-4)r~@2Gc0e4m=uf!cbuyBdeZeb|+7gV$JcRx50iuc-=08Srab z^>>G$Hn(F@jSF3RK=$A*`dJGU#?~jlbZO$=8ulU{6@}k14RlZKPrt->-x@ zjd&U)Hk>?x5(}!_agY*($o20VN!#wBZYToh=8+h+@s#nQMh|yRR^63juWWmC(8YrN zu+p_T(d^oBtv{25u6jpX2aBsccm~rg-kY1^V1#1P;HWzh^m>JzC$j5{*L1nt*|AM{ zV`WHto!jIVUVllxG7hiqAcMmN;cSD2dG9v1U-Ft7l|QL>vvIXS6hCdU1YB8R0`c2s zld5LkI=iBQvMRRgwW1w6Yp%RiQ}nn?L9IJ$u7FsXtE@wDl;c~H>21a8JUS4ARYwlJ(C+If8UXRRa zui&`1Bl%t!KU4nkA%8oym1?4_(Tdc<`TgXgE!k(QmVNc?SB5WpOx(B{32=tuY_}k~ z@SQlmO|b$OMtHOPc9*Txn4EX)N{I>iUeOQq;>ov@Nynb5etXm3yLF>{c>@n-b420S ziw-;GU2ADe0FA7^zzBnD{Ly~y$Aw9e0iCdI?AE{T^0$lVb|PlhJ2nbh{NtTw#ewJTY@#_qk>tOd_0JFHE?dz_zI_?lY{je{>L6ek!l>;# z{afp`ucP7b7SO?UR(o&V`^lqjTr=P!==41#EB^1F?yULF0G;~|r|bG`xc@^FzP-(} zItX8negACUx9@&>U(p2ymc%p^+ZfkZgYtj(fhFsXo+ymdX0NN+5N9Wsvlm>4^PWA+b#B!Oa5bAeAmg{ z*JI~*SNh5C{_&e%uj~8C@#}Sc9UQ-A*Z0%s*X;Vb9Q|4hzhBaS?Ok7XysZrfqHvRFibNTy)<3j&eo*_5?Ok{C+N?1ZBZtZvc7Z$*B zAM^9OU+?h0`yh%4XcmBjoO5!5mA_EjPg?tvYXyMfvOp!{(Q33mQP!ex@Aq%}`wipk zPWtTw4y7yOSepz+@(J{Y<%72=YzlO@Mq4H%h z{Vxmtuc7j5sQel#pa*_UgkKZk*F^aL!92@yvN4*?*ljo&?U=T+RMw3*4;obanoLOA^PbOuprk_T%dhU*a^}CyG zc)b-2{P3j*%Rf4vpN%*AyE&@6oguBn*~Ibr$Ul4Y+gemz$~}{UPyFl_7`BE?q^$ItsbA*3A$ItqAQ-HNV(kDuO zf01Nx^$Y{TyK;JzlxaM$GRy0)74O>T(O!4B!g6`5U>n~$zy+pxPZ-5>ijValCRNcF za@!y57vQPj$A3Lm)n{U;*ngrlNB`x{KOGpp@1*a}N5O5mo;!C>8y>!7ekQ=C6*;=x zmbh-{=d8vuU#j^R?r`-Slor$OzgF+B4P@t14KKB zYc_e!RP2=6QCz7bPn&N$pS=#$teNyFB0akli1Y5n4qW(YH~i4lyy@*PmdmH7 zeT>wTa?c`Aa9VOi`#mzocmDvaA$6Rbm0sFseya zlpqU4k>rU#NLii`U4W!{DQ*fRGUp}$yuy1MLkaiA^KBU=x1rnssd_msQvpNV)RQq7&Cw{Rn*J~8kYO+W`oKZ2JRnVM~c}M}sTsJt4*`OS_ zA&`07HYtpADp22t-Ux)4eeGof3prP96Hoh5PwSmSvV;^QtZ3&nV;5C?6WX8DaY9VP zj9%xeirIJT{Y`Ylr=|UR##bw*9GzFIco-d+7I`G; zT|-`P)NWz-SuO)vtfAwpkM~$j+pG>KOuIxJoQ3qp{IhRX3SCGVJ0-Tt9jH+tPeDPb z@nySf9S`5TPNwV$5+J1AzW8ZMtZ^;y+9IVJJJ%g$`CO<@u2Z}|-alu=C*g-T_F30F zUe&h}NOm(4X_K}^!%(6iRPVb#!|+f5ADdDu65&SgC$AeHahcJz=T>mee@|_nE_2G~ zGMWq0@O|bkkBFoVELG}NkmSkfnnluzBOtlhIopo)CP>^If_lII%{ddoH6RB!b{|J{dqjf{1)gmAJA$fEG1(FAdi?4+;C z>fLLI$QxC5Gn!l=6v+YsKAV~E%gP(tCFk@yqR3C7#EeY9X~^#ZL@v_!n-&6;G}RvJ zzcxfAebCa#9@0EdD7SgztA`qi(6gzuw;jMJ5gmg3eMbb$?BJ(bX~uW6q!QYVt9`K+ zPlHKq#iLkm-FcA7rz<@QNwl75v^WcA5^0k)nK`8yAr>QDGC+pDs%BU(Vg@qfD+y7& zES9p%gMs+O^F$tlGh4T6?mb?wX87p_lq5h?(EpSg*aKLSrzlmuNn@^A&VaWU$df)= zK(3R|VM!~W!uF1LYJbYI^HNZioB#7f$crOP?%sVXlz|9=j**JAT0RvyNj-K9J}cYV z%b)M!aX>o=4OqW#8%ODWe2s0yf5unR0YD?#-(TjGpJhGEQeOesHyKcF2Fh8$rN8#w zQnzj5jir81=ib_wdKR|k{cHtI+?NuPN#!|n-d&*jxNT}YAs%GUWhq~MVjM3v!H;i# zWwuB#X6_hjR!D@$-TykstFQg$J2v+|mkF+{pc8rYBEFFEH@9PX&D?O_Gx{t$x9Brm zG%+`13P|B=wGd^-WB_40^GK-IXxhgPFsXO0LS>K4b1^1A-6N< zfdcEkesQpFMr|LXJF)5S@^CzHg>a&*-^wbG9D11?=Q^3u~+~rdSh%AkrR@rMkHSCv59lkr41?2hZ+UTrm#lx zCk>A(5z!n8^vK9s5-jz|&Fak~PYsHhFQswc?01eekZ7E}%(O}P)!-fP4913nM-Xk$ z9nfN$V=0|gba(mBQNtw?1UX~}k`C>b0n?1)`Y3>M)hU@%EZ|O0HN)E?)v357ce|Co z=A|(~k-$9ZS)RZV1ia;o*);LsEE_QlT^)06*UGy5)ReQokDmgw^9s&0uT4Xt;>JTQ z!A0u*Zo-g*S)@Od^v_F-a3Arxo;4?bil|7bkPNCGg0*l9N01B0?A4Vuvg|%YdZD>u z&Rjv#vA1+1;~UZ_j*c!- z+ApSa{DsgEJ4kkJYCLlZeTKqHsFef-ndfBeuu^rp9bp&x(SpWDCp?W*eG)lsiI04Y zQ$E)gSJ9?o{H|gZc<O6_`nO2A-$}+w;`NgnKBmSj}QO(aperE$*(&96fG|fIG4h ziQ>*p>()R}l^=EMkdf2pC8vwWbUVljJI|AP5F}4DrlKJfGvn zrPx*94W45t1-bfUjE=kbtH+UygI5g^i#IZ<3EPj_rDIxixea7+B?#1jeQt$eU|Eb* zy8u;ZkWX<=HHvYP(e|=q`pkQWm9iCmCPwj_Ppm#!7-d)`a|e}9V8NQ+8AKoeMulMz zfxTS$ux(QQ1l{l`*xn-J&N9&}!9LWyQ!cdu$&w&(r6*EJ3#+iDgI&9sq|6@ykx&;# z{K9U|wk6UFkKSxd@`l$?R!R;=(S`inzu4gVN&zlaycKln#DeDwn8k>!0n05d+$mxK zOBvV*5058T!TzMRDbU&ssRO`;Y+o4as}NB zlJ}bl4DuK%_;NqFN%wiH3lz_~Brv0*MHio~P z){}I`vR4if47Gb=>CQfjGXRn}o~g&ZcwsQ1OPD??`(5k-Q;~ zSG11F%#vYFqyhonoM93`3uajEv==h3-qNk$m7U5Ri5YKRad>y|`~%JuWsiYS3hGeV zfaLUA1)lO_5v;sCh6(LYNCpn(7qAy{p9QIR`?q#nGPhu)a?3{*@vf}Iujf7M@yvaX zzK>rU>Ki>BQ|-$nrpbK*hh=wYFt5IP`N(Pe_sqsTFM1uA3sboVF^uCjDxxxq?bt|u zF*}HPZ4&cLS}lDUbJjIOcjpa2C%JYcPpHlMtUyGJvdY;r3XVd7k#-1~xXA7G=?B7+ zywJpZC8`d>&iedshEax268h0ex0p`k6P592)tHXwSBal_LQ6a_0fY1IO&EGAEy_w@ zT!vJjdk<=Gk+aheL~Qr*yko~M=#0XS%F877moz20GTjUdzuBU= z?NO%z@(WHn@;0=5DxZG8M)X(%H6?0uM)dnA54GcNl+_Kp(BxF} zqV)$znr8)cEb*TGnBYXl(#eNV zx=M(&twOwCIO|wJ)o$6zJeeR7zsXLPb)|eOBZ2zrB)eG3qq1FLr;ZjoBVq;hE~^CF z0a()uf7h*Xh(eec>4vpkP4EdAlP(&hzx9pa)>f)AYU|bEE5imCcezd`f*k#JNOmvt z|FCzSaZP1=zgNV9I_iY6peU9=lqw)4RMD}75|rLS6p$tonsgBzCl=6zP9PQ#={*oy zP(j21L690C3M7#(gaD!CuI(AmbB;6TdG2#x-p{<@1(2O&?X~~wU%$T%@%VLUBr~S; z{QKp=!-#@yx*?M(fqkJWz*D{5JMn4yHHD&_)qO zaSfc}wcgb-VaQQtxmMpOmYVo z3-~$i;#%z6F|csMkSCV08q>d51=vFX#U*E4gAay#G#8%E4n2_{JrlMs-p2L#k~r0% z3Q63;3@y#M3`{bn@6RUrYj|Sd{o>X2*6xxA;VH|t!>yU3qP3%hWt(>$*iRc{!X`&^oSXyF?kAKFRaRz ziAd{XysRV*XWbdRmViagj`?X|cJsF#m{0jMWtcWoXBakv4>~>pLDq8`IX6h+Lha3? z&BYQ)tztr(GL)n?{$ypkK>(0N1}yPc9FAxU9R*&cSbojdJ914yHOtdXxo~n{ieK_t zsx!6r;;oTya}W;@k8Vf6HC@*50ajcjs8wA^$(1)rSW6?t&5y$GUAbOjgM8|#_RneT zIDBn6@C0VfaM$p|eaQ(sv*GPb!9n;M2y4Y<)L$>`vS0i#C% zv$&W6xdHPRVr*s85aH+gk8g=?LH0OY&~x-gvkdo%XWnR4p!%Rh4fF^liL=(JhE2z# z5wFVhty87S()aq2#OpVmbsZY7l#R-+Vx$9i4A5zD!~O8z*`t2dSlUn%aUMs|f8040 z{;5iit$C#J6_aaEYh{~9Wm|We1f$gft$y_I!N6#bV0-Ebk#=1@<^sqmtbAgK8KzH} zD7Ekx-vBeAgItp6NM!4VM7iFxO$+y=whRT@qX&IpB|ck~hZ>tN7fsy0*+lH}8=p~o z9~|nq`AtdpFPt!Q$EG2y4`KuEG91fK2SZ!{7WYHK%3)ft6I;g?jK(xh2p;q~mMf^M zBrtZbwg5##h?Utwqt3FDREUXg?)dJey`<9i&2KZZ&QbJ2osSsxuYf7lsY*>$5W2NI zSG*uaCql48@rJUSo)eL5B~Z*1d~i7m>6{z!Sg=X)YMf5o9sQ6nfX-rxwvP0ZJiLT- z5%QX^hBeHxPO!rSnukhk2F;;#UBtAYQ7C2WGAVR!t5r~5-lKWW)^QdIIFSJxq^N7W zDI*%+<6a9{fuS%%T>&fJ}9|Qh#fd&eF zcHe$+*P9u;RLaI`e?5kRZSi(qWeJQtdBd@=5uQ*Q}m*hu|joc3N?5xn(+Br{5&*yu%5h z4`9l6|3{;TN3=b2O%9jtqm@iE}x71$9 zswye9$vUp>nt2bOR`F)Lc1R~v$WZn3ZIb0bMhmwbeUwccE=CaJAwWn|5@%JrYYl*s zq*^dtE>IigoW34k_x$^0m4oe$J@dgvXtY#r;u^C9Qe{lCGtMa$#KiHd+{*m{OSn1} zbJMn*%8=~_&**@f45Gh0szLf$)3$i>5?2UF4q@wBXRWU*x|#d0z4)+@aTBsQzMn zmwKpVD?~Ez!vqXOD?Dlw6_jp|zw%X(Oiz_-7f)a$=fu?&kL6Y7=_}wZR-xdHRR|I) zLAknZnWC|}A1&=Ru-h=aHzuj*9mq!7Pzmgln3IUe2~_}sIG0!tg616uThBeQ*`RFN zt#B{|3W4LFHw&E;$KT-|(0cS;fy2Rv#r-Y+_XN3H&5`ahR+8Mz~0!#wWMcI)!>uZ@(8@zxxL@}B* zrT&INJlb$0jz1*EFJHx;SyjY3m}V=~zWeLQ|l?=y%K&4M9Z3_a zMSMm=eoA=C)|80kalH429f~h;dcR2=)G{~4SB0~y)z=wShfeg%f(b-0_jO$$-O5CZ zF~e(LCQuJLgc;?^MvkCv9!O_ustX+e{^9}Wg8?zjkM0g$0eBsm>gnqgfg@WqTq$n(R?yt$`To>BKFBA-XxI5z<@ zQz=->^u1F@=@(&=9KLDZ?M{zlbB~Ck835tZ`;Lzg&*VaU$7>*Dtti*SjTo=hYzQ7q z&pb$o(;Zrod>$|O0kbu3Ra`caT{Mw-JB8a6D`>?^p-sGOFy&M~7g3+I4d7JEj~(@d zoX-vY1Aw8x4ZetTUowT!mZ3~z%5pMZ025nv2^>)H7wm;&2=kKWu09rPh2(lJG-uDY z8JdFd8`?C3w7Na)Yh*`R4L5gD^D9nIHWT1k@+D0Ze5Bb~CW&(13(E02`TZ9cs%4_KPQCj`aI}iUfn5(#$*-}yi?t1dn5dG9FB==x`d1RG|3nHQvp1} z)Vv<`dO{-E!)W6jD0eRVuGVzJb4V+uLYpiz@8Va$j0U_FfS-|}Ei+DwoIn3aC1P|d z8s3_6WyqxFs$LS>DM9eQvB(RNS~ z%6mGh3B7)_JU(uowzbK|yM8B^sU>{fFg?lJN}#7%k3y1>Y7E?M>wA%IeBhhg61X|$ z_5%|l)#airy%Nf25S4f>1Yrk-tHf9Is;)BI-$;xs$b2mN$WS#u-xgjpV0r)HkkzUo zj(5$cVd~RSuRx-!a-gQpt;nD`PW2s-Bps<&Uf8=p9^1e#9#@sp-30=XT`sA0bR!+4 z`G>|K)Qy%Jnmh(9gBheX;j;7Q9%s!=IN|ni-8}9If#^&%?Vkh071rtE$@seQJ;Q<> zvvTx=Ath}4i1q5ZDkp>bvAQ*gjJlee5ZCN&IRo+s7Jqv$#(b zUkwef5-bhn3DMz}*9JIRpsHd9Mt&`0Z}>+QJL~BWf=u>AaFGthFPdKF%?9xQr5|c! zwS$|a>Aru)*9&r9dHhZ|4vZ;Vifa6+9ko&s6({_-DcEycxM!# zD?NbU&@}J350?+;Br|e0!f?YO02}u)g1z;44p5^hJ*+3GiFlcE^Tr0fAZy7@D}%c! zUqZ`Q)z^MzX=LURHXAlKBq=&yN0=(VPgn72q&n+8(p8@BVK;Ga1f;4S=Mf1UHA{UyU1apRybU1A)$#i=&OqzVabMujS<9!Rw78(^@4zq&MbFQYju&NYMS|I3i; z2uF409hTU0m#6KlWxk)vKbc7)bX#-6b7oz^p_OZR+#n(@=ZLw*KBZ|*K9#v3i%mkl zfZcCeICnsA27{Y0wt1SHzT*@u+4##7%cg^&Xui?QL-|a&D|?S8x}8+T(;^X~vQ?S7 z&s}@i5HMCsZy-a#_8Pu6b>)Pvp5O3te#(6Lct%}}55bwjuAT=~)J(&?qtvG0%dW_g zXDV;4Q>mV?L3*lT;k^ODF;>X)0YiJAzIegqUwY0T4u_G4aM@^0PLpB>$X6U6eP&?z zLvb-@NPwz5jf{`g!<@s33mq}bNKtx0?%Ons`=KVBxT!hsv%7#RwzEi%k zZcU0Spb-I>K%%hmqRjL0_ApxTH>&Je;iHic5~UjVRIi%} z)L8cg6pq-JBu{3*KH3P0WcJ3wM@mA>;IGd7v$^5r=x7aoF*QcD(Z&A&PP@^$fY_avOGb}0jj(kvjtm=7l zEG>O->KkQIh*ahjjNxY6Fr|eajQC^`(C+){Z&;OG>JDQj1Onx)u|^+eQk~#A&tsTY zxoe3QPWOrc;VP;Do)m>!AUqR7-Ds`?U_Q^3K6{)IeuwQ~(6L94+?r8eraZCdAm6BZ zdsldd)gmZ{*@r^hM*M|#3QAln+Q;UneTebh`wj%GO4x0-0ZDizzh}V%r!hv}6sSD? z(VR~WzBFaJeW|%UM5A#u^S2Oghq<}sRD8{By4o}{HdT+w0=tNS7D(~5}T5qgyISpOBHHQpq=I+ufmUsH93c>)sDQFd7I!6PRAG@ z;ypfhAXDMw@h=#h$b<9O)nD~*tx11YUsAF)3SLXNCpBU%qB_z=DNlo4&AN^_RK<9L zrtqjkLKQ9r&KLC7Xq)PN%;?!4$`I!lB>(y#6dNH72dGEy?`L(dbw@JS$fDi@Mbd z%a>fXt|gL}n;SbJS(f-BdqQeVuY+zx=0OalA+^kb1&9 zVdm?p0bljwr&@Ta)h4|*Z}ptidlwVycqT*5S}4cssCOR8{)7g{1Pcqt=;xD51dYdO z?7E%b^!|P`U&M8FLh4`UT815c9#pXMjQKs%9PR*6eS6`j;EBsQH(@_j^xH~s!jN0v zd=xkw=y7#Vd`u~IIl|`**0aJIXHX`xh0TN=@?A^*^u-yAs1#vCjY8c+*c{6Eb5UVb z7H!E*QX)gF*|UZJ#nUu~0`glQI~q8Ya9q~LQtABp(Tkq#?9!Od%7;i6ewKjO#w;r{ z0yy0f8xL4eRxvZW=x3-LWW&($T#vCQv{>nk5dXP3;BVa>dG7kX;PuCG716j^x)K~y zDY{Crgp^c=0582$wyxwV2i!s%=4~KdWWvd+OfW91)<{1n%1;0%)U9G)?74Js-5OW& zM@EQM*2Hl2K^c^_$d`Au7P6-ULDj7T^{P1{TTtKFR14LU`2hJP^f`Pd@R#Q^(wTyf z;hKn}sRvh%ci0#y4MWw{YoJ!T7^?h=qfoB$-ruRf>q60uxY$su4I9r|l3byVoF}#i zBcG)+ai3PKicguy*7r?uK6jYgr(|Mc*S4GNPNun>qJ-V}&ciM+S$}pV_2cqt?3C+@ z<36Uk4Z3zR{_5`HJ2v6CD7s{m^1N*qz01a*OcW&9d>96fOO9R0bbSTPeNYvpuK}`r z)GNZ3%>fg2X;dvY>x+x{?hCNp9L?a&(y+IBp6W>}&9T>Tgrqr$JY(vTOk;=T&Bn!r z#$}bbB3b9E+YF8=KiYEzhSFPJ$DY5DqP$Y1o6`&*2{wO{_Rg5 zrzKt48D+7zKaaC9Ax`0QsX0}kUTgx;%I>kJL<6^@(pg4u_#K(Hq^Z*CvBW8cr86uy z`E51z{c59pO6M$%L7q8j<+!0ajlKAa!q@fCMD-)r9x@Np9}i40BdJVPM_P>pdokXo zgtw|`{)lgoeo$Ma7lOV{5wwB{F80vElrPMHj-oTM#1a$5j!n`k5$Q>@eSO;_VfPhn zh2F>O+-6n1=`%FN3Zn4utT&9qt{5;EOw!MD+2F@>Zn{I<)5qdE&@SRbqaUH@410DaHZ2d=jUBYSNcCnH&0 zQK%OsN9K{v%+^^T;Do$%bs{q>k;-I|6?Sy1+p=iPIK{8YG#ue%yN1rofS_-o8RQIg z?u_7t7`lbAC55a!?RW>`JCmzA2>#!acx3I#Iq}3|6IBBR2izvQ6}B3_>+v2#)Mk%l z(pUp7Cv{=w$yCpXIo49epkk655?A)i19q{kPcweO#5EJA^^zG*RA^}p`H5vA)!1I$ znAOaT4JGoES@(S6cu7Jtz-OT;c_kzCW)DP)yDA~{XZ19ii*!Y08(-U&dPis1?dPbq zDF4J6NC;DzZwCCe{eX-Cq1ynq-Kv^z2J$6e-v?rYYd|v!_b`Scs^09RJcS_H4$_g> z=ef*olypT;TYjA#sO|UrNllqXE^}-K7;Q)%Pd=>0z$~@_PRvBK zpc&pGnFLxtXi7XQ8bXyoofN-8pl*wc6D)+ZTl0n=pX35XLp%G`DJZkCuFKN=R^Lii zZVXeu-81WM8s_Y+i9p6ucY{`EKy86NMe*u&kUilB2eGEhwEz~lc{~hA6tUDw42;!Xs-dI@@i-xG__b+PEfIYfI=|S;s%Pi4lI54mBXr z|24Mz6uP8^-v;1y#!{F6no%nLu})rBv@9T0992U2+O@O{=eNv{*I64qR6-SaGM;m8 zWKQeYg$a47b9QHfW^Aki$per#^s z@C1wGwCZiOyTNo3Ur4Asu~dqyO_kcn$^b#GHuWA2Qqq&0dc}Mn7>RqQXgD`*bJ-+u z5)%4g>?Q$aS2v)JOFa$raj#i2wsFRwem}#ljs6)HXS#Alw|fm5i1oWI{IN7- zc1T_^UD#I&;D;r-`z}~~t-f?e@a>Ln4Ckk;m8@oGnM?DwDw&jX``K>A@Z6H=kb)!i?&m+04N>1RrX zYk$LUXEZyUlXdCdr|)Im;HVk*s>CKr@qm+qOb4HQOU69o`E#j4^8$jo6peUg^F65e;XKA+7eKOimHikb&fsQd!?cS{a$F-bD? z*wC1`mG-4xv4B!ts+=K+GLx!cW8-1qr|A1Pr!AirxF~p4YD^(}emJ3ddOT z?drBu4Ac(VjF01~#n!k5LId6+Wxjvla(EvvcxlM%$8yu>^>OBBhhHyQ9*M~Ox!ciT zkW&-vsXXRF7T4UU9w`L%746@Oel!mpsh9IQI5NiQ4WQ#%n!B`!AEo+wsvqOLusSEO zB=V~&sJqf7ve&VyJ8olcogwSnjp+-A9UnvQd@9%%yzzALDBOp?MBxWdT&H`Mb*vrO zY6HdZYCy6w%P@4**c4V>=_b;R@=F$cjn|LACjwe52(G+Mczwt;62}vUzcpCpT1oqn;-xuI)T07V7JKQ=TY; za+4KOYR*1*<+rW7!XTL^L*K@mZfK)p>y|}4t}USiqP}CREG7kPLkxA>tYAzSwH(N! zkMeWxTchh%Cj%(f{KSPbJT3E7z-x{V+gh>TWeK($>Q5W1N31^TegidZCU!7`Jwh-T zyRCFkY>`N9O$m`h+epeZre_W&O*Odk(2%s9IjR>;^~FjV7=x+@wi*ifUG6>9Z=VyN zUV!rcP)Bd#N}DMk(-gbM8YevkWFIXXTsE)2(jS;2@fdk#Z<5Rz5zI2sAulbqn|Dew zNk<2RkZWutY5HB&Hb}NJ3lu6F%jWAo!f|o)4mr!5b$)(JV}_RR=q6}3o;yU_8n>=-g}QcCN9H2!cMzG;)hZ%2W}_+ zO08+}CJ1Y^WkBiS0nk~{qC5#mx_ArE6+6=?Y>vv*D{N*){mK%99~SCVx7=^$t(O0= zE?99wsmsQ=VN%i46}gJDNR5ND0AcN^hAE?k+uQ7-XBBn7?#=!1#e^H@771~lUo;EV zqodWs!YF7)jxX+C)F)_ale^R=og9?91}YRx8xfxfrA?0a=CkX~5v z3~Iv~{5!(P-4S!i1o)0ss96^M`()Sl=x-VCJ^^yyH7#w$HN^QL!a@A}AWKLB_4a7& ztM@R)+9bSLo5EE~S+u0I}KxAy&24YQ$<9{{dLl zeE@HV4(*T>%I+elv#r7A?}(MFxr zXZCt5m6VJ}LxR*&way%z z33r$?WYOG@%1nO{U55?#?*WadZA3g;Efc*p+6gzt;k)DBwew5rbc-kCr#wMfpW6>a z@D%TZRGSt6cdPj7o%zlJh*k&;Ev@oVq9GioT9YRb6fR;d}stn@giQTEMcOfTznwTqx8ZK#3VU^bog!g11$!ZOL#m(Ga zAi7dFZ>*%2|F|yNM|3!}4BXVNw?Cf~{a`cRwBpSsT0T<$F$MZ;)AnN3dV*2~%xcIpLzX)a>l*k)Ra0#!w6O%#z>~^4t6P78wRdhh2r3O18hnVn!%Dk~fHSPWOWR z!h(;23QxeagiBXsEE#?sJ=yrgLF=?}p|+4p`e6$n`um$f9C@gQP(Tn=?zyqTEJ2d) ztch6v%a_q$BT0XWX?es8CZBDhXrPC&b`(Gzl#Vq_PA=;n^O|#NUEy7`j}wUmy=i56 z%1Jl$aVf^1kur?SKwO8K=$6Bcy#G~7J^{)FL>&UK)6;%N4p^6A^&67+C6H<>DQ}hY zrr#?e`Vq((&8a}c{hY)Xo=vEf%(sNYYmsIWAAs=j1GQ;|^}o#Y%E;HlF)VI!xg+jm zuytN*TpFz^D%emAeDQ7NK#y@&lLX^8?fis!eKKozM#8Ui zrdBY&;&IS)?)Gv}kgI=Wc`s<^%QCwD`LfuOg{`fs{Aa>e9I=WulbV>_BCbr&Zw^=; zShzxA%6%N_G4C0uyTrkF+0b21b*(hY`?nz3CS^IOMUZNO-;UqBgi>fJjGrfk$zXc| z`^7J*q24EIYr7(~V8%4lee^sx)h>6HhLf-*P7U7eBl(sotf*agdAVB&+r^ZOF_Y3MzO#w+pxYD=P@qf!kxjZ^!7hW4 z<>*>nF4p;(`+y5Bhmba8auKChpn|1}oE-HOVr594i-Snu2XlF3lhoCH#4?cyB|)NLyBh;ixTeIwg^-}^ z+vr}G1ZGAwR>_Gk{-W?>Z^#2-wr-W@UhB>K;XLm{c6#-)Si+mCFyZaZhLqu^7cP#E zkaL{9?~CZTGs*2`{WNSoPy4uc7ra#Vij*=ZbV5RlFhN_@x4H4LYqgvsm)22|C)HpW z20Oin%RRt{BM`Ew-gTseuqprOncn8$3+Qd{3N@RGg1eM{=(3D(6;ALCSp^eZp1sPJ z;b7LrC<2E_=td9vi94HLyE{R;M|-0S@SG7?A*e{^S6h;EFk%dJF&&^K4**}q93c{~ zi$ootj8BWD>P!5dB&m+NiN59A3poVls*OyJQ6ss; zxyl6$>a}~Iw7Q@~+mqmkkb$`{mOo{e9vqZ`eK-Fb3$~qnfA(IjniOEcDmoXo?!epe z%c+KU`cS5m6YteR_0s`!nsr&j4K{qLclN#*`q}p9z5js0VvXl^!S*=UuufoUGQO{U zEcq{$ooX=2Hyra!PB1{LD#vyTljKDhLabsFX**TCf*wNa+^S0a2|PRFWq+zx4MUTN z1KoSU0-tt(N-L0dR!|mve})^zi<-{CxK^0_cK#G*LnF%#ax-mta8y&ecx@_Gea`Gx zlz@+9)VFnn0WRKh44y=I5TvPfJ3|8_Xl%e0Ms+EJ@H5N?Sy>5 zo#nkx{7-bCt#S}5cB}UE@5a{vD)varB@B4u2N1S1ap;pJ+XJf1LW@rdlfRvhUmJro`=^=M$Ksk3YZsecQXJgPS+K z+g9Xt@8G5{NAKMecqT__%^3JH{w^oy-n*Cc!*=@|7i_p=LIJa7Nc>qeBxaRvSaSL)UPcgZW2-fsnY zuRrb+uvjyj;X1tA+)A0LgVHJB@0vm{7y5+LuKnwF`qn%Mh_ns#8{a#G{_0vlO#s3G z|CvbpB(iq#$UxVnYsLRzo&MOBPe8Ck-}1vdf8Vix{_Oww&7LZ-pecGODVleqLSdqD)rmt^8P! z`1hdfPy3?)yV;|#epmGa8=%Fr$L}8+@&9(_{OKkCvdLq#I{e>O=`>Fej zMfuxc{<}GWEcD-J-Cy_yf1h=K;lcdvru@aC{OzXv#fkj4oAMWn^8fCpcoCi0e|DdL ziD0ZwJ{+A~3O8FBG!K6{6N03VPMDca^?Hv|C)Nz;c@WG>h zH-H{90{N8bjL~~zVK&vPZ<8Y};^B5|_8nriRZ8gly^XZUZpjV*9UIf32*ekSS_9w9 zw%^wxXh->2P5cJ@Y@baE+>yaG+c_%SIn^1`*)NA6FK_zy8_M9unLxLJaeHqQ(< z>uD^3n%6Xg;#&ukllAP2KU01z|5a~Uo(u4r9dNPVzb()sH1~PfUq@XI99a3M!G<8) z&v0$Fi_KC~#@zn-xGoS#wr1Z1u_$KrLG25vuZ#P_v%Ht|Bj`(oz z=TP$;i)S4Ld;Y_E|Kq)P9Rft#!>vuH9K?lA;8Tn3z;1B%o3KW;CI>Uw4F2kT2k26< zU!n1r4X2Wqph@_=s+sqr>G5_+-Sc1|$2R(N{cii5jNq@YHfBTJZ9x;IJ*G^Exsr8X zw&G<4K!_otJZn_G&8%f*=Vd{<<5>Ja&{!^aCN+GOhiwo1PpYNgH`9Nu{>udqF>v3G zMBtV~=8m~%bW`oTxX?mX-mU&7>N%k$2Ds=16De zKPV3o`OEB4r~?`5br^kgdYfzVmB~`Z%47g{&+0;hwwVYGOe$FO;XEEd2W655D)?D_ z`IOb5lt1S_ zc+kfBo#pq;uxlckO->GSoGU)(Do2m32<%x z*AaX3jrsk7lckoLDCQ7^)2;RopJ_w{07{kL@rNy8v(LpkgkAv+Zy#=1_)^)!0154W z3{@suu|@TH1uMxt3+hv>Se~I~L(OROb>ofC6DIpjO3;q;pvBg70uXn&`aoHlmJKF~ zvfuk#mbz73S!Arvm6=Lj;4}Cu_I@8Po--)BZVWwTwI2n%s;19|R;?yec*$AR^>W5? zt+)U9`Vq~)9^9?TXQ@y!Nxg2_Zpoe`%a2xUb#E4pc8ZRX3s0K%x1_i(PN^Blwzk~) z0{Z&;Z&d~XA>Qm92H0cjep|1++9JOWEYCsthF^ZSs1D*j6RZd!71!o*;|~WgkVqf6TefZ&j=7jQtPyqIOvz*%SbbzTiUQiBNwa zAihr7<=Rui!o-btSX=@?XIX3uC7Ang^vfGY*~J+STHV8VqKt;tD`J6`hM}sC=#2gE zAgHON>Fv9{Mia;hpssHFbq78MLiKgLVnVw29e{&swExDZh<#iRAa`{(e%MznKXVF( z-wyD`kIgGr76D_z+%gQ891Si?ZUG;nCP+U}vyt{(h7KS!2eQMa@7sUGwxIl5P_NrM zb1aPk*mp{b5(L%oLDK}#M86O_1hC*dYDGLmf9!y|n)n9YU?@jz*2CHG@GHI?)c0c-7Eic{5OKKtIuPrn(b`$IrV|*C@e>A zeg?5^GFPQC&)%9Jt+ja7k1A94(F=kerZ`rkSk(RB=I0i-*^HcEO@+-@W&`v}MG!4` zpk4VkxeKFG3^rnMO|~Ui?vG{dXmwMuyW8ez_5c;&@>+3CSmi-sJF&gPK zd5c2|^toHQFwCB9H_RVc8ki>;D9@GVaiS*{a#dbTsLQ_yk=WI%1-7T0Z`{KdH1-0- ze!zPOS1#8fvS)7Xh~}4nxqq-X?r~Seb_<-l}!s2yEy?8|!sj`JZ zGUD*cn(t5-ha!!k7XFn`yBvV4FaP(5brCwd9=Hzk+n zz|}Jjp6w*p1^a|Fu}6U{e165-L$IOqO`6_J>Fn8RfC%bbY6ubPv}F^^X9oVOOXK*# zh%K^V9xt9>vW1 zl@c@-8x6zS<~ldzr;qv)WvJC)ARvp-rw$O?$}g*M6Up*SxCbr)^gmDiv}*>XiU;?5xu(D0YWqK)!&=snuZv^( zT>;MT1GsItU*h;KfES{!!rXQNrDgEU%9=XQoC;y9n`XJbU=EgOgoBLkC~@{%U+(Ul zhb@#os@Q%*`jl;FelDddPOu#=*`O-3?Y<{@Uk{kqAnO>}IUYxy3Ctxz$U%MLfZkNHg`j@%l=*TqVR_#_=;2b{eZVIdzw#Kb@31~ z?((57`**vQBuI{U4z=`;=;Bx*yZ6WN@Q;Gt{G{UByIap5f1q-5slACPNWatTLKN#N zl9LGJ0Zu@V14VykJk1}FP0hAze68)%;B8Bu%I+Z+Mf0clt6tp4(IIJStc1%}l_QHi zlWO7gCoiVGT6R~~#o$$!--xYVpPZ^Iry!aGE466y#~a>S#K%#*rVRyx!yIF}y{ttK z6)xt3xpl7X4u$X+jmtkIYIU*Xm|zAh5D)OHD}an>^40&rvj|{&RRDXVC}{E#*D7MGK9y z1y5#4$I~ao&l7HrhsYqTaIIi5_pqnI{M1W`mC+gdJc*N$*1H*7+ zluw()D>e&Tw455(RYV}g;RDF~FBOYhgx2pg|A-JYM)6OJEneVEEY=M`&^NJYpTjD# z7DwUgNdT~K2-)xHvBaE@GD?ME4ALv zhn~B+{-=+1-;W^!{ZG*RoA6~$D3VdhsSe?ec5nm6GE#%G&`r9qOR!_cN~%*z)-^-y zY6#BiEy-gYo(@r=@jpP*DQasKg&g^_hWw9&(y*F7D&y+OBXYjBl*f~-FoW0DsG!tf z@1G3^Q@4iKjPV6CexVrAwqH3eh$lZ}H>Im}mM(qWi zmGE)6q01^x+hSejvA4p!B{t|?U&?Y`D`Nilw#zzZa zE~fA_lNy=?E2-S^g)1qKIFZLuX=n@4dKmt~uu3Tw=M!IryUiGPIhN`|X>mCuL?xeB zqpQmIi*^aypFiwR`j7{_h>IGkLsUk7h%9Gbo`dLoWN|}ww2_f#^Ggh|FV^j8!1<=t zi&{R|I~j`slR1wrdu8q-hRQay+mtKxRf_o~-n-wN&PVVQKj_i=#oBn4IRuRJaP_9bxGD z0S^AMw-s7f;*~4{rl;qyv`%c{B+qYB9rRuwCm|@H(HDO-wf%9LRw4Rny_WF!?Q_eF$~~{MeY>g=*4sQ zwL7JF#KReT*oQf&Smy@rMLWYbTNtNphCl2~5D$3vUK#ZOE>w^Dx-VBcdCxhL=b##K z@ngp5L_!TryRrT^SDv;%?h`)E5~hORlyIe)WHuLpYCpl&bM))kt{4Sh>m2_645z&$ zk7Hq9`Q{Xhn226hQ!b^z{_Efq0rV?piy} zWN99#EO0q9hIUK9v$wMaqnfeClg!Swxub4mhkgL$s6U4u%+d6$G2_K z1zCp6@XwMc8sv7yU*4o>%Ss6tutW$V-dRa%AU>$CofQlc_E-h68?7@-19`CsFzGvY zO2JH8471FK3&&6~v-pGlu0kOhgJ;pAFZj+>R2|{TK2M}jJbt%p;ymOY64`=hVFkru znI*&q!imPl=YoU=(}+x$)iG_dt>Z18&;v2x>o%8ZK)NOo>o>tsF9-!REbBwu(muYz_XIpGc6tkoB6SejWCv*J_gV_{zr+zAS@C_2uQ+!p!i)8c7MUBb`;T zUkFp}yl|_@FEI=~>q%z3_k-Z^iZIU=7Qa-b#uPZ;5J*DmnKP0jZq%t*vMk(QQm2yy zPOdhiY8BMjcJ1Y_X93C5HjQ~|o}_9pcOPEw+=qIt&Kt(-byaIh98*}bT-{DwIl`wH zKI4{rv$cxU8Y*TeDK4$Gj#yD*@^cI6eaexcgtSqV%vN}D-swOOH6^WXaX{ZKXuBQiP_A2ApFOPM3u0v6|NLlA_L(DbHv&F42pAfo%Coof6+! zrG6<;hU3y-G%_-OL)O7wdja3p<#S#-~)K~wcxZz=va7^a! zgp<=yZ~?jfKDM!fpZk83Lqx!?%kDISJu>XTnha>HE)1z;CCGQ78W3V&ZeRJ!XW)9h z^wLaxvIx`wieCjI^H!n9a6>*bo^a*-o#>p?o!Vla?kkiZR*drbWXa12R@fZ*wUpAJ#-V!i` zdFqpVUUn1o0cxJ)G=oFJK7^m;x5Bl3H=`S2xL8?c?^jxNuf>rh5hNn=vr-tcFz3J zJ{v3X#)bywFR%k~WIc=>FWldbcp^OWRFx5*n4&HxfjXg$U4r*q&$I%zzm7v1=9rks z0a7@-)H~py9^o5N;ciOhXZ_-B*dB47icH59pN*w$i(1=1_%Wu`!Y%V>5>zj>yh;-% zSHq9R&vO=<6lqQ3OJd+~_VF^fjQ3G%=BW87Mr$0~%_G%ss|0C{1mIoW?JWy0p0d;= zIO&ZH3h9rS4)pb~Wy`Gu|LGht z{KP*u80WQB(Gnx1mht}ATOXiQ-Wc68eY5T@d6csLpzT1{rkr0R43tKYWi+abf1wQa zZ77LwUT=MqtCeD_^$VI%bdGT^MCV?tvk}N+l5XR#gt`_$!_t_71E*LNfMU$IYC}G0Eh$KYWxs6RKFw zx6dH=d*Zb!+aJiR#O|3duVbUelwDUp6fQ#JD*qbuSp-GwOkS|TDZ#GuX5uMTI`tm~ zku&&v>&PoMuqR3aQYZ&wgP<1WcQWHO0Cc&{*$2J{OewPc_Zns{#|Q&w1RFtkNe9?J zMC$cp;Ha|12_uk+xY0elMtSLui*1VJPwq@HaFI*^3)ZqTnl_3;VWI4g;kT# zAk^t^IriU9h+YP}ruNr}WxiBnm@BG6nlC4%7(4ZuR~;ySJ&>ZIOmSg5l2}ttNu&m* zT^MmJzFcQ;BQ{qQq%A$OD?fE54M_#0yN#ud^e{6>A{@@U~tp5b4Ez{{4+a7bTW)EjTdmD|9U_=}x=r>9Yb>1X$4ld?mI zLa@{NJBMd{fZkS9zsR+`$iP%E6fDDak!#F-9$WRtZdm+dH^?XWdNdUoPpCJPvI+|y zj6i~5;A}1mQV$1`Xt~*u>|2lFlnlokENcB)&xTnPvH#8knad*8o2tf^omT!Ug80KV zpdtz!g^79>WOf>0+76bT(ZgNJk{+IO0m?o;DXIydECkv-%X+M8njISjcgYnTLuk6> z3Lo{XRQi1C%x}H|uF;xv3H!nXYLTB4xez~#ZD&}(g~|eY9%!5oxx-$vemJ8C^ZFpl zJ=8*JNk-=rsg8}is>x_1ej}eb1eIt425JX*NyRIwkZ<^0F)`N*nS_sTj>DftdUGLo z9IuEC?T&&?5hgO!Y4wH~o9h^m^Y;2k1sIqM_InakbWPJ9O3eIIJ`bb^Ak~&m23MH4 z3@}2Z4^_;{xwBrgv#&97lzgt<%$Lyle)DV)HwyXLq;G%5T43D|D3Os9iomJ>9fl!2 zX77hEg*lL#y?kvhb}@Y712@(Bvxp{Y>lj4F3pQN;6-6b^+DR&gLyV0j)Qmr_C&M#+ zK^MjVShhgpK-JyTh^HK=#Bg6EtraAU`YxDPrI4l+Y`?jUPNK~XIqq0%bXJsY2xi)| zH%ZBT)aL}s*TDO>$=X$*b!WwxmN~P18}MIQjuKjim#_;j#NVpz-7@(tVI;CFy{yN; zAHaLqha|Pfc6;^ZSBz${thpQre4mF2l~0)E^}LLHyt~Mj|5ck{L0=F>(;ujsr8KzAaO7~d`JA8sQ0g-82Pf_4g89Yu*Zv8eCl^v`^}Ro z5%AXl5ni_zb2lyBqu4GC#x}|=&1D9M*$dTR&keU&2I?ER;t(0G#~w_7c^*wdC*A*e zF59aNty+IS(;uSsc47(Uc7aZQP^F`dh-8!gHo=8&)TS9H3*t+u$AKfD6qcdv>q_p2;f+!ISv!)z89-WJm=AT+cn zlP~Abm~vljqkS3b4`A3*VkGCt@BD4t7e#$rbxdWgj>?!mqk%m7=sw26S=$|lLM2v_ z&E7+IcH6y-78;Rahk^i&(l+trK;<=xtQ5X(1|+uJJa&_l9q3Cy0;St#kkg&G`|DZQ zgJQl*pexoO?bF%+)83oLHF<6A!!6ZT(K-VnAXq_ECKVaN6tp6u0tzS~5Kx2&As|G? zgizW#GASs73{g>0rpS~qhbj<}AtFM6K#(B`5|RLcgb)J%J3f`3_Skcp=l$~h-XDD0 zLcDYDz1LprT5DZb<9mgb%dk&zuk;|u|d4uu0QXNK4xB!Htl+OlhX;c8{$BI z;a8bQ>V1Cp^+G4CxVG!Xro^o4-o5-VJD;8RE(Hx*#DjtQ6FWfRDUaz>Nxr8Tm?(7S zT^w382UH#qm)U;uC^E5Y?)VX#&W{c-t0?%H`@^U%RKxt?^XGzvs3~06J_{agu#sCf$6ZTv` z{Z=ttt0^=a@YLDu`jOnSpobCRT9X+L)7C@u1R$R_26QU}j{(=tRjgX9hhXej8J$Iv zwr~ITB!?{HuE%Q5Aw^9iR@5jU^~prr-7zgHzgp^gx`Z%@0ZP_rdYjfC~0KWb$);ElrtD8U7RbfP@sJ(Y0VzHufyz` zLwhv}%O8oeVocIyN`LH8hWj|QYPzIb03CF1JUHN~9pYbgOtlfD{bba_C76r5pb+D> zIL_@k3*vd1^qjRywmtCdceWZRt{>0x1j>e`BXy!j8@?T87)}0KcR<=?ZdNBxoO1WHe9^Iv;_$l% zxsW>(@0Mzyzv-AvjJO@#%+1?C^rLLuzLXJKB2YWjJX?$S#5MKK8l#}!j-HEm1lqe) zM*iFg)Sg-#^^2LSaqv0*wo2=D=4NT1Y;_e&xwHPdMsstAqexRgN%JRr@xLlsZ*jlm z{`6C%fuKl08~}35SZvUsmCfN@hjyy-5r?NAC)woIPTj-4cc2BVGXN0K+S4C&F})Ku zJLFvFyEk0-Ik{q$U!#-&9VyNSSv@;0(`?mLS%q*& zY~0zdJQMHx4f*bgiekZu*l3lJ5zwFR*|g|Gj0<37h8C)`jB1Ok#mO(5dcf1boms$S zZVgV%OBzqPmE*Gs6XS#@I@sB|YVOZ%XpG$ydR%Q1Wn;g;QuU(t#fvnPBZZbl#^6+n?jMZ_&mx$L>xcqiu1ls3;Xe*|+L-R(wMRLH zz4|}iluy`>K?EKiq6#v^onp^`*iRFxlYIp}>u zm%a5Kru}RpJ1EdydyDM}wcdJ@c<{pP96xYTT+$$T;AZ%iVVqAoN3AKiR4q{VW)HKg zAkT9fP~&B>hxT%+{@T0y+p{BQBaNc#OYQdP!^LY+>cd`21DfXsOHB_afFZOW5`E4IPI@igfB&Z2lGqiz zVAVV=?wa=pPXoYg2cVR5QzYXR!%mujDBXa~A?YXYTPyI+%9X zeysMXNIiN~T&XDnK!i*)#Dzh3pcyU08>2H>k#Q{J%FlY4G*$Rspl02s70QvOgaH72 zC{$-`{snX>b+7X3*o3pRZjTGUCzV#(iTq1*5mrAm?GLSeqV&(xc6XZj0-{ zM;>w>+EDSq&-Gr%%l25SI0{X$`nt8g@8?H7p#qenE$WvPQ(9WcD ziH_VP-oy2gm)<=_aMaF&7IotL4=$tyzSBQuk{y00{Hg7bhZTwnxI|NlU58Yf?yAwj z)>Eu<3$?DZ=PK5m6GTq$x59fZ!u%J59v-IJ_T@R;QOYEYyR?#CjUH?r_~c{+#6J<3 z+-pt>%i_d#j5kkOo&Tk{=6>Wo#z$=ZTB1O8SK6B6K+q664s;Ef?UtrI8358b+Fa5b zLO#XLG?{gpH-MwjYy4i7(xE#EDJ-+XZ4pncGC;%+sx>JexpSz3Sgo!kGvx3>NJwT> z?PU0;k~E)}2iWw~8nG5w=K_?Idw*=@&kmGh4}44S{e*y!3VHx3u=YUMM6}^rZax8u zh?JTQmS)@}SwY$+cX_@p+LMqS{UJ~Y*+jDI+^z0urv*v?Rote0v+FIUE{HOzC8E`6 z;#J)kBS$LAe1Coer1^w>7n0Uyeuda;8JG1yWAnYS=HbNB<|~1u?xQXcWwM=@(eR#| zZECY7{t;L)ugjbuRiQE=t~P3HJynMy&Y@EZ#fITiGV!U-?fN{2oz^A?n$T7)&7tE! z=Am{f3Tr?O%dXvQx3?QtmY7-r1a`}6+|Xm^&2-Q_3K97+N+977R^4(j?b;Slx2BLF|SnhsIs^zD!GDK&p7T^2;%gu z(6ap$G7ONngWofR^@<5dXR~y;>g(?Bt*t0=$+f^2L_u^KWP7Oz17&203vFv^n78(B zD?&%gjf|1t7*XGyinT0gwFMr@-N>b;kLHe)sDdfrj1(LxmNG(>)MY zU!B}ERPMXhD*`}`+7nbaT*12M`fKOd0H>z&Y#vT=?k!Zm)~0_STN>>?}M{90c??CF=#8 zNwsn)F6y}ZFjXgs{_F5zmtYU9JhU$dcw}IkXRzS>`<*-Sh4TQpl zj^Nqf*5~#`?_8;PRA-mX$p;PxY+ept0!5SlvGbo)PA{H!cBkoR zo!#v68p;4NU05*m`2{gRO$h0n6N+nvSB>ai0a5@C;?^!lI~ugKCL3{Uz6nYxS5&ay zIs}9&6l#Q6b5%b`x63dF#r!x893 zpcM4kD6^m}?VE42#U!%y6R3cyUp|aZ)A+8_w->mAmaV;;Fx-eCY7hR6#s0`v_qoZx z*7DKB)ZJ>manjB`QTT3CotR6=klMZaApPPI(D~b&rME>}yL~VXP%~4m4q<$c)@J}+ ze@J%LUhi1b$;hglM;7t6pzya{n-sOxEjK-GZR+se08&3|_fQxAUQ>&RlY@jkG~1Yx zWGHTMJOjKhZmtDtW-soXa|Qz2rIRytJm2o7?>npPjK{|mOuu$XcG-uT?&>52)^Ksr|`qR+OLsqexrzjLGlg(r+8o}lk_@V@_vK_;#s zX`3~B^k!(XAO$J#QUus0`2&y9!U&zvvAwIqdy>^ogG4!Rd~jAcXWZ#cAYz#xr#>+8 zbtq7*@vNNdPmC#&$xnF^?8@1=093Y(eHqb~(TI68WfXH8jZgafo4#U;2A-l&7k>;H;H z{G>E+Lx>{?jd~4ib+Osx?FYSL3g>r*_wilF&9x3$#(fn{lR4HI5A=^acDZ=Iw)?c2 zv!S|T;)nF(#2(Lhrq*gY}RI_pey zD8IC8CquOlph~$pW?0E2TWK}#>CDeKmJ@?tqr~t>-ON@aCj}N8ZhW##W@}$dq5{sp8yfot<<(HKfx{yR8@~lypc+ z;Qy%!7$jRYG*ZNL$Aq#H`+|X;AX%rVwyDlMF}l17N&+v=k7aUD&`hV~+~0fz+GwC> zl)nQ!tRe-B-?TaFiZfw#KaY2I(|vB#pelwA7>W zfKwhjKW&=s@z(%-1TpUi+tNB!Rd#9L72!F_q@zPW`m`EjTJagG=4L<~bmpRf+HqDs zq}FU#4F--Jx~bmP;JC?H_%5Z^Aqx8jitjVkx;c~PT`I2Vdj|cEI#U>W=Enl*tQhYT zFN3UPmE2MS2|2G152ZY>O^4s9Esj!cbWXff;+CjN@e^q7(m!|Z7G(r#*9_$Wq|^b% zu1`d&#Xj?Ir$^iuXzsEH?~C2Bc;yjpit56A<{MtKzSe#wik`Fq+-r9gyb=`TuT8uz zCMPerBpd%Q(tV$h<^!VAA3bb0$L>RXQHJ=RpJQQN5UcFXR2!9jK^ zhghndHlS5w2EoL(POoz(8|ar~G<%<7O$XRJQn^nyS%ep`iZYx|Mpg8GJbbRPzgo{d z9t@hi6R38~_2kPYpKxqo2#2x|oj5q&flGP1%ow+=Oxgvn3B=(_a+ zY&2(Za@751ZETq-UH|HH+?^F;D>BqG%a83dR^RpR_)xG5CJCbP+XT+%&CU3B{_*0O z+lgdL;%F!!hkm|Nf~r&k7&v8^`Tng1`K8Ybk|qHf%7eT*8)N^DvNc?wE^V50tkA6L zRJ>{sPzCdO0;m@8JW1S5UGQNv;Z=G&jzzsZS7>C?(6B z+#GYvbvGF32^9hY2ywYU2rQCnv8&b&@Sp{oxJ~-5AK|U{^@4*gUN~A(nK~uz!XuAp zUl0?Y^n7k*sa{JSTD52UzL;b~Z(L|DdDm~c43&3@H>$`GWTzE3+^jbQ@bQg4>SBf; z%0ipEH$kmW{2avNTrEXivoZSkcn--Bhl15xlGjKFE$o_nt!im7jQ<#Arx>`SnIl$E zi-#MH>V3H3Hkxyd_{28*9@Ety#U*%aYBo68e}gh@gFdr*Goiv~HM zwJqW9Cbth$CqC>+5LijM?Y*8n(y%fFubRa8^-!WT;)#I1;WA{C!CQjJ#!HZlle*2FIE{;Dkfx;wwNr?-tOZdz5qZUytr} zenLx54mY(5tzdaP)zBJ#J#FjL}PG_90e4^}{OF@K7@b4V| z`TEi)2g-mde3h$5s>0ZB@638>uh?$AYP?H0k03<|O4v~gdKo4b7k1t37-t>pn#1g;kd$x8xKSa;>%^g@>3s-Lm zIzi}LcTfx8bK*&=L!=K5pj3CNA7%r^vyC=_IAS{cY4z1X3RKlSjD(|mJr8P7>vhhU zY>M^AIm`mZVs+0YWuNuxH<<{ z2kn6;7q2?b<7_ca#XVVNUb3OClnc-8Q2X}&){jA@pXh`-L?eDpOZ{~@mrhf(Rhawh zOp)wVPwW0?^23nP%FxWHht0aCe=+25tvyPB`wmCF{H0cSYu)}Z1mI2Mj)sw;>kjK7 zZvfVc;M~s(&+lfe_-LX`jyD>6HYfX&)w#CHk>uwwK0r>&KPf#|KKtee=Y`ek8K)d! z3xG@Pl%W3g#}?g>M^5hbxmf9a_5O-r)mMAda?k1hIR^53l_ZFxD@pB%a&87N#CowdRN#a?Y^ z@Rwbz3;WuNGz_o)@k?*_`F-oI0LzqvI3V-+7r)Qs?I91*MhOKIaXxF1R%d7nT zXTJElz_h;kFR%00S6QCcpB8L+w?2#9vJn3Hs4SnY&vtTIWh|?V&$6&=xBesx%PQlu z`S>$FSymZ;5|jU*qKvn&A+D^8-{~3wJ>B6yL-0Qz6!GGmV#ul!%M-d>h7j^^fd)lX zV)^ucDz)($%>T=i>UL?L3W_;V7?{%e5#X=>^7TK=QQ^RF-WKavE@^|tHK$d;7(p<*L7ez{39IVT(?Jh<6f*IG6! zS{!v;2>jFh;QH9&gbOH=5 z-wp?xOjGay%E>)kMp57PVaEQukoYGl(Al)Vo6VP}9-XptAMOW$QVA?QZhlzSJbMuJ8MVJKT9r zYr4Vu9~lB2QxdGvUOUQ+{~WvBjPzZqCw+3?Fk|w;aIhwx_$mRz&|{cAW=eR{zFkuCaR?iC(RSo3LNZ0SbqSJnC#W0{LCXYFiiGa#P^-8*bmJ~|MK*mS@pE)+J=nJb zW=0H@fyHw%8x2}v3g#dGg3|gAJ7a#rqhd#GaBgOinCymIzhAQZhjR2l)nnGx*Z!|jy#KQKr@wy1xKwoEZ=#QXGuP#< zTH2H4ty&W8YpKGR9w=UMHSD`oHb>A5V@huiKM7LR9JID}LL)_|5=@jwM`WOH}D(!fyrd`&dltH-+0T zimKh28+s?gXXIXCmsHL_8JI@Tgw3j{yLt=mAANg`q$3C@fPT4B<=;%ETjPb|Do)Ml z)uN{Ox~j(XoURzBKp%mTKNH5k(alq0f2i#6S2RLx?93?IbDt_)e<1 zJ-}%6=HOFHpReGvs0#w^f2%gSWT3w=2!lu=`h?Y4W8tQ)??#^_0Plby4`|s+R3ql{ z5f2dEH0XJPoKy$v$vWT}a$a+P?Q!*`1z0)+9|Y1ZgKTc(%aqBB9g|PK2OiYL{KBlCbc1H4Pu3(aV>}{g1Nkb$* zEtda1X8p(6Sc%?_EyaAusR@|v=2z*H=E9X>w@o-gC%!TL;wrb5{mt2MaHVECE zI^0{;|AGIDGSiITw!h8YJ3RLERQZ5sA0xG&=_xn+*XD@-vQA$RiaOI3$=^_s8Q?ZW zepsxqk10sV6gmmAet8%*Dd-;f79;LW^N(lS=kS5Lvlod0?{BLinJ#vY&`SE4X58(3 zqo_(YQcv=|NMF-3Io`T{A?Sl?TP-c^dRrweHH^wghH4A9F$S39w8$>7f*ICg9;jUV z-{s`rqx#6Adhb;HGv8I$g!~u5ILg=RVd&Z^1GmIC3wj97`#LEU(576-od%5W2ADKgkOD`mXQ0n>xBM)*4JL0zB$&=uB0lK&leMp1CW%&PG4*13`bMk*N-#F}4F8%P`Ik5FP{ zA{GmDaa3It)o${y&Bi`I_K&Uom*3R&NFmITJUN5f%WUTy2!T@>$q6v&bsIPbCI*>T z&-)1$y1r?JCAi_|*|TjRvJRnYL68h>E%_dk^Q)soDlTRv{Vi|k8(DV~M!r3^ztW#s z)8LsgJ^UQ%YP1`YMKJNKC7=SB(Y7`I=up?F@s@B_5!oe6kL?9$tUk#!)^{uE<-89T z>Zq_bP!6Q3)?XxColxcy1r-S^p!wGum;?Mwd^Kmj4Hd9}9%xUgp;923iz=rC@#_K1huRt)YT7h;_k(W7SEUO~iY?+G&(jBym^n?c|o<1?XM z1dfnh&c4ef@<|mTKoc23?I2f6FH@4LLbGpH&_D3*cjsgUz6oZ+x(ETLjB4*%e>YvK zF;7s-VIiYT&9fLJvOs|9H-bj8=J@utCBdzzfQ-=51#ab!SiGTUM!+oUSP%4{*vzHR zAXm~~hj3P^qb`rh6AN9UY8N6!ySZFJC5J0m$kF-c114(Wg;0>PzG_iOA@&bYqxxzV zg#lIk#o1Ef40#|#8H}a^O{f_C<^J>GqOnePdH{q)tqw0k3VG@MRRQiCs%SF3Ka@iq zUtm@lR4GTzzG4%V7bh)$_)*jH^F9Nuu<;rV1h1oU=CG_uU-U> z9@!=1{4A=lQnG4f3#O$t*Dk~(5;6lvD`%k0ffOi-L}zwExi$NJ7dkMDwZi7b1y6no zVWCpUv?a79*hDCOGivMJ_*U7Bz5UyFV3we3ah^|!!Xcp6A&QO{e#(pf7Qja3t6Z<8 z?+(1^`!Xc<75FH24j$2onMm5H=t*)C-rjb6*Pg`0W74W2mzg1$YwIo>-3boptieY^ zYHyWirm5R{pNZ^AQ1_jsB9H_qMiEjz^&TB~#k%$72#S75HyPeas?LBB^$g~M2_c2? zIrL6FcvQdX7Bl>##-&aBCxbOBi&I0+ze{Y|gVcQUv32IcUbLMl+CY@azXhXwLTr{FI|Rroq*-@2Q;miFt%AHHw$&7n8r>*1o+ll34PWD~m6ObdocQ(V97N_+ix3Sg68eZ^EQ{ zRE2K!Vov%iVpPrMS3AQkcJKnCqTq}Cu@j8z2JQsI>ZvJ#2-?bb&iSg+aYRwb8`^m{;gH+jo4MMCRzq%HnREF=&UOSELTqKc7xUn+yq+sftwL2l@v0vt~AqTP_hf z70|4$3zI^*>jnem<%_cdwEda~u+s=P7p)&4+%Z>P&d5c7teaQOOGeh?t^XX&08N*^ zj@C>x-H@?AwYWA#S1lRT)9BfWjs?$-(kIx;0c**HQJY_RA}xO7EiQC+4)QqzTd50! zPX>k9R*j$5rQn{0`{r9P3t$M@I0i8L>SG;>5`BHI)aehE<6|_jy28S)$;;%)`wbKS0G#GpgSh4s8Na)ki$Xo+u7dvGppaa~} zOP&`2LSWTOjOiw{7CJtqC2$(%A3J=@skK7RbT;&O+ix=Kk0QGE zqR=0nN`%+muDZD2Z!@*~ML$7_80YKf45owUMtBp=QHw$42!2(ZDdY6OZs}^UfSEan zS^U^DSmvlbE~jzbLRJe37WIZj5?WfFjN4|P_C6PCps07tBbP#@|75Uk)x|rkXb<^P zF3ZpkmQN-*l}-v90thCP?%~?Meph*VR7630&y{)b;zYieBXf6wHx?LB))`fLT!e2wtB!m9vk z4emJ+bXqt*4iYu%6t2T_PzKeat|vlHvO9d;t24FpsHp7kL#M(UaWf5!{qlhl0Jyq6 zGB>2&pTT;;m?#!QF?T8)1Y_j2NeG;#Lod5BLsydFkqRY)gQ z@8Rmb=|GC;>>b!#K{fIkpU5v&$F!%L~ zb9p)xwMK>=^8!GP_Z9W1bLNvAw8ce)-v2UWm76Dg8ii1T-0zSM4rovk|gqKNRx8DQ5pNN6-F#F z^DGmws>s)kLkTXp8o~E#fG;4I+;ABwrxwPQ4c~VW+H=S5k87Z8R!g!>Kh^b0d0s8h z+b)`K_`XD$1&yjQo}YZ>0s~+F{_N&eLc?Dob`{whw>fdN?;y9PykxvORi-Y971+8; z@ocnj^;|dA**x6@)W*x?`;Xk^?O$ClKN5a1J>gxv?sj;KQkM);17)V^CX`4YKB#*% z)Kydgsg@IVsN=7b3ek~Lo$+Li2KjpDQb$fpM3Iw$th+v$S`sf~=J>s2!OpUkzU?py zCvK-KVPKKq0vn)wo4)Zz$!kQDekePR>B=+c-;1J_J`?>D-0}G{M01r}jtodlm*)K# z;d{X-Lx*8DKgzo-YBWG7TP^HZUGH3H)2=YYR(~go$B;RM}`5FX?gP zqk)BmsgM1G&CFU}2E_77obJsMA5xwvi5H&IiWk@ur7=0jnvIj-0rB|tk?H5H|0hq(Ii(T<$*GMPVchovFEsZ*Z>E{81wXsuGA+ai5St|G}XzT}o}b6%ELJpk+B#r@O~Z{81*7-BT#u=gjQBVgm88U zVQV2#!o;K4T$X@?_p2}t@EY{okv1{I?{LtrET3x2#@>+4oM#i^n{V;H7(@LVuTk-v zXw9RMTM~M!9P2|uLU=KrSiq~>LVVGVtWWFI^)ujPhNqXb0lGp`u$oqvG1LXvrPK2$ zRwF*=BzukesqQO`?Q> zlk)?uU*jfO#>N^P=-@D*x|o^3IoSKZIR`3)vGl9Opju&PXwIqOi`79{Zpf$Mxa)#s zY0P?iGWDNms-@3-x8jjGk4>)n?!vc3OO-bE=`A4sku7F?hk8jA--=}E(v>e*Lcv+hpr2aIhq!gcyJYw@r#q%_3OW{{g2Ybb#d`LJTO-=m2uv7UaM8w^)m5fMKy zH^fb)olYQ^H0u^H`plx}rITkGDS4X3*Z$^weA&M?w|(F^+S?cs-}D_OYA#8c4+#wN zW6xnk^O;RZaA7@fe8>-v!>u#1(FsvG-w>^1hFt~yYj@E9q-Z`ITwU7GoL7q+FDc<8 zlx(97tE?AvT27yuHL*OQEx{W6RCiqJv}V=wpL_0YuX_|HZ4%FQn5}N#St`-nTv?^L z_X6bX7Nj?fc||3&4)1y;q`57!eX(UrE^CifkVIR(YI;R+svbo@M-E)V|47Z`^tNOh zEcB2D(q>M5(w!qDwXLC|bhkI~Ldb}|{tLiFBlC$`=)cQ5kx3YG^ zkQ6zLa+lHeJ4Gc5#!TzldlJV}%{?BPZ+V?%KU@8Fbhm9|kLj%+7+KLkK=PKP0m*`b z8N$1al_j=j4}YEcioJi^NDs}qkUNT4%$X?OnU;kaZlODJ`EpK$tW$-(&N<{56Xrr)v(wB_kIi26lM!)1{V@0JDvh3|ETFfm>m7%5KR;VnL zU#<=4;S*Ge%#XUc3W1)%dhZxPPkhOEe%4YgfSpELJc47^0x&FiWq~C2A>&kZu=H6Z z3^v}=ER9K^5Ufp0B9aB$Yn6>myk!MX8TbeXHMZn?g+0t>R zPrXf(#0fNcpkoGJ7tB}vPa5nmQ4GZ&qvy_0dofdc;R{K&S@PO$)18bxA(lJT+xE8Q zLs)5D6%YcD9nitc8He#9*CabsH#ayv>Au2_;j`NtgXUi%)H!)1L{0n&bk>k$@eOTxj(mo8xvj;b+i0#;m zf>@HyNuZPJR?A&l<1AO>uVZjwMvjS?Z+TMks)KQ_MEiiLG~$2o_{>^Zz8S1O2V##9 z<(!ncCrRW+W#TP4lX3gK6nUJ0YH-9bwwlHFi9Lw0YrPoZ$-F`_7C$E$7O$<#U725@ z-J1e2wB+7cQ!n4C>p}}ei1xw|aT0r`ik0TFb>7Iq`Lw~SjJEA_k^LTefRAUGT|U)P z>;@-xI_^P1`rD36vZh6wot|6@esdpUQ-1(L!7aWyQ9FlnSiCdj*Nez!$dTL_OyosK zT$yMOsN$%k(W(`@R=>Z{*^7;VnE=sbYML&TEob2#jz*SGmlk)8g>IP(+!d%F*wE9E zM!N@1gVRS)@SKtN^F<54R3&)bkSJZYA$7;8HEsy!`Y~)AVWAjnmeX|FXZYk)%T!uW z2E4H(ZuYzz0Mbr$)&3Jj{QGC3?RW3XnJ7cg2xxNn>oIb7aog`jr5VN;CY2AJWRkN| zOouZTqrH%w;fqR=;qlATEA&sN8bK3Yx6Y4~17*z#lW%GcQ|vFVuw0NC)*OnR@*9dq zLQ@!qw5#+H9?yQZ&wisMQGpGqnr}5O!DB8my@LyR?&!h3iE%GlLFZWD^zhmt&9R>M zXyM6bdhh%h;)3qkdnNG_9B#2mC=c!_+nu8oucWZ}p$yUN@40Y$<?U1e^hN zy?)dI{A%T`HcijhY>_a6RJUhis>>Cl>uUV0cSqYkNe$VI-@=<1J3&GCtB3v~bzT{| zf$=WOy3hMfn*T)LI=?3qg0HTBEfKnNh}Qhs?e0MHO(#*qoTBC8bu3093m|XGJ>5wz z14Zv!FDxGmzX+!A;y1d7ST{N20Ndhqm@bK*1Yq-v=V7=C6=Hj%PAyx}Q31fCn-uFG_O1wU+ zB+dzsx+00q@R57g@GQ@%er_(tbSx}? zu}gvSs@d@_q3{BP{OftAcn~>^<2MFD2#ff+DM{{U+KeQ4`d86Hsj>%p!X9tCSc+4N zS2diwroK$no=$lcGhi>3{uDuZvF4TUHa5tgq|(T`2hz(5?`d>pk^9aFZ6eQrm|un? ze*sm$gM9U49vv3BTGsvGxn{KU4GL^v;Wyqyq7E2ee}Z^kHpH~UFdd@#`JUOaY=sU?v3%H&D?)S-w zHI@PntoQ7o0{>RltCEG6rcoP7=q#dBI=)GuXlbl>maNGH&%3|yyDAYRjo!THt;Sim z84D%^NGJ1K0%i4yg{@A#~R0H?Z>(aA4;ak1h5wko^7yee_8PZcWhWq=X&ehap zOz%zXlEf`qmG3aRZDoP;`}^=y-X@;y@iL=XrpOR5nC>3sg$xt6ZZ*DrR^{Z&U9s}@3%^1`ZFNWyH5dY>?Z%9P?GrlN-)EI{G{ahw4|y_8ty2_V^4{Uv-HYG zr)Kum&MDpv=8Qwn`}OGx@0m)64ClRVZ#*O1Ur3tkQgC^tD;IhVjGpeFm@(Loj3`uZ z`~KB>cVlDM@P*$}GGT$UPT&@b`!g?1;hvtX(@JDCo#Z1|;0Od!>?8@Ie7L*n$k)DF zyCKuPHGSLiM1AU>HTnqOs%NtmvWJPf02bVuRa32pnrI4rg#l9vC>h;o6ipz+W+>tC zoJb{OSE6(#%w#Hp@YAg@Z2$TNkuCjwb&+5jXNC!>3BO7*mDw+ma*2~ZavCOU2PMEu z%ER-&(r0AHX{^cG37!k2nYLw8l+d$t`%s*;%)wWL@pa^YtQM)!W;y&d0|-_4W`?Hw zopk0a)r=uIQHbj>2m?2K8dyK%OW8)T4Ob(1I1lyP6@e2!m`&XM^+m5)glf^KhVh-*akrc!Z^&X z^|j-QA%jU4t$A4m1L>VQ2x;Z%g5*^o3w?qjM%;L-44v}Q=_(3m3e zdzj{2u(osr!i=JMr7dv8Qj=U8<`s%P76zRi52$*jj$y6EvlV+`N@I<-80Bk@5JTPS ziJD(lk|t~64-t(Klc_Q8u07s_woa#MWd;D$0>`Q((V-u1tU0pLPj<5o@;$^~0Z8aV z<17e}K+f*IxF6^t+QZJ>3ZO}2BySw8AgrI8wJ@1_^p(-AYglxJF{+X;Gnz+^C(1p* z3^urUf-^%`E+T49Q*!0e3~05Y+<$A;7Vw`$AY`J-u3gfVWfmbC)El-6q<6 zONsa7L@}8~(~j{f@}utL>Tc)9Rv5)Q#UfXdHj*kdgZzo|q#7OfUL|d}K8;@&uJ;cz z1Fj9u#q|$1vd)(mIc|t_y88C?D9Q(0CwO=Dd^ySo7BZ!aq>iw|B$UT<27i`=uU_@U@M_ z8}vDM5b_BHo`vx{Wv|w5OpqD{j)luwC2oa20#HH3B5hCG%pN7c0SPUiLX8|jZS^1M zQDXNgU8{0ut#fC|9JLI*GG8n5-&#u%vc_rik=x0L7y@Dcn04QJ)4EfelfdEcZ1b3OCbi+0KVc zD)aII-5%p~Kmu^{;mVpLzxm33r<1s~nb`oS2|$GgX%Ek2fl`WgPqzm5Bm{C&U*;Vy&dg?P zk|Z?rRWzX2qhYc?kmHb(`e%tf3HpWIC2?g!1{qWGBHSjO|5|@w2c_E4xNZIt*I5@Y z*PL+)21e+bmBj_0p6GW0xLy>Ymq~B+0d-Wgl z+8;~f4aw)h$L0CHp5fSx=0G}44nqkWA-lI&-nmjglnbYKhOwaj^;2)0Oe~RJnv_%$ zx>Nug_H1aWDPwJi+f;=DMz=7=2~y+K64!umgEL0Dg4+Qa@h!=~ktRUv>(ZQZOEyWS z#6UGE-NwS2kg*!BGa_LtgEQV!!WX8cAc~>@VizT0vRj5PcE4}{O+kTwp(vD&=YsIh zSgjVC*gjoiPkaNS7KaF8R{k&OGMdr5FSb7V;I)Prgq)1EP;l(aj?=1gZ(-c;#Ud@h z7_bl&uP5J(hG#1~wi4t%F1Cg?^(c}70JT{(ueFU_;U&rdwzb+Fr-#E#@WH|8 zy%iCQxPii^KwO1myz-g63BhTrs`Zkb*|L4zNM9ywVP zQK5GhxM&4XP8r!s>CIuS9}Dt|da+CxDj#eR<%fZ|4ob|=(2CyuQ$fRT&HBwh_Y~>X z2qF@C6OdkLDxOVg>nuxiL=4H6bysP^OnE}LLw<=tw zf`SeO;n)AZ97qe={VWnXYM`^A;e{d5kF8WruT8&Kq3T z+(?0!`&kD7a6y^hB=pv7?BTRRH4#9Rt2B^S%Rkz&*d_8Mu;0euizTIPaoY3MHdx>hF;`OxnhsMd0{}otY(BZ?=eFug2rN!{IJmGfpkI9d z5JOoN zjtY6hC>+kvXt=CZL^$wJ zi{72;c6N6kCG1V5W+R|u6op=zb2VW)UG&CsNCni*g+W;`3ipH|Cn5Qf$y;q(VdTQf z!hR?lVD7l?7kpV~|4sf5w)*0rpX@r@e!sCw2t-Gg-x_B2qlvvjOa--sHx-0=&g$Oo zIoXFd7>Myg!^O9`+T8)cCFOcvCFQ+wmMB~GBH4V)JD&8d6!`s><;`8*knxm?8mAif zOl22Gu0dx2heE-pbi~Yb9rd&EuOb@3C^cu5G*A#p!*OLRA3e~INo4pZH*daUU{cW(=(*piN8b@vv9Rhcy+g4TOR29VBN_+M<3r<8MQRsK(5!jzP4pdfSO=RRv0Me-2!3@@K)Fqf#SZyXCXj5UQ;zZ-G5 zN=kaJDiL+oWL>moi`x^Y@bPd2DPv%STEW=W%L5q{LD_++NQS9?4?ygE{Io_Q#k|g1 zWliw<>|-F{%0bjt{&OK-MAawk{saQmhEr)ha5N*s2R#m3RdtK(tm7ZK1XbB9O>JK;)8yOA-hqRti)R zVzn9-Lac~b5rT3Fw|IQlwclJ4d>~Z!P>l-*2 z`7*!vd*}1cIo~;-cjBdQg97YVtX}~D0PF*geDxgwV0!@ouz9h3ne~pUc`wrXYf0*N z0bc^DyImyK4}Xa}@XY}L;0eLb7`4>;`9s8!uv7rRfw}N+2@C%4EC66B5B%!D2@G`F z6r30nS~{kipr;&Yi-z-ue!X_|_#y7kXX0|NZT~#{*S~-LRmhIjk5*p#V&@;*p7c-O zKl*rO{i!cdH764%Itnxc{q^e`ciLfhUI^{aW7R|v?AJbDn^#$ww=?H}^IFi#MqwUp ztroLJ)T#6nn={0GEFbtBcnK*|E%m?s#(>CY2}5@e}32$ z|Jgdgv44Eo`_(SM&3{PVzjPL`?H`hXAHM*c`iJDTzg=5W^AE{Q-)you^KX)Ojx1~Y zH_1Ie|LcW+V)HLZ|7A3P`r-d2Zt=H4%Ou`nIkM=?nZwoq0KIEg!i)t9g5?F{9R2zx zKTfjWJb8P6h!4m;P><7d-7Va&7PPoe+-`G5vh;HYJU8m%r!|}WEVG{`2Zl>pOEyVb z4K@IMfIf$DKtNK*_NVPeVxAH>y z))9*uV&D)R@Zri`%BR=v$A!m}ixakzh}Sn|qfNFJsRfIKxpb;F1qvdWCWNH!d}0=7lAkMGxtZ7uAc0_kVUr+IDH<`TEc;HmEwePEH}brw6I zk!Lx%IN*4Ub;xi2ZOGmWT1NuW@q+5lnGINUmRU>l9}4Pf%Ey$gftj8+H1+!ed;6#G z3Wy8dm-lV!m4#Jlo=0{w1-DfM3^bj7zp~hhd#;`g(*53?-pReX$uGM+J2B{5TDsoJ zqO`O$QammZZ&=qZ&micHuRL%Y`!wsB|r$(p$UM+_3V8%@WC08SK3Z zmHig6z!=&UdhNbAOrjkZE=jZ1kUmGUpElO-)uc~qmt5hsPU4d6yj3B1v4PKA8!Tc z!~4YF=Do6yF`S9U>v%nR&)^Cn(9+2`m1!O0#=;oR^s9&8jqzgZp9K`>eO|Cz1KrWIFlns#S;s7Srr)!@qr()0&SJguc-Pg zFtfpG71DECNlt;ynG3E_lMelAa6$cln!3v2jMbml&%lrU?>^}DE`03$h`EhvUJNSVv)?5Sa~*2A$zVzOElNqE%UB0k7Hv0dF*cmo{jap+ z&lKUmOJW7RV@{v1gy=+yP|G7-Nbeh~mC_5$I#`~-c%AVG8d7ZThvh=dU2J-rRgx_* zvZwH%L71fzo(D0<@%)bU9y?_W=z`}7vMy%7Wtijety#eJS~+7Kyk#0>$w+NFHKGN< z@@{C|1HX?K`aj{td71x?xuiF`^Fp7S60yY+sS!PQyk9P$sqAcDjAvfCdHfpGIR50v z9{;C`7C03GRa#@U5c9isu6aWsD1taF@GwPEzu*l#ir%cem6jf!E67j@s#Lv_oERM& zzecMv^`+26?$=5Km$mh#Qp~I)Ss$?-r?s#RBD;8lh^1x2aP7v*Phm7Ml=2G@p z@{iKst<$R->1H3pE6mlzv?k;J5VN}6;cEXhb@MmB?K$;U(#*mfv z=8Sqlkd|mEEw$f%Cp*Ih;0!);=SwzW^9ci|Q6Mdfenm*Xe^}h5B^D6yuMAMA(uGcxFToP2YO{Hl<6>m#&*(F${xC12dzfuCQun+4X2;O4$;{Z1i8B z7#pTUn}!qij|e;sgXe)I8V*mQ{L(bZ2na1VP$;3}+Vhg(IKVc)!6~O_X1hpXZo~Y= z2;9zX>*)KRJBf9GsCmZ+F_sJ0?tl2l%t0r&>3D}V_8OKcJ1(*3hlfZB@W?Q3-%;uf zxz?7lgt*=tjMyCiWw{B4WHh|h{vni@eobm|oRKrRQ&JBB!IStxqa%(4xJzl!BfSN$ zjoR@>Mi(wFIp3i?+F6#7q}kju*HFIb+SU!5@@#Xm6i274YNSaeAYJ_`I}WZd*j>!*cML)hTz6_Oc^USMmLj zpPFq#RVFwMWR}J*ulZ6A=vQnAX`pZ{Kh!>lG-O)5uigKA!0oH%KYlQO*VS%5+as@2 z%c^LwB;t19nLYgm@%;MZCVVDIfvvm$TffnRCkxMiWa2|A^IK&X>KTk~EqiGf4!>vG z6a;hH6#s#}C8zii|8>K5XmTAR`{EJ=(h_mLl{4ciddtIGye}`Qnai?zb7`pLP?i7w zUw~=rX&W42S$$d=1E4~M|b4l$~?p5=IuNR zXx_(le!Ywxx@BAKCfccfMzMJUwrwN;H1AhG4^+P~yzPDcnZbmq5>SpAjJh4a;X z;TU|m^l0y2*!d3eg66ZY*K_0=waOHW2U`4S9@a&Ppo5aXa1*a}a|)B9#}Csflw=Vl z#FcqOdtFv*XOJ+AacsHZ$$PV*JaTHD@91~la{mr~?7maIKKBV8_v_pTCZf>#mFgrY zPqGxRaIDZX?!B}ud9&fh{YzfP{GfrUB?`sUFA-JbO%m}i;fG3VJdHf%qOg8HV zbEgcJN(IsGX81Me{3FvC%o>ZRgi^;-#LvyY-ttyMFbG*jBBfP<$LQRV3PcP=5m>3a6E4et=>s%qBhnNg}~JAqnt{)JujCfbSZ z!$1#x{xPj%(H!AgJLFE@9j;l*IHzg1Ou_Q;yhsoiB(}6kOwkoEv*Tkvq+tXA8jsds0wZ{zIjf_`#P@!S6 z!)&BjboT_223unbox0%Z$|?Jk#YYcvd+6yxIx2lD-V2IoDUYcNS7dIG++Oep@lE^n zA@q;ET(3Ox@G{zlWFogSjy!NO8kb@|V*VxY`(%YlpSa=`_l}p8`<^uKW|Ws^*zl-GG^sNO8qg1O{=xclL>Ask5M*D-~bB! z@g~}>8yeCAMuzi@Q;P}7KO$CX-rqGT&=|MR|aNTzufG;Rlz05_^3Db4sJg;0R>(}R-So%nW` zI3e)PSv$wix}<`Pb-vYdKlpUH?Xnk#Kh2LwkhMapK zx!HWr6r0U0w+W5Mw{#~Q#**#iuxrq{qXyx0U8BWNz&I)xWPI$X&8^gkl<3J0oF1F8 zF!Lv~xGKzJDit1?if_KFKc)FXWI~w0Y1udn-Ko{>Nah1;2FPjR1H4UT_cMFgu&enM z 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

*^vavK<%6%v7wu|{Z#yNg~j?Vd8N%S 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

#awATX{wn9}rUkg&|pN(gUH7$K}PdK4; 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

  • 5|t5CSg<*CURBetkeU@9|gLjlbIpp?!c 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 Go%t8CDs*@N diff --git a/preview/repo.png b/preview/repo.png index ec9a96368c5d92a890cd253afad28bfc3513df88..31db2787b2bd93f34f3ba05c8f5adecd8ef6e900 100644 GIT binary patch literal 118975 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

    Q~7TrWMA4od=xUl?{sTmc>8W8`T0Zri!?5QJS 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

    M)BCnuUjfY!N*%Ol61#S{ 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 SE0%#jmZz;xm7KVG|9=4wVk-au diff --git a/preview/task.png b/preview/task.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf040409ad32befb7d21ff152518643570f96bd GIT binary patch literal 147438 zcmeFZXIN8P*EYHZ5fuTE-cb}(nt=4`mMTp;h=79hF1;iO7Mc|4y-M%B1c*opNS9uN zL|Q1Jhmw$Q;okfC_IsX3JU`y=J?C6!`-{u0l{wd#W8C8&W85o2k5%P~FVkKA?YG~E z6%}MOe*5hr$#1`%zkcxo@ISed#xH*Rjpa8*nFm@PMr$)f$=YU3QYSn@=bqnplA(xE zzNgig&L;Er7BbqzbJagT7ei~F7?0yC?upZfDKS!pXsODJ%?{kJ%o=~to~6YWEgkgx zWjZ5`tAh;Bu3k8Rj;2nuras?KO=zOoXIgABF7?c>9P=98X&iGerL_Q!?zo6x-sIDN z4*BgI-ua7HS)^b6?2qMWJj3&Zq6?lvmcO`?C4%fK!{du*e;tc-Iyuor5|{ZXhvi>g zDeWjteAd=ZckQRj$s#-uq}H54e#S%m_^9Qaz|SA^&znWdU(HFgOCG*c{i#9zyz)HZ z@Xt*4uZ=9X;rZjI9DJu2{gssg!{PtR9RC>ZKRClbhWjs3`Tv~9r4tL3p(285Br1&8 zAnvkjPbVsgy(go85hIfZ&$=qm^Yu%GrX8ByhPgO;X z!PNU-e9xmh_pqehCfkf5N)vBMoNZhDbdn2DJ|G2#I+R=S_*b@H1lMD3JYUep%mF&B z`7!s*ohk4|k}5~*p8Jn$stZlezSmOyQx87ZwYPK9=dwTnT5Z|XYcmy@TxWtRfP%IJ z+>pgXkBzs;ign|BF*f1Hb60%!svc|wsmEkX%7>}_0)XzEKS6bwIU(#qG^@&7QFnp+ zF-E?JW#jb~OQVM8>-T55qSqE!r()ae_Vk@d?&8n!iQNo2@IJdFMGiGuF++ z$~5kz=4b=?^Msd^$y)qga_C~Op9!wgP5=}h&YUMaPZ)fxHSvqQ!>9mYzhipd%Nb67 zk|KTbnG;c=hQ=+g98&rVYu8pu#BZA<*##ptiwwvOXOkJrD@vM{E0t`=SLOok+pBB6 zu!-^IKB}0koRTIqdiItanx3htfojai>2(G5*-$*GEA7YvEu|&AJZv;MCygcq)6bxA zDlV%KI~QZ!BoPg}+KqDi_JTZ#lQ(%18~kKc>`B!rL>yPM4AZ4CZvI;*=e;Gnda+9BU*T?0_?)u30 zFrO&XVm(886r=vgd=Gw?GX4~1r`f|8dW%5H0>udz8C~--3E?LNZkgU+#2<8pHRuy< zH;qC^gjA|}ycdgp zNOzqMBt4tFZKcYNgnlhsg9`5DTG`I_=>-iB`F1`{DIK*p@Yc$>*fckdtd6yHN~O?( z2pemG?IzVwm(Pc$ZVdJyBZ5#e9`6ya>r`szb(4SKU8!RfF& z${^W}1>(%N`stSU`|vCd`RIMkwO?>1h3hQB5zK0i>C(?B$r%)4?=17%S??l;3bk)R zycUpp`mVOK3zs9!E+28$3mn-(E40^(F}i7b^*bw`aU8()2kleP;Mu8C8*Og^9Fodn zV^gG?vg%Q{+?f~{U3lsO{HHEpO+a|#JmHtUiX7uJZ>f^~5#d~WU(4)xTh1v_Qpnn| zpY3Q>r>lUC_(>>kHvy(CH&@ve_4d(fELC$^pDlj&ytLGidIVMUendz)Y}`C)vDWZ^ zpZ4--)8;nbsx_qjC&x`a(?ESPU0fKdwO??{9|U#1|3Y2d}paqtF<5J-2Msy z+ws*m{!^zIQMcYpn7JCpaoN81q`28>QWe$?fCF4SO{VxiaG$>-5cnuv<`iDP5fEOc zFe`8I``Bd%_A=bnJMgicYU*bD5n@FJGgoa0QH(atU~r)%)y(3FaDy(6>u!xfP1ld$ z96{;G*|nc5-$-|;E@-+$R1!2%m>NnvRXPrY(Tf~EZXA-H&;eqs%;5E)aI%u@Y#{xj z4*)4{f{fwz<9aK9e8oy&k$)kn+D3=G%-@id%7V^vvKm;XBxECWqX{AxZtq%2P-HkJ zWNkAFJ8Dw3cgpe0S--_kioq-#XJ)#Gdz5;sEUu?kH)S=L+xggqllR_#+@~u5Vm<4y z(p65aR1YMrXbk||b5;awGN+7}_ zZ8BqL5oQs7tfhXLgreR27vUG3@@ftUKy}$W!jCDEQqF{Bmd9>@rGYI_W&?NFy8Qw( zCocW5>FED+n?4*^XXde%5+nOt(ENwPlJ>mB;EY5pjAZa3RpMIJ;u|vFA8G0s0&ZM5 zl)-=YY2AJTxV%)#oU~uXHHOsf0-OF zd)`X5E-`=qx}^oG1M@}KHad;K70wpyFK@1yvDsYa-YN75rC`QjP7sj%3OAP z(Xv7J;g?$c_#{OdqSwpkRog`iQhxz&*BZZ`nZ^?}3}ojfNE@nI5p^z((vsxSI% zSVdO=qx#g0X6@x`d0nUMWD-nwM-i&#G!HlDz@JleI#%=ldRb4v@;py6hVpXmAJ6R@><*k}w^LJO&V8c7CX3SiJVi^(lb2~dfTWZIiQNHbxuHW%*Xe)j zn_pqG_W)Ij=O5)4sqLND_&nT3WT2Y$(-SY8Xl6&Tmy%vV8VrxG$^3l7(&-VOSovoI zxeafGVa8u!l6v(SoQ5frxOF2qH8(rk0e6d`5TR{tB>3TFH_#`OMz4=L0!Z`Ue+bZu zt@3?K0-n94<{;2b{+-^U!nS2Ej=7?}&kx{#)~EchRpSC-AGXif#7xC*`sI43x%WZ# zPTH3@mm?{{&M5Fc#Zn$jVcboQQ1C!@Tm`32NkOmpRZ--?7n+^&b55TmQBxHuRsmVJ zgr-YV8d-+6g*r$>v*c>8GS$ud-eB^sDPfmiqjuWLRidLi7#afl4eLavK!gw>Z=$C< z(nN*HZ`{ruOQLb!Ty?a}w1(Ci>vU6_kPnVf#tvCy{Lz51@yX|uT)7TTQF=!;=@?>>L=%eNR#_08%K+*1<6 z2@}x4Atm$V4JE46YBU>&jV~Z2LPGFM1jb{HREf@O7@}L7r{7dE!6XPm1%_`hz%fWk zgSFPFM0_r9%ikGJiscO|t;A-=sTnL8n~Q%&Bm71$f1iDfn-4yfvUt(|R1dW-BuMUR((Lj=9Ny$>)$>%}lVnZ#U%_-sKVH9NR;; zl~6D1f7NrJeGvSXO+--eqsq1 zvoc7F*bf_$5))?f`5tr7McjWMxggX(E7ieN?LF<)|GCcd%T5A%f6Dv#U<(~kdmNC@ zMR=9LG9=dS(oaa5-%DzR&*!MImi9SGQpbZCTYe8fLMz)LA-Zk#aIDheu`U>$PEu|A zU}O9IVV`VBH&yiJO}6W=x=T~y^aXF|Z-|LVDc)u|6x}w(pZBjsn)@BJRPW5^=f;_x zT8OSw!XnPcR8KLEOHaF!TT<+VwETJNyK9eXe3q}n))=!2jYDxq*n(Ig`*teB2A3dj zHsAaFQ(oT902ZwR95AmDh^vw&TbV0xUzo?F>}dtXYCdT1~yjU*{?U{e=1qB%H6PB)+Lu!EStL z)H_qe?Vfwfp~T*U51QS~rnbS(e>Hk)RcT2oMn95;{-VN>`-c0;HJ;|i8!z$CO}u(= zjZ*=SrEB#B2NGa|H{atgS?f8UO#?UeeR@r*{y8{_q^X;oG?)W=kL7~hm_Q{wINPCp zSS&S&USoC`H>wsMWQvG6I2fas`p&@10(L~S@NTEPb=sA6B^7Z98v{<4J?x;fFDWa( z(GKwMB}$-r@yfnJa)q%G#NhpXW9v9U$z(KHh<iQu&`3p`v-x+c!Pye_q}^2ovP(W)d^c;aZ!x&ZD{)jkq$HSL@PGoGHd&3mqlvC5mZhKe1xn+1e==H z)|gDC{;Y%n22&GBVa4?U!?AYV=XR!~66yPUeA$O$vgAlRmDkf6BXhT-ev`3xe1-$f z#_3;9Pd1vEU=fs0dl@G%&ahsc9lFEqDN5C>HFIPbMo&fxu6OTgUfVi2FD~Jr2&|!$QGp6bT{>Aq^NHBM4N2ySQ57s_?*yze##|8uiVlJ zvuV)Zp-HBGTR5W8{a|XxbPa7BEbQ(gE@=W1-;+bp)a!-^x~?MjCVaz*N<8iuIban` zHd85`unPfI&%d{ApMj@c4!WGM z6@je2!dz^rkA1~(*>{}w$C*3c(=bXM%n&<$Wg^=eOPb%*ED1M@F%G6@!sxv3Qzyfu6)E6XHmPI{r^Q;XkHJ0nz>gJiO%_-oBi`y8T$pGL(I(#}F!@=O}Ea9l^3 zhtpQDfn!JkX%3r6+uwk6M|$NVE|IL!Y+;m~X4($R53-oUY+!q#OAeklxjoWDTl`pSLdPun z!coS1=2sFO^?Xp9d%Szev|9+ln}m0d_5&df7zO%{*?koP!tJC>0N~|vfm&9lTl{?3 zP3)(u;DGxD3Zwcg5JmW`12{Rd?gU`7Qa&%i z%OulR-P=O9+S6`n5;M^2!aZFX#LCvG$-RG)0?y&3=&~GZc{^(!E)~3R(2Lvd+N(*; z&Jog*DwBuTA-!EIFW=1Y`<~;qVWR|>x3LoM?cI!!AblHaWO-ziZxJlKU&U_H`i_{3 zxOVFpawYhZ1!-{B{t7)PN*_PAnNkzw!DfGeEfD_pHOu5Pw?jLDaSCH4zxO&b4g`PY z!EuRD<{HB?ty;1$D>&KHp}%gi24n(DAZ>?YivRzRQyXc=&i7)Y7erj$Ho?r*5L>w}4V&-NxD8ttEKAZ~j)jv;pGBoqXj8 z<@r)Sw*r&4%K8V?~Rf zhqoMN^Ptl7QH4fJ#Gun~F05l&ov&8w#n7 zxIc1f(sWf&;6C8glg^PdC7OhUFU#IBl)ESIuRP%Oic73J#z?hoSB3{y2JDT$ao%DD zOxJW*cwkg?DzTQD;kKjO)Ukh@_qmfbC-1glc^qw_wV>+O*VxZfHSTEP{Z2zfDxs16 zcyZG)Jodz_#_qZ>QR$dT{aA_!Hj| z$M(KAHri{gTgag1fBve6V*&-|4p-_EzKt}Y7HRQI?$ZGuH5}|w%FCK15k4dQNfMS$ zuOxb5!KlCxnL85oOnUpC#kIQ%Omr%#FV&0~t!n%}LhI4R6>8tumB={@(yZnNX&u_K zpuSn(cH^c%dA$u}?~VTWosI;UT77~x@c`2&k%JNb`2g1bush{y z$*xn3PO~i&wC4m33(^Pg80=a1qzOqaszP||>uuy3smKUZeI2H^V?cB~+E?)rA91LU z2V=fZnZxDG7>*HQ^GH)Sj`iIB!JqOlk~hO}su$yv2B2BNP}S83@Z*Ln=!t`ks>z&^(n7{F)#M5jif9n==Wz&LoK+|=h}7mL7! z2F5#0Ahud1H8y7UkxR_7xw`^Y~xiVXMqXdeH7!7X< zHS=;hb1Q8n{=vP4 z66n*P>Aqude(ZyC#y1&oGvuEt_H>u+0o#I~x~wK8;Fvs*0^>Kk7)|4h$ja^QI8R!4 zoCe$4x4dl38OFaGO$Nt%&A$&!VH!U_lQAzrR z6LfFSzo5?XiOfQ7X_#1vuwakaz#_lZ&*PQA@22wRI&)trwXu=!HCd?`;XN5{al){#Zv1A3&rtvT)y*}hL!dsu7g4%4jf0kUe4nD0!+kN@ z>Ry$LwS5|nbyCE9e|LCG419+a(_4uSVwL>5>EZ-&kp3)Ta|7-M6e;SXe3gZU!-sBDrSg>3(u^O@I$uacFjgkF+2w(RoH zyxXh#lVbLjv<-pi?;h##1JZ7o1uCY_3wV(e%#pWlL{2bO_`RB5AOt(EH+mpf%!tpu zUITa4JrbFceu+8lYE>d|SLp?9E$tHQD5p-_SQ`nL!PB;t8)NwCTnS*d*|piP@i}yg zLgS3|^@jtV_s<;5z?&sR9UWO{-CTQ`4q;Av63{Sc^HW;pgM;w{|V*-n)==^*Mx;+%;%pLc&)fs(~A zSLo)Zj1m=vw(HMZ69Bb5QWVs&*y$WUsHsrr%p)wiX=3VCX2r+a$|3}2Xrqrj*bzu&+j1LpK6%pHuG+I^41OK zg}b}RYvtgFGH824lRc!XQ|CD>ogL`N0&R;Xjl=&b|2luMiZkL3VWh4+u!Ermi{oi% zg)U~hp&@rq>+Xb3QZjV*a{?2c^HXBN1JfB%ds>mY6=ATz*Y2DL=MqGYi{I_3$i+^y+lKg5 zFuwU&F#}BS49}kk;!^4sa|jY@c!X^%7p<^i2aoX1`yO>yobqjttp&=2>psuIn@`&Y zh}Hm|Si@&5V+V~&sbN5W(OqU=2krS+DdBZoMGp`*Y6^g`8D?K3`N-vVe5OEdV2dE~ z7Ev=ct6sgy#16)+%+H#)JjGgawDG{;MUej*Fk0M>iv%zsJYnvWjwdnS?VoXr)2<-n z?{gDS9LH%a7ITY7yt&Yf3w>S=C#;2MEHJyGbUyLo%}P>?+hpO^Cb>h~J7Rj#H)?U*hVy?mq&Wa@sRt%?he~pe z>7QVVj_D7d+PFmi{KQ{L=UzMQ)1)Rgai%8VR5_nC-Z%{uouVQx&v=$gmv+~OB;026 zb=L&)9M+)y$0k6epLPVzoWMVHG>+$JClHmM~4X?Fk7 z&HbYKN9Q;5|AuL=-WEI80*og!gEbt}Zwvlnw3fbh{*O&R`e)OpKJkyG|4ZxlU+(cm zF^)7ihC{alIZ|lan<$`eU_gJGwh!(WsQ<#nUP(hPx&Vp2!gvPa9&T4N!REDxqy!!9 z203%FCy99$eBCvL(j13g^WvX+O-&$zda>(}TF#6&XV%M~e;OE|I)2uE)(X zfd<&l4wZ`(R0^N*CUmz^GYzgGC5C`#fk}ezo8N4cH%zw~i`O9zjKB#VA!>q-Vcw{w zG0Pgio8kjc^`u{YviNx#{UKj4&|wj}7a{R-y9vnT7=E!;>Hbt;25_n0cB0QUJqu`D z2^iJ=eu;T(R6}uK`vf)NxwU$eI|g3zLgeKh&WGJVXWxEa(MK4%-sF*Ym*DW zcu{)2+4#LJ1zqPmf;Sg}?+6^9kv)Nr(y^zxeys;z@fFJ@l4OrX&2`^R60h?Bg<{|E z1s@Lf^x#b_T#EEHH~x&zST*mObOs9k=2xu4;=ba)_L5-27ks4TJ8lh2aeD^X?mTk? z7D1fhw`N}d&9CZU|ECSAKRn5=mnY&4K}9LBFIe)?!J^cF&eu#JW04<1#3TndOUy3U zLH2-$s!f9KAn^4Kfie3jLtYV+;49lLm^2Mu`igU|6;*($5QuaZBC38uy-h56FF#m@*L2v0&@tW`iKVxRkliJOzD8^Fi-F@?z*K42ava7 z04k{Um=E#lj0xJ0hj;Ng6{Rda28vb?5s3?i6iRlszpwxjDIf(QqX4nV|0(H+-6ay+ z@v@9O)A3)3Ud{)TFMrKeDs-n{=u{h7*d)(sK%~HOt6P8}bi{GYeRhQbWPdL4&w2-c zfWp9CKikJFhZY;UHf~f5ouxMc2I&6;klf+nt&WxU`|K?bvNpJ*Qtv$G`NgS^WAM5p zCV_vaAmp+>DX=q==v@UIM?at__7khVV=S5wTGlXkQ6zu6wy!#7ZmZpXj!0G3JttgCs(W|zOnUfC2tKv8t_`hDf+2UtcJ0l1j zuziQ$jq3!bqGnD;$l2PW^j#nytn~YxN`8*+e#JX`kw-THB`1>+z?E4*lvaLcgU+pM zR~ZyYc>pa}M00S}SqeBH;;#W>tB(QHKtL)O%Rc#q94ZJPZC_i707==$(i>c7NBIv8 z;tEhG0JrFVp!zTA{okDS@eKe&b~jH&Vk?CTL_aI{|9I}(9{`(qd7P5XUG0wqXGc^t zpdDwCX#5{Dvt_pQ-n0Q?TWm?d){ys^<(iabsJ-^wKk4?aSTHHvcN zNQkngdfHoQ$$uTq%R3rgrb(VjADPmIB~S5$-zhK0Hh{I-mP?;9m%K&LbSgbbqmzS6Z6hiSVoD;hFOrp(I%JKp7UD6e zxwL69CT1z&SgHFGs+e}~Ufb%2$_=R2a^vkj10uvm7f<_)^H|4rH5qn)nLang(=qv8 zk%J6JxaKu{!kOCxyNU6QQBN&MXvyUnc<&#L7+WObL?#a`j9XUC`}zl-p5#a^vEI$Z zHMg4fu*2Fm&+So{E*|N@6-MfHVet~kQf<%DTU^H7g8M7g@xbiK<6cL{n;m)Br=02v zbE}>tUe?q+T>X?oc16-G9P%iq*Z=H@-7Mj zP~pJSWKnIct)-)rBSrqN2zJ5qYoNbeXxfu6-)025p#$X=O7*eT;iTo`?mPUvnRm<& z!ZPd2GcY4ak#L1<_l0BAx&4{dhvx#?w=5Vb61c2SXw_6f_ZIi2JxtSqbT}E83saFw zq8cI8k{!u-otf!o)dRwu#P99r2_yUwrj}UdAcI=N<~eDZHBq*{!zbETCUfi+k}eR& z!jd6u?a|b3VXa{_l!U~~Oe6hLw4^6+|7G{-H^NJ%Nz)t4=P8GRuaCl|^+4ZOoZ5_< zZdk{5OiQVT>njn$>YQQin{p2#lM}lHXPlQjaQ0;VH~qrn3g(lQUcP4A6G}cxW}pTw zlr4`TCwrI~^d#LMDK|K)?uxnCz86jRZHx5W`aY~*j+y(M<~NCy-TIC{WZFWa&HJs; z)Z`i3R+x=efnVtUY$9b;X@d}z9Dj=+m6QS3uuU4$!)_}wPm!eQrMkG=@vdI{lzICn znrUBCiabh-K{l)NI#Akv$sM;BH_o9rL+R~3gp7n8bL$r4k7P6!UI}~juOnaMuOfDU zsT>)qTjCjf{P-b64nD%u?h68er>UkoCJ=6+*C}lfZwZZp=oe*^_g|~E;pj2;g<(EI#79LmFAYIt^LxF7MQ5H~b6oILYEGBouYA0=vr#D^8x<{E~Mw zk<&^hJxui-BfO}R)%j8C3mx$YxppH;b(}N0n#Kot$h-0Cy_R8oxd3ePN^a?pP`RSr zaL4wNd0Q2n=e=JV&V=8u1C40dd zm)7*diSx1j%>pHjHVAS|F%ikIR1DTWik&P@k~YfsrLRl>$p_IV5JNy3CUfOz_>J%? zIX=ITLE;5MYigAc4*Nu=S(d1;|Hb~X~*dDoYs zOpZ$E)7l)GnFMRJ`BAfVyQ7Dp4xCtLIpxNUmORV6*Ynnu-)>hEnNCthnU0q6&nK~8 zv5UW+zF2>ZV2Ap!k%+C%=S_0thb@L{Lgr2m`g+wmmP;|-=KH}t@u|!Vui;NYP%KFm6mdtj z;dV#(xCf$k&=sOy$z@ph#7k;Q&yEu_L&ri2Cs;jy#u@vqy^X$IYs665!D z`^w^nZrV>>-*TR|8dMV@T2RViw8TO=+ddbNXl5|-Rs#F; z)sFjY9ZV1wrl-5#lIiJO)AHXkONd;+B4<5{dt3ZsSF1Bn{`d=fWXj|W9(HcYJ9|R& zZ$TH@J~}W{Jgl+N6Ehv+r4m;4^mF+<`@NoR6pJxr&|WgUX6n|x!(VYi$B$HsYu`HF z@7r;%DzmDTT3S8cb=$XCk8Rj8sASoI?k?s@U@P(pn%KFa&X5i%)793eL+&)>78nEV zD|Qv)>N5%kCn+Dvb@Y#k>nA4ja5L8WpiXC{5j89-*ZG}V;3aSFz;0hb9+G}egJ?!D z=-vYEs6C!vHN3!_NC8`ATyB~0XI3lAKjps#Ksopf5Xm%u`WId8q_mV29{5iB`Ec~P z+Gu8}v1a|DYg_=Vi#j}{l}<$k?(*f}NNUb}s=)Vhh3>`>vNxq-)ILr~IAYh-lJjJu z&BJjjieJdX`+g!QLy$@ptEvpXfulg*y%R3olJvp>Hhv_vEo98!YBKGv7XB@PcE-k} z#eq9CiQ2*D|I=8%Hd3urG^3`u|mWoRRy@WNP%3yakq~wYiJlcIV}g4 z_YRf9gDOdto2w;_aB$kKn65$-Sw2Kt+4}rJ)&-b))&&{3y^5P0En(naS^(f3g3_JT zsieh{AOR&rmoe_I0cW)*qO_S4_3nskr#s?Z7^ia?v$s3hH-mBDp_ z1$`3i9czP4&kGJcRoor!h>w(kQe6?wCG81?Ugm5Gc?L<6$j{FQEp^fYU(jYI;k=)4 z7L^2^9B(iOFy0q`$9(VhUAmY2#bP>#R5FCC`uuwam6l%9K0{S`5=Y6xOPvn}B`gkK z$z@IT?2#wv2UJKItm1hlTzvqlyXU+n5Mp}7RohV|JEDHdhkZLYX~3JCG{aYaSC?We z!gG!L!xfh2P75Nn^ncF>CDKX$_$p)MeMPdywK*^M6<7JW=^0-~Ucweq!-@hnf~+{? z1oUxDfM6xZ_kG_9S%Z}$3*3$1HNL6IT;UKRXEj&0otiti+>rS_2dam=xXj8ieTz70 znts~4;KLtZj@)1rBc-FE+#_-wQyFT?NXDxI{ ztE9UegRdnnx&Oh-qHpEj7da4W-nWGAyOks*LXO_l6evY^z!WMe z@(>Ul{y1|VA#IKeuy~$iD(#2JoGL3pih(u3!;+*>hd}c&-~J09>F@=b-P+k!$HyED zdGB37JM>1%0t7Yk7NPl!kJ&V2=imTs8nti<+4|gJ>@8YQRVeL+d4cH`e6cOLzH&Zc zDOPSTETDY_0Wi@7789E=?dFAnZ(gyv;A2Lwm&s0;=YvuS1lA$LYFJymQk`~Lj~(;<&*j2y8PiZv7ROW7O;|1Ac)7SShr4Vx{NX{)B_&_p z5Fw3JQrGMo&OfkoZLIN79B%s>?>&U&<)CMw&#T4$Q55=hcb&U|FXRf_G2Jyv*a- z5{>W1r+Dvnhs^n+kgS63gu3c_pl4IvK#vBTKycUaFDJOs?23pNuJN^LXp+?FNu^!F zY_97$W5B!%yP>*YfnFW)Gpib_jT~zfn77Oqx}4%%S-DY}N=%>y%Y>^0t?cp7zi=p^ zHk!|7i{nk{BFLw!NRKCMIKXZjCEco&BO>7`_K`EEbD4a;*Sd<)J*|GILll#6!+ zV^BH2Shx{Nkd*v3L!`U^zH{(wD!C?D@YdoL8|=1Xw#cBtih9zp!#cfhm^T=5@15_$ zJdN1L=2x{c*cWl-dG^SsWTug6rQQOHBrk*vpyG>|y9xEIkX@~AsE}>8#n-aG3jJF^ zmrtRe`#+rXz*EQcedZyPul>2OPw&_v1}CgG&O-diRH`&G(`GkUttKgx!=5gug;Lfq z+~NUEOp{`b`GaX(QxYQKNBOC2?>{2-;b0?Pc*#baH}6}H?T}=Z8|280I&-DsvWQxG zsXh&HdL^xG_~LrNGekt z$X@S7s&Vi1O&hB_fotUNj$wKBY8_ExFB}-m!gZe73GP;($h8$cw`dbmqe)!R-7fIl zI63IzNegPFvzM##Nqzy9Gkubv+=@-o^WIF4-}&6mAPLRsv zLz06AbPwuVTwooqZml$|Hp54ak{emcGJU)s;93+W8$Lrf#Ifotl&60cZJc;4W;PSQ zDv3Xl9r>hWxeI zXTV_J0(Qf1@6uX+lhYoWIQJ(XF_|mhv$^N+5%dT!Mga?8@B1(N?;T3!cE2PK(A>lP&Vn4q~;E(ATi=Kn|&TL`V5$lIStd z{&kfPEq>oE27YvfctY*t8J|U^RZk%9*W244IfD_lq91yyc9uWJ?>e@3uw!>r1enRD zh-nzG$KRnk)w|#s)Fmap)j=uYn-Jv(H356wcun^N*^;G1FR-l+sijg3>5zmJ6ttQ= zmPPAfkx^T7!=CDcS6wU*8}yso2hMqqDq}~R#U>i zjmvVt{AM^aQ|r-^GP6O`J#&ox6Y;~i_HyyRw|a=f!_C4pATCDYTL*TFc ze4=v1t7$`}qqbuWbDugQKBcoMT^(+lmr@N`;ZF-9aL|%p6Tba!T|!)rQRME0F^S)h zBUR0BX;$3Mzw3@iY>98h@dL4Y^V?g5iH<7fZsY5&y*`io-zF(#7s27U_X;~3>XBdpUx`oHPa z|L#bC>M8!26#i|}_>YzT5cZrETqu8zZ>r!hfLG z=@GA>G5Mr_Am}rt9~qnKuQE->fN35zruk(VzP)4FUinrdbz z32!cJH14SKUv-K7d{6anF#H3Aq}eGpYb#Vez7qd2RfzskC0;renE{%Xl*YH;ecyD1 zF(&Cp&P6J52Suq#*6V)&G?+r%P|SAEwF{(@2kD#A?4|Ur|0XH44aGarsS!xkHvQwh z!UZ0nLO5Z#^g{uYsXF~TU+bsk!7Nt&29qz*cM|SNZ#S)$LM0>9rMDmXpI=IGH!`pB z`|g|E5lT;e`iea*zqwvbI{8@GzyCgMjo>+7j;YDMysbYtQW)#$QcwT2)aSM!a@NC! zBV-}HIh}(4Iev>i+bXS=L3w6Ip;-@8xw}9!)8pG)-shj+^u+xK4VGW=gHP};HSa1d zul(Rm>87WLAmsokE3YuuALliq*wo_3Mn^jevRe=(PVQWjP zE>eyURQ|FiTpb$3u4JQ>dSf(JceJd^RLFH~byPG3h#GiDeXWZWhhk`+SUyoPHS~9V zeZtw2EmzRNj>mNY+>oK9qyr%dmdnPJ9*f`PkMitMj91)FUEQ|s>X~-#Tb*`ZOm_C| zLrV@F$ELr1e&?R^qOwZjeMRWWUTN`yyHdHK>xg#4QmS_mbjD>!#q0YAdAuCB_i3^(CMncPoD^U`W>_upmti_nkh)t?#F#*hj*Lrs3q)k z>pK~9G7rec`teAil;!;95S)rpmC@*M*}E9Gu&*$-X9+8Dm!#EtHMh@ytiVZ(x-%0Bo z&7ZOhXqHdp<2EeHObV{DEU0{~*26}ppVm;QN>q9~?vbF)&R)WYF|JAQ?a3WhCHsqG zIr4UtLsh$jCU&#xx4jEpY?QWaDP43er{0NAc)ueVF)V+)P>J08$|w@NTO8=dN#S;N ze1fNkxoBYW_Bv~gZyh&3j)u4yorj(6j)q7WtBF@A(=vHGc1j{vwRXb4Xk#r4MInSW z{b8fJ65N6g%s0-J#K;D$Lz&A;5mZ>sjF)V(zEFx?#;_VGV({#tJL*G>>ujU4EL=aQ zXegy0Wu?2||Fqih_)TK-hAR(Qx9BaH%{8|*I~^R)`sBfDYdfFMGY;I3PoyY0P}Ap_ zRy&%A>viH8njAlJzEv}@msBHA@hkvk{Jt{-QsOKeb4U}cgK?E};+4|Qp1O~N)T#Rf z7&<=dq7&fkiSTL|nbpew0vpo8D7?OGLB>SWse5Zu5n0(USy&3*D?B$uao)G@1be(! z>;O_SG&J-&T!`~dBcWuY>EzpHI)8&`m)Om$#9Cu0RKEg!A^FOHvs{jJf1$vWhB}Qe zhFLMX=C?=2@>NKq^VQoYF+0DTW;NiYECjeVJjYk=vq-9A8Gh|#rGx8{6p^RV1w zkeh_0-QuhH@8_pO;=cN5OBfc)ZnS^Tpc{7|d#Nyq(r|Vv(UD3lX^dQWa!(uS>TYoB#}NUk*2Zk`ILt0SSAaNVeJ-r@A^qJi z)n-rg1*Kw9Z`v|zhmM0Sq4m%G@td`)?>5}i=3DBeFBln5C@zpMI0_R&=)L){{q+r_ zH`*m{v5-hRU%a>;T+XKfLi)I*d`VQ^E51OP>dgtJsnZeGIC9b`3NV(wvoT;*1$v@U z#6t9;=Z8};{^=CywRnE|`P>53hM6O!q?_qO-f+U$*+;qck0lz!O}JY@ z2yJV1Rxoje)%MQ0s$aUs60134jt-y&-&@RGQWvS4 zR3%#N(C_H%u?fqISNvWz!TWSuH#E#3OC$Zd$hAhg1&4#Ts)i?&OUKWA>kRy-3N$ve zMD1+XH717{xSE|pA1&n;qB8v|%i@ymGEP_%m5h^#e{!qS?3LowUBE9!^0_-a)&Ka_ z_sPfivjxl#%eL=}yur%|6KWWK>KLRG?s~Vj?zl@k`;jj=1u1D<2of^Sw?I*iV9PY< z1>Fm#wC>cog+79&TFqRt-WyA!EU>l7hT4K1I%oENHIU?NrSNi3^Au7OffXQ(OX(LXy3_^7zIb?pv=+U+bc~Es^gl zko_AgdfXz^n#bcojMQbPHNHvojB0j3Sa+PFl%2YH>(Jc|EU$pUNBI;Lv!i{9(0wO( zg|h36K0?Us(f6f?dzZ-H@D6E2!>iRpdE5v#mU`snrr9K`r5qt325UwLx8{nw{Bn7Y z=A|3nt@bf}iXV)M2iMx^KUUdum0ZD0y>z!Gh4nQ|8PGo24ZU34Bw2_;!;Zks#d2uK z92y(SA$+xrxl?0S_Yr^=VS5r`yFLTpf~9skE&(`>K54k@3$ZvUl3QSft`bU}QE){@ zIBt7NiWwuDu&Xwum4wZdc&pB^WOEKmzfn_{r9+J^(HLo3@&>^uKZIHNA1mt)T{e7K zsg@lsa0iO!QwTtoJjvVE8#;J{4upN`l0DoBwhz#)Q(B z)xat!?g|-cO3(Cr_zYK0f)5>n>-%=9rp)7z(tn?4!9t;ot z(PqMoYw`eQvQ!I4z4l?WZp_sXAl`T7N9$F?^6SQqAFYZ`-*6>RtEO}*qW75LI;uDB zpEcKhveeS&`ss7C^ThSJ^e$6QX~$1u!YzIm-?fSfvmB=09rEOu(monDheipYQrJA7 zDA+o(XdMdpCOLq2lDxLN*zt32JEmC__J_RuFNpVcyQn;<_D7O>dzU=>E?>)ns z>biB|hmO)zL{zE;c?2oaJ18L1rGyfs2-2lU3lK;sDhLWn??t4ACM9%85E1Deq$B|m zLJz%#kh6H+{haf@d+&43_vicZUElj>g)1Q|bIvvAm}89lzQ+VU5bzkB;=4xb-rYY8 zav|33)O@OavL{kzykBpezveL-)xfvSHj4N)wY&l=($OaP3j647bsap4b~m@7EyxzxH?9L|o(E=z?LG28!VsLzL)qq|7xm{)KQb3+T2|lTaINs+1 z{x~WB0j0j21}BMS!rOut1|~g{EwZa0A*F?%bbF5p+;uld5_eij`m^si@O6}MdQP~$ zamnvO#g@zW@k4XY@f~1b5ErIb!OKN2we3v)n%eFOw0H3;J_OTLR4+@ zhD~qUwht)TeTBn^=dtH3R${@7bXPr7x2|Z-;I0rfG|E(X@DISWOo)9^9Ly$GZ@_ND}I1T){a{26Q*w*7i>Rt*Oj(aYL+qXu3zz zEg+L?@%U+M5LB9G9b%NhYdUx`*}v5Vb4}&{c7@Y_Mv`91?-|Z5TYkT2|F!MjjFd%* zKFhrT+=xRMkEE7Jk>OT`v9CF?)UN?@K^=<4;ExX8mXdtCTWm88GhxoiBmaUGi}644 zyFaFX=j^46ut}F1U|(5Id3uMs1k&Bk3$A`My|a&gP_jc>3v?tVEma6$qtl)0Ll{8;a{-2sA$kR|Bv9N;%uqSJXH zz(xYD6*<3u`UU{e=PlBhGOUQZqLUbi_%T2ea)RS)XKI(J(clqM$cXZAFp^7o}; z=6@2Ih>dEUiEJ)^_82{)pGxUxAq{AVtTSKaEHVcBwMLotugjm-#Sp~D=2s1Sgp!NZ z*aClT&}ixFE*z_W4gBRvwt=26(~SmPZJM&QU{JIP?K^$n;+GwK0s-=ySH<>-(?Ef< z(F+rEhG7L;@_^}(fATxI7=3s+~wm%9_0H-sgHQEGf6 zM8hEmxC9Zww9>-hLhVwm)x|rQFC-1urO~zA=iJ@dshJgINDyxzls4hi)7q7el;R9^ zBGFIZF&ce0XkiC^!jR?^;8oDVH@~Mx3Yc-X?O{razcSjpcz=k!xv=cg zgREiF@q0oH|LB*|RH~Xze(TuJ3C5F6^W8Z)%u!p?9 zAa=89X+r`2adJSfCY)*oBa+UF2e$H#k58RleD?cW+ftem!FC(H)}?RC^1DyNgB@Ef zWcdoBs7^_J4TtHb#5jS)bU=>6#)Lom`aM|Sw7C*O`_gr%R4Lt=X&+K#>l!Yu8&XZs zE*^{NKI-SX(PNDAe(zQ4BG|tZ+tfJ@n-=%S?tU?1JEWnDIUL>3V*>|z#I7;a3_Y~$ z$MX~q*Mgx>hMDiZFs$^A*muG~=VSp^hG_uGvx6##aw)CzH)hw7jmUie z+Vjs_t<7CTvdWm)Ul@(md-a_zJawD?Vn%$wz@bO>gNcZdHo!FnxrdWpKr~pCHH+hM zd{XbA84nUFwC>2yVOwU3HpAuChH$XSahnyrW}7tGD=fv|RL)+1HS431=y2kK6abYL zyno$&U7aoMAsyYP4DI0O1ak5iVLXkKKW+tvvsJQ=_G`rlDf0-`9_u(H0PB4=#JhQZ z=7tlf>m|24t_t4tiOYz^CaSWHILud+|74;*!)+_X8iaIWga0ZPeUA7YQQSHXvE=;{ zHuzbi@BY1s?q;7$(rC7y-*18xEb|py!3Y@?&&$(05e&>faYLkjn4*s-uMKXV=7uJY z16NsxYse6PKUlz#USkJJ^49Gm965Dj7oASFE(Mnr8CZ%XCM*gPw(Y?m=B-pcV>&)% z@X%(&zA3(b(KE;+hKJj?u*en>c6&Xk-J`P9#XP;{=Xr+1*YxEBH4}XGX-TpZ62ULw zPt-L~o<``Sa_`b~EL2$VsB|Y;7=I$s-C&&-thg|WJs^%wj^DuXizhBXNS=pn)!)kh zXrmwm19%{{Y8Vw({^wxr1tFOW>&%h#%e6B;sL+w1<LQrH2!OjmlOS*5c}J^gOH`FIqf(RH9QwT*?d=!k#Mk=!if4G!yoyMcMb` z75G9=T6%om3q7SbFDHEV^J(@1m(v|0Q5tm993Yr>e$a%wiRyy_!>_$mRC8XYd(1X-HGXz$3k$ugk5;BdbSic5Whj&B}~)XZgl-Cbr%s5zLCqSFgBW zaMNRSYbzIT#C|J#(j2DULK_T!&cu0SY-ag6TJOMnrcP7a!*#7p>=`cAC4zd!Txd-t zhD)G3NML&>;BKh>M|Shjj~|C~cL(tkV@dH1MRk0Wj9VlPY!19K2GX&C=@V4L?bf znNQtyNv=Bs42h|iNcDUt5Se3-s^nSpV^o3otQ{c-Hw?2M%j1GJWp+*EkMm0bv%sQs zmDPE&17Yd-(AS_mG(v%giR*L|_vVJ+_d{zzPA7hRaGn|ZTm}kU>c-JKsut(ld*~s% zKk9Qg6rUKabTLezdoPA@)vRtrkU`Ndu{=omv{O3v|gX!Xylp)UH~8WB0skI zra)dT&m~~XTmFwNkAfKXAljS#{Xu_RkdT^^Qisd{K2#c zL2TTukgmB)JWGNwW}teEFN=;*eSde&PFGVjIFLXMJMK1Zwf#u?#g1Ca7w4O9JszuA z0TR+C$k0(^*vGgE>-Ru8x#Jia?{P_3fmsh!05k~|o6Shz{?kO&vb9Q|MSy~h@VZFT zq9)KU)DQDBr=UXK*)RfmP`>f;TW{m-$`JkagNi2`Ex`-8a5~ezpvDGMx50#NT1?BI zs&_H{nKSNHvS*8Bap}k?0$k@YY_j@_9BiLFR&ryB_~D!9J#dIhN_71}R@n?Ovk5iR zbcfUvEEilz{7yS&on1DX@Pv)-gm#GX_<9?KT&~cd2iB>CGoUWYquX#nQ7?cz8{n?W zcyo^-Nv+BMnvl%q(hH$xehZMrgg__U#=vjy(~}2Deq_QsT(b~`5nD>I)6XcX4V8k_ zx`Qi;ZV-gXp{c|sYVg_@<{=Su>|$`8;+VcGxxz9=p1r~7qb(v>qj8V^JhKG*(@$g1 zvh^8;_~nenp}7KhV`mHV7`;96E>=s(0H#kKF0NfKb8&XBp#<{>w^*h3cs+9P^HVmd`Z_6E{JVF%~R9GArIbvSnv`w-^0qzm7AuW&n*7qt6ua%>!_+H zZ#$wH!)kwBezjL0(*#B$14@ENhUQ+Bnd5TogH`2kJr94^KgKIF8{EXo8EGTa98P8F zBHXA}LehQ+_tHNb9A3oWsLE3L4QM zQ%kntF5~Oy^<_RMi>s zKkn4Cr@KALt|){Eyt=5`8+H3*$Oxf-yX5n;r2d8{7LE8-<|H^Iac>MuobItgO1{qg?C%DdZ1b9 zCl_i&IGj9rXN+m~ExCnS*x~o=#ScBb5Ry(DD`Ebzk~sIgE2Yq3kL!{USa&m4{s}N; zPH4q4<$niD%Yu|=qLFj^eM4Hdu`9uKBw~ZR$!mo00fVLmBpD*J5T&XEx-i)J5V)4H zbUW|7{o3m00h0_?%1`k`iVPE$Z~7{KQO`756eJr$Q{_35R;s3lGumS2NG&W4yZx3+ z>m%Z0_e;z~FwZD2`I%3Q#TFDd$@ip6w^p3Ef;~FuS06uZZ7ru<14bYYKkg0mA@A|_%gIfA)+K+pUW z^03o?jmrxW_Om3Is|InXvqBWA3rwnJN*Z6ym#-S-R!Fo=*lG7{qbLx#IyjLe-SMZ5 z{x#1h9Y8vB42t@!KQMZw$f0VvM^vs~39JW}I4 za<3F91+n^;KWh+3$g^rxDX;pK z(lkm{m~1e)b(S71TNMCJq?S$Tg3`$6iu1;2_|o%-j~BXAQ_IeYBs*iH zuGnL1Oauqwr&c{o7mP41_Wlbqd&q-hfyC3`+NyqCqe5T9>`z~bQNBZm!pIrxPwz$2 z01D`$tKyTQDT0V;(iC!Tk#bDur3jkSl}%}&DWqD&H@3QWvnNXzTvuRVslB@QS$2zw zjq_)>4pK$?KW9Y3smKXEJt4!N6kH6=Ars7gE+a_@|@0Uhesq@iSEX@_;mns`D z-X+e5?m7HZI}dPs!X=-ynzp4C%7$fO_L|M}d~OW6;Z%m-yo)F1i)1d$1qqcGpZ~-; z^3U*zvHz-q1n{sS!SZtXSN(MUh_B*RlDYvO7X)-8s|p=6fj z2yu+HwRf}^aPv9gWI5^Sl@F&5n)2ES5I8idN2o6Uh2811WGKmzo(vK!BUe4SD2&`1 zIvZ03tXvC%oF^Km1;_3en#6+oO~EzJYj>t5j2anSKrh{rMq3~7(MWa|1#7bH6f-Mc zYLo;5EQ^mofYtsCn5CA}X|iqBJyxb4#<+9Po0h??xQhB+gs zh|Zf8se(B4@!qPv0K>^vES%B5t59k0?!w~YO5t6Fenn&PO>nLgEw72$oM?0JDmV`kClT3M!TOFRLkl2 z8^F3K^Die9ZGFG9Ze~B=h&xpYbuV=qBQ_ud*N8ibe)XyxC}iEr0E)zu?6iV8L!us4N z)<)A-qIbWtl#DgwZ!bKxE(O4-=LZ2hfP1jAAu#d1z|S||-f3te3iLaO|6$UsBtdq# ztd>p?bQJvviMo+L&^=NG7dC;_;+hxl)6n(e>ku#6&Lf{LQv2WBNViKt*cfj#Wy(Hw zWvA;k^6;3QjrwE1GIO#JnTqQn^nwPM?B#ySt84$px9^<;m<|Fc*F42o!l*hJX7_O$ z@Awmvp)qyG#QNAYQSoPK|3(cu_&0AbIj-y)6fJtoQ^^!htXepxUEfC;kv$93;AZ73 z8Wv-dndKSzM*_$FV)mIE#+*NqkC5!GIa&vYc=>z*E2pMTPEL9(OA79LMFL{?xU_Zo z=E(tT+rR;_Tpq-l{SV$j6EW@i^o8(xg}E@Q#Y6G624e*_x|V}|ezizRqZR$+1Hhy&Dg z$BR}3_}aSOya9N>_BynJuhd{UNd7nLL1kTl5hPve)H72`>Dhkz{!1_H-cfL;y58## zW`9`$dp_6Q{fe1+qG4HsbL(*Dltl}^Lyj$|@M&4Zjxo{f^&*k$6Lfi}8InLR1DXr$ zt}AXk*SuHWz-qEl7P+wcWL_~5;Vg=;Fz;^q3u|2FRNY50PY{mZk}J!BHrjv0HMs10 zE90^pK&Hlsa-{ak!BO6G==<5R+kh)Qe+h7PhaOIjQ<#$_-e}O>3(w-JUI)Y0&`xWe5P8})x4V<=GfKT ze2)Vl--xPEgi%qw+JSPMVM72f0rDl+?Z)nj$D%mq$ck#?)p=h!wO2kCn-6RTb`rb$ zN(|DhQ|ogrmBAYSwIvs>9#Q5B()x|!UFI@_`3C0^hpY-6k5SuwA4@9KnV3`L6Bpp3xJV0!tR-=c5o>}eZu)dOl$Xc~VEcciOPw?mV2$t1e@c~XD((667 z|Hi`p>okkg3W=h^O4I#qyG8#WjO`o4Gc#rRZ!`6O+A{vVTl{;s_;0qme{b6VKlPm? zC@p@r&JVZ%!FZrE9;kGfDLv0vx?@DF( zd<_!mOu)7rZ?>~U1YOgYnWNTC6;q#_oK!tE?>eRE99EpXw?x-ft8SKMclX0iY^(*( z#BoVa>_X?Zxhn6Orzmh{=KtI6Vz-sg>4r14zy@4h$YMSEc3Z4#g{;P+GWTDO-7S6e ztM78w2g~^}b)!e*ATiV)J|h^>-*b}Ef8>K`J$xM-+nng|{%>b5l$XMrv*vi8YuvhI zyx-(|q0#+^e}rD-wQ-LrE`q7U=W^3e z*Bq7Q5$#lOy_6R@qmP`(ldX*IgG=L0)`Ru&u@ex}zR`@yecq2pM9TwIDTD?7 z+)^fYTjfy5mHATr7m1lbrJiW?(iKsnkT*r2V%L2X#RjbRq;HLgiRbYSeHT2lv>{Te z_z$yx%X~HyqFnQk>XaScC%bufUhisGNnhg)Q32}mqeT-^!?cAH`ZZ7xJOZWwF|Oyc z<%926XLH4CQ2|9KH)P0D6Rk;+Aibyoodl?1X*2HOyM35vXXN4qHzU|O)}B}CKy$oj+OuJRqB=(oONy#S#x^-`R20+{e^Kb#y=11F_zZe zGfHXgC~CS-dnZc+XW)yPCvPC#b?1uuxmw3PuTG1`ounNiDJPXW^O{*&>d}1+r1SMH zw=p{V;29St2b=eCN#PH*ZUKSaH%jGzL&;RKj@fJ@pOGY6uR%LgG8aF$Bl#VeS_k*3X2 zFw&qTcmBd^d6V$7?93$=z0c536N-mB8s5q>265X%yXm@~Xrk%c z|4B&jbiD!AOmiAwsoUe~U67=5b=d67Tx`2N5Kf1q-Pv(s08I6!!0a2^f{a82p*+e; z6P;l;<4YEtA~p`lg^KfgDLl$n0k|o?e;S#`8`1_ZL{zOmur|B?mxpzAh%$p1Q`*;) zxp>PJ%IxE2d+miM-IZSf>nh0+2d~*9?f-y&56f?y{XKy^HAN*F7A}YF=nct>C>CP; zked|Bk9I;{!Vg4Nx>x&$p(xiU+MOzo`JETp`L)S=7A-S;=F@BMr1zexM*F>SaqmxT zbl--~W%K;F$+)SQ*TBR0;RV`*NUTrc-67hF;9^;+;<= z?69fEw?9zZMGXN<$?4>5q-EUt2FVPTt?K(IjEV$WwA}d}f~vbkdJim~7jtu$IXBmx zP4-x%oqFciyP?ms&pW=~El*F`oByTh1o1YFI(i_<=Q;E0IdG^K_T#qg`}6zw;^Xbu zl3$HHsbSrme-H8J1tQyN7R{ zv{8uXkXExT7b_Rqf}7+!s*_DrK>_>2R?UPx7N(TDH+0xud5*kHwRzx6a$mjE^_+p_ zTN5^Kea{$x&pQ5s&j6Lih7cdP@doIK+^oZ(6kk3X-vVI-(+i90xYbzi2$CIi z+PN_6`Upd83|Gm>_skbGT(rA?smAyu*98;Ul^k_cQ>l7X2hg3jLH;`pOc`Wq3PXLO2Hl+ zwPo82sV18=u8Q+s#=cU4Q-~ju3&SJIiXCT+UzX~*FQJfbbuNj<|e^lWdFpmLC6l=ICgLCuYX4nG@@}oSH zUJRl^2;w?9YJ4>1Qe(UKfK9RCk!;qmOy~8m0fsB0?5yc9Qs9rc?2ojcbj}UB?uf;~ zn1?<#c3{ryIFL>X?anJ5FmZcw>OzFxzj9MHn-HTd$^2*|$2k!?i{6}cc}Yk2%Um*y z>KT$&S?0o_L6!iJ5sNHLW+|CC=80}#$a-h={1L+HxqJ70>7Q!Q+l_Hy^18@#Oy2@W z^5plQ^_%zV#&>N-E*#9jWi_T>%Acj8fJ82UY+U4A0)$~ZlHIZxXvEd`LX1A; z$~&r#ivbeK*Yox+Dv<3Jlp9IC84p%UCKPi9;HNvJEZBjkJ^}aL3`B8kb!i1hIE=d| z;|Y$O4Z+DBR(v_fl#$kGD(Ohh^TV?H-&eA=7JmcLa>ZN-`Mghb{S12DEk?CFJp$T` z5Y|QbJ)|+QTSwfTs!+fywp2*#zjhi3>?ApsxanEj$G5`MpQz;B0Yxw~|6UgXgn-Ak z^g9ICVVqmnI?r=a9xpp1>jfIu$!fZWOYKgi@ha>iw5}#J)g5hYdY^CVQf3l2lf~$P z3m~&B8~Q#je1@OQDJKJmhlx)fulwu5O)+IFlJCJMc2L}N%zBVxCYZ(1X-GOsVm@&! z@L6k<^7=o}7a54Eb)#9neSUZ9bJw(Bz_c?RNA&v&z;i$Zeap|EcxEtA>6!o~(|x6G z>b#Q!S3iaw(1P*BrOD~i?kE?xK!j0RT3&~AnZa`YG6^e(=qjmyK{N@xA zyl3Ljan&nbi%Po{DLK0k>z3h&0RiXNnRLu;HMU*fcNPamKO5=QTp@-- z_FeJg{Jy_;w0+yuh#uoO7KOq$N$5{Uc}IFXp1`5AL>A{0{(-@_o!5xcNGP;AYh5gi zR47KzNSA^y)T$_($eRY386N;HcVB9OxK8L83(GQky3^Hmg)C>pwhI#c8DQ&|vMyyM zzIa;ZaGE`GoaEMNqS!?EfDGohtbd%Wqo~TC291vi%8|Bq9T~3;KAuswDlCR2-z86& zE0L9y(ui%9C*@7qY{EZMBkj-ar3#@YE236RzY535!h8t*v9-N#8)F>4hnV16+tadU z=iuqn7S3o+7SjqGpLhI+fRyxCXO1P*?sKt%%|lj)DN5ihi#L@yX0QQLUAq&pJdwo)gbf|ZjVpl&D*CZ6h)-63tiD3cdd6a9)>2}QQ* zIEqT(ehp0{pbz&4WAV)O52K*DnGa%aY-lX@|8BlwxjQegFyOVJV|5(1T{|x5QN`-n z=!EB5%&pQ-ZsfKs zo9SaOF2-^%)zT8+wU60WCj!&m8yI3zcHPAO zZpQ?oDqt+_38>=hnz1vy+QfQ~&{#ACpQI`jpl4+EDSoM54qhBZtgM=A?IDZrz>BTw z1JhT^D9oYY6ed%XqSJ8&`vM=t)?!c1eb;KK3Q_Irrx)G0pjj2h8EC@ zg02i>_W57n&}S#V0LS3qFme_xiv4oqO7Iuj6FOj*$(IirzmpV78%EVtsYqn9DYVK_ zCyT1ie7xXHXd)N$G6%bfK#b6$Ni3prNqq%x}!*<;&&9bJWH z3*Gdru^R%+uP{FVR)Uf56p;=|JaXKdBF6i+Wu&GZwkaVMs&wfTXy^)DuyG-OGSu!+7hsi439(AH9hPo1t-`7^(D{5NBot}Ximi>T+P@83(_ zenCllFhQt_S#4KT!1ymcD`{Arg>wyXGNe1}=*pnU7oUPATVhg*>{+bV&lVsK;M@6h zrb7DSxdTUkzyyIHei|Y}O}8eGX#|;Bmwd{Q*jt+_vMB%gd56cfYGY~cqNPoaayM15 z^)8>*sVSqn6Z)xIIj%(oC;aD^o^$off8fbH@UYCt7)hB;Q^%O_JdIeF-jw@ZHdB_Y8m>Hu`4to;jn=F@HfA5e!QO7Mq~7H3=!Q;;V@SknhRa;s42Me zg_3%%P+(~r+Twe#O5;WnxLUssW}_RG?o%N^%d{xGD5>{(4bjFl`U0ou z!mNk3K?|$d7bREI%qvzCd6MJ2E$5hx1>9W2xjuRB*Hv4PAIJ;fr$+`}1*lnRKxHAq zTTR62M!S<|nI7+$rCpq@>a-x21x9|(%;aB-w@BD#^OkN1Ah4|*e`j_KOv_znuSvT{ znfs7Z(WNA%V5Rz`RaH+tlw3cRXTITy4PRLIT7(wSG?UyG-drxOx-vHWKo2CH@akBuuvIeuM~YZvJ>8Zl??%=hi)Zwm3|q zW>uCdfKydBn;rt26YS0#RnMF}zuGIUmJ6mUBdunpN;i%%4w^>{sUfegFU4-F;F3c? zoTIUvQG+2(Ap}mj&*VT%s}tLaXE;?$;vX~Yho%&waPLzt56{{5TRh)Do;GVQ3u01s zJn>reS>kOTe1?WGv99tuX$j@5`VxD1+n`rW>@_6;-i=p;Bvc=}FNAIaykr5ImJ!Nt zGN1?OOK$>ViD|8(s+DQ`lRXy^h7a3Lo6#T8(UL0%byuDJuTi#9hD*+R&}!|s!X6jg z=7`O`Kz~2P4RN3hD%jyx#AS&n%J^UAy!7RYpuguxVSnFPzcCG_KkPtPWYFV}k>hu* z6sNF}b17F&Yt&2FD@J6M-Ji^rwi>RsD)u2-JF^fu2k|p^ox-Lh`*zc5a}WAqj`wxh z!gsjGkH(GZgV~;53H}Pho=qPQSs>mB9+U)4ne^>3crmIE;{!*xdZv+| zYRsdhe?GemSoA6qt%vN_Om_9A9JU||*P1MACT!AGf9>2gJJK{-IT6CG9olvbV=|HN z^uipKDup@`7yQc}O{=IiD_L3bD1^AZrq+`$a$`{}4%Tb`7)Hg4+B`Vkt~n>S6|Ne% zBZ8SiK?cV2kTLYQ2ZJ+VoFZ@ntgK0``T0rUWc;Ixo)s6Sh3RTlEL z7k3B6Zs&>4qMfUOx$cBAoApSkTDQt+$Ll9y<#!9PCj{vl?+HCF&%)foUm?jAOCOr0 zQ{i@bBp5ZBJ4OERmae7eJ-BjMGKO5;x7X%5b}>v)SHs2ev7FkgM|p0svvu6s1Ut8j zD?2F&G|_}t=0ck%V7g0XA2vl(EuPj2Uq`jZ9ii<`V2ryO0Xc-|mz8nb_8U)CHoh`B z1aOadpnOJ5#>PjN=2`FTT9C1`D(}SHJ$b(;_aJ0uO_)7#ml1IxJ9U+IBmw4cn>X%` zzp|}VR65yI4R)IpYdKOTvx=JfeS<_WGE)VwmThC@8c6igZF%;mHwR9x2aQ z)-2d4k6C!k*%);?LN5%ww(7T)RE#h8h4?wY@e?48C$1dl8~g9U*iO9STq>{?Y4|FT z6D2cXx$c83Bm0s~Z-}M) z@qd!#C!D^Dl;mGBO8mjR+?PCFT+;0}1c_fP@EdX4uUaMRQjM~piKv243S2${aq!pkMPcGow84o>@cOx?6PW4>F3I4&A=6$Ty`SKXw^Q9q!^7)|; zjoEX4sbp}3Cu>}~TB=16&Zc7H3S>;(5Mjb)J_0EzNjj1Rah0bd9MsJ2`wX;e9wu!a zp=>l?aqoG|*w8^%6N_Wrq%K(mIUrYz7{z3Eqo|rk=b(v*((a>4{vkBsu0Qh27ZK*G zRrip(c5c>~bIEW%N_*7nNNNnf-}iukN(`(`cAc761dmHSh^|Xpxo_$6)T+FHS;;p8 zl>3G+7pGy(<4idhM)hFz2*|EnJ~m#{X?jMJZ7s50lHvfD_7mPq=eGN7@P2deT5s|B z6Ya1V&)U!6md6ka8WE>W_0iAZi&yTHqHQcuS4;hV8o#|5DYa>r6jglwQng!{^4PR7 z%>%w=-H*os+PfX+$ga39y^hc?906!Ra;a-?0}7Lw*DZ7jv1C*EE0W9)!7J#4M2+BN z*I4x1}I>4SKlWvGoud$j})3C-W&DKQ91!@_({eqa(R# z73G7jrqWL9ag5Frk1$>xCVdz%P99fw;4W5WK@a%_?USxs8Nd+C1$myPeLr!N$P!H# zQ{9M#d4BlnDpE-+@BY(PQrvw;hP0layi!wIQnRZa@AK6l`*gQSc`36vd&03_!OHGC zXCbSe%mbdF!(5-;3K$t?1P>Z79A)5N-erwRZtx}pdZ+O}S^`>*4sw-S3s{u>lJvB% zP0M?FSdHw=LFG*@%_-<+q>*qW>iN*T++oaQHEr)phrQdg}C3fcT%AMA;0`Eh7 za(0UD=qMWTJH3nHCY2~1Z{8w}nJ3MEf86!mrm8cubwkls^dO?sJ7TjOl#`>ObSFD?C_q;=EtM3qh6 zl)oCj@mHoC*5`)x9TReS29Wy%s(_Q_StxkBtc=2&g5@(8mQ@|iD6^=TM+1bE9)XA; zk#RuKKHwAz%^2}OP--@xiROq8NS12zC5ZDUu5=6#eaZSV2`Ee`OY%AoJX#R;e-zErWC4_@$c#;1otBn% z3G|RDu}pMKUjD4B+nt^EDIsC@N!T^?z?gXQnCtpjDiD#Dl>a<|0`X|*QEnOnoyBZx zwLC3=tv3lUGFq4(E1D)NXPb;KPS4Tz1S4yo;s)gpr_b_6gaoZy#sWF0Scy=8{LP)+ z=!Y!Y=)dkf=1|u4a^*=1VQ;1^ZQ83YNmmyHam_#P{xK?B*u-ye!s+wd_oI800M6RD zx54hyUC(MUtXU6TZ{WT}B@B2uINCj5YIFkA7pp4SG+*@-S%#ZQ-L&{oKSiwUVcgh^2-^$JHMM zi`}(Vo+UJe<9RB_v5KaR#@{NB(T1;>nRUjT2|S}4`0O!Pg8n#-w}ZUDx5iRd#1Xj%$sG;v%bkTiIhY>^fuDym0cG>`xUy za)%jNMAD7B-~7^#>j3+*TPgQ*sGtyjP;Go0h4vRvzF1-_-cunJ`$(r;7@t_Uw-j;^v)OBu90DkK$6X_dkxT50 zfb7g_?M0V>lZlSv$Gnc2s!TtQ$bHJ9vu}U{D;Zl>O<(8-11ej3BlTSPW8RoQ)SEHy zCt|fIAR&299X<Y=I$F6oJXIbIo1CtImDr!w)M-U#k0XeH($Gq&0YWsq;}Ki3*w?jk+$(- zby8-zJpfbmG*_C8tSs4`4Yo=Eaa#58G^K^qgZ;wyd;*j$G$LyRYk zuhy$^S;IA5g?(!~q9xNvLdAX&a2cUmx89OBB`SxrAtcPt{L&ePvR>*d^e(1t#bPe*Qy2a)!?-Q=6trE#4YBtA%5wzl0ysKdr>pv}ec%XqZk zFV;v%&JFM?kf6Pp)@h@Jga2W19loK^mo2L~um559l)Qq5^1J?eSrI|c{8$U6!XTW1 zcw3m^BsBgJ!s4PoU9tBf`DjAT(z7F3^47ZAvIw;16bI+{vIJmOGEY1HDNm~zNXYR! z-Jb~TukxwwDb>90u|aV>`vDuItnQd`S+#>=XK|MS>C`Wg`7-YF-^p5p(Y1&F0((8H zoxYYP>rw6yx_AlB99wt!k9Di z8QtXtKEPA`gDD;0?!rV77LgKwCOp-u0Gsd z6{I5ALI^<;(U-k)P#)&%z!|MQ+~qp(nuCULwNRl>poHg79)C!%HOEWl6pjdMJ;O5b zNRLwY2{3eu0-pDz1Rjt$9=xc$Th4)4GPRv1=zc_SsFeoUOhsPy^i*zVx+X(rmSk$T zfhbRL_)-?Ar8boG&rCY$o&Ob((k*z@F`amiultwz{?HK^`k{&V2r3FUR`|NHW5<;D z{yd+_B?@Xs5C(Ws2_I*z9!s^L*y8~1EjIP3qq-+{pFa=~2 zmoYO6`Yv4uE(#cm^HbND4{HGz<|}K0mdgUV6br8!pwHvQ(5+@Kd(VJ+I>$?MC>g>YF4<$BBk6pQ!nGyhoA7fz zkpLIu9W4bUMhp-z^1BWRu%xguice%5S&NKtzN4M~R&Ez7CvA#o{+=+Id{*%BSCwI3 ztVj3yw{pttn7@c5DwH%Qg;_sZevJr#?+b-$w`)KzMjm|iYR;CN5?1S6jek*bKw#+- z)Az2r#@Dlb+v^Xg1j|+aVMX)ftR~JgO2k+#{a!lfI>d*Ua1F5_z5XaY>)xn;ZfM^PPLQfaf6!rk>dhku?|f7EF(St*>*K9x^7q zlbIS%>mBx-`xWgYZGw&B#lM)hSA!`R>m9r5YH3RkRh6@*35QO*U5o>gF=yR#mHoSW z5F!;I>zo!NCF32HiK#$D-)`5M!=K?9*1C_Z;My6`O=1CvLsg|Hpua6ZfA_CGrnmX4 zvyf@7$Ns$L52-ffQasV5y{3nHm5T(&0)8{3ZJ^<6+TQIBaT?I4!icLYr&kfdfTm&W z3}putCN1Gi5m$aq4$)Q&IL&M^N4Ry1-2@2!Tl6WcZ<+vR7}WZ}+(Y~ZrL^XYEb()8 zJ1Jf!h}I^7K>IL%rSyrjfBlOs)^+=WfXwF4?*Y$x>hFwHRo|oMy1J}t%ffeV{T;cd2IS|7lObg#9b8AB? zwu8eqGt8w%PY8&kp(3~c>G4JSYH&0Q=lOQZbJpJdYsNCFp)(GBS~o_b<#9Cyw?tW3 zc~d0k8SOI?(`xwTsLV~V;s4P+`d6%;f?}z7UG+OVK#7tIS5GO~4p5)sK-nCpf?`_Z zXhvHCrs*KXm|GN*qMs^eZyZ582eeVe?Uvg%au(6J~KVl*UfPDPdb zyjVE%gd{Z12Q;$8_;BLl-$o?wzf#1nT2Z=p@EN^*OZSiA{s%+PJY*LAW3myjKpxuv zW@i7>$ow@t|9ts3GyC7n?0++}|6U>gUJd`Ru7<1sgT40*YijKpb)`1}6#?m300n6h zdKUrd2!!4gAr$GogsLLaRC%05Flr=*1Nua-uJ8L$GNV3 z?Y;ha1q5d1%=3(AjQbwrpUEpjE7S|!FD4rUT%1?GtzrC4HB1p-VyL``|tmIvHNRJ{^K<@E`_fI znDmIhu-F^_g)8~je^j~$fa6U9e=COn@sjZ;@%}$BJ%8b=eZ_x00h68MTV+(j9wm~+ zYEcpvKGVGt{qCXgq+T(7BJ+FnEtj0hBtrh=?YCt~xeV^uEcF!K+3>-)r;PW;nO{)L zn^FicUs0}-Ng}4Cc7AuAgOG6XH&)7b^>z1i_6MFko{$Gw{>Y$`v_O>X8dT?jC+2wG z^Dij>&kINa{7i{I{Y-zsT;hLK5B~X^fv>i40oLolAJ(heeDvM_-gmN?)8uHDx|L9x(`L(|<;qSZf&rigkPx1ft50c|+t{2n0 zIpe20q4Q|>QAdkbxr}{86|yX3@8Q3gpxKgCiOs>^9p}H#e1dt3I9!^(OUK4AqeTwFLj7 z6GBJW$<%#4Sr6|bgHMPu-MAU5AaX^BwyRI@L?JT%qt_^`w9yi7GUD=Mky-U^j;~n6 zMBw3;L&t4mffJzhiN^Y`P_rF(`JtyYsT*gULj$U}CIGhxjb3Spv^y6T+(QnX?yZ=W zYr=8%#AMeRij)n-!-?MelT5=F6v%-lmjlwqpOUOeW7(l67PYPurtzAX(wjuG5sy~a zbogh>QQ9ACT|Nr!Df|*~YPsWPb8jj@?m(HdmZT5O?@83(@?AKK;1DgmC$d+MZaESb z|9-@hGJW=H{PrK)?%+p~xDcOjl+;J_r=k;WY}54)1O0{0XJ11+G%_P!hg<9gOq66lsvT^e{EEkk+V0~a{I))|C7S&62f z-amZ0Ie0tLmg_Vk+O90${aa8(L54YI^HZO9MO!<)*YS4i#g#2;`e`aii;m9h)_t0RE~;c zDbKc|6#EhD!VdAWW)V!rHtM~p@ASwC$w5_Zf>!raj=NrxaL4ryy)!FMY^eMVP2=$p zL!RX%S4=y-B2R@DM(I#~{qx-j4Rs<6vs)0E@L6S!H`=BAmG8fs*~&*>5>UAJ)zzT&rZ*ZEpg1Qk!IJ zPyw~W6!1LYD2=%9)mMEg`N0+<(Q%TG4eyp$;@aw7$r@yfPRk=hzR(Nd1lC)WqgB15 z{LqE-?P^W1Mwi4tysCGmgyuN0ioO1X)&9*Ol^NK#%VLv6RPSG~IESid5*6a*OlKNic|PX&6F24r%f6n5958*pu>xexZ9mOzs-U@LpP=g zY(Ko_ZJ1*JkjN+f8rS8gg59>6XXLDz#eT7&n{mOpoAVkArAN znJ8#L228=2lj0E9bX*+pMt)p;L``EXo|IK$_4}%PlOIv@YDPi8)({u(ycuFE{hQ-1 zou}yHNzLkf%JQ(BOD3_Mm`*_|t$_$hT*kYPqOu)4dNhnqJr&h8lgz|$!{0SwrUt=? z7MbU7%A0r9p}W7k8aYeAy(|Yw?$E@k##(Ti2n4m!aqPHldXQ7z+?w^EpO)5jOi=!` z`P+(*VJ`#!=yVgp0#^+|{X8WZL;BVgK6FiKE{%Znd;OSV4w^_ALs)dyo!elX;OqPJ zwgnnSUOTxA{F+eH60OZ~U}%@TDI8I2hR?V+4N2B&@SJa0?= zW7!>n{Su5OqAK2Xpfh23Svk*^y5txil8AUNPJB(P&HS!rW`i0~jGWbpd}M%h#ak!P zvm2XA+{w}Fx+;3BTioYCo3>jU=7(7pMdOj=yC2YqjV{&f!$IvNq){RDrn-Ujv#Qkz zs-;o*Gv}PuGp`bLTJ@=8I?#a?#HkE*@OXt|&0!#}>Z%Kbv zlCVpJhXHFX?XKm}bR(mvvEvx9WWR>Ezv)P7J3!<{xy#+Aq1k6IcaM1By`+OGJ<1Sr z{?1nNyWVSfh%;glAjes83vHaS$7}QIrL)E03XCrUE4kUEJ zSwLk!9JIc7>uOEi(t^1^8W~4{<;0g+@!#Cu&%PV<<<;1`=}0=9o8gchuzejdU|Mz$ ziZW9S8!6J!Ff>o0JePt<}GINe~#7{d$#{?Ae>NTgu4#$3z_W zCNdIQ^J|t&;Gc`mFSCn=e9T*v$G}N6ig+;|qMzAI&PHyjo^=kT&6@ zOjAdiH9148=s z?R8fB9EQdP>RYMMAUqm4diz_PHI$L2rw=Mb9s>O$f4Mk3B#d8o&swi41vgh}`j4n; zj0aj7WqA)9qZR$|X*Zf@%&G}e+cO(4g<7!L9Hs6T%XWsME|d6}5JV8!c-v1a^dBKD z2FUsS);9yTcbImg*^OEHg4UPN*{`?XKKkH%^-XJN#s{BIv!Q7gUp0qTeN3g!1Keen za`gJsrFAM!s~!TQcQR=E$F{Cc8Ip96lF7{%7RYB7a5?cA%<)?#gb105s2+T3VKE6S z?n`PceHOKPmTOStq2e^HlXaMuQKB*vEUdG44ymnU>odfMcf)YY6g{=)&FQTr8l$!= z7I5PSIvN@}{+Y?aJ-C)*X@ZT9cRny`w^hW*6SC5)@2SS)<9ML|%CzQ_ zK~kYhH8Z+=+JXcM9>B(mzD8!!|XOR(c$P|#c_8DXzc%$e*8NOdl5og-v z*S`#hFqB4z%(u9a+-I*CdOr~Hn|bJ%6?!8f+Ga>e?Gi(Yko$BkifFz@fzBwA*l)pcDq zGP+!!3BM&VDADU)E6kNMb-%bOgM{*v~!vqBdJ+iX(ws!*K_J1o)S3N}zK;4^3p9cinoi#g_8YYis zf#j32K(q|3623oEhbwmS>sC#2^i^vE^{d2;nA=}#FpbiZrD8qvcUJ=Z^+O9NKan}? zznkCiib~TvNQKKeBl===nl7w>E zF8%BIb%;9|(ulkj+iBf8EAe2@T#ukk)zdF#@@Toto-@wO*3HAJa1zP6VvTH@_rfhp>L%~w=<{5L1@qkHm5q_IyE_}ta8;XyF9?O~61f}#TJzTYAzXlWgebPvF zyT6Z!8}u}pU#LCo(G4oczO@F7|KnPeQ#jFLFjZ%(jvMF8C(lU9`eN%P1AGk_x6L+@ zi(4TgGER96@g+^N{GOgJY87A1d&Pqoolp2bmL075sF$yMhjZLK%ppKk4SbYC5bt9?)G%T~H{qV@@1+B85)~=uL%|Fhj@0_+dVeZK6Nb zOrO;Ird`s1qvMu6e<+)L7YBiYmP2JdL!nB@g*_*eiT7W_d;ZzOaa| z0e)N84or5Kj4uNl)m(`(9;CK14;_JPfR7eBhg(~6()=AVp;k8#$GsdAlY;prODjw# z(}J$!(?&deMtWZ>C_(2DxLUh;d)uNh`JRus!;H;L5yIzqXBV${4XWe)G? ze$}`YB?=2jsCU^-v;CG*UufX@nz3Xv+!h8~%K$qD6|npHwy2o5XhoB1zt5aoqE3e4 zv+_W_d^H7-LuPaVrDN@O8ezYatXXeMdQl84!}NFFlYm}!*1B*a`6tuOwgEw!<->B8 zMgG2Wg~Pp(4jVd_VqhLrUY_kk zXVZd%l@G>nPT}AwsN?(ZSyi#r6zQSu9kxwnn1go90S=j%ozW@hU&we!3st)9g+YW} zkuUuODeu62u`DL}*f-N2cq*u==t9+=+m&HFB{*ZO6X@ zU0oAO&q>~Bpjd}GoaZ^G5BL^VW`%vXhEcS&Xc!;KKR7IHH3;)&KX1;S_iE?9EA*?4 zXug12hRDZOX#*8-?I)x^r()#w>OJd1ZV|O-MVnvKynkw5o4W7Y#y3v5ig}vzV7y}V zWoF@)DH!jN9_O`QFt~o%Q zI8VLjYHh>%h=yxLMd7t6p${U(h&E}}o$58g<@Bs~4N|E2MC;Ov`p41Vhns2&++H>s z+ink@H9-QiPO+!`ABO`Fb(-A=eV2b}G9rGLq^I%27nY~SaW{#s8ctz0=Gi=xT>FD{ z^WJ{S820wx@NTHtW6T4U_>|XaVg$EM;ZN|~{q>|fN@il@G{p81wkNy&a?bZBh;R^i zE4C*6onshTd z{egFf)7!)ub291Lan3r&>p#|S;_el;G#LGA*!c1MQB_5nVs~HubIbeSDHNLUwn2M#Q~BTD`!?D)mjQWU70c6fK+g z7xwQdiE=dxBvW0;c7j$%F$q^F$m8^q_fcTf_>1D*7eNQkyf@yLET{z2>rV&3WLQ9dC+$~`XHHC7uh!UCd+wfIY5($kNva6n{A_7(lB+r z;tnu(EU;Yn)wmwX;ebf39p2yoD*#@QW{IX}HO6}DEcEb}>d_j{oJ`cV@;v`_c8RLZ z55H=8nFjP?V(E$AdVOi3qLU^s)9A;RbU zL|6-EQ6`-Qai}Gh9eP?yztwnmmYN^WVq6jcrDu?!VIltHx`kTOm8H2#6lQ!D{1yK3 z1}N%Q?iF&ZujKG8eSjL&W$#fi+t;2%)oBG$#G`#o`C$PbBdKIVr%6cH*8W_h0JM- z0YgT-#rn!0;;9s<3%f9v`soLqTNpQSC)g6fuz>(&4<^ScY=;E%sLo9Gh!)r4SETA zsz1&*8g6aa*WLvbG?fO5k6M|Ag72y}Sv^Y9sEpmN4c&758WfP(`4x7qSI6G8=9nSv zTW-0zOwVe6-@lTHY*@OcBE71uzO1dC0L?_&S4KozyxYB?K|k5cAd?;5XhLw^?MjbG zL|7WIZ>Fi#{mc=a9)?D-OAo4^c-FDweF_Yn;NRF`xnm~LqKEI0W#Rq-Vs35=!m{OG z^R^CRSp3b!l-fwbj7iC!344Z75qEojkLRn|-gf3aKGQ>b+||($gq5C_J`@C7Lj~VT zN$8e3Q&E9d+K5b#zt|r<&^eq)??Io=mAA%dd;#8l%otARNAG>}1w5tXa;Wd}bf+}9 zu2z%9(lY0RVM1-0eYnR+U%GVdew@j0$f-HgUTZ1LBzW^HS=HqmtVd5w=Z2}NdDYxF z{eweb&4sZPG^y$aaK9czKz*C#+iXL6r`4ZL_y$w@?OoAhGAw+v0^o1tW_}#3U8({K zPgnTVusseh9&^%Hgw09wRmpmk4Oo=*L^*HXMN|>Krvbg>6CWeJ)#3kT7h2R#P%4n& zIf|#6OZ4|P^4=a)=b?2Oflv4X+pBx-2Vn^}mo*RiRyLrca8L71BcyyvNqL6!#xRv? zt&LJu-FZd<<+EcPbM&XJsd`P5+pfLCWe(!sawk)huI}vJwsx~Vc1iOg3HZ9VcYAuF zEy+S)EE+FcR(=AU>Blo*&745mIqD+AuK8s_VY~357BA9-ioHKYRt8e|8F|nKa{3l_ zTMq9$r*t@9JR_XR;}@Q>Va?cL_bw=Sh-}y0)w^GjV4v0RRvIB@@v9w>P z-gH5c_>sem7y?LD6fN@U0w?kx4jdT$GP^8Y4f=ho=F_tn-!wv}*WuqS?b=#3hvVea z$F4Hd?7Etnm2D9W+vupr&*%)COKC(Sn5YE=960S*-(1c_&}nlTijaKa4SnaP5T%{H9eG5)m{`o1HUvn2*GdSJkYd;qICSZmg)c0P z^nBRL1Y_$2tJMt47fJ?3bCVf44Od=^ovkc$k$fFs5x$^s>-6=V$83ZoWN<{9@O+P1 z_LNmglW7&8234qPW~H0vrTJuOy&HcL`;F?0M+qVNo+67CQJoj>l??|z{HHV5Tq#*G zT$d`RAyyDblmwafKRG4opgv9AHUYxBli2D4%G1Jp@q|%Yj-qx8`QI|#12II3Iv%4M z^hft?t^0|G){A||FQLjV@miIqh^rmUdo~*=T0xgv&Nudl#ANZf?Rl{RKH25exUnOC zou~8tH}Z#U0!qi^bS%Ea5Jmm&6)=g|JiPJJqT~@3?W0D6Fo$^mLGHm)2==lpcI2iz zHvX#~iOZNQ4CRT2E-{V1!9`KKDF9C$itvwY+YQ#it^%0Ir^gnI_eVyXFORX`AMdmY z$=xDxwYRf`J)hf}%YMqGC04vygSJoq z6GJjO-XmT58PresW@E8)G=t+z9pa#-)x>4t^cB_cdfv46XT-^2bH|DQ*o^!LS{^Su zH@N6J9ax#vxaMWpWQg!O+%ln?QC^myk6o0Rq6g>GO1TePZnsi)M6&b2vE} z``~$i2BTkA-vKF2-(^BOyGu^I7)-@TUrG>Zm*(**D{y@T5RuQ&FovK-(Qen0aE0nC zU-ETy$qBVMfAuo<+Mb&nYzb{*0znm>s@jgT5iA=B5>_qAExJc-I4IBZ`d3&QTKVL& z<|{h8;#I2&Czlq;uU3V_54^#)qdTLyA+Y>i-1yIR;VJb}0q|l3tp{N@ce zbb?b4Yl6>_GTvv!n##2DWy-eLt~(Oe{giIlyGfT#3%|;LH%h4<<2|cj;%#uRT8$?k zDYwu73%N&rEB7Oxl#}ILfx?^`-BYO$fuws?nThT1+R& zJJS!0j+q?PHA-x2hzuCWJJOs80qc-j|NCgbw&*TrhL5r647tvNh!t<=-BUwFR`%pMzJOF}N) zyYgpXo9Vn}%m}mrzoX-7FBF;~tdNJ<$lH(iaoSw<$oM&KrQ}iVwf-AvdY&$RW_R`b z&@cChB>&ayI+q}erldSGSGF>C1dZeJ#zZX|=GYoJuzhc6m8b{|Ua{zC>lJZd`tl>} zt-BTx8JWlE@6oH0;i4q3^$mMh}iGor68&waw>@B2K*Z zPa5FA+6gRVbY|wK%k$PJ9NI!zy+0sblSwc4zmIz{HZI$he+e*2N|!+rO-XTE_eWS< zL*RXi5uj`%zHKwBvWz(uCry{eI8zL`v{OsT+pJYv>ab`Hd>WU}qT+bUD7|4nrQ(d= z{|tx6jg4ro1YcQpq5mX-9t@T34Q0FaIR95De)#Ko>?g89XzK)-lV5^N%;cK{yZS{l ztfkXjuZW`%#( z1`1%!Sd+aOL1b4j4gJb{s+NTUhbsUFRgJfnWtgUTyHvcoFKY~ zhB$hm+H|an?CLAf7h6}0js==eY;18_!iu9)LSUkZZ; zWo4xmXq-as{-PBctwl|AXS#D*rwa_oSXZF8)9&SH`pY>5L@qBtiD$1@l1UV5HCmGR zdd0(eoh)Uub8VY0s+~^X+xYT$BQhRR8KZqy8P}8K4T~GiTDUbcN~TB}9-!?zwAb;! z#rV&D-{&_mySWlGepYSg=-9H>r1x_nG@nkocIkbjK~3GmlvK5MK+Z0RYv+d)6Q|U8A8huA?Z%|h{c9aqkj0z%SMc_CxN=lRj zg2`&aDLQ#d4(03Y;ix`P&i($F2dfmnBU6&@RoF)}%+4!I8I^eBB~@PuroeNh%#P7% zB~$1s$6Jn^Q*MBVlF`X~=vYDznepB5mJ9@|NEzmM=pbddGBoq^kWbC`Ul zozB;fw{>h|t1r<>sT=MJtUaxF9WM>wrM*Fx?!GXaW24^Mm@r+J=(YRCr}ALedc0;h#5=W9!${AaNxdBjY`NzXmSnC^GM%kV%FO zPf9J(96y@9_0Wr*qiY*pI&+##fnudU*hFN58Utw0;3vMA;<`eYHJ#0bR+kA5v8{JJ zw+2<~=SF}xt!8+=)pfkbyJ?-Q>Xggnk;!=u0o`?>ibv*koP%ZLEm}d|U)}h~SzkC1 zqMa`ir>OiF9RsDA{q+w~tF|3PR4Lo=K;usU!2pw6KWV%WdEx^rK{*cx-UnwEO|OZH z(14a`byKy-XP2ZT6RV@ z4J`$WM<|A*v5b~hGX#?A5z;KBv$4>GMh1P5vzH8W-WY3_Rxl9zg8R~1``YKJ+h}C6 zeR~%6ZmB)I>=jXXpMW*Jb=?C~-HRs5f}2<92t<_A z{NV#KQ}zOsxBS!6jJQ#=`H#|a?|*2lb{1h2%F^&P+z8{(L{VB^03I?Vef^(T1d}g7 z0cKV)1Gj9~9eS7_rnV1s1(h)N#>O2vL!N(U`p$=yyB(s@E4&>PTsydn@Y|8%EZYI) znZ2Me!v6c&Ix*Q2SH@(Q+Dh=C0fc)JZ7nhq%Enw7&*qptk5IHmPozo)g?QJr_Y^ANlY309iWpO z1Q5bncuC37fR)xzb4`OOF2fx1wMzUCvZaU04LQ@?s9=+lM?T@0TuRQ9IEhh}8oW{_ zx*t&}56mNh%}Weko%Ql9`r00^?#6itxibg^=Q#wp@9iB#F4TlG)xJ{i-JR+Png&)a zvngnUe3r`S$5X|seCPUz&bJ?kP)}ChJrcB7Fuf^){)+|p!pVU9$5kqu<=q2_PmtpQ z_9lRB00PS%P4Z=~M}bOrrq4dKzm&S*MoT!YE1uYO5UoDrpY0=BCG0E{g`96cPm3_9 zEQobyD7GwOA}accoLSpg!wV}mY%c``(L`SO5QAmJK`EJcKQA+DrH?k5)Cwjs)2+v@ zJa*RGR`JT0i>gDqhCEL6hSBxkeX_BL~3E};_|r&6t> zKZZ_Zaq<78+a;#)3Kr<#(i#M4It_&S6*ue6O?-6*n_JhnX%V)Qntp9BN&7U37I&Dw zRa?9dZl#()Etz2bSOH=WOd)lhPd&a9rqCV+)U{}(Vx4Y{Wi$dGPkRE9OUm|~k^yQa zCTWLTQ*_uKOW!%~p5ESQoIBl0C_oaau-XyAsQLVit_u8bVyE7M<<;z7g;eTMSVXOBQ+_H~90>cspP+S)f^+4cN zuK#>O&0o~D05EpN?a#3*dzOzV{!^m+uP=mZ08>;x{y9aZneoYgkD4!h07k&9{V|(H z0;8Px*YEx7=l!KR{jb0D^Tntc$v;NT{Cx@k$=mezUHJP!y4dyq-KXd8kMsXdD-tJZ zdl*U%*LR$j{onf!m%`qV07!I&&-QeQHvst!%l9TZtJqrKyn!-a0p=BVZR|Hsyo4|U^7W3ch4`GGZ0bjyA z@E&%OB9-`2|C;>|xl5&!TX{&t7{?{kN8?TkBs{IO#{hUVuPaEKT` z*c?$qGtcy%hztJf`T?s}=-!MhTa9hzFO?KesJp=UDfn~^4GW>T!*$?{r)AkC<~&^t zs4c+h$Z6Mx>x5uwJ=30HKjM+}?NOdg!ejI)();r;dX^p4=~2dgv#K;hOWnEUR{r^Ks*rwUvwGU95dR_I2oXoW&uoeTLr+l^KS$|MEsDzrEtqUT*$p>LzPHF`+0>O zOUJevS~5?2Z9C|W2UK%#|I8vY(0-L;?*W>nU*4)^r6<2JUd4^`eW2-cZ=hFGno&05 zqAm%vkZ6wJGNS-S?p);RaXyHHKaj0Kk;l)2&qq79Pqx08Y<{BvCe(D<`s(b9>DLPCwUQMENXAzx`Xkg}^ z3rO;2+_AIa;n9bu_Xb#)cj8pY6Y?zfHzavOE&Wq95V5 zv=aYz&2`4DOC+rE!*DCfWx1F>ym?1F!EuOd{ftvfeUZme%7Vh@OpbG)m&VN)AXA4? z=y#6B;O(pHFsF}oU8(3M_P!cvGvktR_cZo^)xCLbc+8i$jA(b<1rj*_$G7;0z1mrmH9`E`I-BQJ*k|h zGo<{tA6LaC0FT8qMBDan7u~Y~bB{=NsegJZ*_$Hh+St*VDC55LXd-U=Fl^4tw`u#l zO9vQVD3+;lZ$g{ea0prkX2i-O&K&k|Qr7&T#qPDl{Etlu4Wkbrc753_JU2L7)7NdE#FwrDbC2k_rhpgsQ+*O?k zDVl9X#ugG%>Jw;36@QY{L-dV$j?Ag=%Z}9Xp?cC*%xjPal*~8b{G_nXNPS##)62lj zDA`^$d+Bw|&=(h;h*l0Q`rKKbB%EU6^Cy_YSlqemoMwv8%_yl-4G@q>(2BbDx-#X* z1D(zE$TvGo-mwQ)-edamRu^-uD$b(4Ew62_pM49GBio1}CS!(QZuNzZw$}GURWBk) zw_IW}N7`+JsX*K5%JN6Gw;7zy@1lfCMBS$I6kdf*3)xlGU5~3IHQ<}*ANdHee6l|8 zXp06J(y^x@x~-nacGw3uH27aL?w3h=Ca2qfUBc&~$N2vDtj8sm(#k}%GTCP%xZV?> z97*NZmL}-mL135Owf~s`f-sD4B0A^x!*b-1xblzxER|^$+1+tv+zFg*Bx;wr13>w8i;y>e-u5H*Ld)duc5 zpIKgrnqpl$Yi;^iU}-7b7u+A6@6WIc9I75PmdHPx|2rvQVeXjOyC|;GU|M1s-mBRvfN(QaR-2jARcOs@>xJs(6j!cWjXSkYf&%@A|m8Iuda;jc|BQu zXHuG&Mk0S2!?LZMeUGGX0l#>gr>p?7W#DcT4~eAd3tn|)7bJeh2jGEqnTg}0gk!B) zInscqG7?>Q4-W?cG_PY%zGK#AtZ7m|24UnO?s$kuu_)6vef?k<*65SSp+n#);tuS{ z#2Mimm%2=~ow0=Z6^bAQ*wtW|9>rS=I!Q*3ry4-YupGz*H7m;B{m8^%?QDOXE9 zVDOAY7E{0_+1-ElCW7caD0V?X7cogjw!zUe6a!38zO}xhR*S&+3O6l9eSTzDJQdxi zB)LkE?j~3d(W^`;5z7htCbw@N4^4Gq*c*I)tC@Mvf5!}EfSU*0Dt|#PAR#GqGn~l# z!0Ct9513YF?YzTNxZl(lp z5~6sU#}d&hI8#F7OKpf{2pQwZ6nruf*jj7xYR#{|!OvpFd&KP*G7$!pxOw zrHh&1>mVkN$68dHuD&VwSCb`KAd%j@?PYVad6ltMK$EVr6JP$vA=u$aSCSPtUs6W^ zyx#s|B?MBwI?!WO2adteP3l!t%$7`f+VRQv%Bd8nuc3yTQ#8OimOUII`ko;Y52wa5 z(;PNdXMR(B9NRHP_~X&H5O)y@zaZrM2>t;-agahiWm6p2;1 zPXe!XSyezDCh?oPHOcas78s&KO5q&Oj*E@ec>+w%CrHi@ocrj?qWmI2LvtD9Ky6iM zr=9xXtv^uP+brP?C(`z&bHW=_A9cY$ei>HFmYqitDV8Tc3Vb z+3(j2U{NcQdotGT)AM580^Sy)E14JnI{s&A8I3c-F-tD^v9ws(M1vr(acQDZWm!hf zV?7^E5>|_L6IR>9iPmV?^iRezM(YZyv2~PB;6W#~E zlYN{Qxo=pcaVJBv5Uyj!C$dZjcqohzzR4jm!SDVWMp;j-z-W|jvvEB?ON~EXc=Obb zni*l{DOKXkr?#fOY44vVmbg6;i~d;5nk9qbnLjx`{Cy$Po?6t$)8GHTu3|yRR{i5Z z31+pgIJl9Di9Z}UUfkFkhk`^%LCaPA05dCij;(A2mMQFF?n={h_G=FW_udWGL`_V{ z-f*yE7s{ciei24NbEm^t_rmW&DZ!zZK$!z;cH_?|>VqJ_4SvG2!nr2OhCUIZoSoRr z5o$K*VT;2UBFz2a{1R0V;(7Tlz<1s9_%xn1bFbl7>ylQz@_i+uwSkNgE1Ip5Dx3C% zsIf7QK<1I$S6+)9Uqf(WL&2!aQy(RsgaigkXE|^9I1fE^*uEY3V_Vbtd0mRd{CssM z$;fLVoaMWK!@iQ4V!-R%@H2UBTJOR(r8vb*KukzE$@m-yFc}Um-#d);A(hn2OE3`` zPt+d!l%=H~Y=@{jb9_x{xTSx-?Rl{Or-Pxv6F>1D(^Ao31;~i&tkhPMV5($o@cfG2 zO0S4P<)MaY^@}q4`^87#ux}x5t>b+xh!;I6k&F?0BWZdKvzS!0U} zG%Ep)H!fB~nHM$)YJu?})O}G@d|K&O+PM--3%|G0q5-zI>OImKsP7x3j9tL$B}MCb zp8Gq+0@L+%21#=lAY`?ur-7jI;Wpp-=POYCUAO9cI@|3M))>jG{!3p~{l|I={pY-TR?f|UbE{T<0pj0GlNLv#}g9EBv1 zYK*Lv4+()iJT~n?>GjEq4f%oLBQnF%juXX9yVgd%gbLU3GpXEf%D5cX?cl3m0Y&jR zTl+RpRqhf>DtI>GwdnH3VQ);u4BnN5jG2j92nV$B#GJ1}&hZ#rbqx*o{LGONz|Y13 zBLQyHF0!x+HKh(JtnmpLQQ5Qs6)0AU)RJz^50mQw?sjZa36I2j*?u|B6OP9anXuIQ z#fYamknTpd6jroW8RsFZ$&D8Y5$|ig`lFb~?kX{DHw#4eYZ6v$mh)4Aa-$(>unxZS z3d1;zt+Q^RUr`;{7mR0VyvwiPW{u%YlvLTO$ac93X!&&&58Yke z+A3hw17;kttnvzM=a#vmEN~eXD`+~U%JYq*)g)er^?R)ww59uvqS6oJPH6iR;bM*~ z?O|Vzl(D7Cw?e+bR^*iUl^3LioOkMFYkx&#&otF;70r=W|0qU2UvEW)7`e8bJ#9M| zI!fj{NH7sM!~CTwIA3oMYir#Fuyy=Bpk%sab89M`NIFDVy&8nZ)xheX+O3C2Nqe=* zE-OsU4i#Viivq6u5Lba-|6=`it#)1>XMr{YLyI z>G@gY0Fmq$EAeH8+cS3IL@g`Cydzjhk&__l)vc3B%*<0VboN8l$aaE}m|khiLXBZR zv5NOaiTzi|d9Rcbgox;V!n6se-J9|gbtT}F7@UJpT;e1D1#3AUe-_))GjbTvPB2#d z%=!H)e}Hm9U@21Kc1>Fobi14$CS3a%=hCcC*CM6que3W_>cV{&&qOAJmtV$G$IA9j z`X%#zKP=JMlVhn7cu&HMmr$iWYc92`NQIyKxN$4I>i6y~j<<8dmdV($J^n#A{k@T- zNr2K?R zc?|vd0waGhYeb5D=o@&m7H#HMyr8hkj~;YJHo>>oZKO`zYiYJ;a-3IGWdpCVk_R}3 zlakF_mVC&VpL^f}Zl5!eayjc$bZe9Ojo$m{a|$;$+h$J7@|K?Zz7PswdKpJ;>S+o# zoICkh7kE-?CcXZnDo^SJ8!=tw6bawzwgmRH?h5;at#m;4T9lJNm8b2aJIzTJc(b+^ z88Qcrciy2TO=oKlDO}fG0jWijKe7M3x7g|=gIspL`qS?|c;WOu0Hi-nH2_9RXoy07 z?Dbe6`=q&wi=Ij|(vFtZ*qTarYeJnYYkAYrW~h+%wGzp-v%4i4Z~m}bJ}~uKQhj$( zx?i|<+$A4ZygR7q`o2Aa$XkORbnRE7?>B z1l+H_aiCp^Q9$H(I|2JUjOjPu=@C|4rup)0H9WCHXZV{6Gi&k1p)_Pll`loxaDK%> zFEl%BV61p4;(@an7M9!+^w?iVaC|nXS|w-!=$&RG)5{48y2|=^*kx=BZh@P>6&q4% zj%}^UcHxe*j;#q+9fw+&y;bSm53uY879`FFR8|SpMv1V*kNV>&WMU-TIHSopX~f(- z0l{_w6ggP|#_r3#H!C>p2qHrZskLG}W8=NOjq;7@oFr}b*+QUi0pJBJJ>s%)TbLbK z;SH8H&KpkhS1Jz(5zx1g_8l!?jC1UI{ml7HT7&+}E>@JmcB02(yD495qxEXWHV-vgm${(u#21|@{;-nDO60Lz>rbLmhku~_u(Y>~ zeJ$-_#xF@P+iUd~P1mFQ-qW9ep+E9Y0BGDLcrkoUHp>VkLi4gT0)rbOChPb?Dx-hH z&nhgOD8)9vbgm#pMNg|v`4Z6kp$c}7(~y8zTW^W#5i_fOB@$T^Cd#J}%iH6lK4J0E zHrsCQ{(%{e3&RNyamzNe#Y-B9)MU3~W#UKjn>clHzUZdCv1X-c*vVzDubCo%~%~yTUt|Q@kKlwpTQV7whYc97kQOTWlf|F3L zD=rINFFN%|qJ~TW5OP7B3z?Q5d?Z1=a}u?t<^wps0Uz=#;cbw6L{8jqv{jMSq<(fJ zy2l>KW;HlAbGd->WP=5JU{n-ew|g#0+uhzj4bB zFhi|;x|z-EyEwPhxlH{yhYKh*1N$Px!YpN*AU_+jXrh`z?kDrQmF}Dy{{gu2WGcpf z1|(B5Ak+De4;iREY}(n>3(Hz?)@7>I(h?lu*h?w8&r=%^u&%jcl~f3`C_R|`GPY42 zq!ry^^KIoLQ_j9CS;~|@4OEf{Z>!3z0?|{_`0)za=_wU`OdTnzgb;OGVBbfeewO5 zJb3~u;d@dt-e7Qcg)>s$DeFe5C47)i2WnJ3ZjP~lXR8#*GnePa6xAM)*>TpY*y2Sk zMI7xM&sb5gUl%65WJ=i>ObwZ6ms~8Yp)>a+x7jvYRHQZ9kv0WxZx?lPy?^3OFA&+Q z3OatP1?7Y_Wlhwg%11|mqe;p0{usmja;jtpN6Xiav<#bzRq{^`!^J@&@m#4eCDdfi zijwTfe$&Qa%SB5bembGJAGR*Z4E#XTBt+H1?=XOdd!P8VZipf^^s`Cyc*{Ap;adu7 znFq+H#d3{#pNwQko*gVG0s0PPMsi#^>>v6s`^dl3e}@pQuYcIB4=)2$skrM&|E+g< zi_4^Zdwq(|b4QIne5&>HQpU2TY@^@CDx6wH$AW1yX7qFW$+S!1Jxwpe>eqobLzv$sN*qUaIiMKtr3ZQ~ZL~0tR-_N3 zz^`a&elGd{Llo8~BK=XEum!CKS=+~XJuj`>k>nZE2YE z36Q1^=#yvLTVkd*9wXkP0TrffF3j+m6Yt?FdD)63-#c?cddsboPgHxw9C1ZmV6b;t zrXK*=`T5BHE9R{Npph8tiFI66zzyNyz32Zk${X?Lhal-&g=Q1bGWuj@$Sv>!w@cuX zu$C=2d=}ztE@n7IFszBt1!L*Y3W3#lcMhZm@nT z3EPX-%jjW3kl8`ik`gSR?7U9OeyIHAF z4EXH&jH~oNODF|WZD#W7@VQy)a>w!~-|Ab61kH!0duTsOHX7M>H9FX1K^d}8m9F!X z*Ovav6(^^IL(BnR-N6<=bNlwi#!(?>k(3#-frb+nz8S;A(;Gj!O~D30mxEV=F$VaY zDRtMOhpN8K*=(xS2p$QYEIEsMEtf3wf?6&80Mz-$h^W?@;721W|A&-?0$unzWz4oT zVt3c0w9l!czbekgPE&}*tF}Bn;qq4xeKfcL710>{H7l#hISDFi&(RofP<^Drl%at zQ1FZXd(>eD3_|*eX+;}-39+lWoF7us{B3vpwA2&t_1r3vp82!=?4SYRs@?1^V{a{V zO_iGFDzC)g|HIx{M@7}P|6W=|LJ@fg0SlB;=?+0eN$C!Op+jKk8bLw?MY=(H=omT; zP+%BxXoip)nqg>W&c-L+_x#TLi}S}>>vzt1{&BgM%eC0-d+&YU*Y){+F2Dt+(tKb5 zVzhzM(pohbZ7Gl^W;H#jVt!K3USae^B>Sts^dKZuohO@BV8fdV5bsRfHsJ<_;Wp>e zo`?Xps1$TB@d=Xyh_OPBXund9a=1zG;<~tabz4kB`Sst)dfa+NqF$t>5Sed2p&NX+ znuAnO`yjkLgyjpn~1$QjB6^r@nOnCKsEDu(Cb`=N?8CwGI%!SVnbkkS++dFadw zd~6hIYYno%11U}P8*;xx1CZgXvp#j+>06z=Pp_1XaO+-Cy;q5P@1Av2&whnWB`^bk zLt9>D-L7BVRE-Q~1)9C<2*s?n4#;Do{g~i4WK)d9wboniw-%5NL>}qz78zQWL!c4L zRr1L3B?`WU^k8P<{Kp)5#xvWJP95Ouy62GHl)?|6sJmy_sU?1>f&=y5<@cdE6G$ z$dsR)sgu6bEe4MO#ofcca=Rc7NaCj5)#6&MM{fiDF3t2vnam$^QcrWn3yRRr-IR3_ z`h^y$d5_^O0(GXXa|G2!kfKq*<5$weVKal;+YdwXIj{p`q=`WJ5SN3?3*%*qZKyYE z);lG>646gw+8g-J(}ck0*R#U%-pz>%GXJ;@8c*7(sFNZ|s%xtn^y-0DH8#Z=Db7z% zxkUJ*`66ZR^R28usH)tIpraZ7^ExbJE1*H7Y-P>MP2{Ode6O~cVFsFuGg&rO4E&7ttayVQ}Uu&hMN(C0ZlAGGdKn9Cr?Wl4$91j zwi!DK%t7SIDaRZi&IP^c@gOmJ2_Hppt3C7|#FEo7KEy^^l5^H2hS>lk6bk(Ssuvic z@Mr&9jy&cx8|$pbiJMaib$fmTxC;~7xqD3dkYUd$Crmfk5CgH|;L8lyEq3_-U9J}|fBmXs(1_;Q4=70|I4TU=cH zk6?3@E4=D_e8LxW>`iLxPE`Qc{s7VK%rUsa`h|N@t7^`f6R)H)Eh+1^wKZYSC*V4^ zJY23;5Z?2yiz>?aH7C%>xdn9f>49VJUkEzmNf@$?r|39Ln4$0fucznJm520FbYymW zGtoInSK=irLSkX;YOcvN|JD7+94WO`)PG`;G|KH6F+ZA}L6&^@?Z+1&Kk1X&wu#^= z0T#Q$cb*skGrJEqCg~G_rA)gd>ASDI+8;DsdJb3^CkK46vA(mjX0e%*%pgWY*__HC zNh|n}MloSLkG8E%uohTRj9hen;^#Y(Uulki0i*u7Ylf(|1ihU9tC0+J-rcUViS+yR z0gmhC<&S@3b${U`|CWvU8>{=p>!L7b?pGnTQ;2f%H>OhlF zGq0^*^?!ZI{XvTU`44Q_#DJ~nXcedl{+?1&_|M}wGMblw{7#vY3!uXPujY5~?^}E! z?JiL!rh`TQgE@%KXdZ?}+! zFDZ?+VrWZ!j|yj|HJxBi+wBhi&KlBdD2IRCx8MI(1A;`Avs9-D zC##}DJ&c+a+2FRE(h|Kf0n%7^Uw2xM@3PCYZ>+Py<07jmu^ zw`tGgtrtCV`8>6m1Dvfa>W>;KZ<>}C7Y`j_mbLZui7dsCfPJnF(CyGZVOtjx(gB0yS1$>wBA?bnKV+7*+5C7|!Q83GqHn%eq( ze*aJ#RJRumEdy*g{udjb=hlS$lMUZdGu(TY{0AFupTQjaiwz&Q&UB1PCMBE%Wr(z4 z`oyPgsyF~PyorNxOE&_zKAzv%aB1C=4d(!d8$PE=Mu=Z*ctY6({iAS@6cin{9Ky4!R6hqD!YUPIaSx&T5O>4>}-%Pm}l#DJB8HeNHNaS8fO;<)~$K{eoc~*}V?-K*nDgD_| z#Ep;VGZXSv`-TeFe7+lv9Xc;XqyazMCvAHwgPVk)OxvZ{$2)(l+1V7C3Wmd8Sb9UJ z(dY+@KUn|^B@==S0ks*o#P2DSYMSg&<$O2QILjedol=7lzc)|sd83Dm%5F?<5H+oC zdQ1|%&+ILw?y~(z!Jc=kPT^VsorZZ`OZ(CL=pKkvAN*OQ?3#U5x1LN=TG0S zH*Sprz=9k8V!@GMsRc(Bfndu0_Q%{?QFQKyYaRc*Fr(q!USD)V+30WQobK%g6WWXl6VMHITDg0+0p8$^DRE0ME;B9`wo|K^ zSC}pGb82Ev)cmw~9VRm#m`hF>#@;GvCPxPXOvzy6k&bMBU$^ z{1WQ^aDobxwxmyazxDE`dpZV}e(AYO=Zk+W3&D(cC-`!#*Vzynp zN8l79cig$R7GD`q_O^}Ig?4;(t?xwrd3^g5*P)>e>G-@O8bKo49k_scu9ZK#9pd(b zwSk?)qWq<1J9~8847&=fKzfi>r!CiGG*Cs3x90;ox28I8;%N82zxnP+W3#dEd3Os8 z)8_O(DHJpIjW6r_@xsTa(azpp+fcVa;29VU>Z-}Y8)J8*S}N<(N#E5!PUdq~()IC4 z>E(sN1hJImL#u-aSR6;@O0}jVc!y4MM7%CltkxE-;Re+@Iba^#_mu7r+rS7|_tgnx z#d>Et%M|`RfnYy%l(yUU5m93BW+W5N1I@7tHgrQa&?v}qB?FDlTstr zOr#jyyAdu#FF=?2w^Y!}M}qRHUwSF5CiovFHy%Fdy5_aPBr==yT#d(jPC~R)?$f5# z9Vm0bhB^Ka(EfZ~Ug|V?L`L=!X#GPz7(`H02}s4|FpvTNGT0M~Zo#3xt-tks718Tb zO`ja*+Djx9BlH)+ZNutQ(@NMR_Dxs1aq!?renFY1BDYa;W@l2@2*3QcoU zzpI*h&Ln??g?Nn~^Rv2x(w}0oW1xn!$BC7GE2JqS$krUsKu`JUP@`h8WC*TC0gtQL zOM)q-GYpsG>x@Is@HpwM%s?33)$NU+6qiFzwub2FTc-}&B!?R$195(1Lr&<`wsetE z{n5RxGF3;F?)H#7mjrh&^54!yZ&7V{=(ejq6W4cY?=5?oZ{sG;vr%S=W}fbK#SGu= z0iUHt*0{@6#tF;v2jVI&Jx{d5-R7#n24`>{c7^TrPZ45k^q|_!<}uf~ivvF&_n`Wl zk1$#v>{H`y);=E@Y=73FE6%*+l$jG2AfPJQgIt?gv$l^tt1aho`pu|xrcQ?fx5Xz} z4U?Co$hV*Qf)VKBMEK=P*XGq-(7$))M6$2BmG%@>A6sZmQQ}H>)=`<=S60%KE}ez1=9O*|NH%l093`O}j>^qy5-?*z#v8q8D^@U&wE3w+o*-|0-U4umO zsm65y}xQozYvFd`hWxbRWN~|6EB) zb3D`+o5ccRv=bJ8)TOFVaPry#9&0h5cJoQqx!yj8ar!$k8M{+@cD!1zmaHo5Z2-R^ zZKi0+>vGB5E?l0Be*7DQNB(c4@t7u`l^%WQn3$)3sfrm{&&&L7Yq=>pcVa~ssKmv*uxw@R94 zu%_$5pd13x-+vkPPErkp`;dUbQ)1T=@=D$fi#(_qR3c>m>Q}t49H6p*`Y|d$-T^V2 z1ECNzt9`5qVSZWz-sb@&Rw-&-VtB zd6`&OY?rUL7SdR*d^P{w@m`%5 zu|BX(jLcdym-MbWo8}SXiR&8w82xX!EypVD+AQBYKJv*{hXoZ$iWm#ONDu2?{rz3y~4fnp8Ger zr*eSr8?d0h=UtjHD2)m%LOFgP1s}{R$G6r3H(UIdT-_KvbuL#I_4&lUFQLuKe6bJ| zixE;^D7dVd_+H3vIza=K`k+mpwrg=^IC^9vX_KpMFA%w+ZSN5xL3tzncD$436~OL) z`iX4#e9?d!5H3nr4ylz>PaNO#dO!GiGHtLw zbwB{u2GlJvy0s|Jnq}zDYoY-c3=8p9&JTs>EVAq2$}@mP9y6#5qGMj!5dLmULV(LM zoY5;IPdu8KxhIl!iOyNipiN6wU$Rexrz|iK+iES~+o^E_H!tiys@rMvvoHqjS?T!O zVMy&3-nwmY*sBloRKOw}5V&RpfNiI(gOT28LO;Ey6n|iRFviGJo`?H;ue+-Q~Epf3eBmWHYvnUynaMsSeQ% zB}{$7_M*)+g0n!M@mcm2l3QoS(RwoNOd5dVT!)ooi<-H;_A#OHd;7^0xR{2iOZ}`& zAJ}vhel$ITTYnZGXpnCac2KyY-r%fuzD!iU&$g!)!(KU`Iq3`A&eyqtyN{EDXM?=w z+nl5JPeCmn7*&t_zkTMkmH=R74X;Spk)@AK-)xqT0MNa$*(Z+b))4cuX zrNHL-r*4h@J{C}%=OW&>|5BXS=TR8!Vs2M#;<|(m$mHPBG$KRp^{y#-av}Ex29GXI z!S1#gPTU&X0iJ^+eV~&5M>*i~-LJo1A3w~lLZkN$WcJr0QZkm6t@5H114;z)id4ZW zILGJ%^VKj)3c9f_>R2ZA8SNvxIO1(J65?kU(@I3>G+k!>!e@i@jc$&C5F#IvNAz!q zr=O~t;6LSh)% z7-VxJ@D5I*jepkxNogsr!NJv|y0!WQiQ)pEL^qmFXx~`thFSOcZ1BalUS(GNSzfa6 zOENCI;M_Mdm2B#61iD2LzISv*K%~O1O}Xi{BhS&%6=#>Mr*+Xjn{8bJTA6^}+E)vc zaL#7{C5wlD@fpK!${FsM*6&FclP`Vo*=}D~fIkBS;`mvaPmhU6M|%0x4P51y5e246 z+H7oeF6%k7rUH+#l{no|Kmeal^H7!m1$m9H%hk-BjG0{VaWqn*%gtLIRC=J{<0HmT zCEwNCL}POuA`idzq42`vYJrcBX*p@^U9x_hY~)dv=o4^i8P)4HqCayJ(WNfgZHKPG zhEm?JyL3YA=y1z6aOBID{hS!PV?Ut|NJxgmrAU=5hgcAGo9&vfL?#+EzcBe7v>70 zDjlSl%u^^AHG!IaXbo6ax5~UXI8?q~=B$~|SFMV+eA2#qZE2+BN{Wkb>jd-u$eY<9 z;eb&Uo>Ms@kJ9GrEaBiHLjL@hEH&h{*p2i&(=$J<$jl&l;OEepCaU~&{xvSR8_dWP z@G_YByrxzSAn)&fxr4YFo?isd`F2S=4scjmm#`D7s#pXh0Dw3s<>rZ;^h3qDJtJM+ zmV%FG8^cn?a{ZsAxCJR(j}VGxZ9Fcageb(xa@YRF$)ZcuXu~~26_vxhON6=-D}zT@ z!437*eB#5@M@hD2fvLrd)k)55KH!-MnU}-?XHz$m1CbJ%0eDmfLH;JA_4fYdwP-e!kv=ylJx?EC{Q);>pz9~RpdO0@!LvC^gA*M{wnTDKAk z!h!S2LfZ=OZTW)I1(j)AMb(oz_U%Wb<)G_=S~;XYp$kR9=hY@6z#%;}_CxsI@)X$w zY(slPH^ZrMl@x1>fz+1zYduDM(pNhvwGayaw2Wq)b8o8i&pFUPQf zIrti^Zj^XhicND7X>Wz*v#fDqNh^&F^fp*SeRPL=sT^tO#?w0uZ6ef)YHD`;2Y^H< z&o~xXxcl5h`@!!_E>RQn8Z+Bi26`L@mQyb#eGj{0A*$=abY8VyGszh5ZE4xUZzEI^ zxK^f$N&~PMCZiQo5`;{VuZ@&WtIO84wIpYzvHLF%lG-6?NK<2E)BeQQjU&gdaW zW8k&bL{mQlQ@kBTKXkeJWNK(bPPIQmBE?BC+EhJluMBA$3AkBF|f{nffcz%3$3S_OU4`TBwE+Z zqI7LG#P6a(-F`pKRq!9_`1`A*)QSoOQ)PFPG=`8|G~6O)Jg8SFDav$_X9vn{N(;Le zDQjw3%zi1K3wcr?_wcD+rEm_0$uC$Zz6@ADSatYFSxdC^d{ijynv7g-LLNXO-+3?J zI^%x9u)7&l(n;B^4HAE*omsS}%(0luN_my}!?0UY=lk!Ps)_qLFgsP&(T>lFurCs^ zIn0zzSP@yp?&OaxM(?oxSV~Z@vP~n``&myKz@_I znyC`BS^tf)Sz<_6ShEvyW8yF&878QCl+*Sp8_0RJ6d7*l`|sCHA7}FT{*1hMc^Hmj zfSMRjtgJs3ukjfQIF`K?7?E?2>!E~gui>;wycTbFyfvixO(?!Z87tBvq2dvh2Q6vJRb^eUkT>y+lgGR>2)c<+`VWRde0x%UB9 zkBsp%EF_@6c^No4XL-N(%65NE#B+CJVq(nYsV;GIIn7eQIcYs=V0wyO+7>1-TzT03{@yw@iK?wwxW}Iw@Zh}GTtK`Q1>28>&kW@rn$&rMvY62Or?u_X=unZ)@Wn% z#|-HUgr(1d)~1o}LU}fcIpM>AiaGqw&y7(Fz)(KIcr1&_1S%zPXXf>bPK`}N^Zifn zihMZazq;=1Qqdpe|5JUAppF!>F)p6|ylCE;EPnlWBL zMJ*Zmcy^FP_43t9=aS52Cv38OjbH{JP|nOjda<4tCI8e+Hw(+p|I$p~25!WMON9H3 zRsb@~i@XH~{(RVL;I@QPO%PQiF`PJ87oWE|esImU?S1`fSU%iqd-P*6=~}sWiEx6& z;&T|&K;^O5#u@IcgKJH|7yg~=9}w@sb5!+O4A8@A=zCIu_^Ftgv$H;AgcV*?Fv#GZ zs)TD~FPWrFrUrVobL*O+1<{Qxln2D{wMo?JSA$S^2$`}?J7DNu%`jK0wz+^ zBSC@E6!SBQ9ra#Aja}4`c`a&D&oJ3e_>%>8XX0c7Cu7rYZ=G-JpW(l+4_LFxzHv>I z8H-PQFQ@Ya7?m^k^LUompvs;?4}zD(Sa(7$%#Rl|pq&$$)V$ic05=aMJM;N-m!(v4 zbdtPC4pM2F(99;#Y|~4~a`p8NU)p@%(aixk6#?e_x8G;G^TpBhuuin^=gzavSc()3 zUjbxt;ZNF)9!fO+l)NEjV7>u*OziP-tQmB*6SOudu0-AYR)SxayKAZC_ns76P*5WA zYZ5XOACSX$TcZ{&PxR{xgmWal7l658KUeO)dGkihWmYCqcOP0@Huyc}w&7{L$vKT| zV%ui?9%w(p!BX?&1YfJw+(uAsMu04V!3&?et~~Z7xssNDTguMseL|s5Z`VU5QOBv> zY^oO10T;FYsgt!ptAx(?4UdD#KwU;4rFEK(t6D{kH8kh0NMN?vKQ3Fmq?2}V68ALHjs9)-VCUSbs@rcn%l zyiuANn$kB_#)al8QuMOz&wU9qv;^ewA>KeMTvJTI%(FPb{lGvs|GW?G)h4whm6Dvz zKi1xqJTO!YftXeG@&fDkx+9=jmgk~7_W$d_|Bp1wfA#+WgxCHY;r00&;r-8jrhl6; z|9>`PHmC7k{gVaw^Kt$cy!YQY@83A@zgQN;M!>|pS>}xY{fxwipxO4-p@Q^G^8doq zM-#4}<+j`h9D{-JE{?@DH8mej-nRflsH_UQsen&I+A16oMR{arY@FVgDP7*({oL4R zHLqyU^v`X@pP%4A0g->=@@DT707DuB#Qx$?{tK@B{?s|jzGgQQ4mu54_bGU2;1~AWcQge` zhF<(aXLMRaDK|f9Zfy<*pd992ITuNoO%0!sPD{b+`kEUIm<~GSQi^4T_deqG8$A*g zk)l1kqh%vZFb=&}IZmU)Cf1MJSk&m|f4P~{EMINyW5w}f4~O!M!*#8}5gY<$bw9Yw zFZw>?#niNVhp&j&8QV(A|CGiQdV8(ZG0oKVMUH07ykEkI>RI0r>DRJazmd9tYjNBV z2e^E<&=v;fLY<^$?>fTgZ}hz#O)TC8=Q5be`1h zRzNafVm2E1Clm8#iC2c={lTi_E&&Yrl0lp0YX#O ziC-}8B`q)DXg;q8(=r~8AfA5H!u=a2cy3OZL(?T|UJWC7NIwnp`F1%hS?ezC)U@K@*P zFu-3~{9ABX=<oss^u>`=BeW__ba1L%VBv2U~`^-4T-%f}1a& zo#?F87Wuj(Cb|T&bwfEXCE8BJeWWNC-{QY-Oi2GjMXe35m9Qi?d^z`<^pH%&Y>*}8 zpo!@x-&>c74YwjiMP`|%lFr_mPL>oXz(2SFfRcagl2hCEL_NoA%GZaIuO^CRh60a2 zEcrKBTX18VyzL{FnomAlO1arZ`-*0Yn5?zs-si2YbEE}2a`~h5hpQ{XP69 zU4T{J4pYg4p?pz%Hu{9#{&6*BekuX%aa73`J!J<0zt@$1Yh_<{DVFKX@=&+aSIKWZ zBnu;uv4}<&?xuBN_M&C0X}_C^-H&#zb4J%b z_gHCPx5h11-qm4C25Rf3qrZK2i;$$GQo1cNOVdBu)K;zhg;gZiS-H)GVQm?DC{BQ) zztzmLXupP z%K$JHf=TQaOn_$xp%45PX_SV5gWm9SKbNeXY-YF!&?`?c$8E3X!$3->IQ#>iSDy#-hq ziyBGF0vUS3oU)Sf?VI$i+a!_|4#~U$2gY=%$;oPI{U|j*yN!?OlJYsNf(9*O$oo7z z@MC>P$Fo3PmJxgB(bYz#a;>mN3}v~Yvlv#_@#M_#xZaT|y}T&q=t4}{XzmGV;e0#~ zv}H#JyJf_Yj*|%tXp41f%x}uo*zlQ8a@}IeX90sh9&zxftlHYzO$tqO)|Qp2TEB0} zOH}f;Ijsm(FR1RSIZ+E6UhI5?9$I{S<9!72LEV()L2%qb>v%JZW}yJg~8JY zc*qu(mFd`mZJ|p1VZx4O!zY2b^qJF&^uE!wx(V0K(<7fu2bkj!^4QyZCJ~GRi((aE z8tJ(L_a!BbZJ%p8I+mh)ch=Bx876sctyNDp6i}Z`(uaV#fg=+mbB4!0CLH#GYxUZ! ztJ7`ytI&?bVmae1)dPLTzmdraQ9<>;YI8rSZ<=IB(Amm2YXUc{GLf2-EY#NAK_||Nr3hWEX z4O2>AmLqY?w|ERU#QTi-muzOf5@4%y4@ozgN^$vbGYzun42yryW(+g|L4a$&DW+gf zufV@Q!kz>>RVH3nhwbB*I2!TvYuZyqz$-+=#K*FX*N1QTpsM}g{R^zW^UB2WE;kc? z%e$-Au0xJuZ$9&FUNfQp0xnFzIqim#+suCG-K#%SNAl*zklrG>;wI~5D7;M(l65`n zb)cUjHJnFXZ4EX)VR`VWoM->U1Z_7uKTA#@evO8F-{mZ<4Q|4zDdqIQ)9&3ga#h4ct<$uS=Pt=Qq zXs(dF`aE-$TjYZ`TrY|#uDI9ZBUDOrHCeU$S-B~c%|%_*KC3gDDR+u@qf{(i60Gc7 z>!1Tq%(u~t-m*p_lss**ot?j{wX4) z+$aTjvf+t%bXrZH^JX}C^wKdJDvF#Hd-H{vnCr1OfTM? zD3uFs(1;AcEK>Q=JtUgg51hP9jN^uvIaK(N9qC(XYwyKB0xLQ%P&__#M#}io}0~WowsyJbH!r@DgQX{o(cw2b?jhwOpBB zhj+A>saor7>5@w7ZY{gMIiww;h{CtMnrxDl6K~~6J+ZIUe?B{ZiLTsRT@&Zkg4Ay- zxN9Kp_(>?*pzIs!2DIeuW1dv0C(eP^sXD4cZQs~M9==dRwW@OkiajIZdkfp|G9BTU z6SnyxfSS6c0+@tJ;SY$(dNoKbSQA+SK66`Xl+M$$4A*$Cf$PW_h{@dzw(w69oIypA z#jsJIKp0NY#wAM+;ph8yrqwN-rKzQ0ufylea!`}8-Yz)bltC}afj1UnS1W$$zKN=3GnjqLyhjS1%kgbPn|~& z{|ocf?Ds+8@@8JICK(LvS*}FT0Wq(eE`=CJ+aDlD!HQ>Kxem5Ptu#AW!HO*oud}@GJ zu+}pw`dVwgVv!{R1n0p9>Hws|l3tAdBEC0azu3(pX>j`(ROo)f=qQBvR-pwE z4j4bPn_EPT*~oonHv_uEQft2ch43H2VXCSr)1>$lucf96{m$VKqSLx|{rF#F?jEq=zBol)uHUN1}7S zNzGoN91*+n_Om07Ma&p#0ucKaE`cQ|D(W8vc@em)Sv_M1YMgam1avuQX8NtP9IgBaGx9i z)`e`)6u0l$0B@>`pA;j3Lnlr)n5gyG%F(2>>G(LU8>f-GFdb^wZq-HGzpvN*|NZ2syi4=9l;5Ub1>=K z$;QcyS6ME}`EY<-azT;)TH(@a0sIl!8gM#B5#N1>vt5GLIafS9A+u zjUi7C*@-K@vm3z->3I647A-=f$I8|F5$$6(8E)WU7c=FKNZZ z?|gLbynsU1Q$;0m79wXxs<8+>SWnKWO-UFfpg}T<)l3kaQ#uQPk9gRF-dvqtIPmN@ zXp~*^TMnO_t;lv+L!A^s2yf;W$+Rmg`=4&8| zapMT?vr%Pl8Gu|FhGZ`?d7cAjvtPuIGujNIeP820gu)W-DeS3Lm`r`5NP@AMxhI z#~B{SE9-yR&Mj6JXJxQJn0JvZ%>4ip$uxZ#)#O*d1S)YzdORBNd~5ZA!;mX~6ptY- z#7jDEVfsO`8l>g=hw0F-DhSQ|&!&=4le$yq;uV|ML^w#0*<4U41KHy!++00+nb}wv>)J*Q6+D2IXKu7h9YD@HbRAJ2X_ipHP!pUILx?Ni z7P;U;(D?FOuCjiPwx$=ftckq6LS`mAlpo^!q=zRK2htd3hOQDuT&B7MDAf~e-1u(X ze(54ZH?g4Dr9t|Y*q zL*{G@`G>)^@!5#&TO z2&1yqR8xmXq)Pw&ry|Z&ZC_t!BCUH(^vHq15$@t$aq-FaeX_nZiWU#8 ziZ7jl3o@6n(pM~8vgAS~qrBY7Y^}-2PC*>onU(EvFT;p?+h|1>+IJUwV2*}l0P3Fw zLe+hLAkqGgXdoT9xcI_k!mD&LE~Z}%1;cB!AVrSfGJ)gMpz$OWeAfAf(eqV>5V0XN z>+!cYcN=Y1E`TTL;Tj~WAm)2O&F2eju^878O3bUhZCiPXT9HU$zu2^_n;vk8M2W*r zYoTm_)qcREZB{mCoC-*&ttEECCPaWTN<+r0Qc-3RCx|?+_N??>n<=`NT}dRLB^~MX z^k!9tlc+nX%KivYydr@Fa}Kt@zj>ZJbiZb;L`SUr%$dE2Ra{@#9p8I!NBq|&@YMtD z*}6E0Ag#QI_gM)+t3H9dO}xn%ub>ZnM}s7I4=WzVc_JT^5n$!%pUM}X4A$V_B1|ZF zSPqKn51GV_ELD{A0=zGfY*a$dHcFD3>vr4ELG%(iA8tINo*JEN`C zf*69SzrJ0{|q+NUMG`|Hr^U6SzJe${V>#%_5IJZ}Lj7dZ=>PVl{?E?ah#sdB)`j;sMHnf=K2bm0EsnZRF4bF7-^l;V2m&Xoxq}q&19x-6ulR7#u~v2_{`cQy)l|Pvt?B=+;Nx8fI!Bv?B%kxC8o@^dY9wo{CGE zf@;x~xYn*}f4|dr?07S!99Yo8{V@NOOL|1Z2l2L@-HR#S770+4QMRq-3^JF8ORz}y z>;%vQ8Q&;lBrD6zor)Vu`pv>p1hh25_5%~6 zZQ0KsWkbk7f|Mg&o?82M&mi*CZHii=JmVhGU|F^l2q!rbnwx5N`I5A%X zHYQ#v#c%zaLRuBFm&FGK0NUX*OOu|9@kH&0krW+{3!qJ&iBhlLmHhOJBV$I$y`}-+blVq0ADW6hhGWhVuKSXz1=|$BDC}`|$}G4tFvD)c9^wMxaf5hE+S&6|egeH1+PU zvSQB0=kP63aTcFg72fUpjXNIB+&C-s^#<`D?6=~-NDJ$iWw{m99*-cL9qO%ZP*2@~ zji}?h^M@6nraOFp0FIQWll~f;=VWM_>jNMphqYj(*0613TE3fl-3GVtz;3OB56jH= z%v18A+E80uylcAn1Zmhm#YUcTF`u3EWt>Gyajru5Z%pdRUN|Bl;Y55D+TH|C8?|we zz|xXYaWIv^fO_?zr($`OxzvT#Twt0`#R&E5Q|>R^+Gb}GY*94p)*oLQLuaSPQ}kS^ z8^2Of9R?E z`cT39s%q)}^N!Gcmx{s5x$xpa34583@E*eb3thdoy7u#>EelX|V`8-3YPY}7PmWPL z;H3TvFw}RD_yH%4Pw^vdqo<}$+Rw@f;YZ^y;lC~7jXUwH$1cy(?SMpUE{U{hb}8$g zR!1B|3MS_nqZz$+r7l8(&y)*Er{C3J-^mP57Rkbq2P^~ie$3De>Qw#!|FY$+IGxQg zbywkW>k*pemI%%18Bh)c>H+-a!*f`J8kZuIQ_ae5^qREu{Dq^?)$|(U!OBvD?buA4 zC)vYWfSV$>SgB@qo2NBP;aUd-?T@h8e|I#YCHj=fqp$yhm><`*@CPC^aI7-dS39f< zUuMKo^`qhIaG5x~O0y1i0x=~ZwIRSZ)-AI-xO;n%Wy zp*HT1lAp5MNiLc{K4UdEZ7)amHPJ^Os-eRx-rcM7zKS_Zd#`SA`{|26@5L|LjFk%8 zo7L?P761i`gK}Z04*GH1^EOB%^eHi6N7}3$~0+g!NRFNI#HsjknDR7W36u z)Mn`3r1|!a2(+AWTfkhawMtx3?2pQy&RH)FWAkKzk3r zKbYT&c`Q51IeB%CKVJHni*cf_f6xeKg=ah)4@n=D&^LRN z0SA31QqtM9_tL8ZlwQDKXLM+P5V^1#u0u!dO`64-gc=NC4`L3Vr&bTC1NK`)KfeK? zK}}V12;p1;=R-B)B%a?xRkaU}G9FIn@=6DoIKMk;nki-~44^MCBwBVH^v4Ssg2CV~ zjab1hlcAwh>SAY9s~xJf1rXSjwnL7V{lKspX&)`?zO(_X=TreffzYbVNlas-Vf=I4 zX<03^B$VsY=I|&c_q@cvDjX;$Ihh#`?SXAA>@yBNn4~v(Xn_KQp;DemMq*)UdsJEa zMDnY%MzM5hPh_`nQeCa%auXZHY4UghdR<>zSG!mT_FPR#*Vr)~J=lldI`KqrB?dl` z^T`$TX>sc^xN-XBQhMXQslfIp=<#LQlo8dU=Up?B`O!y`@wVup)|S4}=P)pgQ+)5~ z##u!RkRUIp;d;7Sd?s!vUCt|>`x((>XNlmpszInbev@s%`n+kRM(EbP69BLD%i12x z2c9j2p;r$0F(LlOj-?YdwmB&&j9e6E0iek-DM1(vd9q&76@ic%S;cG&=gBor_GJmGHw^fkF`<3HB*v5^-5@4XE+GZlTCP;!@+$;Ljfnw}T(c7i?H@>h5F*D8TwR(6zUSw{%|4#<))l?So#^tA1(6~HH` zc*;P&FD#;G(=O#&xE*8|+`hk_u4*}z;@DnR-9T^inW%sZVQ3zetchU)gnJH&Kw2x~ z$xWA4LXQ8z-g^f%x%U5`hb|ysL!@It1q2iby^4y0^xjbJ9OLGHig6VO8Y%izTpT@GVo_4^V~9y^WmcvDwCM z)0yZOOxrv$DT+!VnF7Ql8~M$;$LRo6vjspke8GOV6^>aVEHhT1?OY6)T4Sr^BNuFs*)oukQKs@wJo(#YIy*BTja@nifmF@)GZO8~ z4Ku!LY{q-(wCtr7?t<5eC7#)u2vV9?pTX)B;K%7n9P#F8lRwRqJCuk!gGu#+yE|dhZy|Z`(at<{pio1AF=`llV5p!CbV^}et!G(zo5CcP0RG_I?lHQXt>|r zSnQvA$LPrpYEe+q;#o0I%u5xvKT->uFF*UQp-S)0a%bI_&Q1TM7c-2CBN$rD<0fG zq~uwo8;nW)DDacpXgX%%bGO<%K67qcZI$rf4v^Q#B?Di;?JRcj3ZMhMKDPkdB^N7G zMYFb2lTRtn7+s6|lNM8U7xsbvVMg19x&GC)i4NKO`rw2E|A6qb9E0pQD!lYRaKXP2 z&HkBV@bZs{5&%z=%>+?jV1Yx100dU&(*IrvGi2H8 z_%pkiI&A|3gKzkr`AV^sDoqOtU^^JxUqN=i@vQ{}TgagdT?>mmK0IM#j@naeA`44k zr@YX3>&D_sA+B$nap7d@ug`roOCd4I%zN_FPu=kDK`e1W&56$=>*Y+gFJm(F)K^sV zhTo@#Tu~yc%}Tx58B8?dc~iEL{yfw5ZlyrkbJw@4!BsKeUv2qBCw=!tdijp`&)bw^ zrg@U4eeeec#!X+806Fh8Bze*71E{=d)MM^AyL z_45oS0Y2D&6-;yE7VxyvlAUKC%;(~NF&-}hxStvOFWm3%ui-xzh2OuBzrTjRXTx8j z)It9bFG{r?m)tj`i)hMO#+rTlSW1~C?`tDcrh0ZAO#Xf8sCgCC0#gx97CD&QkN+dc z;8CfpoLo>Oi&!=k3cX!!o+4~F-t6IEVPOF}s?5g!Hn7HKcXdAmB5`xPK#Z)a9SvP_ zJPK%P6{G8`OqM-cinM}Bq|ev4eO$uK0Sz(Z7Eg70diwRzyl}jr9Hsir3dkC+cV?yK z*^krXc_}}O)5TvQY{Pq`&mkK-mCmh(`$@Ef9HW)$Hiz;)kf*FAruFvYoA>drZpV z|5z?Xh|p4ygPYB)GRAwW_c4vP$!?NffDjR{EG9ngn}^*g7@W2qh?|33ZS|M$I!5q5 zMo6S|qDUxcg%&SLGWc!Q!n)l&IW)Eg{Il^a_vdkPHEB_hKY|Rr&Vmd~R(x`fkSGzi zs3IH$IEytFkm-s5w-8=l@Z^O+I=~?0Ktiu1&Wt>Q&416%4T3PB8(_-))Rh|YXa%Wy z&rj8ohfmx-^*%ZfD`?Yp%h8-`(pwtyn4^uXAILE#8EE?UAcJTU@c=D|u17Q-J`nkK z$jpGihfe-(RWlq-HkexK{F>az;WXK1A(9nd^AkKKO#0*DLVCb_eoWrMLz1hplyoIN zU{|At$Jw8TWC*_1KuqquF#5|;D|Vjw-ED=h4{k2A(MNa`J!%0wQKZ>dnqk|fq9v>j z{y#+br$*M)2@BbbJoN#qmsnZa{*a@Y5~OZ0_LtMxy&3(q*IPBF9-a5aCl!B zw_eCj;!K#guLV*KqL4tU0a1Vyf`B8X@C8y0b`U`Z@T)SXU-?>f_mkKHcHTT;huoI4 zB#$SjSuH7GXPzHTW{W@2s|Fvrs+w<# zfg}UkgjY+>I^`yFuAw+CuijX$ixTd+bS%%XPwVIKhr2+MD9-4fVXZ2&iS*<`MWe^T zcz+Q-rJ0+Ebx6|>znSQR1SN~rX0#6^Z~9&SXk6zVFeflEPixD@mL`^GswE|RW!=(C z(hq!@rGilW=+A=Y-lXD=2xmk)*1WWJv80?)PcXz`Qh@HZ*Ov6*)xjn8tH6gh)9s+5 z+22aa4g()$JnJyhldRnLV-?fcY6ui$aBi`s@~wI{=5QKr?_(a?Z93ghGCD8@+L$5{ z7q@vkKtfjSlNFEk)?uu5gG#Cw-k=%&xSwlA^}_J?Hp@!`fVfJO_KV;iido@B`M!ZC z%aSvf1cjQ_(bP(BAdNXb0tpD_cWfXya|3)qnuekb4ePAB<@{U@esKD;y#H5ppp!Wk z@XX397;J6S@p_!~G2dqRE!$|A1jeNDr>JF-1-x2V)klh6#5p*BUlfVQt3faPkOto9 z!&}r|^%7fno4Mx+I@d?UiG};=lEOfje8B7p zU60qhx&kc8k?+AcBM_ac^S#m1=39F`ub%?2fDAg;kWz4~UMX5gBet7~F6e#0Qv)%A z!3|QF0afuv5zS>C2=>PV0mG|=?S}xOrqnBQ7sDu`sVe23L0<9b#nbkgS;^ggaJu3H z_Chcf3(s{i51o&yxrv=QGWj;4=8lD0DPY>M4P7Z#he%>?P5a;to1Cv*K7P}$u5{ODZ=e26x-zx+gv1?#=t2DFXha|J!^>s`5n+_B^uDPZ) z%%C}veXdK_+nKE|ZHLZ2w~^Z4C!ee1gmroCxYD)=mCLct)>jTzhc`~2I<2WQL^)b( zUL}qXY*b4WwhVg?S@39QV!YCi4QT4R$fnom`ARD~5KeZ9?`jlw1w#Yt*?rcW6q z*M1yr*?eIdn|mbE|3XdP0IMV!MStJ{&k!MIAiAr$x%NwSnugTCo^3&k8P<*FkAQ~x zUjYpk#Rn2>(I4t|WGgl!>o=2}I!+k@-lpq5cQDEJJy=B;?V913z0PQUqqr~DzO;~< z))VU6Sa)I*d7$EH>{1o2b=2vsobLV!hF8<{~~J(`6w?z9+Ozy$5{J`l%3QvxB#@iLQVT|qlSh5&l7{IeGW zZkk(=VoWjWdPgK z<~ivMdJ|R!S^_L>&Ah#y+o6t)`=Opfe4o~A4sM{;BE34g5j>-UTzY+4DZ{dvbW#T9 z>?_G%C50Gi%4Ma8j8TjZ2tZdhwVijib3A$Mm|5mOc*lhx&^^?#+!oi1*R|^G8x!h~ zY&_B8=T(_0tBnyz<?BIs&W#K^X)|Kk{PSM`U$ zjpEExakNKk75`)NH?AXjOd!v4Wz?4@ZlH{*+-g@o;&hNM{j5T_8rgr~CbR8$D&M*T zM>6>%pBj&4#Uc0{kNfytw+<2e@%CEo+mVr*%8e-Mbq`jlEfqhL3MBy3$W@iW%^p2L zRC+HQltWLy(a>q{t?)osMV?quBFB42CWZMn3pJDn#8?qtT7b$G^<@l&d9vC3%uf97 zg9maG34CjP{5YE*QDNN5qoKV~+WViMxn&5c>DHExB20NT_C&~wEfp!gkMwJ7`ebR% zZLO8_MMGs|vW>$oxy}vSj4%FVv*T?un1*@iGN+9xG@FbL(&c^m@(8%qR3ZuU(6-W7 zFh(@TK#Pl+g>F5le3HTDtF-O!siP3dGO{(-JdQL4TP<7#B}T|O(-|a6qXBl+Oi<`h zO5OGX1F?=Ge9)N$>`pKE*f4i&w9@G_xAuP6Q8EFC;g(F#y52Zev#H91YxNwa+NEqT?TKaTxb6e;~-S%n$qVc*rWo9Gr)%U9c34jpI{r>;;*D$)HRr zNyk!prl+b3#d|#tt8d`bma`6e%LXx~vxh}CVUH`>9Fw$rFjJ8So|WhFO92yd z5A6&mI><=7^4LcnYwh0fn$v{vT3_H7`Mg54F}euxdjzr!h2n}b(0KVKJN=?~UcGV$ zDRc1ZuG1E4*gc)j(XYvbliRF1>=A?!P4E3?l58Jv*wkTO_;cQ{}dYA|JJXeQkwwGo=}5m*$GEX7SMvf;(0L)!JuKYXsfFf|5HjiD3d_?rJ_U2~Jf7*< z12ICV;$W?=!NW}rvaOI_E|NGw@W)Y!IyWuc=cLQvR3!A(=U-f1!IlL{I&kWd0%;7te=y3|uew+%%ZKhSZIWpZn6|uj#GV)XJ`gk#NWSq!g?O?(7JJAZ~jt99Sp(WN{P;*#?2wgdL~nZDZUgCgjEo;(As5f4cZ!t&L+F znRW?P2gRae_b1l!k_Lqpk58(p2%*ikBg=}HFFW#2jH#!}C_$EIhVcvUD7)Jir4x*G zN?|%|W2{jTrH0*EPL8q~6-t_<6VAf+?}#VKrkgCEgh|T3cgsnWqa{e?N(Qt!$4^Sz zrD|-Y;tLOnT5;^=v6r4YF7)IjS6YXH{iPnqk@X23ojMPA!H#mBmm@=&Fj{$R_zB5~ zwd?c_zG{u(O@Q~YSFgak;@{FgdjR&Z*>@6#v<~RwxZ#Iy^9PH^hos0TdeI;m%cLe= z{X9l}uE9G6cNkDX^$b@1^m%Xrq>9vx%R3$XT_r9{IvafO_uf7z-ULjpeP?BD#WEfO z$4s_4*!-x|PM+!_bhHSvEX>{bSQp7Z=CB!qSQc;Dx~P1L8h}?=XA5YRU^HFg zM4Ut8eLdc4^itRO!e6!eVckmwh{gkhNvgHQ{X(z$@hdT=X=)vbup>?4xP7^GsSSr* zyyF@a( z{L~Bj#*#+6JyrmD+UhWotG))6tWqj(H_0DY&k<_zh*oqj8Jm=k)`N10`%fENUmVD& z4EmKKvIg~w+{VnC9I#8C-yGMsb8L;WY@<%Gc&;qkfmxO=u5x34pyB4>;KY%EEW-hg z*|V0;ThmMimhVGa&(R)=et*Eg;yC+}Z<3^ZNIib(wox9{Rm@mbI-ekIp9S%zYc%@!{wsg5hUFNKWCqkDmgE*}Td2 zj6^dPZDr#NU9Wk4TQ3<*3>_{s8Gl7GxMC_!*A40emhxCxUId$v^*VbgitHp;Sx8bP z7JYvnJ+RF4<&eQ{3HaQEHcVeDphiVxXNuY`iMrX%Bai# zQ?7PxwT>8fgF{}oa?yD3oS@LH%!LkyYs2o1^EYATg7o-)0l@ufb9f5wN zwV=mc!I0>rXWv`&pqWX#DZ7q~O#v6noRcfpSb86Gd_0rVj*M8$QdGn!sHoX*TW=y7 zo;6!%Fgr<3&(EVjklbt&eB4@mV7;^=B`}m;U@T&k#5%NU)@c$4j56=&RzTi9X|U|4 z);xppSUv6h&h6!wR>xNPU@34((sh)}hQm~2uh3{2oLWRf+n`-N;>BE8850Iw>hXeC zlzwU4)vo9Ec%D4CVNl#cYI(#-s8%T#11o$R|EO-I@!g&N63g32Q`dTfM`+6u{jD*W z25A||*oyzmWhDf*$uBn^UjsLbXQ_?9hd;`$uSE~Uu;IGirZk}t$oU0Net7&nnxE*| zT6IziNkT8ci<}k!Uj9*0@AQCByObf9+QLqnwcg;bOrT~x8B;=TcY!W+HEM;cN%?rv zrA#CuXRo?ynw$RDlmHoaC9ldVUt}sQhBC$;nm6h6Gi5`m8MF@83TnreVB{3RkQf*v zMN90+tIi*-DM>Ur)K9oW zF0~YxzzpLtm|_77lk8CgB)oNQ-Y#z_Neqd|K8mf z)^X>^Koluw_l&7{w;oYad9xa{&>Z&-a~6$Uz* zFd~_{WvQB}DHl3ly3N&19s#oHV#tJOghX>kW0av|=3?xrOU)uAp2~YbS0jWo^?BnE zch`~zSzd2|ZynnS;#LH!jE+bYW9i1JaatC+Anv<^V2$5b&k6oqvx#0YNRx*~*S0CR z!mWbwuBotzF^N93qxkXCLLjnEy7&W37t#_&G}GNl8Wa8vcGAf&nqc>FJMW6*z*7!W zn`2E10`cN8o=R8j)TaNc^7V!7ZRd)f5A{KB z&HOfOx1|F&&r!OH=WU|u)**JCZNVf~B6C@WI5*81>H_TpuObze>Eh4w7K2ihw4PER zlMoVzGHny}O?$5TyVx?xwClUiZDSzU|wv4NsjPuv=UMKrA!DJz(m+xTe_|G=v5PY`8F0 zw7ECUG`Ry^i8n{bBm6K47}@EX)cQe>#pvun@+88a!kUuv^>G%6s!kq(V!9eb-xo?!x(V;M=5F-PKMa z)6J5A@5=OdI>E2c6_jRHQJy#s(=w_Ow8UK z?cxzS?bSP_$=Mp1GDA&g>%zgE4LOiac!+vd@C6yR}x$bbk8z1LX})E=*e<3LZEhOHt5Cm_r1Ajd*r9hgzj2c>U3%MNv%tZX-Z0$&o--UORsGc={i?fH1)Qm6qIZUVH}RJ87qQ$WLYY{pXN znc_-nP~?S(39I$VycqaItkrg%GTi+3V*mgfG}WK6(64q#3htgyE^8EQ2RHXSUR~Hm zcbPkyVf>Tay}Ut4q(Wh5(3bJcS}1|VSl2I@WN|}X*$~K-$F-fE@Vhk}Gd;VsmQR<6 zT2BRSxJ~(K1p65K@4{H@M}?1bwoijB$iFl2`XDOPjw;wBhnX5&x0s?B`pY_lD#FOm zLjhcE-+>>h-Cho(DasJ@;VW$Sw2NlqOGZfubJQx^ZoW8dTfA=E2gyj?XqV=bNR{#E z?mI}gndI(7kK^ZQ4K!W82lyG)6^bMMO1V_Y(#oN(CsPJopF!q}r-En#R~qq-li2Xr z-ZwVSK!x(oRZVrxB?k)g!6f~n7qlqeq9eLMnz9YV=Xi0hTG0KFhiU8Lx&HA)f_Qvd zoPk+9LnS>6aD%Cr0kq>@ty)Q6*m*UWA27@oTKyv|S$15u20TVbyqKB? zr1s%e0XGedP%MklYw(|yFTgrc@3?`bZ~mJ>wilw};oHH5j`{EXfs-1?@}ddcj%k-_ z@(#Z|l<<|ZTQ&*6rW95VORryR!!hi7vgdMQ*aLuQn^Isrvs%v1YmnJ%j;1_Yce!o# zsGdJnwMuX)5EjF-r$NT2#3%|5e#%>%2I>$yi?#s{dm15FTYl~PPd#QO9u;NKuQ%!< zitRM3qBT`eu8lK5w9Q=XB9ly3#-%7x)I&$0Tm+(RjO0mlO0$9V)eQ|Y@bj;dkfpVW zX3O{f*y2wE{=}aFyf1fsE0X@~NG3hNI1V|uj9Lr?F10hr&MuV9Z;Ptw7cP4Y=#B;) zCO*!rGWv?!tJ&LK9xWL#_-I#3X4`)Gt2gC50An2??ZoxhSxVe9lDkjtvGFGk2+2=| zwfTI!aSxx#C(2RUa6ni`1^CM8=H-c{Th=qP?C7@V!hx!NqosaxAY>n$0vsIpLOp>k zGNMESijq-4;eYl4H~$S<#yPLIjK@LOv+5u~VWuiWU6XIi5JlV`u=ufG29?gZ zd5B}{Ma5_$h0f0EC1fm$V!IWpBTyq{-sHks^c|?GV%~d^{z+bfU-jwn55IMD9#IbM zExkf@RnE2V%Yt!!d0Hpy5AhJW=oPz^f|7$L^=jch127AIyWyJtTa6aIEGOW`z*I!8 zXkSCNMyQRY&GFK+OESxRxLjc)#gZJwP(*ZFOkbv~JX20Af+)I{Tmu7UQQ!3WT_=k*W z<}q69u-k`QsZB>d49u-P*|x?c&aEk4tKdVM8ZVhz-|wI@`u4-4G;Z!;l!Jd!&0-g* zMm0Oqb}l!YZ3*;3wyKw9I}W;p$#F$3Xr-Mlh}n57jk=kGj=EL2d8W#+ZIU_B(PK1U zmKxcGEMYD*GkiXnJ<|t-bWPiK_0x__T`j-1fTmATS18yXb@6cbn}KwCfbC#*ZYaB`u_;r*U_IxSs?I&on51RN$(qk?RsHte9U4|xq^H%Y-f9TlJ;}sRR zAbS+w$aM1gf}O|gzTJs)nNzc>yz`y)ASyBX$2SM=d07Ca zt&7DPj{`i_faYgD+#>DCuU;lOu$WvH^0djjDqZ;mh2YYG_3t(j7R8buR2?wu{Zl9N zj|Su&kH8WKlV$djkqGh(#A(M70D zWcQ<5#^ zN6FH@3vgY&#*y9U6?L7NpCQ}TzBe8yDv7RK7vY6w4!xrHsCtPC%{bgvJ8RtpaU!G87ZKusXBYwMb|uXlnwpf{bFa^)+#@Q1a&uUZZsA9PXbi8%VDfKNBDY^S6M&6I)=K zQK-3+0XwFx;<+tixcBD!#<7nH;JF71+DxG@Ee=dr=u}9GRq;zQ-Jf6@!AA zo{0?I+-fhi?SW`iw+nSjRf<;~Of~FpjQ^A`x_^QY1p`}TeN>1ABP-*LN`7t!olmwD(@oA z<6DkuRD73vn7s42njf;a2Rx#P|A|<^JFNmXhnl{az+Wt1_0+67)*x%DpoW^fFe5 zO;u3u)lJo%d5SQWJ{VN}3@T`*4Jypgx3Au5#cAm_ft(>I5nKul{BQ?xm-5!vl_I_G z+^W&Q(EGWXBeXb8ocTU|OiV1SvzuA{9Ln7zw*GNeou1QSErhOk0)!^_%fl2L-+Q1u z2ZxCc#&{VwIqD$CRRC#+#su(kr3rZ|{_a4wr~71~jd-zfbCA`HDCYyc+I}^p2A`|9Iu)&=E2+#i?$^+eRO ze~2fpDxSlvX^@FTh`;8k}g{eW|+oYZCqVKiG}#4-!F zPM>@nE+c2~;SVV@uRaj#6z}FvVjTI|v{=9FbB3C0JNt%gNd4q6UGk|U@bSIPRTbXm z`n)pOz!w7iaKIBuJk7xsri#c7pe8MnGqX8Rkr4O>qz}@J3gD$`+=kWe5QM2}tuMa7+<}XmXwd>u_ ziUcHAvXbZYY+{pk0vq+vBIv-zj{7zPNdYtZD;#XLR%f|SXOhA%Wr3*C%Z(l;IZ2wh zulD9YT2?ye^=RXH=ItL*pf20ZG#`XP^b5q`AF}hLKe2Q~B8irsHYq3}s@E?L;WLW{ zLkosp1!Ux8ZH#FFxlYH1>HV=-IKY_w3kq2@tJzzRY^9M)F(M76UcFdYvg$8Hjj* zbgHZU@ZOb|i@o-nOhSkf4=^87KUuWbMW(k2{~(&)%A65RqjdEk$RThMA#&`0B|xBZ z`iGgrJ&KuLPk?ADQLV9azyL(kh&z}GhCD)M=xS?gSL=@7!+UMFVuf)|Im>~coTK6o z3^8x9{=-_xo3R&U@8X2C@ukl4lyr}jARX2rloa=jYloID*_8Q%y@G*7Qb8NiG0vaJ zS$G3Lnl!NrssPedQLggOqiuz*)W_!sfHd9v18E`!n4fFuddF>%EIb|?K(3Pxkn3c5 zse9$@kiwR{8~_eBiyWx?Q$r^!MCnOI+tPBo2PITC@_VimAniKKb(&h`BqJj`%XO;O zJ%HPkYwPIfRI`g1&|c%hLaf@gqdd1Ml-;BsQWCwcQq`P5)c&69B%|*=i2MU-5-ag> z(c)P>Lz?#L{Bq?9cgvf9Ax(f3&RoH?w39?Lgs)o6{hTW$)bkh8ga?qOKcv<7fXTEE zJf7hX0BQR3@m>SOmM<+k4@?3O1@>J`OrX4ABy(Te&pZFoW~jEmOB5_oB4A*{sZawTXFuk@c)bh{7*6R-@^aD`HR2A7ykD#m~--u z3menb2mc+{M9MpyB~MZ7fG{aFtk(e!5-nR9K#w4^FEWAk>>7B?(Dd8xvAwc#1fNMu z;rsVgZfm2QCdbs9kN$Ho|Jwl1Rt#hW_6FLsR^geh%@z#h<;3|p!xhNfLQv81{1@rS0QAFu zTctBOseiV*e;#S6tk19i2_6MPVr4n3$*8EPTz`JM2%PgkUaT{KZO(kF4-XGd@%JeD zO$vw#7E+zb{%D3VOL~CoBR)-+HLQ;?wmIOX7db(C244ccCOa=0Frh5v+mqwtt3SSm zLkkPl68MZafKCMBnXoaw%ArRNK>w&V=7w*&b z+%q_6lNNIu)Uhesm{f7G^p6O$vE@3RpFVHG4%k>wMlCe1+LX5nmvxbRa&|blyon6l zou|v*^nK*w_k4JN&Tr5MvcirQKrj!;n6?-BJfBmz3AkZN@isJFWH~q3H#Ye{NAFTn zLCF42j6<29@ z3n48^oIhIGg|J8W5v~4&&o4GT(U*I&dLmV#jwu)h^u7aEGbiLD{gz+*x$vlNz2uom z#P0JgW`4Cj1AiItaAmqjiV7{O)V5 z*+ct>AtFM@vVxT2f)zp#SxYJW)K2{5enm}Ba%t!Jk_UMfdQZ7XiAa<67O?y*(MLV6 z$?~7~jsty(wiM8XT6gJj4TAwTpDgMCscc5*7JF0RljTIKYuq>dDCwJ=)g2>ZuLYV{fB3f zFQ=h?@SVL%^00x{>H@IJCSq2ba@8|^9p%t7D^WfIKt?BaleXI_fg8XZLB$sxxSOGO zR)Lq2y-t*^CeydHCYS<%%ch+FC}Jvgg4?;QPFmS*Hfb#V20D@%eXHZW?tgc|cGf$x zMOB^c(appbnYQbZTz_Oi>*5=`f45#mH8P?>MuV- z$Gb_(+bMH|&`fqbyg&2Cfc*f?ci|h5##9*ts=+@fJsnfw%FB2|yHzN-y*1*Gv|YU3 z{==)Ip%QmaIdN1IId4?llCAc13JSh=oy{FxcxeVH@Bx@=Uh|Yb;yB$~jH61ScBGjFqE$0nq z?f#a1yB`1u*+TvW5W1_Hd&T;w|8jDJZHp2@2!E(=(Ng(vseIpsR%SYPElMd$cnT2R z=A{(a_#IOXG|c-4?C1v<^$k?leznMXpz1JeXP6$xCTzzwk)ISbep;XF5nl{5o^(K6 z<8`vzmgocFzdR~+#LZ!6h!v82m}9jYY7(fPu(?^a7xnxur}C$MMM7#2`L9%vR#zKg zj5Ttnqxb909Bwxjt(#M#?*Wc*`NeTx;#?^8M_!c%!(fI-*_!*xHoR^(xa~NA9BLR`Bp<-?+$De@(OP^TQogFzdkv!+cgf({yHftu?Q-ej2%PnL z{XlXdJ0doJEX;IF$+CPx3g29$oHAL9>WhP}wyUf`xnNw%8kn$vv8ssBvus;~di&D# zb)w$JfQlt4bdzVLA_!!0JmYXsxHN~*irVw2L2qXimF&A<7@fk7^Nlnjpn3eKSuIss z5!-h*1B#x*e%5Hnb*gJ?X%zz35{maD+-jPiq_rO?(=<0lK&9b%GTZm!i@av~#0!m^ z4`^mm9?0sieaFZYpJ)Zh@L_s4vd0fFnw6%9``g~QYOT4C(~s@uzI<@N(Xx(9@hZQI z6yJH6X>l&Glc1`iEgGL*sqrYA-sAbowh8DW#WpblCt1b@FcD>-p)wiIQHp zrmD*O_?RVh>2R?r0nmkh9=Y9n&II^_JK#_7n`b-{J?H;jJW{&D4TkcR62r)W@zX|q z=kDL$*IFI(!X>=gS0eT=oS&-KXe4m+dU_?3Pi@QaX1`X09SgF%g3}bxSr^Osu^9f4 zqhU7@LDkPlX->C|DRnfPubR9=OJ(QniBhJp-+UYI7)i2^TOFMkxpi$CigmA{OzjDX z+m*ez6u0g1ZLJe^eKpM5=$b&!qB7-*1->5DJ}^{@Rn2I=rgfxy%j29i&W6II;L8_M z0>oi6dj1xU(I%jjj2xm3q3Iy(9h8?K`x9IWO~yn0pYKfaG^hqPU_?}xp> zs2{u*GuWwq(0kV{rF7+h6K*UKuCm;QF*qdf!;(*4TD(#nYf(U2eaMkS_Dgc9A~NmT z4GMEJ1T^KSx8AEy)o9oy2|f=v>bB=?oJ;O2(L-&wKhBeJ8g#s}k5Rl*7tMXd;MmUR zh`9Ojj$Y0#c@ZJL=in+hKj@jv>}2Le{_^imlG=|QIqHT=eKxy53+#VhA%6^dBYSFM z$QubLC|4xMfa~k;uw_VprYmRtC)ZQzxKx|+n%D3=s#%ISO>%C_evUj3S7|oq#eT}o zxjO9$5tYf|nq!40e6brN@Rm0*D?R9#6+rtnaYu#c2&z>J8X8OGA3J4DsVScNCT!B1 z`9id#C4-CApfo~4@}Bm`2S!T@2b${^(NLA*pM8^xN=Mo5MZw3@R0nkfd(QLGAjf?X z&?-;bI;zem#hq1ZQ*?W+s|OX|fA*`5v`y8fvxx0@M4{z=mhT1l%eO~N$0vtsqk3Fq zAcF`ul-_)B>Zii+0`rwt_lM!}t=qNYE4UntYg@ax!n$-aBS|v;n|;q7DgOy_wJC|b zAG>H#jQuWo>y^pM^{gb#W0=%6D==`^Ls@MbL`nOoOHb`ghL5~HFI^7QS~%W)f;6zJ zKB>F_Xz;(OAj;@3r`8t@6z>$7c-KW0q;$t|A1>dO@);m6?JY&j2Z&fr8&2t?_(!=K zpQa}{z9Cn&!wk|ARJNvz2+Ukg+lu-pnMZ_`jJ!hB!mFwR}K2j?Ue`ZpqXjdwClwe#^q-tD7#y>dx@fLDaYe-oylV0X1{@7JnohnB0aZ}%y zqun!|)Jr$xcAd*UPdkmvzla%s5Jph_OiFS5-4dXQV&YOY0nmhpLsOjOKpbyG05Gef zjr}6a+r`VMto21Ez%E#fS4qU(;PUTsB+-ojlp~cfbYXh&lzvUn!~s}(=1D{sGAU{A?e+Zp6a!y3nx2G5bAP!SRD$-lTJOQ)9f zrxqZ`Ic}`lK!Mr>b}*y~lC&v2&WjbpZu=GAj!@KH{$%Wp#|Y#_GUY9{#%NWU17iE= zFB)VcyM0?4;gHi0G(xv*iOH38H(h+ou?JP?g{(9{S=5PdX+!fY8`$m3wFK z$i?C-;~9r)GO_Y=<(wyvt&)cWT~BA5k5{{nx%Q1q`JlB1`cc4*_vCoth!3EyboBFY z-_?fzQsRuu^tO&202iRGj&?u`&^Y6h`UnN&j4YylWs3|f0r(OZXN7`g zJ?^;3H%!i&26_a&tJ|m%`*L|f`hg&2OTNRlN%jNdG?Jol34*rG9jsG_w!cR1=TUnm zXJcJXuXD6l_*nD58jCB7o)K9x_-eb=!ctToS|!b zopd~JwR3WT&E;|!&!;lU9=c~8$$MjiWAc-l&qK&vS6o23)fbLcz~r2QG0|Rt>~b}7 zqz!<5O##>!g0(KfP`}CyT99>3^}`Zv{QPt|cBa_?Ct^QZ2A}R=RjsSXN-lN0-F~jV z4Q+)tct!PBBduUGy5Jr`alHy%P9Uc<{Z+XVeM_y57yI~@JD#;Ez_Civ#I&GP!4?>n zqI7Aly-eQ{VkNnC8yPLFLrCl=Y+dKctv7yVtsgq23)}KI+51kE_Oiz03pP)3^LOg| zeMI%*mb2VX|9t@i9i7BZ#6 ziJS_hoJs+0t9F~d=-i&u`# z8O3{l2^E05IIyZKJn{YTH18o^jn=LGt&qS63Ogv^llddTw542CbyDW`n)rBt`aA1o zPBAr2&9POf872C|2h_mmv`Qj!5Twm@uVN`VqBA1cal;%{0tL5}cn^yR^sLN7>uUAk z6qW!84k%x&5tIE9J=8%{SI)r#+ZpeQId9bT$J(|S)XC<^sVH1n;BVTDpl1rmtKOsu zCgFxH4)oPH9s%+)J%ez;CrZ}!<+Jrqsx9x0eJb};!uq+?R6PL~Md?$|?>c8VbsQ0@ zP3>$Yk&gxGTU?5Q&nGn1Y*fpkvh_0$1CXdY05I-l1BN`^)CGR`h;R32O%Vs!<5PP` zBckIy3{||7O6HU2Sw**Rc@Wt@4~XN-5aj@9YP7i`N<(&nH>REBnJ2#yjH#?{#r;-y z^VaZMY+d;bG^dsfM@5@E=Ne|e2~)P?Pt}=5=7~GKDyO2G;L8FeAE=^TCKgYZ(!KZA z9!iam8$I$+AC@eIgGpB25#}f0xG+F@KJo3Oq^I$>5RyTQ3*sQ_0kSyJbz!yod8tQI za3!QlLea+361>@=T(QJr74QidEQiEwFatc=skF?j3|;@_leTz1$lwqiwyBwIW|nlnR0r4)+Tr(-nEx`pXb8zX z_yNS|>8?TsncI(&JSyUFnx~c_M$iQ+872A#-ARzBTHLr!nqfUHRLb@PpdolID0(3> zi8}lHn+EcW-h1paR~WeWXVK436ot0j+aMaVXlO5rFHO+`ylh8;8jr>Wqs;k66K;9NehbK ziGdX{66Ju{U&z4NKJUu8bkbl}$WFmE2a=1YlAn*-<`x2T_>2WWKZ~Ve-L*yBP>F>u zJ=C>ZwXJLgEgq#llI3>n;ee}q_5^%CzkWX9ufPHH10V$jjRmp%;s&bz;0CTnzU_EO)foh+b>Yiv6R8>OS>zN=9(Dx`r!KC>7{EriR08BB2lV+a13c7=Yt)^T=f<4V;hqlje??P_>6*i*pAeYAgw2&y%S)gQ@o~1{eeIc3*i&5 z-5zieal&oAK0ePRXAaC>U+MseUv(xiqxs&PV|Nc+J-y~34XsgOTW;ic*4UqRb8qAK z!h+muAVH1;S1y$O_AtEL{(1zpu;?(v$Ht1Jr{uR~aU-=`#)dL|zvQqjN8n8pfJI{d z13FGFzYY3EQxT+g*Oa0??ABa}VE zFnDJgm^mmbDlgyx^Ukvf%H_sS3^FaG(#wYF*euZ&b^6pLa9_)n*ka8dAELs{7H?0~ zap`~ODsXF>wezAv+xI#~WDKjmQ%H5Y2n4yHU=!|QWq|EV1%#T8v{@^NQ4@$?@$|+3 zem4lbb*^2#8TGjy4YD(pu;JMPJXatV!ql0bkUy0U*hXppQu$vO&HUGcy-+}9zRcYL zFTcpDl37`ctat>-^ckU2f9!Z>TZp%m6p#%6-msKHLdtOCLMxWLo}IS&j8)S6b0Jq2 z*BC;*Pj^+_(1f+pPn3V(sX^o(5g?8+&r+nxo2h>p5NCYwy^t zw%(l9D$&RC5E#S^;`efOPJ|4NwabD{RVO$0#NguX?#hP+-d3j;DYY-G**Q5mfkbI; z?4YDYsX><5w6XTlv$ptw?_(VnXD94nlFE^A14mwE$U+%%9Gg^|?BwU?*jV;8$f&%= zEZq|VkDR-MIqN2yhY6oK96j$4O-yLiZ?Xj_9-9cxC|a8S&ZZNWTmi)J$T^ z>oovlnk@YYc}x~-Tx+r>hY^HL1Wb5Tz{c{XBXp=L1Qv^jm6e88hwKP&LC^-`1#?il7e{$RqN zUz`2gSeZG4mWD?2YdO0yU}VF1auRi4O1mZ@& zZatZ_3`1eP9U_%?@4w_g_FH!W*AS?N1WS{Z`FU)>as87%dRM?LtQ|K2Lv1k{U@zYM zKiK=qfGD@FZDA-uLJ?4MPyr=9bTb%)NJuv*($d`yC@M%8fOOZ;!qBNAQqo-mNDeS` z4e@RCgy%fxd7tO~`+nyigE;rS_g;Igwb#DZb!oWmY~!zctW=VNj6~wfTtXfk@Cl6u zf?m)bM#=^p`5C*s-pk}tIf{e|5w9c^oqQ!_r@aOyN}R+Sw*j2q2=rSx47K|R4Uar6 zK&#OtBp^`!71u<6kQ7z<#U~5-mC9xp*QOS@@|!FRh-xk9(Wjmh%6IBbvzbad>r%&u}=zP-$?&|Tp)r=jMg+bCA65;fw<(f-!J z_pX@HME3e8j<=&CH?_7_vJ>LPt}-(>=wJZh>B2##=V71PqQ?l*%CGcRW0exSB`h$% zJQs;Ta03Q8h3=<4`>Wos_g$B>f@yfzk#9B^8XovKuT&40*%kEXQ8GjaC`2J5yfuu{ zSq;=<`)!=piUU07>|XE)@FRPlI|ywPp@< z210Gr9rj-j8zx-gi~88u!lN;^@5sVps6G?bcgOjlS|;kNPxj@eQ1swX=$%E6)QqqN z4Y4YDwK%_)TS*>xxj3N!yveciHG!GI`D1HS$)i3=i6ay#EkN_hnHH)o5#iC%U+06( z@Wd4C)wK`owXJy?ue7r#?7t>>q=(k$MNAb69(pE6+WdgqD<>q2kSq2+9u}D7*vac! zy10Q%e-J8&Nl3<-#f}qN12yRHlqZW;E#3$B6sx*84ZwDE^;B)m&E7lw;?r_-#MVev zEI9BO9T9nr(kSn{(n{9|M>zcIK&<;(I!%1ujHi%jhe8&Tcwq00mdKBwfhX39!dR>c zQcQMSj>8D~t{dF>jYQ;bx5sbg6ca|!B)}VJwX}LS-Q^KFOLJ>TO;md|$dxMgSfQs= z%&xCK-zL3-91t3~31)eUlV9+Pbx7L(WXWO_u~=Q_y7G2=#rw7weI#;jX5X2Gt;NBv z;9v3hQSu1Uyw^N>99-$HW<;a|PcYkRs%x&G{*x885s8o%NflT{JTxD>dy&xf8itEc z!u$Px$bLrP=2BW|hHVu0d@%V$&+(%X4)a^aNwzg!&pn;*_C5`Bvs{im+zhZkI!CAy z>19!mhu_9Q8^yKC&*5)PX=M0jnh4iRFQ(pQL~cyB*i2RM{+vt4L$Mnjv!+02MQb_7 zOZz>z5{wZ*`WaZ%KZ#{Kye@^f@wLG>p=o4J04Tq$5`O7m1=o0|Zfn`sA2ny-b>PJf1bx=VWOiYWxrB$)T;0lo^YdSD6{UW;$MHEDnNU-=xV@$pA;QDh_ldG+>p5dz zkVB*HIEPj+ONfVOndZwkg6-b7JO}SG+0=49>fQuoW{tVbrL^-~td*In?IBwj8tcJO zPKGTfeKp&LFR3xFN&%x>0+-0J$^@(B3DX&~`Eoq^VeCR);^E>WhU-`Z9+A<~QB60# ziJ}Fu);=_M>ZLi6!XaNh_obIGKBE5)V$Nr~Me=OZu**DzY?4FxI=GrstjOfyBjxXV zak@x9-|gm;;O;Sh9e~ZI)IPyxZ`Ph*vkM{tHhWv#ip_?u>iI9+r1G*2`7MDq!0uq-i^+{>qRsB^#TXxeh>PS|?Z3fUx0^ zjGBZ6Z{t~ijl|mSGa>4)*IZ5jYyM}i)0_cBphmKx5n?AA865JD#(_r0#^M;?ZSwYY zDL(1zO=iE6Hv(it3?87$GX%cJg?7N=yG91i#1D;(N1Lzx{c%q;GKM(30COojKuZjT z(Qy&JeCt(GGJ%iwfRe% zs*=ZuWOuUP+mlX!ouhrjHz`G_1^ocUAssbDFNRl%r%}z#1z0V8c|cL*kKyfu;c>0) z|1rE9V0e-zfQtAU)6f~BwpKi%e5Q8@NeQ)-?Hg=wOW%|K1{*>t*2lbRuC_CK$a}nc z;}m?5M!RIwr#*fPIcO&rS5klG0h5Shnhq#YE5F-W857F~jlyMC00@F^`A#(3^{Yt6 zg5`-w#>G51j`I69Zid4{u1?x>^hD|{Sl8bX6Muv7e4tPthWL|&2CnU*zxoPj5{2LSMlP8v~5t*Rcd@wDx0&` z5!Au++m+%b|2T)h&VBm9%q9M-QC}KQ z!LK|yFshSJu;-1&Mz`JNP4uW)Cyo}G6Y1EH?6}evhdE&UpOBWoWptlVvrB!aWIXIZaq)BNzkp)@^&^}gFyycPV8}n#xkd6X-2;Dp1S|$Hr8I94Qkvz=?qT(}D8!|H4>f)K07$1Tyd+{;}?V<8Jl4=Itx>^Iz$QZ%@SWLs#R0qTio$ zusj{(=HLZ6XD?L!XNtx&%%c= zmQDFLYh|2n>}->y?QgWEAsDRfq3R6^+z3!Nt1i_g=NvJ%41Sy2bVIfIfKV?`RJdBlt&Yo_8#J``D%6bbvt7aOKX5Sw9JJf{zIlBI(qK}o9Ork4Hd1a1 z=bL)B;MnoJ!Atbj@&>eT?&A?=E5}@Dab~~`kIZM`b`9@QK(K4x!|el?djS^PWeh7E%|T%|37EJUoK!y>L5Pq1s^|(1>m*`7)&ayq`@wt|CH-^bTlUa> zJS!VL@15hk?kek@`Eg9**f;VRmieU*-G$6e=**p$k8Ex#x47#g391TZ1cc62_p|_l5Oa182JDojku74!YZIzle(hCH1`y?+Zj{ReUm{m5JMbNQgX!4ddO= zKot+TZqtV8wNjygEX2+zOYz)F&)a6JH;!MMUq2fDda$<k~~gn z$2m-5cXvpfT-Ar$tV1vJso!Atd?6(dCdX1uNx?hO38KcA1heUoI5m>A<-4^c1oPu)xLYb{=|69oCXGC;MT1+96ziN;)cPc2w1QzXW_ zKgYHm4L=pA+MSK`DE#KJ+F0fuW^VdnEQ*Wt^_w@8yYI21T)iFJgI%ez>U!2ABg*|s zV|6yzdI`9oV{fSq-OTLzLbQ7a>B!|yT0DJ=B)^FVW1dc%cW}2qOdZLN_hfL*z-jEa zZ-oB7kvnPe-IsxeE_))soxvPmSJx-Uq6P!)=jJ1~upfOV@gGz?me}lWroC5wdn3{B zHalbPS##G;xZ8N=ex=pq>52Dy{-9N4Ltt{hR&;Z}NB6zp*=|ExS6`+DOu_t^>NWeX zl}r6}$~;{$D(xW&NoXuR@v-|Q13CM|M+tT9ue|0x+@wJ>qeaJPn z4-~fY+}M&@pXc)k4ka@0=U?_IR^_T z^o4Eqe0sJhRAHJdI3ZrWux;0IuP#dVsV^sYUQ&n~XLqkxdX;&YmQY@QoG%M4(&Kfh zqL`K+BTXL0WzJsJc%rkcFYIn#Y0j+G!D+KaiOAmhU!+Wojqp;421%aMnN@R=kczLp z>2mNm+^DOeCn6V@w04$B51ppPqcbmrMN>C!Vg&=9!3K0|U^Asic8{uCtx??fX38r( zlO~S^wvPi}#8BNa{-9qYXswSrCQMhr^u&`hcu6=d=anr4b`%GC<|GQAxo(0#>Iv9g zg$jK5ww+meiyp>zJVd_fgbp^B!8mDvzQ(SZ(jABcAt6CnpTK1=#MB`ha=!hl!3D=` z*2JFMRUh@wbj*@`ZYC#t+55!qjHdL$9f^%8GrtD-)j6(}7v{`Q;oZ+Rj5;}(UBAwH zP?V*2Fx&u~KmOZHeoiksBHvV1=}iqO=OiPBOK-NOVMoKfM06-Hc{rcZ$B_M1$;x~wr>e3_s8lCYA+xe_Vjhu?{su^?>p0H_A zh2ct=8n<@Zm~FZ(ed@>QPWdempg1oJ0qyx<+cxmew<7xMLr`0xTIABN1Aomx{jF5 zt+oQCzAp(b@Tb)W2lcfYeSMmDq(y9ovs`y{xptFOraPo`8a+G~we>msOz9V2E*_5o z{-Qp5iQ#W^>m8CkT`{^05(h8FeJr1O>R;Ed339~UVHiIu6-0{M4yYWyu!Ej{?bvtb z5eKEj>JAMuef2@S$Bl$g^+y8}#*;%oEaWso4u-@kzdN z^o7LQsXm{-)i(Ez^eho|Veqk-s|H?Vf=jX$1{ z>SQ;TR4{6vKuq1<`#C4&DRC=uQ|hx-`;#bs6LomWii3f}A?;W>N;(9irn2K{>bOue zz$cHnPMUG2e*CUJ$bFaZWf}==ZwVY?UeUSuVBzA!vr4IW9p2yKEQo(@>GwrJb-`CQs)9$t8hc9}8Ye+oA)Boo&96 zqY1#)a?A6NsQbY1?f8+p;yhGiici?FPo_<3Ew?Pp*6JxZi#hdfCPk9iZMDjUpJD7OQYB{ay7 zzp*LGaS2m&a5)1F5?)x=$X5n#VTzG^oWc~`{1k|%{s*N+0{V3tRUZZe$V(L_YT26l zj`HKH7R%gNCv6^mWJr9J%`=8tBRN%m^;sUoVQCIRC5ygHZ1 zx7?lz=}uaU*?v4m5Eo#}H5d*zi_SyPnu${vJdI@BTdQH=4(#T4! z;xz8^5L-2q+M04l|9awRroUgX>sg^U=?i+T=br!a?fr^_;sNt0-7M^N$d#=#Ws%n?4l1GU=Zn1k1t=$=Hqqvnw+;2u;nuY^)m>zM?pBXb zY8rTi58NJ|)?-Ec`@J8wJZ+X&6jr2f@qA_nS=?MoayC1TGT9%(pv;ux@X<3nHLuje zJ+YLDUA;qaOMwc{NS&JzQ8XQxt@W&uyhfd2Fhig{e3U^0hhU)RG9^>EqF`&(&>+Ik)y{}gYeE|uf z%RLlVa}4|PxJt?lORUT1hym+PhbFVl+WjMsId{R10CmZMv7!(7B0XJEDoy(9Q-TuL zu{DKbMaNQ=%5$=4r^<2JVry6r#+|EByrH~G`PQQWt`cvMCo=a{wG3a`T9t`o zV@x@0OE^$YqHbu57Hk6o*nS6-VPxfGoYH>uIjyX~}Nz4~s& z#ZBkh<9$7yAtg*09Nm}j45H_OX|74x0)Irr=u@q7@<0E(OG|FMJe3udVh*+VS9gu zbjm6^??99Z zI2M&@q+;N!Sz*2WjGuahb+`% z?D5$KIJNhKo6ZtCGzV|`l+fKaBB?KCZU8pYHsM4?ZeyCT&fNksjV1~7)@KAMLfGM* zOu~>X1G#tBUPs*}e0)L~eTVo!*THl*t?Cp~+N_PHGin_{pcx0NF|6DOFJu#Owl@wJ zWf)K2vdixd{OH5~VDtJ`?r<(kM_#Y1Q3G6>)~kJQQKv>D$H+&kN{p;`wU{u+D|UIS z0d7d^&;Yd@p!1v#I8^*vM4B>yPbpAp7a|x{ofhF$W$`WREUkWZmF@8n4LXLzGuyF; zy=Jr9)};c48?t1Sw9F%wYD#wnV9U+Kha_sge5)%e3Vgz4y!xfu1%5p6tZHu$m7Mry z_A||L#ifF_342`7vs9^s9SxFRi{4Zd{UEx;pvDQ-NH zg8r(HSrBV}jZ*8%#mjmxpcM4;Bf?iG7Hc&na;E9^Q~cgij`4h5G5t2%PDxvsoZruP zTp|0hK=|7A6?$b}=y(vsV_8(@40Ue%!1ATa0$iQHALpS2q9 zW1B((AWc^Iy$n6r;=>U;d#JtZ{${^UDc;S)OiE1WSjsREuqelCAB%ZtN& z8gq1~&bgsTF;ssgehePp@{J>Wzy2u0n4GmO4LsaQT&~{P*k=kEo14wgC;j?9n34oYqR~-GwoAic7+U`>&h?az<`Q_=J!I>NaM- zV8@PIS1ve{khQ6n&A2eD+7hKHK?6}R=oJ+Noly+4UV8l)FzO7}iEYWz;_}ytzLFB(Bpdl3eOWs&P+VDfF&v|z^8U^pR{$B#(&uswcv$22D%Vw) z^C1bwos$NLmOT6{PgeVQ%wZExamgrki-)rtv2TTfE0@v)<_p^&MGWNlZPC^g?vf6f zcX%a8ss@PCcRpjWE{R9M2H((wW+YKFwg| zMlIK|N5d_}C7&coVT#^%);XIj?s)MV43au2Pg~0dY`mu$V}$cF$#Ok)6^46}b%zBV z^Nlc)3$qcUnt`=*{5SSsV=FO7b`S=VexxUCHQ>fPiG^EI_~PEAc)QFS*Xmh3!@9#9cp;vrO_d040y8snGkA0NU& zb}PnAMDn=>YZ(zCZCplr@!u~Z(9kQY55 z9lWggo_lxX>1##3?bbW*9jwQ26_5O=h;R>dj6AorS>DPt;6zwYPYqSteZ?TBKEC&i zbMP$p#kRO8Tkb0sBNtv4%n$Pzrrk@GwS;|S%M0N7+`Bu`dWtsY#|f zAkZwWtqn2~-}8F%K5VP@+fE>L>`kanN5Mm654}lR`#f%!FORHU@*4G!EAu5oCaDoZ zqk6I@c%sYQE#{GyPCg%B`9mZ+_TF=1IzOE(539tboB0r zmRve|b$V-0V|I~-q7>yFvOwH=ZK6)b+P6l|uAFhm$A_%(0)3VqL9*JLE_F+GF3!N{K{PY-fLL*=XJT3ospm-JP^MfYdUfFh>mUdzFgsJ|_y15o2no%IFsBqfQP5z~-Y4+>=6HG(CNmw^t~upI1P> z*UDs|a^;W;kjyz^yZysA9Wk1HWwhmj4y1mIm|N37U$Jz*W`DW}v5Pfh$V1*PU(B~- z1F#0Jf!(PZ5*j>qGIv1bKCo(VSvu#`6>9qDhx!>;ggaFnnB5B-4%@myZI}dVdknVR zn$KW5L`3AXg;y&K*%o%cZt=ju!N8X%41vAEBZTKoe1%Uq{ACNiZ-wzq0O?o#M$HE`WL- zamJ}YAxF_%u>D1BJ=I@~^-WWMssF!|+@j@<}vSsxs?L3$4 zclJK5Nl#j9IVhbGr0k$rPssmad=)SSU46Y_;i;NV3LEbeJBX3xW!j;mC)!L$LrJC5 z!#ooP4aUSu`jYc&{yVfkfiH|zHG z+n&>uk?eA_8v++?Di-zn`_pN5y4x(xucQv8Auf%{4~{WRJWJo=LgoSI#o^!Mmf7)4L9|z4tTk zNad=Bsa0mH-G9X{$koHP+@TU1rzDzfZFsW}4oOENr3ylh+?-?$oQ__I9xRY$CtdA? zgUYfg@q??PD1V5whks$+y-+R<3Y)OXu*ouxC5i#N-C7^zP-`r(uEDb<>e3|vdj<%U z+}1s$h)H4K+-yHXP!Oc+i-$NF{GkT1oaQO!(EMV{7`!P`GX9})E*pw0VwL<57VC7i zFbyE5BC2N2Eva14&RAfp7|EWcciFd+v0q`r>9~$$e?-0!&fos>k<_DaDA>Y>YcacB zA&Rp$#@V5^91;q4z4(M?J6q#X%cWe_2hE_fLGN6N>9vxjahd%Rjnyyy6Sr)JE_Wo1 zv!M@zK`BLIJzAjKg2p$u47A=}oNJp<#g}GT$dfx9w08F0@o`Cfm^lTaPTZ<0enR>g z+z4ppQhougiWU`&ZWjGCDqSXQ&k$k!uJ&MSa`C-6GU1@7YRhCXE3^@dtP{8JAoeP8 zPy4KVA-6PkasLuK2z_r1i1qc|2B7+xynrbdqlz!ch)n{!;kdTZbBZlhZ6)z#I&pX3 zj&ZK`QG(Zwys66N88*RBIH1@mMe^N>9@^L6fEanHLYRDXh2p6$5gDVO8`&i0!R;CR#@R#$4j75d;yvu6~$EGsTr^$VN zDNIe@Ih7q$no(1;rqAnHEK@V8Ov&_~v90q%d#buBljK#Ohlo-GDs`EC=Is2EV$g;y zb-W_zv-ga~VlHq;W4l3CbhK7eB%T0a{z_fLAo~Cz;pt*jR4ZO$dltQZID^O&L5%w2 zB8PNR>Rb*|2&fo)!3DVn(yz+O5iP}xF(8!gE<(W`sb*&jQ|K8z;vgY=!v4WHj6u&h zIbQ<1XWZDe@8=P4u7QOiG|vrXfPl)1?CWFR^j7pZkTR4gW4Px9%8sfV$L&gQLErwU zYkPvaJZ{|tWySKKi`;;>mq#k{F{R}*AKgG$bpt%4E+I={d^d=Cf=?b&a<8uLSS+Su zwPYV~kRzv#L;9Ac2nBW~K4-Th8tS>p>DSO9YrLu;|B0= z$87W!d*+O5@1^uxhjUl2dT&`*X>ia~XSKssv4`p#4d?QPRnwP8&{5a3nD(~@j1n&r zS=D`K8t@rbk zYzk$7^gec*+jpT9Gnjn;V_-H^%1A&~%(`c%s%l@^%>w1|@eyF-P!sZ!CU-4=d*@_gxe|orCa-(hOk)6Pt>aJnb~|{%I6_n$Q9SJgmyYrU3Ylqj4h&&b83?u zZezr8gPRP$?crZruRTrbJ;_vRv0d#_xq~&g-mH)~XB7~y8wwl*PR?%06kN<@jz?>L zHEFHVVb+5^e%*^y=g8Thc{?aXce5DFk9|rttlh6?!a9+5u}rBu{DbJ5ABnJ=m1W}@ zF5hKV9qFC*oy2Y*DQ|s}ac&JE>y7a$mydIhUm)!-wuOpkRC;=-St!6EB`alZ$v!Vm zNWSLg%WUTbpUREo3G1gdh9cIl^J}(B_xDCqPR-}a)*rDBPkgp7)8@YAG4Tl^bckC$ zu6QgWXGZ?oMG~C)d7EVPiby_rB{S=`{+9mOdE)3Ty6!Y#h%;$QYd5B22QA z^*$OY2xW7<=SwI5%+<1;!>^YPr*(hBQIp4|q)#(v+j?gb*Ts_NW+To>#g1GElZ3Xx zusmYCU^#IHVea5#N)+`^`8& zRCM-Qroa;d&Qb67GOdT|Uqr_1=7zR+VuB#Q9N-4M2dFM0So8(@RlgQXW^HJx>02qBUYKl-Dx~sZWWu6 zAY`B*VN>bANFt`KW7VvooR#y$e#vY^2vJQ@^w6)GW-v^{-6EXqWmy^H(MTelQI_5L zq%5J~m7>!Z3+*FUQu@cbYv!!>6LWb#De`s&ZZKY0FT&C>-x4M)Y9lL^hQ56qakW^v zZ-|X<`L?vUP)@bu$CptN*H~Jn7Q{v_eFr~w>f>&kjUJc_&5t3yV(2fa+8YmsPrDrU zL9+Qf_1Rb(Ts>-Hq56R<)E$oJy8`PSsk)xlJ9nrA&a_03sFF~&Lks2h-#!B^b9ndnP}Wui`nuWAaYZ7p#zr3*(RlaboNnK1!5 z>c#~+zMdUlW@8u~kaU=d4d?dga)O9YAs{ts0$kv~LITd|%59Rqy0v3{nsxJ+U_4x! zgFbs^scD&&)4u#6wh#5~7F0;i+0z^^H?~g~PwDA#^;TMNS7pe z{PHsr@-#4robd%&R)anQ{lw)O7zsIjuJAb`>$_FH_BUtXC25ME80A2p7RDK}M zu%<`7q4A)u)Am>gFX51J>xEz0=aOcK-J=rTx$iZ{2%6frGTe>a5g!+doStbZ6-t@j zYA#u>*F~?Rn#^75o%m+qCrde$S+Q@oETfme z*VSQH6~=|ULVO(=o=!LDf`jOe|xvJ0CR@(quC@538{8E+yZkk!%=_j=$Lz0 zT)}ig&4ClZaU%dv3{W#b`S~NCP@f|`b*0is;d*iyK*PXFiONsLQizOLZv1e1Y($8* zHqXtBhjt17^%xQ9!`3C^xF4XIhl!65>*iwYcRXvccz3iFm-1F82ujQj(8 za#!%ezeu+C`3=}!nuOmyOkd}xj=ov-Y0Qk>^|{Mw#G~*0 z|HnE25a7=Y4z85BEF~0Zo?%qcLp0BLq`lI@iO59w^T#!-L*?oEb_GKW+M)Hf)KFn- z3mVdSy|^MC=W`c1u)ianCh_!dvwDrP^A6Dn;Za!Z;gXB5Czy?U%d|4dMZT=(eqc9T za*ZVdwCK+sVs|SqLUsT%ADpj+eDz4ABEGu_C?Ipq%{-jy@|j^BoM#(+DO*fo8>L)Zn<6(4u7sY4K&bhUDw}U8Y~POrUd1s%O}k21NjDriKqXI zMyBqo;TCexer_SHci_4x*BtskCyIaB(7akn6(4aYWfIyba6l5g5sW(N68tZEB9j`4 z(l|If^_g*jKgeV}=>`68dM{z0Nv@o`Aoq|dKrSr>b_qLJ1dyGHo+mEoy*m8(w9J3( ztqeDWyK^5k72AlX2C${Zqf?7j8JYkWYruv2E(O z_nexBW*Hzz zjsG|9^1Up$tPnaj)+i<<@W0IkTm2FybB^&#LiT65UyrN5h0X^QKXZ@QQGm4Ww+z$zxx}8EQZXK`x}ojTfBF6? z%B<|{uKqkdz-^qyDB=03j8CuWO1Rur=&0n2K%x%@t6@97boM2y015dnB3_2t%)8P&s&dyoi-LgK|JiNTlW{}NW<6u4^y1UGD$xUN#HtXa_P+>~HM z``BhphDw8_=mCs~csGG*uwD35TP|#y=w-#avL(Y(&>W8fdQIeCCV%1lb2fg8YMW{t zf7J4{K@ij(Ya!)jaFZbzv_nM8{&r}4`KRVxs26Cveb`Z9miC(~{SKc*@06x*JM^7d~|Lv<%(0@sAYX9pp^2$PAb;8OY!_thU z%bPA4EQM_qxqrY<{_wq}Q1UmTAtYQEu6+Yi^aRhp%t5ND_=$8D3*M;D zwuHVgbR1jr!PW>&;2gu>Z!tW=caXmfmMBdf8X3IbbptZ~7-p{xjoc0(q~{Vh232&t zabvhO$M_swXl;RN3w(R%b$;w?`1(l<&abU#cO}w6EIJJ^v_~KSix3(WWyLq z&s-TTb@fYIge0H$&pGpi7`GfdTw+OSaY^+twA+zzWw*)=qj~>+vZIp|orWOM%EVw! zRQk>*)736eC=nI`SPb{sZh@a&;GhKG}L{q1UjO9yJoJoRX100Gnlsis6LX;hBSMq4f8HJh2` z_C~7)FN)C9X4~DxI^$*+=g-qo!i^)9j8kTpR{vOH78kPZ(>@{D^DK79+S>AIDMmDR z%!>ngTn_|02A-0wZwzOdJkxhs&`(Mj8_8D2+#p>XxOY<-5WiJEHaKu&#u;G~zKSBH zxJ67`&UcZXwJ-<*vOd7iaQCGCvI-o}JDsJV-@CuTA^#$Wih)5MXrYRC_X{Tz{F{@Zl|PPA?_51vv&5*RGY#=aJa;ygdD}uS&0|do&d` zF_5R1>4mA$3X|N=3JMN3VItT2QEdHDu7I`RojXl>3&D#bJ?H)rmqWqTvTsqs6J1k- z$VHG4ee&Y?VwYOnF`xVDW7xpc)XHaP&bmi&5o!5A)dg_T!9wDwNcJzSt*KM6YBq$g z7nm{>5!n^toWYY$v)>b7UQOVlIkfV7Ykjc%KxdMaPLR{mCqznEB`ZOKqr|5w&638V zv9aYPsvhg)yh7StJz)Df__TVhcOrolAAe0E@k9wgp0W>wD35n`7QAm%b6M%;NiQ=Z z<;zlKA=gha4~tD}VJhf~;$;?I-KO92N^uL^rT0QaaL1+SwU}E>zI7(J7bCfashDGI zPn0ssjCYMW!qy$fuEM%~#kwheGOuRJ=hXB>WT)Nzwh17)vfITu+{P1muj`qPD-HZS zEX|WrV7zvkuTZZ^Jm*`DmM&)9HD<=qdJ66BCTO@1ms7Z?Ep>8{uJ>=E6|ZbP9qs%` zS%Kv7UI!b}X^oIj{8>jD3Pu!BkH3!`usm$LcX6$G6-Kj@-{o2h;FN%+^%!=t9<;vgP2XAl^Mq>K?^vkAqv) zQHwxWZH`PtEk2d<%N^FOt9e=NrxeORslc|tRM)Myw`T*v!KJxGlrKr4>|T#gc;aoi zUQmq20t}?}I8G_5|HRvP;1TMswq>Ayc9xxTNfkFCu7#R(^jTNCd}!KLclJnJK3ZP9 zUbLjPX%tH}|0N5<)nA=`lNZ`%+ZR+h z*Pm}66}!nXr>Kf4iErtP>9I>mh+BO;J0>ZAleo2HD*4*}QNu-D*NzLOA8>J=5OxcS z2w(qc$?xNzBPA^l!tJ-We~N?kxZSKIfn3GxJ1cA4*{WhpEU;$tRWgy;vQYP^e@c|g zmwyS4b<4u6NZQ%g)4_-s&o{tVGou0iE)&G{w@1Dx<3A1cE^amvsrG=LseRIeJjUY{ zw-U1hyUkUqg{oe9M=OAry4&T?ywPpAUb`86ZU5`GrLKFcJ=M~eI24SstVTg#V~I_` zd#@*^H#0iHzAJ`H53w*OnY~f%Ggt|G!=sx+H&LNr!pkfIeX$BFp=_T1>EUUbP+?)z zp~&buUNQ(u>8E{ zE24MnusSLz4!ea#7B|b6TsYy)4LE&1!$uu8{fg#$4DS9|t;qS>24$=H94CPzyn(-J=>7Z~{0i1C@ayn_&Je|1xKnKy`X3fA|+~li$T{LFyU<(j6A! z>Ij1BWE||ygkS_(%I_%I6{EP^jo0N|>HKxT&)Ym)X~Bp-OOk?HoPt}}SOH)Os07sM z?VFrNsuBT7trR72M{TNrHaX#gc<9g3j7uJzLm+u-!Sv(PKXv})G^|~JBYPTLY`wToyX$7 zrm0^{erw`<9wAeF@-L01x@(>1ed?BNJQuuDyA6l@J7Eg@c}hlqWX|uUq2nyXob<** zBRuLBsPRPKq(j2chgS@m$SNuit1<)6ke8o=t@08GQh2rbLrT@94Gj%%YT)j?b1MY0 z*omGX<|I&qjAq@9ApTF1UQD>-tM&D8h`^)4>r8n9y%Q7ktM8ctm`bjgC$x9jUvg~iiAqrTMAvD1Xl3xkSx&v5d1uD0W1orJW8mRA!Wf{F% zsdKR~uJA{hl5pY~8@bkv>0kZT$1^$w0QWFr$p(DH3xKM6^E~foA8`tY5-MCT{(JQQ z_1~Z(xG&V{3VlYSp5k-fwFi=F?LLmhNBe%J%?sK=x_eVn&ON>8{bqa|&RgKJmRlHw zi?c1EYF}TuRGK~o+oe3|ApHg=BE?+tne-onI0e^a2IN>8aWVw(pQi`hA>rT_Y0|9* z;_D-ENX}^6*Vk%BE_Ev>4#weJ4w?!P?K^dfaY6o;w0a%M#NnK8rM>zNYz9Zmr=FeE z9fG$qk?6ah9TXIVD-Cf=+<6YVN3g&5Lq8z-X510HQR8$fB17hO?D>Z%13+h373*92hQdL-IDr#zeVlwxS5Zh+loRj;aiPPXn z+7O0%T-V$<{*yz8h8qC7qW5TTKHWb({}hm*cUFT{@6NR{t2=$@eJ6k-XN#;W-S)`+2KBn0HHHibnFcE9}j{*!Rs$DDgak@ z=$Cw7RjOQ;z*bq>k+-$AMLAUA6A~`fD&+53=Ulf8l?KJ*q&xOWA{q2Hf6BzIsV=y+t7>Sb z&ndnDU3|LxZRP!UTFZahSr!qv>FMb}sQobkIpZjMQ&SR!+%0INDe(;rI$&ryf`wCk z@iB)vc`xWCO?INU+a+n848sDAAD68^#>WHTewtg34LEdn?cKp}ch&BK{j|v@99~pM zH-F(ztC3Vs&giaCP@Ry#`~0_h2LYm!<uD-U(t<(*{-NTXfH^ zdP8T4&;~~@RCq)95LSO^jd4$8r4j_4L@$*paA-{T$fSdM@?sWZL#gg@xBCI8Sn{1>oKrLV_SK6xp}` z6uAC6&APAFF#BAhnd2Z!(sPYD>6B2$E!wQdWw%4*>y{ZDDGF05S;p9)VvaZ_K zkx&Zbfu&UhMMBV~6npK_@6vuhPvXx{Y-got<;8ckANfj03s#+5*nTdT9BGN3G()GB zO@hbm?^tG5nVqpZPj7$nO7&d#jSrpSpaA;)DQDxdKv25!fa7nb@Anlx2^*_y6xQ}o z_h?)ogm98jG}Mh38G1>HO%+`JWhH(Q1)H08+$ydjB#dM)Y{8{IXWvQ%_Uu~P?ZKD8 zUg`g}sP^+9elro6Gh7>dc}UsR;}hGgk7O@j!=lwSH0TbE(Pq7vH3tT$@k_=1>3IF(v+`6T% zK+EQ}6NDQ|fyw%;znAIm_M+Se9NRE;1UaDd5oF6Jf6M~P$1jRNJVVLYLyP1a4S##_ zzZ=ZS?olHsaz`cSyCW%55kJ?_Bp#k=F__+``|T>iZzbMD3Ox0-@yC48NYLu&0XeA>z4tq=rjH$O$zz zO7@2U>YCG>YW1r4Yl;dd#x)iD%cGEg_u9X0Sb3UNI(lK}`S7E|@sMGxj$${K8qolZ zN|b3p^VkJ@3dnpXpkRD)_d$$M(Lp3#G^1Di*+2i?17MUVi+oa$TQZ-hp&~>e5a2ae z4u@p-vr5=mDznMR;zq@c%8t>^@F2+E-ku^mne%)nvkDxP`CfbvN2B04C73<<6W8aT zZ1wkro}xVQbU+2Q;m6j-C-hz06s$S=+OSI&hw49hl9So1BU8r$K*Ro&a2T+S><$;3 zhk>tmzl3%JimiW_PW(1IKQBH-EDZFRT$T;RLy)R#YFe$mXYjngP&-IA@00`Pi}fWs zjpK7dlE1${%)K5#0`4O{&Pi0AWJaLL$%8T^^6%~RkAw|c4J$`IUcOI70P-^IN*;&{ zC(tf;)Zv!bRwt#H+J`vc&A5(7Z)TFO(1WwH`-z!Ea@dyv^147jBjCu?9`u|ezX9Tx z&Sl}wbD8`;GJkyi-~E&{b9xsr;Hu(NGiGIFb#7LbA`q3OGdQ>A9efQ#8EcEf06iWA zP)}q))$Kugq)dGtIOpR9Hjs=#k90mV{yaf{H)-L{aNv`2t{V$!c|gmj9)swQ2IBEC z*j_eIx5LS_9jX#S0f5$#9bJbL zQr9SG3)6`?`6=k>2aCGEX4~d?TkZF(DM*FLrST|TE zO&8Sa)sz)|bv8*2?oAFgIrsgHaJCj0hH zPU^tc%>|>`YXPzxhkAdUQgtxdqF@Ubdc#Ek4ETFmms3aC8?*yl_T;y7^cIbLiOD}< z!T#1*;2?eGu!n;`dWEcUz*EAfdra}Z1Bx0sv$u1Xm=VSPi_03?DPM%ccoEHU0aw85FmglW0fF- zMG+ZXEforC5*jSj8YqaMNg(Yjf&!At6lA)Wf(i0(`&beQlbBUdKF&`YbQs|`?e0Bh9pGE|U(UzM@U^QSA0U)Lq z6F3LrTdZ|TQIB?@m z%49H5>eTMlwoV+qR&SR*bLY#-c2^&n_HNGG_CJje)k2AhNjoOTG$!Vrfqw_4*ohN3 zg9#~i=3r7jN~-qjjUn&4xM}0yWwAzh)C)&vLW&9qCndv3@fOa5{_@c5?JpndB~C=< z`&?$6!y0ISbA_BIAMUAo>sJd^LYSlA=UBzEiQ*t_*)XN zIDBUo+acCbz(QlYvGSqd;_Z?wJ1a`pj);h@ZkZjbNjKZ23d4uK<0Y76pD$Zmk6zM{ ze%M<5$4wcy1ZTy8^Gegi2%sMYyYTh%cERnmyBBQ<22FVzii3d^_`l)dxDR7VOch z;n5Qr)~8i*(tA)W>aW8YYEC8zG;xQF1yQKB4RljH@VZ$aPY5UN7FiIP*3Q>Q$%7ug zcZ#vXL`I;hPKU((+NU>L5XY??(<3nk1SQ$C>GD3}U&}m9SFGCKIq72P;m6J?uBq-- z&9a(QBiPtTYHYSjT(J|v*tir)3v#k8-V{XSQP_T-I!Z6Og^}0)T5{Q_`j0BdarJfcEc*$G!3U8iUSzZEJ zMfk2=yEuEJ0gi*VKvh`sql6O8Tj!Tb@4Gw+ZT~p>k%WA5sqXqEjgmG5;ynjkj}pL* zNE%MMU05XpiF$^|J*~`5+d++}^MM-nzGP1>cLlFVnN%(`!nM{5$W#5l87pD&G#%w-+i-_auS`PUb5%n!KiQ95)Yd32n(h&LM~Y4F zeit>d`Egz3i``u{hc;sUf<%iZdleV;jYjq8izB&f+ zP1%x%{_$8)i`*qODYwBf0{f836GuLp>Jff4H9%-9YT!xpdS1SVx!aW9yI4h~l{(^5YG_*d1ELSC!eEjRkQddJJYK+8jD7+ITY zA*=)^p^C#8EG*hz3|CYy3D(VVznN;SAp4qnl+?ymwf$0k@ckdJMa^xD&cxY}Nn}Ha zdvE|jb{gKo)>FdHGV8R|>{Ew>3@F)3?gQ{Uv7pO&JuhE|Hn`VNONKB;7TiHwEzVMf z%#aLYcpM~vB6BZ}d@mvjubqCdCh7gepwg7j1Rc*=T3~ zscRi4`Xld;UaUY>5O&`x9YUq02FqVm5qVD+C~EB96v@}P^~Mn)q8aF@B!*IoO|W!2 zJs-Hg>@_KNIf$IlpfhiXm|vQC^F(W3*nP&KVg15IiEwv(3ytfBlc`HBY88if5-VE} zBHo`T@-^WOhBG5FQTIZOxW+`RkV%s0XFzBTI0kOvU$6`CdZ52_`E28gbNzj>j`UdbL0@A&aly_(Ql!qijX&f9 zV*SPxFBBuRpY;z2kUjXW3yKor!r|ZTDp;MI+v>1lvS>pBjKKjaPFftAihKmCI>4uL z%TdWc;^Djjqs3}-Yy=f*t4eqo-~~eq-R7424v3xtuIHnG8V+3n{dj25N4ny`HQA7? zw@R?sn2-p6(So$pS+X{^5ChMPPqAu+JySYO!n24xrIv`tA5&*>L`=4*KlrKIF>pZE z+&ibr+mK$!Bxf}s9jeR7gq(6|{e`#{d>CoclC+a2(vf5tP1>;~6LK}JpTQu$s6sp1 zCStTdEg@pFh>41f)wvzGpNBA^_u^|8zAtG(%He+L`Q1wU4!{yDvCJxFMXsZ-P6u_! z$iml@`)z#oJA4J}xJcW)Q-XxcinO|F`x}-dMGz0Pcyi+UbOBhC57zvmRNwW$8qK6{ zzEoe)8e6DDakPbZ`eGxdF>>Byq8(k*PnjJYV8q)$62i7@Yz3S9eu_l#GbLWW>Zpf< z1LrA;tWIfyB~d(0yO%QiqVQhwpr`kmR~hiKNK}5B!!%>LslePap?D)AVX2^6GD(~C zcV$cE1EcK2B4Z1FOv;CZp*l>GE0j6PZ%*Ye_VisYXsA$z{42RjlP||Re&RRev7Dha zwp3f~vcGhV=53XPiy1yNn%DP4L)ymSvCbxnd8OF*mPbpKkaB_Pc*~8hf6;aHbDG!K zd7n?;#k*E|Fs1@3rxRI`ht9}fGByM<)JbMkL&^c&mFF>}<6urWMZs7JV2yZX%IB|`F2Jvt#fsEKQu3p%Toqac&>&Mt@p?Pk3E zW@o;}t*h*1<_0Y_EEqf&zQ1g%U)ix|gYxx?``2}8$xZijXDBW$?AozNwWeve5hTb! zt!GrWE!pqXspcO7C^I*QMfGFnoJk6Sxzk^~7F}}Xj8CD5?iT9a8g$jlRLxOnXX3Kh zYq&k4sVRNJ4<{RogIz`j&J`PMvNeBG$Nt_#(Gg881N9t1sjZP#sqx$=w7}0x^!d^{ z>IfS5MmV59IMXzINFNS@@qepYC@t?5s6|lKE zLv4ISpD#uR8G(t2U-8ER2=&EOe*Fn+G3$gCBq`w?uoQ%Po3)_KfVCmM7c T!#m+Hd=(WBHwOKxD<|bYZA>yx literal 0 HcmV?d00001 diff --git a/public/.env.dev b/public/.env.dev index 637877e..17c1bf3 100644 --- a/public/.env.dev +++ b/public/.env.dev @@ -1 +1 @@ -REACT_APP_MODE = 'buildDev' +REACT_APP_MODE = 'buildDev' diff --git a/public/.env.devtest b/public/.env.devtest index b2b1f3b..66b10ca 100644 --- a/public/.env.devtest +++ b/public/.env.devtest @@ -1 +1 @@ -REACT_APP_MODE = 'buildDevTest' +REACT_APP_MODE = 'buildDevTest' diff --git a/public/.env.pre b/public/.env.pre index cea572a..fbfb1ac 100644 --- a/public/.env.pre +++ b/public/.env.pre @@ -1 +1 @@ -REACT_APP_MODE = 'buildPre' +REACT_APP_MODE = 'buildPre' diff --git a/public/.env.test b/public/.env.test index 8c04c56..4ace19f 100644 --- a/public/.env.test +++ b/public/.env.test @@ -1 +1 @@ -REACT_APP_MODE = 'buildTest' +REACT_APP_MODE = 'buildTest' diff --git a/public/.gitignore b/public/.gitignore index 17a4362..32bde0a 100644 --- a/public/.gitignore +++ b/public/.gitignore @@ -1,32 +1,32 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -/build - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw* +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +/build + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* diff --git a/public/README.md b/public/README.md index a15a7c6..01a961f 100644 --- a/public/README.md +++ b/public/README.md @@ -1,2 +1,2 @@ -# AutoDeployClient -前端项目自动部署的前端代码 +# AutoDeployClient +前端项目自动部署的前端代码 diff --git a/public/package.json b/public/package.json index 7028473..06e090f 100644 --- a/public/package.json +++ b/public/package.json @@ -1,46 +1,46 @@ -{ - "name": "material-ui-admin", - "version": "0.1.0", - "private": true, - "homepage": "./", - "dependencies": { - "@material-ui/core": "^4.9.10", - "@material-ui/icons": "^4.2.1", - "@material-ui/lab": "^4.0.0-alpha.56", - "axios": "^0.21.1", - "env-cmd": "^10.0.1", - "good-storage": "^1.1.0", - "node-sass": "^4.12.0", - "nprogress": "^0.2.0", - "react": "^16.9.0", - "react-dom": "^16.9.0", - "react-intl-universal": "^2.4.3", - "react-router-dom": "^5.0.1", - "react-scripts": "3.1.1" - }, - "scripts": { - "dev": "react-scripts start", - "build": "react-scripts build", - "build:dev": "env-cmd -f .env.dev npm run build", - "build:devtest": "env-cmd -f .env.devtest npm run build", - "build:test": "env-cmd -f .env.test npm run build", - "build:pre": "env-cmd -f .env.pre npm run build", - "test": "react-scripts test", - "eject": "react-scripts eject" - }, - "eslintConfig": { - "extends": "react-app" - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - } -} +{ + "name": "material-ui-admin", + "version": "0.1.0", + "private": true, + "homepage": "./", + "dependencies": { + "@material-ui/core": "^4.9.10", + "@material-ui/icons": "^4.2.1", + "@material-ui/lab": "^4.0.0-alpha.56", + "axios": "^0.21.1", + "env-cmd": "^10.0.1", + "good-storage": "^1.1.0", + "node-sass": "^4.12.0", + "nprogress": "^0.2.0", + "react": "^16.9.0", + "react-dom": "^16.9.0", + "react-intl-universal": "^2.4.3", + "react-router-dom": "^5.0.1", + "react-scripts": "3.1.1" + }, + "scripts": { + "dev": "react-scripts start", + "build": "react-scripts build", + "build:dev": "env-cmd -f .env.dev npm run build", + "build:devtest": "env-cmd -f .env.devtest npm run build", + "build:test": "env-cmd -f .env.test npm run build", + "build:pre": "env-cmd -f .env.pre npm run build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": "react-app" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/public/public/index.html b/public/public/index.html index 0c04f48..f1382c7 100644 --- a/public/public/index.html +++ b/public/public/index.html @@ -1,44 +1,44 @@ - - - - - - - - - - - - - MareWood - - - -

    -
    - - - + + + + + + + + + + + + + MareWood + + + +
    +
    + + + diff --git a/public/public/manifest.json b/public/public/manifest.json index e4c94e6..43cef37 100644 --- a/public/public/manifest.json +++ b/public/public/manifest.json @@ -1,25 +1,25 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/public/public/robots.txt b/public/public/robots.txt index 01b0f9a..fa06a75 100644 --- a/public/public/robots.txt +++ b/public/public/robots.txt @@ -1,2 +1,2 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * +# https://www.robotstxt.org/robotstxt.html +User-agent: * diff --git a/public/src/App.js b/public/src/App.js index b6df0f2..1e9b2c6 100644 --- a/public/src/App.js +++ b/public/src/App.js @@ -1,53 +1,53 @@ -import React, { useEffect } from "react"; -import { HashRouter, Switch, Route, Redirect } from "react-router-dom"; -import i18n from "react-intl-universal"; -import CssBaseline from "@material-ui/core/CssBaseline"; -import Admin from "./views/layout/index.js"; -import Login from "./views/login/index.js"; -import Register from "./views/register/index.js"; -import NotFound from "./views/error/404.js"; -import { getToken, getUserLang } from "./utils/dataStorage.js"; - -const locales = { - "en-US": require("./i18n/en-US.json"), - "zh-CN": require("./i18n/zh-CN.json") -}; - -const App = () => { - const [initI18nDone, setInitI18nDone] = React.useState(false); - - const loadLang = () => { - i18n - .init({ - currentLocale: getUserLang(), - locales - }) - .then(() => { - setInitI18nDone(true); - }); - }; - useEffect(() => { - if (initI18nDone) return; - loadLang(); - }); - - return ( - initI18nDone && ( -
    - - - - - - - - {getToken() ? : } - - - -
    - ) - ); -}; - -export default App; +import React, { useEffect } from "react"; +import { HashRouter, Switch, Route, Redirect } from "react-router-dom"; +import i18n from "react-intl-universal"; +import CssBaseline from "@material-ui/core/CssBaseline"; +import Admin from "./views/layout/index.js"; +import Login from "./views/login/index.js"; +import Register from "./views/register/index.js"; +import NotFound from "./views/error/404.js"; +import { getToken, getUserLang } from "./utils/dataStorage.js"; + +const locales = { + "en-US": require("./i18n/en-US.json"), + "zh-CN": require("./i18n/zh-CN.json") +}; + +const App = () => { + const [initI18nDone, setInitI18nDone] = React.useState(false); + + const loadLang = () => { + i18n + .init({ + currentLocale: getUserLang(), + locales + }) + .then(() => { + setInitI18nDone(true); + }); + }; + useEffect(() => { + if (initI18nDone) return; + loadLang(); + }); + + return ( + initI18nDone && ( +
    + + + + + + + + {getToken() ? : } + + + +
    + ) + ); +}; + +export default App; diff --git a/public/src/api/category.js b/public/src/api/category.js index 56d88c5..18fc335 100644 --- a/public/src/api/category.js +++ b/public/src/api/category.js @@ -1,52 +1,52 @@ -import request from "../utils/request.js"; - -/** - * 获取全部分类 - * @param params - * @returns {AxiosPromise} - */ -export function categories(params) { - return request({ - url: "/categories", - method: "get", - params: params - }); -} - -/** - * 删除分类 - * @param params - * @returns {AxiosPromise} - */ -export function destroy(params) { - return request({ - url: "/category/delete", - method: "get", - params: params - }); -} - -/** - * 编辑 - * @param params - * @returns {AxiosPromise} - */ -export function create(params) { - return request({ - url: "/category/create", - method: "post", - data: params - }); -} -/** - * 更新分类白名单字段 - * @param params - * @returns {AxiosPromise} - */ -export function UpdateField(params) { - return request({ - url: "/category/update_field", - method: "get", - params: params - }); -} +import request from "../utils/request.js"; + +/** + * 获取全部分类 + * @param params + * @returns {AxiosPromise} + */ +export function categories(params) { + return request({ + url: "/categories", + method: "get", + params: params + }); +} + +/** + * 删除分类 + * @param params + * @returns {AxiosPromise} + */ +export function destroy(params) { + return request({ + url: "/category/delete", + method: "get", + params: params + }); +} + +/** + * 编辑 + * @param params + * @returns {AxiosPromise} + */ +export function create(params) { + return request({ + url: "/category/create", + method: "post", + data: params + }); +} +/** + * 更新分类白名单字段 + * @param params + * @returns {AxiosPromise} + */ +export function UpdateField(params) { + return request({ + url: "/category/update_field", + method: "get", + params: params + }); +} diff --git a/public/src/api/repository.js b/public/src/api/repository.js index cac1f7c..584b48b 100644 --- a/public/src/api/repository.js +++ b/public/src/api/repository.js @@ -1,170 +1,170 @@ -import request from "../utils/request.js"; - -/** - * 更新仓库代码 - * @param params - * @returns {AxiosPromise} - */ -export function gitPull(params) { - return request({ - url: "/repository/git_pull", - method: "get", - params: params - }); -} - -/** - * 通过仓库 ID 获取分支 - * @param params - * @returns {AxiosPromise} - */ -export function gitBranch(params) { - return request({ - url: "/repository/git_branch", - method: "get", - params: params - }); -} - -/** - * 通过仓库 ID 裁剪支 - * @param params - * @returns {AxiosPromise} - */ -export function pruneBranch(params) { - return request({ - url: "/repository/prune_branch", - method: "get", - params: params - }); -} - -/** - * 删除仓库依赖 - * @param params - * @returns {AxiosPromise} - */ -export function deleteDepend(params) { - return request({ - url: "/repository/delete_depend", - method: "get", - params: params - }); -} - -/** - * 获取全部仓库 - * @param params - * @returns {AxiosPromise} - */ -export function repositories(params) { - return request({ - url: "/repositories", - method: "get", - params: params - }); -} - -/** - * 获取仓库分页 - * @param params - * @returns {AxiosPromise} - */ -export function repositoryFind(params) { - return request({ - url: "/repository_find", - method: "get", - params: params - }); -} - -/** - * 删除仓库 - * @param params - * @returns {AxiosPromise} - */ -export function destroy(params) { - return request({ - url: "/repository/delete", - method: "get", - params: params - }); -} - -/** - * 编辑 - * @param params - * @returns {AxiosPromise} - */ -export function create(params) { - return request({ - url: "/repository/create", - method: "post", - data: params - }); -} - -/** - * 获取仓库可执行脚本 - * @param params - * @returns {AxiosPromise} - */ -export function getScript(params) { - return request({ - url: "/repository/get_script", - method: "get", - params: params - }); -} - -/** - * 更新仓库白名单字段 - * @param params - * @returns {AxiosPromise} - */ -export function UpdateField(params) { - return request({ - url: "/repository/update_field", - method: "get", - params: params - }); -} - -/** - * 丢弃仓库文件改动 - * @param params - * @returns {AxiosPromise} - */ -export function discardChange(params) { - return request({ - url: "/repository/discard_change", - method: "get", - params: params - }); -} - -/** - * 仓库提交日志 - * @param params - * @returns {AxiosPromise} - */ -export function commitRecord(params) { - return request({ - url: "/repository/commit_record", - method: "get", - params: params - }); -} - -/** - * 重置git仓库 - * @param params - * @returns {AxiosPromise} - */ -export function reset(params) { - return request({ - url: "/repository/reset", - method: "get", - params: params - }); -} +import request from "../utils/request.js"; + +/** + * 更新仓库代码 + * @param params + * @returns {AxiosPromise} + */ +export function gitPull(params) { + return request({ + url: "/repository/git_pull", + method: "get", + params: params + }); +} + +/** + * 通过仓库 ID 获取分支 + * @param params + * @returns {AxiosPromise} + */ +export function gitBranch(params) { + return request({ + url: "/repository/git_branch", + method: "get", + params: params + }); +} + +/** + * 通过仓库 ID 裁剪支 + * @param params + * @returns {AxiosPromise} + */ +export function pruneBranch(params) { + return request({ + url: "/repository/prune_branch", + method: "get", + params: params + }); +} + +/** + * 删除仓库依赖 + * @param params + * @returns {AxiosPromise} + */ +export function deleteDepend(params) { + return request({ + url: "/repository/delete_depend", + method: "get", + params: params + }); +} + +/** + * 获取全部仓库 + * @param params + * @returns {AxiosPromise} + */ +export function repositories(params) { + return request({ + url: "/repositories", + method: "get", + params: params + }); +} + +/** + * 获取仓库分页 + * @param params + * @returns {AxiosPromise} + */ +export function repositoryFind(params) { + return request({ + url: "/repository_find", + method: "get", + params: params + }); +} + +/** + * 删除仓库 + * @param params + * @returns {AxiosPromise} + */ +export function destroy(params) { + return request({ + url: "/repository/delete", + method: "get", + params: params + }); +} + +/** + * 编辑 + * @param params + * @returns {AxiosPromise} + */ +export function create(params) { + return request({ + url: "/repository/create", + method: "post", + data: params + }); +} + +/** + * 获取仓库可执行脚本 + * @param params + * @returns {AxiosPromise} + */ +export function getScript(params) { + return request({ + url: "/repository/get_script", + method: "get", + params: params + }); +} + +/** + * 更新仓库白名单字段 + * @param params + * @returns {AxiosPromise} + */ +export function UpdateField(params) { + return request({ + url: "/repository/update_field", + method: "get", + params: params + }); +} + +/** + * 丢弃仓库文件改动 + * @param params + * @returns {AxiosPromise} + */ +export function discardChange(params) { + return request({ + url: "/repository/discard_change", + method: "get", + params: params + }); +} + +/** + * 仓库提交日志 + * @param params + * @returns {AxiosPromise} + */ +export function commitRecord(params) { + return request({ + url: "/repository/commit_record", + method: "get", + params: params + }); +} + +/** + * 重置git仓库 + * @param params + * @returns {AxiosPromise} + */ +export function reset(params) { + return request({ + url: "/repository/reset", + method: "get", + params: params + }); +} diff --git a/public/src/api/system.js b/public/src/api/system.js index af73300..c1c485d 100644 --- a/public/src/api/system.js +++ b/public/src/api/system.js @@ -1,14 +1,14 @@ -import request from "../utils/request.js"; - -/** - * 系统信息 - * @param params - * @returns {AxiosPromise} - */ -export function systemInfo(params) { - return request({ - url: "/system/info", - method: "get", - params: params - }); -} +import request from "../utils/request.js"; + +/** + * 系统信息 + * @param params + * @returns {AxiosPromise} + */ +export function systemInfo(params) { + return request({ + url: "/system/info", + method: "get", + params: params + }); +} diff --git a/public/src/api/task.js b/public/src/api/task.js index f1fcec3..77549b5 100644 --- a/public/src/api/task.js +++ b/public/src/api/task.js @@ -1,105 +1,105 @@ -import request from "../utils/request.js"; - -/** - * 获取全部任务 - * @param params - * @returns {AxiosPromise} - */ -export function jobs(params) { - return request({ - url: "/tasks", - method: "get", - params: params - }); -} - -/** - * 通过分类ID获取任务 - * @param params - * @returns {AxiosPromise} - */ -export function taskFind(params) { - return request({ - url: "/task_find", - method: "get", - params: params - }); -} - -/** - * 任务创建 - * @param params - * @returns {AxiosPromise} - */ -export function create(params) { - return request({ - url: "/task/create", - method: "post", - data: params - }); -} - -/** - * 修改任务分支 - * @param params - * @returns {AxiosPromise} - */ -export function updateBranch(params) { - return request({ - url: "/task/update_branch", - method: "get", - params: params - }); -} - -/** - * 删除 - * @param params - * @returns {AxiosPromise} - */ -export function destroy(params) { - return request({ - url: "/task/delete", - method: "get", - params: params - }); -} - -/** - * 运行任务 - * @param params - * @returns {AxiosPromise} - */ -export function RunTask(params) { - return request({ - url: "/task/run", - method: "get", - params: params - }); -} - -/** - * 更新任务白名单字段 - * @param params - * @returns {AxiosPromise} - */ -export function UpdateField(params) { - return request({ - url: "/task/update_field", - method: "get", - params: params - }); -} - -/** - * 更新任务描述 - * @param params - * @returns {AxiosPromise} - */ -export function TaskLock(params) { - return request({ - url: "/task/lock", - method: "get", - params: params - }); -} +import request from "../utils/request.js"; + +/** + * 获取全部任务 + * @param params + * @returns {AxiosPromise} + */ +export function tasks(params) { + return request({ + url: "/tasks", + method: "get", + params: params + }); +} + +/** + * 通过分类ID获取任务 + * @param params + * @returns {AxiosPromise} + */ +export function taskFind(params) { + return request({ + url: "/task_find", + method: "get", + params: params + }); +} + +/** + * 任务创建 + * @param params + * @returns {AxiosPromise} + */ +export function create(params) { + return request({ + url: "/task/create", + method: "post", + data: params + }); +} + +/** + * 修改任务分支 + * @param params + * @returns {AxiosPromise} + */ +export function updateBranch(params) { + return request({ + url: "/task/update_branch", + method: "get", + params: params + }); +} + +/** + * 删除 + * @param params + * @returns {AxiosPromise} + */ +export function destroy(params) { + return request({ + url: "/task/delete", + method: "get", + params: params + }); +} + +/** + * 运行任务 + * @param params + * @returns {AxiosPromise} + */ +export function RunTask(params) { + return request({ + url: "/task/run", + method: "get", + params: params + }); +} + +/** + * 更新任务白名单字段 + * @param params + * @returns {AxiosPromise} + */ +export function UpdateField(params) { + return request({ + url: "/task/update_field", + method: "get", + params: params + }); +} + +/** + * 更新任务描述 + * @param params + * @returns {AxiosPromise} + */ +export function TaskLock(params) { + return request({ + url: "/task/lock", + method: "get", + params: params + }); +} diff --git a/public/src/api/user.js b/public/src/api/user.js index 9c3bbb1..5f90ee0 100644 --- a/public/src/api/user.js +++ b/public/src/api/user.js @@ -1,66 +1,66 @@ -import request from "../utils/request.js"; - -/** - * 用户注册 - * @param params - * @returns {AxiosPromise} - */ -export function register(params) { - return request({ - url: "/register", - method: "post", - data: params - }); -} - -/** - * 用户登陆 - * @param params - * @returns {AxiosPromise} - */ -export function login(params) { - return request({ - url: "/login", - method: "post", - data: params - }); -} - -/** - * 用户列表 - * @param params - * @returns {AxiosPromise} - */ -export function users(params) { - return request({ - url: "/users", - method: "get", - params: params - }); -} - -/** - * 删除用户 - * @param params - * @returns {AxiosPromise} - */ -export function deleteUsers(params) { - return request({ - url: "/user/delete", - method: "get", - params: params - }); -} - -/** - * 删除用户 - * @param params - * @returns {AxiosPromise} - */ -export function roleEdit(params) { - return request({ - url: "/user/role_edit", - method: "get", - params: params - }); -} +import request from "../utils/request.js"; + +/** + * 用户注册 + * @param params + * @returns {AxiosPromise} + */ +export function register(params) { + return request({ + url: "/register", + method: "post", + data: params + }); +} + +/** + * 用户登陆 + * @param params + * @returns {AxiosPromise} + */ +export function login(params) { + return request({ + url: "/login", + method: "post", + data: params + }); +} + +/** + * 用户列表 + * @param params + * @returns {AxiosPromise} + */ +export function users(params) { + return request({ + url: "/users", + method: "get", + params: params + }); +} + +/** + * 删除用户 + * @param params + * @returns {AxiosPromise} + */ +export function deleteUsers(params) { + return request({ + url: "/user/delete", + method: "get", + params: params + }); +} + +/** + * 删除用户 + * @param params + * @returns {AxiosPromise} + */ +export function roleEdit(params) { + return request({ + url: "/user/role_edit", + method: "get", + params: params + }); +} diff --git a/public/src/assets/font/font.css b/public/src/assets/font/font.css index 371fc8e..992f7fe 100644 --- a/public/src/assets/font/font.css +++ b/public/src/assets/font/font.css @@ -1,252 +1,252 @@ -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - font-display: swap; - src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} -/* cyrillic-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; -} -/* cyrillic */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; -} -/* greek-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2'); - unicode-range: U+1F00-1FFF; -} -/* greek */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2'); - unicode-range: U+0370-03FF; -} -/* vietnamese */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; -} -/* latin-ext */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} -/* latin */ -@font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; -} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: local('Roboto Light'), local('Roboto-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: local('Roboto Medium'), local('Roboto-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} +/* cyrillic-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2'); + unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2'); + unicode-range: U+0370-03FF; +} +/* vietnamese */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Roboto'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: local('Roboto Bold'), local('Roboto-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/public/src/assets/font/icon.css b/public/src/assets/font/icon.css index 2287741..e6ad232 100644 --- a/public/src/assets/font/icon.css +++ b/public/src/assets/font/icon.css @@ -1,23 +1,23 @@ -/* fallback */ -@font-face { - font-family: 'Material Icons'; - font-style: normal; - font-weight: 400; - src: url(./icons.woff2) format('woff2'); -} - -.material-icons { - font-family: 'Material Icons'; - font-weight: normal; - font-style: normal; - font-size: 24px; - line-height: 1; - letter-spacing: normal; - text-transform: none; - display: inline-block; - white-space: nowrap; - word-wrap: normal; - direction: ltr; - -webkit-font-feature-settings: 'liga'; - -webkit-font-smoothing: antialiased; -} +/* fallback */ +@font-face { + font-family: 'Material Icons'; + font-style: normal; + font-weight: 400; + src: url(./icons.woff2) format('woff2'); +} + +.material-icons { + font-family: 'Material Icons'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; +} diff --git a/public/src/assets/img/logo.svg b/public/src/assets/img/logo.svg index 6198d4b..80c2b02 100644 --- a/public/src/assets/img/logo.svg +++ b/public/src/assets/img/logo.svg @@ -1,43 +1,43 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/src/assets/jss/common.js b/public/src/assets/jss/common.js index b2e0182..324c1a4 100644 --- a/public/src/assets/jss/common.js +++ b/public/src/assets/jss/common.js @@ -1,10 +1,10 @@ -const tooltip = { - maxWidth: 600, - padding:10, - maxHeight:"60vh", - overflowY:"auto", - whiteSpace: "pre-wrap" -}; - - -export {tooltip} +const tooltip = { + maxWidth: 600, + padding:10, + maxHeight:"60vh", + overflowY:"auto", + whiteSpace: "pre-wrap" +}; + + +export {tooltip} diff --git a/public/src/assets/style/style.scss b/public/src/assets/style/style.scss index 6dcd6cf..7ba64e4 100644 --- a/public/src/assets/style/style.scss +++ b/public/src/assets/style/style.scss @@ -1,52 +1,52 @@ -@import "../font/font.css"; -@import "../font/icon.css"; -@import "./variables.scss"; - -a { - text-decoration: none; -} -::-webkit-scrollbar { - width: 4px; - height: 8px; - background-color: #f5f5f5; -} - -::-webkit-scrollbar-track { - -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); - background-color: #f5f5f5; -} - -::-webkit-scrollbar-thumb { - //-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); - background-color: #673ab7; - border-radius: 4px; -} - -.tag { - padding: 2px 4px; - border-radius: 3px; - white-space: nowrap; - background-color: #9e9e9e; - color: white; -} -#nprogress { - .spinner { - width: 100vw; - top: 0; - display: flex; - right: 0; - align-items: center; - background: rgba(255, 255, 255, 0.68); - justify-content: center; - height: 100vh; - pointer-events: auto; - .spinner-icon { - border-top-color: #3f51b5; - border-left-color: #3f51b5; - } - } - .bar { - background: #3f51b5; - z-index: 1032; - } -} +@import "../font/font.css"; +@import "../font/icon.css"; +@import "./variables.scss"; + +a { + text-decoration: none; +} +::-webkit-scrollbar { + width: 4px; + height: 8px; + background-color: #f5f5f5; +} + +::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + background-color: #f5f5f5; +} + +::-webkit-scrollbar-thumb { + //-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3); + background-color: #673ab7; + border-radius: 4px; +} + +.tag { + padding: 2px 4px; + border-radius: 3px; + white-space: nowrap; + background-color: #9e9e9e; + color: white; +} +#nprogress { + .spinner { + width: 100vw; + top: 0; + display: flex; + right: 0; + align-items: center; + background: rgba(255, 255, 255, 0.68); + justify-content: center; + height: 100vh; + pointer-events: auto; + .spinner-icon { + border-top-color: #3f51b5; + border-left-color: #3f51b5; + } + } + .bar { + background: #3f51b5; + z-index: 1032; + } +} diff --git a/public/src/assets/style/variables.scss b/public/src/assets/style/variables.scss index d7f943f..3ddb052 100644 --- a/public/src/assets/style/variables.scss +++ b/public/src/assets/style/variables.scss @@ -1,2 +1,2 @@ -$sideBarWidth: 260px; -$animationFunc: cubic-bezier(0.65, 0.05, 0.36, 1) +$sideBarWidth: 260px; +$animationFunc: cubic-bezier(0.65, 0.05, 0.36, 1) diff --git a/public/src/components/copyright.js b/public/src/components/copyright.js index 44d1d4f..58f8d16 100644 --- a/public/src/components/copyright.js +++ b/public/src/components/copyright.js @@ -1,17 +1,17 @@ -import React from "react"; -import Link from "@material-ui/core/Link"; -import Typography from "@material-ui/core/Typography"; -import Config from "../config/index"; - -export default function Copyright() { - return ( - - {"Copyright © "} - - {Config.siteName} - {" "} - {new Date().getFullYear()} - {"."} - - ); -} +import React from "react"; +import Link from "@material-ui/core/Link"; +import Typography from "@material-ui/core/Typography"; +import Config from "../config/index"; + +export default function Copyright() { + return ( + + {"Copyright © "} + + {Config.siteName} + {" "} + {new Date().getFullYear()} + {"."} + + ); +} diff --git a/public/src/components/detailsPanel.js b/public/src/components/detailsPanel.js index 0fad993..c7564ee 100644 --- a/public/src/components/detailsPanel.js +++ b/public/src/components/detailsPanel.js @@ -1,98 +1,98 @@ -import React from "react"; -import { withStyles } from "@material-ui/core/styles"; -import Button from "@material-ui/core/Button"; -import Dialog from "@material-ui/core/Dialog"; -import MuiDialogTitle from "@material-ui/core/DialogTitle"; -import MuiDialogContent from "@material-ui/core/DialogContent"; -import MuiDialogActions from "@material-ui/core/DialogActions"; -import IconButton from "@material-ui/core/IconButton"; -import CloseIcon from "@material-ui/icons/Close"; -import Typography from "@material-ui/core/Typography"; -import PropTypes from "prop-types"; - -const styles = theme => ({ - root: { - margin: 0, - padding: theme.spacing(2) - }, - closeButton: { - position: "absolute", - right: theme.spacing(1), - top: theme.spacing(1), - color: theme.palette.grey[500] - } -}); - -const DialogTitle = withStyles(styles)(props => { - const { children, classes, onClose, ...other } = props; - return ( - - {children} - {onClose ? ( - - - - ) : null} - - ); -}); - -const DialogContent = withStyles(theme => ({ - root: { - padding: theme.spacing(2) - } -}))(MuiDialogContent); - -const DialogActions = withStyles(theme => ({ - root: { - margin: 0, - padding: theme.spacing(1) - } -}))(MuiDialogActions); - -class DetailsPanel extends React.Component { - constructor(props) { - super(props); - this.state = {}; - } - - render() { - return ( -
    - - - {this.props.title} - - - {this.props.content} - - - - - -
    - ); - } -} - -DetailsPanel.propTypes = { - open: PropTypes.bool.isRequired, - content: PropTypes.string.isRequired, - title: PropTypes.string, - onClose: PropTypes.func -}; -DetailsPanel.defaultProps = { - title: "查看详情" -}; - -export default DetailsPanel; +import React from "react"; +import { withStyles } from "@material-ui/core/styles"; +import Button from "@material-ui/core/Button"; +import Dialog from "@material-ui/core/Dialog"; +import MuiDialogTitle from "@material-ui/core/DialogTitle"; +import MuiDialogContent from "@material-ui/core/DialogContent"; +import MuiDialogActions from "@material-ui/core/DialogActions"; +import IconButton from "@material-ui/core/IconButton"; +import CloseIcon from "@material-ui/icons/Close"; +import Typography from "@material-ui/core/Typography"; +import PropTypes from "prop-types"; + +const styles = theme => ({ + root: { + margin: 0, + padding: theme.spacing(2) + }, + closeButton: { + position: "absolute", + right: theme.spacing(1), + top: theme.spacing(1), + color: theme.palette.grey[500] + } +}); + +const DialogTitle = withStyles(styles)(props => { + const { children, classes, onClose, ...other } = props; + return ( + + {children} + {onClose ? ( + + + + ) : null} + + ); +}); + +const DialogContent = withStyles(theme => ({ + root: { + padding: theme.spacing(2) + } +}))(MuiDialogContent); + +const DialogActions = withStyles(theme => ({ + root: { + margin: 0, + padding: theme.spacing(1) + } +}))(MuiDialogActions); + +class DetailsPanel extends React.Component { + constructor(props) { + super(props); + this.state = {}; + } + + render() { + return ( +
    + + + {this.props.title} + + + {this.props.content} + + + + + +
    + ); + } +} + +DetailsPanel.propTypes = { + open: PropTypes.bool.isRequired, + content: PropTypes.string.isRequired, + title: PropTypes.string, + onClose: PropTypes.func +}; +DetailsPanel.defaultProps = { + title: "查看详情" +}; + +export default DetailsPanel; diff --git a/public/src/components/editField.js b/public/src/components/editField.js index 62482f0..d7e6231 100644 --- a/public/src/components/editField.js +++ b/public/src/components/editField.js @@ -1,143 +1,143 @@ -import React from "react"; -import { withStyles } from "@material-ui/core/styles"; -import Button from "@material-ui/core/Button"; -import Dialog from "@material-ui/core/Dialog"; -import MuiDialogTitle from "@material-ui/core/DialogTitle"; -import MuiDialogContent from "@material-ui/core/DialogContent"; -import MuiDialogActions from "@material-ui/core/DialogActions"; -import IconButton from "@material-ui/core/IconButton"; -import CloseIcon from "@material-ui/icons/Close"; -import Typography from "@material-ui/core/Typography"; -import { TextField } from "@material-ui/core"; -import i18n from "react-intl-universal"; -import PropTypes from "prop-types"; - -const styles = theme => ({ - root: { - margin: 0, - padding: theme.spacing(2) - }, - closeButton: { - position: "absolute", - right: theme.spacing(1), - top: theme.spacing(1), - color: theme.palette.grey[500] - } -}); - -const DialogTitle = withStyles(styles)(props => { - const { children, classes, onClose, ...other } = props; - return ( - - {children} - {onClose ? ( - - - - ) : null} - - ); -}); - -const DialogContent = withStyles(theme => ({ - root: { - padding: theme.spacing(2) - } -}))(MuiDialogContent); - -const DialogActions = withStyles(theme => ({ - root: { - margin: 0, - padding: theme.spacing(1) - } -}))(MuiDialogActions); - -class EditField extends React.Component { - constructor(props) { - super(props); - this.state = { - fieldContent: "" - }; - } - - saveFieldContent() { - this.props.editSuccess( - this.props.id, - this.props.field, - this.state.fieldContent - ); - } - - onEnteredDialog() { - this.setState({ fieldContent: this.props.fieldContent }); - } - - textFieldChange(event) { - this.setState({ fieldContent: event.target.value }); - } - - render() { - return ( -
    - - - {i18n.get("common.modify")} {this.props.desc} - - - - - - - - -
    - ); - } -} - -EditField.propTypes = { - id: PropTypes.number.isRequired, - open: PropTypes.bool.isRequired, - row: PropTypes.number, - field: PropTypes.string.isRequired, - desc: PropTypes.string.isRequired, - fieldContent: PropTypes.string.isRequired, - onClose: PropTypes.func.isRequired, - editSuccess: PropTypes.func.isRequired -}; - -EditField.defaultProps = { - row: 1 -}; -export default EditField; +import React from "react"; +import { withStyles } from "@material-ui/core/styles"; +import Button from "@material-ui/core/Button"; +import Dialog from "@material-ui/core/Dialog"; +import MuiDialogTitle from "@material-ui/core/DialogTitle"; +import MuiDialogContent from "@material-ui/core/DialogContent"; +import MuiDialogActions from "@material-ui/core/DialogActions"; +import IconButton from "@material-ui/core/IconButton"; +import CloseIcon from "@material-ui/icons/Close"; +import Typography from "@material-ui/core/Typography"; +import { TextField } from "@material-ui/core"; +import i18n from "react-intl-universal"; +import PropTypes from "prop-types"; + +const styles = theme => ({ + root: { + margin: 0, + padding: theme.spacing(2) + }, + closeButton: { + position: "absolute", + right: theme.spacing(1), + top: theme.spacing(1), + color: theme.palette.grey[500] + } +}); + +const DialogTitle = withStyles(styles)(props => { + const { children, classes, onClose, ...other } = props; + return ( + + {children} + {onClose ? ( + + + + ) : null} + + ); +}); + +const DialogContent = withStyles(theme => ({ + root: { + padding: theme.spacing(2) + } +}))(MuiDialogContent); + +const DialogActions = withStyles(theme => ({ + root: { + margin: 0, + padding: theme.spacing(1) + } +}))(MuiDialogActions); + +class EditField extends React.Component { + constructor(props) { + super(props); + this.state = { + fieldContent: "" + }; + } + + saveFieldContent() { + this.props.editSuccess( + this.props.id, + this.props.field, + this.state.fieldContent + ); + } + + onEnteredDialog() { + this.setState({ fieldContent: this.props.fieldContent }); + } + + textFieldChange(event) { + this.setState({ fieldContent: event.target.value }); + } + + render() { + return ( +
    + + + {i18n.get("common.modify")} {this.props.desc} + + + + + + + + +
    + ); + } +} + +EditField.propTypes = { + id: PropTypes.number.isRequired, + open: PropTypes.bool.isRequired, + row: PropTypes.number, + field: PropTypes.string.isRequired, + desc: PropTypes.string.isRequired, + fieldContent: PropTypes.string.isRequired, + onClose: PropTypes.func.isRequired, + editSuccess: PropTypes.func.isRequired +}; + +EditField.defaultProps = { + row: 1 +}; +export default EditField; diff --git a/public/src/components/helperTooltips.js b/public/src/components/helperTooltips.js index bea20c4..4f20493 100644 --- a/public/src/components/helperTooltips.js +++ b/public/src/components/helperTooltips.js @@ -1,21 +1,21 @@ -import React from "react"; -import HelpOutlineIcon from "@material-ui/icons/HelpOutline"; -import { Tooltip } from "@material-ui/core"; - -class HelperTooltips extends React.Component { - constructor(props) { - super(props); - this.state = {}; - } - - componentDidMount() {} - render() { - return ( - - - - ); - } -} - -export default HelperTooltips; +import React from "react"; +import HelpOutlineIcon from "@material-ui/icons/HelpOutline"; +import { Tooltip } from "@material-ui/core"; + +class HelperTooltips extends React.Component { + constructor(props) { + super(props); + this.state = {}; + } + + componentDidMount() {} + render() { + return ( + + + + ); + } +} + +export default HelperTooltips; diff --git a/public/src/components/searchBox.js b/public/src/components/searchBox.js index 8350dc6..1777783 100644 --- a/public/src/components/searchBox.js +++ b/public/src/components/searchBox.js @@ -1,91 +1,91 @@ -import React from "react"; -import { withStyles } from "@material-ui/core/styles"; -import { Paper, InputBase } from "@material-ui/core"; -import IconButton from "@material-ui/core/IconButton"; -import SearchIcon from "@material-ui/icons/Search"; -import Divider from "@material-ui/core/Divider"; -import RefreshIcon from "@material-ui/icons/Refresh"; - -const styles = theme => ({ - paper: { - display: "flex", - alignItems: "center", - justifyContent: "center", - background: "#fff", - height: "36px" - }, - input: { - marginLeft: theme.spacing(1), - flex: 1, - fontSize: "14px", - width: "240px" - }, - iconButton: { - padding: 5 - }, - divider: { - height: 28, - margin: 4 - } -}); - -class Search extends React.Component { - constructor(props) { - super(props); - this.state = { - keyword: "" - }; - } - - inputBaseChange(event) { - this.setState({ - keyword: event.target.value - }); - } - - clickSearch() { - this.props.refreshSearch(this.state.keyword); - } - - clickReset() { - this.setState({ - keyword: "" - }); - this.props.refreshSearch(""); - } - - render() { - const { classes } = this.props; - let keyword = this.state.keyword; - return ( - - - - - - - - - - - ); - } -} - -export default withStyles(styles)(Search); +import React from "react"; +import { withStyles } from "@material-ui/core/styles"; +import { Paper, InputBase } from "@material-ui/core"; +import IconButton from "@material-ui/core/IconButton"; +import SearchIcon from "@material-ui/icons/Search"; +import Divider from "@material-ui/core/Divider"; +import RefreshIcon from "@material-ui/icons/Refresh"; + +const styles = theme => ({ + paper: { + display: "flex", + alignItems: "center", + justifyContent: "center", + background: "#fff", + height: "36px" + }, + input: { + marginLeft: theme.spacing(1), + flex: 1, + fontSize: "14px", + width: "240px" + }, + iconButton: { + padding: 5 + }, + divider: { + height: 28, + margin: 4 + } +}); + +class Search extends React.Component { + constructor(props) { + super(props); + this.state = { + keyword: "" + }; + } + + inputBaseChange(event) { + this.setState({ + keyword: event.target.value + }); + } + + clickSearch() { + this.props.refreshSearch(this.state.keyword); + } + + clickReset() { + this.setState({ + keyword: "" + }); + this.props.refreshSearch(""); + } + + render() { + const { classes } = this.props; + let keyword = this.state.keyword; + return ( + + + + + + + + + + + ); + } +} + +export default withStyles(styles)(Search); diff --git a/public/src/components/snackbar/index.js b/public/src/components/snackbar/index.js index 616c668..1de105d 100644 --- a/public/src/components/snackbar/index.js +++ b/public/src/components/snackbar/index.js @@ -1,22 +1,22 @@ -import snackbar from "./snackbarInstance"; - -let snackbarInstance; -export const notice = (type, content, duration = 4000) => { - if (!snackbarInstance) snackbarInstance = snackbar; - return snackbarInstance.openSnackbar(type, content, duration); -}; - -export default { - info(content, duration = 4000) { - return notice("info", content, duration); - }, - success(content, duration = 4000) { - return notice("success", content, duration); - }, - warning(content, duration = 4000) { - return notice("warning", content, duration); - }, - error(content, duration = 4000) { - return notice("error", content, duration); - } -}; +import snackbar from "./snackbarInstance"; + +let snackbarInstance; +export const notice = (type, content, duration = 4000) => { + if (!snackbarInstance) snackbarInstance = snackbar; + return snackbarInstance.openSnackbar(type, content, duration); +}; + +export default { + info(content, duration = 4000) { + return notice("info", content, duration); + }, + success(content, duration = 4000) { + return notice("success", content, duration); + }, + warning(content, duration = 4000) { + return notice("warning", content, duration); + }, + error(content, duration = 4000) { + return notice("error", content, duration); + } +}; diff --git a/public/src/components/snackbar/snackbar.js b/public/src/components/snackbar/snackbar.js index d657aad..af190b2 100644 --- a/public/src/components/snackbar/snackbar.js +++ b/public/src/components/snackbar/snackbar.js @@ -1,60 +1,60 @@ -import React from "react"; -import Snackbar from "@material-ui/core/Snackbar"; -import SnackbarContentWrapper from "./snackbarContentWrapper"; - -class CustomizeSnackbar extends React.Component { - constructor(props) { - super(props); - this.state = { - open: false, - content: "", - duration: 3000, - type: "info" - }; - } - openSnackbar(type, content, duration) { - if (this.state.open) { - this.setState({ open: false }); - setTimeout(() => { - this.setState({ - open: true, - type: type, - content: content, - duration: duration - }); - }, 200); - } else { - this.setState({ - open: true, - type: type, - content: content, - duration: duration - }); - } - } - handleClose() { - this.setState({ open: false }); - } - - render() { - return ( - - - - ); - } -} - -export default CustomizeSnackbar; +import React from "react"; +import Snackbar from "@material-ui/core/Snackbar"; +import SnackbarContentWrapper from "./snackbarContentWrapper"; + +class CustomizeSnackbar extends React.Component { + constructor(props) { + super(props); + this.state = { + open: false, + content: "", + duration: 3000, + type: "info" + }; + } + openSnackbar(type, content, duration) { + if (this.state.open) { + this.setState({ open: false }); + setTimeout(() => { + this.setState({ + open: true, + type: type, + content: content, + duration: duration + }); + }, 200); + } else { + this.setState({ + open: true, + type: type, + content: content, + duration: duration + }); + } + } + handleClose() { + this.setState({ open: false }); + } + + render() { + return ( + + + + ); + } +} + +export default CustomizeSnackbar; diff --git a/public/src/components/snackbar/snackbarContentWrapper.js b/public/src/components/snackbar/snackbarContentWrapper.js index fd902b5..bf3bcba 100644 --- a/public/src/components/snackbar/snackbarContentWrapper.js +++ b/public/src/components/snackbar/snackbarContentWrapper.js @@ -1,86 +1,86 @@ -import React from "react"; -import PropTypes from "prop-types"; -import clsx from "clsx"; -import CheckCircleIcon from "@material-ui/icons/CheckCircle"; -import ErrorIcon from "@material-ui/icons/Error"; -import InfoIcon from "@material-ui/icons/Info"; -import CloseIcon from "@material-ui/icons/Close"; -import { amber, green } from "@material-ui/core/colors/index"; -import IconButton from "@material-ui/core/IconButton/index"; -import SnackbarContent from "@material-ui/core/SnackbarContent/index"; -import WarningIcon from "@material-ui/icons/Warning"; -import { makeStyles } from "@material-ui/core/styles/index"; - -const variantIcon = { - success: CheckCircleIcon, - warning: WarningIcon, - error: ErrorIcon, - info: InfoIcon -}; -const useStyles = makeStyles(theme => ({ - success: { - backgroundColor: green[600] - }, - error: { - backgroundColor: theme.palette.error.dark - }, - info: { - backgroundColor: theme.palette.primary.main - }, - warning: { - backgroundColor: amber[700] - }, - icon: { - fontSize: 20 - }, - iconVariant: { - opacity: 0.9, - marginRight: theme.spacing(1) - }, - message: { - display: "flex", - alignItems: "center" - } -})); - -function SnackbarContentWrapper(props) { - const classes = useStyles(); - const { message, onClose, variant, ...other } = props; - const Icon = variantIcon[variant]; - - return ( - - - {message} - - } - action={[ - - - - ]} - {...other} - /> - ); -} - -SnackbarContentWrapper.propTypes = { - message: PropTypes.string, - onClose: PropTypes.func, - variant: PropTypes.oneOf(["error", "info", "success", "warning"]).isRequired -}; - -export default SnackbarContentWrapper; +import React from "react"; +import PropTypes from "prop-types"; +import clsx from "clsx"; +import CheckCircleIcon from "@material-ui/icons/CheckCircle"; +import ErrorIcon from "@material-ui/icons/Error"; +import InfoIcon from "@material-ui/icons/Info"; +import CloseIcon from "@material-ui/icons/Close"; +import { amber, green } from "@material-ui/core/colors/index"; +import IconButton from "@material-ui/core/IconButton/index"; +import SnackbarContent from "@material-ui/core/SnackbarContent/index"; +import WarningIcon from "@material-ui/icons/Warning"; +import { makeStyles } from "@material-ui/core/styles/index"; + +const variantIcon = { + success: CheckCircleIcon, + warning: WarningIcon, + error: ErrorIcon, + info: InfoIcon +}; +const useStyles = makeStyles(theme => ({ + success: { + backgroundColor: green[600] + }, + error: { + backgroundColor: theme.palette.error.dark + }, + info: { + backgroundColor: theme.palette.primary.main + }, + warning: { + backgroundColor: amber[700] + }, + icon: { + fontSize: 20 + }, + iconVariant: { + opacity: 0.9, + marginRight: theme.spacing(1) + }, + message: { + display: "flex", + alignItems: "center" + } +})); + +function SnackbarContentWrapper(props) { + const classes = useStyles(); + const { message, onClose, variant, ...other } = props; + const Icon = variantIcon[variant]; + + return ( + + + {message} + + } + action={[ + + + + ]} + {...other} + /> + ); +} + +SnackbarContentWrapper.propTypes = { + message: PropTypes.string, + onClose: PropTypes.func, + variant: PropTypes.oneOf(["error", "info", "success", "warning"]).isRequired +}; + +export default SnackbarContentWrapper; diff --git a/public/src/components/snackbar/snackbarInstance.js b/public/src/components/snackbar/snackbarInstance.js index f24020e..3921546 100644 --- a/public/src/components/snackbar/snackbarInstance.js +++ b/public/src/components/snackbar/snackbarInstance.js @@ -1,7 +1,7 @@ -import React from "react"; -import ReactDOM from "react-dom"; -import Snackbar from "./snackbar"; - -const snackbarDom = document.getElementById("snackbar"); - -export default ReactDOM.render(, snackbarDom); +import React from "react"; +import ReactDOM from "react-dom"; +import Snackbar from "./snackbar"; + +const snackbarDom = document.getElementById("snackbar"); + +export default ReactDOM.render(, snackbarDom); diff --git a/public/src/config/index.js b/public/src/config/index.js index 38cfd90..be1de7b 100644 --- a/public/src/config/index.js +++ b/public/src/config/index.js @@ -1,11 +1,11 @@ -export default { - apiPrefix: "v1", - timeout: 10000, - requestRetry: 4, - requestRetryDelay: 800, - siteName: "MareWood", - systemInfoKey: "MareWood_SYSTEM_INFO", - userInfoKey: "MareWood_USER_INFO", - langKey: "i18n", - tokenKey: "MareWood_ACCESS_TOKEN" -}; +export default { + apiPrefix: "v1", + timeout: 10000, + requestRetry: 4, + requestRetryDelay: 800, + siteName: "MareWood", + systemInfoKey: "MareWood_SYSTEM_INFO", + userInfoKey: "MareWood_USER_INFO", + langKey: "i18n", + tokenKey: "MareWood_ACCESS_TOKEN" +}; diff --git a/public/src/config/url.js b/public/src/config/url.js index 1d93cc4..666a353 100644 --- a/public/src/config/url.js +++ b/public/src/config/url.js @@ -1,36 +1,36 @@ -const nodeEnv = process.env.NODE_ENV; -const appMode = process.env.REACT_APP_MODE; - -let host = "localhost:8088"; -let useApiUrl = "http://" + host; - -if ("production" === nodeEnv) { - switch (appMode) { - case "buildDev": - useApiUrl = "http://192.168.48.192:9088"; - break; - case "buildDevTest": - useApiUrl = "http://192.168.48.192:9288"; - break; - case "buildTest": - useApiUrl = "http://192.168.48.192:9288"; - break; - case "buildPre": - useApiUrl = "http://192.168.48.192:9288"; - break; - default: - host = window.location.host; - useApiUrl = window.location.origin; - break; - } -} - -if (typeof process.env.REACT_APP_API_URL === "string") { - useApiUrl = process.env.REACT_APP_API_URL; -} - -if (useApiUrl.slice(0, 4) !== "http") { - useApiUrl = window.location.origin + useApiUrl; -} - -export { host, useApiUrl }; +const nodeEnv = process.env.NODE_ENV; +const appMode = process.env.REACT_APP_MODE; + +let host = "localhost:8088"; +let useApiUrl = "http://" + host; + +if ("production" === nodeEnv) { + switch (appMode) { + case "buildDev": + useApiUrl = "http://192.168.48.192:9088"; + break; + case "buildDevTest": + useApiUrl = "http://192.168.48.192:9288"; + break; + case "buildTest": + useApiUrl = "http://192.168.48.192:9288"; + break; + case "buildPre": + useApiUrl = "http://192.168.48.192:9288"; + break; + default: + host = window.location.host; + useApiUrl = window.location.origin; + break; + } +} + +if (typeof process.env.REACT_APP_API_URL === "string") { + useApiUrl = process.env.REACT_APP_API_URL; +} + +if (useApiUrl.slice(0, 4) !== "http") { + useApiUrl = window.location.origin + useApiUrl; +} + +export { host, useApiUrl }; diff --git a/public/src/i18n/en-US.json b/public/src/i18n/en-US.json index 8cdaf70..7e62c69 100644 --- a/public/src/i18n/en-US.json +++ b/public/src/i18n/en-US.json @@ -1,117 +1,126 @@ -{ - "common": { - "title": "Title", - "value": "Value", - "name": "Name", - "remark": "Remark", - "terminalOut": "TerminalOut", - "remoteUrl": "RemoteUrl", - "address": "Address", - "clickEdit": "Click to modify", - "modify": "Modify", - "success": "Success", - "modifySuccess": "Modify success", - "save": "Save", - "close": "Close", - "confirm": "Confirm", - "dependentTools": "DependentTools", - "actions": "Actions", - "actionsUser": "Actions user", - "total": "Total", - "createdAt": "CreatedAt", - "delete": "Delete", - "deleteSuccess": "Delete success", - "lock": "Lock", - "status": "Status", - "branch": "Branch", - "role": "RoleName", - "about": "About", - "desc": "Desc", - "username": "Username", - "password": "Password", - "create": "Create" - }, - "bar": { - "dashboard": "Dashboard", - "repositories": "Repositories", - "category": "Category", - "task": "Task", - "users": "Users", - "switchCN": "Chinese", - "switchEN": "English", - "noticeEmpty": "There is no notice yet!", - "searchTip": "Search Keyword", - "logout": "Sign out", - "noticeQuantityTip": "{v} notices", - "onlineTip": "{v} people online" - }, - "role": { - "1": "Super Administrator", - "2": "Administrator", - "3": "Developer", - "4": "Reporter" - }, - "login": { - "signIn": "Sign in", - "title": "Sign in to MareWood", - "tip": "New to MareWood? Create an account." - }, - "register": { - "title": "Create your account", - "createAccount": "Create account", - "registerSuccess": "Register success!", - "tip": "Already have an account? Go to login ^_^", - "roleTip": "Register to get the role of reporter by default" - }, - "repo": { - "cloneStatus": "CloneStatus", - "workingStatus": "WorkingStatus", - "auth": "RepoAuth", - "cloneFail": "Clone fail", - "cloneSuccess": "Clone success", - "cloneProcessing": "Cloning is in progress. . .", - "repoLeisured": "Repo leisured", - "repoBusy": "The current warehouse is packaging tasks", - "deleteDependent": "Delete dependent(node_modules)", - "deleteDependentFailedTip": "The repository status is abnormal and the dependency cannot be deleted", - "resetRepo": "Delete and re-clone the repository", - "resetRepoSuccess": "The backend is rebuilding the repository...", - "resetRepoFailed": "There is a task running in this repository, rebuild repository failed", - "deleteTitle": "Are you sure to delete the repository?", - "deleteTip": "Are you sure you want to delete this repository? No tasks can be deleted using this repository." - }, - "category": { - "createTip": "Please create a new category first" - }, - "task": { - "runQuantity": "NumberOfRuns", - "buildDir": "BuildDir", - "npmScript": "NpmScript", - "lockTip": "Lock tasks and prohibit others from switching branches and packaging", - "notLock": "Not lock", - "accessTip": "Can only be accessed after successful packaging", - "switchBranch": "Switch branch", - "noBranch": "No branch", - "runTask": "Run task", - "positioning": "Locate the current corresponding repository", - "lockTitle": "Unlock or lock", - "lockInputTip": "You need to enter a password to unlock or lock", - "deleteTitle": "Delete task", - "deleteTip": "Are you sure you want to delete this task?", - "waitBuild": "The task is being packed, please wait", - "waitBuildSuccess": "Please wait for the task to be packaged", - "unlockTip": "The task is locked, please unlock first", - "buildSuccessTip": "Running successfully, packaging", - "statusFail": "Packaging failed", - "statusSuccess": "Packaged successfully", - "statusLeisured": "Task leisured", - "statusProcessing": "Packaging" - }, - "users": { - "roleUpgrade": "Role Upgrade", - "roleDowngrade": "Role downgrade" - }, - "dashboard": { - "about": "MareWood is an open source automatic packaging deployment tool for front-end" - } -} +{ + "common": { + "title": "Title", + "value": "Value", + "name": "Name", + "remark": "Remark", + "terminalOut": "TerminalOut", + "remoteUrl": "RemoteUrl", + "address": "Address", + "clickEdit": "Click to modify", + "modify": "Modify", + "success": "Success", + "modifySuccess": "Modify success", + "save": "Save", + "close": "Close", + "confirm": "Confirm", + "dependentTools": "DependentTools", + "actions": "Actions", + "actionsUser": "Actions user", + "total": "Total", + "createdAt": "CreatedAt", + "delete": "Delete", + "deleteSuccess": "Delete success", + "lock": "Lock", + "status": "Status", + "branch": "Branch", + "role": "RoleName", + "about": "About", + "desc": "Desc", + "username": "Username", + "password": "Password", + "create": "Create" + }, + "bar": { + "dashboard": "Dashboard", + "repositories": "Repositories", + "category": "Category", + "task": "Task", + "users": "Users", + "switchCN": "Chinese", + "switchEN": "English", + "noticeEmpty": "There is no notice yet!", + "searchTip": "Search Keyword", + "logout": "Sign out", + "noticeQuantityTip": "total {v}", + "onlineTip": "{v} people online" + }, + "role": { + "1": "Super Administrator", + "2": "Administrator", + "3": "Developer", + "4": "Reporter" + }, + "login": { + "signIn": "Sign in", + "title": "Sign in to MareWood", + "tip": "New to MareWood? Create an account." + }, + "register": { + "title": "Create your account", + "createAccount": "Create account", + "registerSuccess": "Register success!", + "tip": "Already have an account? Go to login ^_^", + "roleTip": "Register to get the role of reporter by default" + }, + "repo": { + "cloneStatus": "CloneStatus", + "workingStatus": "WorkingStatus", + "auth": "RepoAuth", + "cloneFail": "Clone fail", + "cloneSuccess": "Clone success", + "cloneProcessing": "Cloning is in progress. . .", + "repoLeisured": "Repo leisured", + "repoBusy": "The current warehouse is packaging tasks", + "deleteDependent": "Delete dependent(node_modules)", + "deleteDependentFailedTip": "The repository status is abnormal and the dependency cannot be deleted", + "resetRepo": "Delete and re-clone the repository", + "resetRepoSuccess": "The backend is rebuilding the repository...", + "resetRepoFailed": "There is a task running in this repository, rebuild repository failed", + "deleteTitle": "Are you sure to delete the repository?", + "deleteTip": "Are you sure you want to delete this repository? No tasks can be deleted using this repository." + }, + "category": { + "createTip": "Please create a new category first", + "deleteTitle": "Confirm delete category?", + "deleteTip": "If you confirm that you want to delete this category, please make sure that there are no tasks under this category." + }, + "task": { + "runQuantity": "NumberOfRuns", + "buildDir": "BuildDir", + "npmScript": "NpmScript", + "lockTip": "Lock tasks and prohibit others from switching branches and packaging", + "notLock": "Not lock", + "accessTip": "Can only be accessed after successful packaging", + "switchBranch": "Switch branch", + "noBranch": "No branch", + "runTask": "Run task", + "positioning": "Locate the current corresponding repository", + "lockTitle": "Unlock or lock", + "lockInputTip": "You need to enter a password to unlock or lock", + "deleteTitle": "Delete task", + "deleteTip": "Are you sure you want to delete this task?", + "waitBuild": "The task is being packed, please wait", + "waitBuildSuccess": "Please wait for the task to be packaged", + "unlockTip": "The task is locked, please unlock first", + "buildSuccessTip": "Running successfully, packaging", + "statusFail": "Packaging failed", + "statusSuccess": "Packaged successfully", + "statusLeisured": "Task leisured", + "statusProcessing": "Packaging", + "addTaskTitle": "Add tasks under the 《{v}》 category", + "selectRepo": "Select the associated repository", + "compileDir": "Compiled directory(dist | build)", + "selectScript": "Select compile script(must choose repository first)" + }, + "users": { + "roleUpgrade": "Role Upgrade", + "roleDowngrade": "Role downgrade" + }, + "dashboard": { + "about": "MareWood is an open source automatic packaging deployment tool for front-end", + "webSocketConnected": "WebSocket connected", + "webSocketError": "WebSocket error, try to connect after 2s...", + "webSocketClosed": "WebSocket is closed, try to connect after 2s..." + } +} diff --git a/public/src/i18n/zh-CN.json b/public/src/i18n/zh-CN.json index 4d9f9b3..1c3d606 100644 --- a/public/src/i18n/zh-CN.json +++ b/public/src/i18n/zh-CN.json @@ -1,117 +1,127 @@ -{ - "common": { - "title": "标题", - "name": "名字", - "value": "值", - "remark": "备注", - "terminalOut": "终端输出", - "remoteUrl": "远程地址", - "address": "访问地址", - "clickEdit": "点击可以修改", - "modify": "修改", - "success": "成功", - "modifySuccess": "修改成功", - "save": "保存", - "confirm": "确认", - "close": "关闭", - "dependentTools": "依赖工具", - "actions": "操作", - "actionsUser": "操作人", - "total": "总数", - "createdAt": "创建时间", - "delete": "删除", - "deleteSuccess": "删除成功", - "lock": "锁", - "status": "状态", - "branch": "分支", - "role": "角色名", - "about": "关于", - "desc": "描述", - "username": "用户名", - "password": "密码", - "create": "创建" - }, - "bar": { - "dashboard": "仪表盘", - "repositories": "仓库列表", - "category": "任务分类", - "task": "部署任务", - "users": "用户管理", - "switchCN": "中文", - "switchEN": "英文", - "noticeEmpty": "暂无任何通知!", - "searchTip": "请输入搜索的关键字", - "logout": "退出", - "noticeQuantityTip": "共有{v}条通知", - "onlineTip": "共有{v}人在线" - }, - "role": { - "1": "超级管理员", - "2": "管理员", - "3": "开发者", - "4": "项目记者" - }, - "login": { - "signIn": "登陆", - "title": "登录到 MareWood", - "tip": "没有账户? 注册一个吧 ╯︿╰" - }, - "register": { - "title": "注册账户", - "createAccount": "创建账户", - "registerSuccess": "注册成功!", - "tip": "已经有账户?去登陆 ^_^", - "roleTip": "注册默认获得记者(Reporter)角色" - }, - "repo": { - "cloneStatus": "克隆状态", - "workingStatus": "工作状态", - "auth": "仓库权限", - "cloneFail": "仓库克隆失败", - "cloneSuccess": "仓库克隆成功", - "cloneProcessing": "仓库克隆中...", - "repoLeisured": "仓库空闲", - "repoBusy": "当前仓库有任务正在打包", - "deleteDependent": "删除依赖(node_modules)", - "deleteDependentFailedTip": "仓库状态不正常,无法删除依赖", - "resetRepo": "删除并重新克隆仓库", - "resetRepoSuccess": "后台正在重建仓库...", - "resetRepoFailed": "该仓库有任务正在运行 ,重建失败", - "deleteTitle": "确认删除仓库?", - "deleteTip": "你确认要删除这个仓库?没有任务使用此仓库才能删除。" - }, - "category": { - "createTip": "请先新建分类" - }, - "task": { - "runQuantity": "运行次数", - "buildDir": "打包目录", - "npmScript": "打包命令", - "lockTip": "锁定任务并禁止其他人切换分支和打包", - "notLock": "没有加锁", - "accessTip": "打包成功之后才能访问", - "switchBranch": "切换分支", - "noBranch": "没有任何分支", - "runTask": "运行任务", - "positioning": "定位到当前对应的仓库", - "lockTitle": "解锁或加锁", - "lockInputTip": "需要你输入密码来解锁或加锁。", - "deleteTitle": "删除任务", - "deleteTip": "你确认要删除这个任务?", - "waitBuild": "任务正在打包,请稍等", - "waitBuildSuccess": "请等待任务打包完成", - "unlockTip": "任务被锁定,请先解锁", - "buildSuccessTip": "运行成功,正在打包", - "statusFail": "打包失败", - "statusSuccess": "打包成功", - "statusLeisured": "任务空闲", - "statusProcessing": "正在打包" - }, - "users": { - "roleUpgrade": "角色升级", - "roleDowngrade": "角色降级" - }, - "dashboard": { - "about": "MareWood 是一个Go开发的轻量级前端部署工具,可以很灵活的配置各种打包部署环境并提供访问。" - } -} +{ + "common": { + "title": "标题", + "name": "名字", + "value": "值", + "remark": "备注", + "terminalOut": "终端输出", + "remoteUrl": "远程地址", + "address": "访问地址", + "clickEdit": "点击可以修改", + "modify": "修改", + "success": "成功", + "modifySuccess": "修改成功", + "save": "保存", + "confirm": "确认", + "close": "关闭", + "dependentTools": "依赖工具", + "actions": "操作", + "actionsUser": "操作人", + "total": "总数", + "createdAt": "创建时间", + "delete": "删除", + "deleteSuccess": "删除成功", + "lock": "锁", + "status": "状态", + "branch": "分支", + "role": "角色名", + "about": "关于", + "desc": "描述", + "username": "用户名", + "password": "密码", + "create": "创建" + }, + "bar": { + "dashboard": "仪表盘", + "repositories": "仓库列表", + "category": "任务分类", + "task": "部署任务", + "users": "用户管理", + "switchCN": "中文", + "switchEN": "英文", + "noticeEmpty": "暂无任何通知!", + "searchTip": "请输入搜索的关键字", + "logout": "退出", + "noticeQuantityTip": "共有{v}条通知", + "onlineTip": "共有{v}人在线" + }, + "role": { + "1": "超级管理员", + "2": "管理员", + "3": "开发者", + "4": "项目记者" + }, + "login": { + "signIn": "登陆", + "title": "登录到 MareWood", + "tip": "没有账户? 注册一个吧 ╯︿╰" + }, + "register": { + "title": "注册账户", + "createAccount": "创建账户", + "registerSuccess": "注册成功!", + "tip": "已经有账户?去登陆 ^_^", + "roleTip": "注册默认获得记者(Reporter)角色" + }, + "repo": { + "cloneStatus": "克隆状态", + "workingStatus": "工作状态", + "auth": "仓库权限", + "cloneFail": "仓库克隆失败", + "cloneSuccess": "仓库克隆成功", + "cloneProcessing": "仓库克隆中...", + "repoLeisured": "仓库空闲", + "repoBusy": "当前仓库有任务正在打包", + "deleteDependent": "删除依赖(node_modules)", + "deleteDependentFailedTip": "仓库状态不正常,无法删除依赖", + "resetRepo": "删除并重新克隆仓库", + "resetRepoSuccess": "后台正在重建仓库...", + "resetRepoFailed": "该仓库有任务正在运行 ,重建失败", + "deleteTitle": "确认删除仓库?", + "deleteTip": "你确认要删除这个仓库?没有任务使用此仓库才能删除。" + }, + "category": { + "createTip": "请先新建分类", + "deleteTitle": "确认删除分类?", + "deleteTip": " 如果你确认要删除这个分类,请确保在这个分类下面已经没有任何任务了。" + }, + "task": { + "runQuantity": "运行次数", + "buildDir": "打包目录", + "npmScript": "打包命令", + "lockTip": "锁定任务并禁止其他人切换分支和打包", + "notLock": "没有加锁", + "accessTip": "打包成功之后才能访问", + "switchBranch": "切换分支", + "noBranch": "没有任何分支", + "runTask": "运行任务", + "positioning": "定位到当前对应的仓库", + "lockTitle": "解锁或加锁", + "lockInputTip": "需要你输入密码来解锁或加锁。", + "deleteTitle": "删除任务", + "deleteTip": "你确认要删除这个任务?", + "waitBuild": "任务正在打包,请稍等", + "waitBuildSuccess": "请等待任务打包完成", + "unlockTip": "任务被锁定,请先解锁", + "buildSuccessTip": "运行成功,正在打包", + "statusFail": "打包失败", + "statusSuccess": "打包成功", + "statusLeisured": "任务空闲", + "statusProcessing": "正在打包", + "addTaskTitle": "在《{v}》分类下添加任务", + "selectRepo": "选择关联的仓库", + "compileDir": "编译的目录(dist | build)", + "selectScript": "选择打包的脚本(必须先选择仓库)" + }, + "users": { + "roleUpgrade": "角色升级", + "roleDowngrade": "角色降级" + }, + "dashboard": { + "about": "MareWood 是一个Go开发的轻量级前端部署工具,可以很灵活的配置各种打包部署环境并提供访问。", + "webSocketConnected": "WebSocket已连接", + "webSocketError": "WebSocket出错,2s后尝试链接...", + "webSocketClosed": "WebSocket已关闭,2s后尝试链接..." + + } +} diff --git a/public/src/index.js b/public/src/index.js index fd24280..e62f0aa 100644 --- a/public/src/index.js +++ b/public/src/index.js @@ -1,20 +1,20 @@ -import React from "react"; -import ReactDOM from "react-dom"; -import "nprogress/nprogress.css"; -import "./assets/style/style.scss"; -import { getToken } from "./utils/dataStorage.js"; -import { connWebsocket } from "./utils/websocket.js"; -import App from "./App"; -import * as serviceWorker from "./serviceWorker"; - -ReactDOM.render(, document.getElementById("root")); - -let token = getToken(); -if (token && !window.ws && window.location.href.indexOf("/login") === -1) { - connWebsocket(token); -} - -// If you want your app to work offline and load faster, you can change -// unregister() to register() below. Note this comes with some pitfalls. -// Learn more about service workers: https://bit.ly/CRA-PWA -serviceWorker.unregister(); +import React from "react"; +import ReactDOM from "react-dom"; +import "nprogress/nprogress.css"; +import "./assets/style/style.scss"; +import { getToken } from "./utils/dataStorage.js"; +import { connWebsocket } from "./utils/websocket.js"; +import App from "./App"; +import * as serviceWorker from "./serviceWorker"; + +ReactDOM.render(, document.getElementById("root")); + +let token = getToken(); +if (token && !window.ws && window.location.href.indexOf("/login") === -1) { + connWebsocket(token); +} + +// If you want your app to work offline and load faster, you can change +// unregister() to register() below. Note this comes with some pitfalls. +// Learn more about service workers: https://bit.ly/CRA-PWA +serviceWorker.unregister(); diff --git a/public/src/router/route.js b/public/src/router/route.js index e26defa..0ff7021 100644 --- a/public/src/router/route.js +++ b/public/src/router/route.js @@ -1,49 +1,49 @@ -import Dashboard from "../views/dashboard"; -import Category from "../views/category"; -import Repository from "../views/repository"; -import Task from "../views/task"; -import Users from "../views/users"; - -import CategoryIcon from "@material-ui/icons/Category"; -import HomeIcon from "@material-ui/icons/Home"; -import ViewListIcon from "@material-ui/icons/ViewList"; -import DashboardIcon from "@material-ui/icons/Dashboard"; -import PeopleIcon from "@material-ui/icons/People"; - -export default [ - { - title: "bar.dashboard", - path: "/dashboard", - isMenu: true, - icon: HomeIcon, - component: Dashboard - }, - { - title: "bar.repositories", - path: "/repository", - isMenu: true, - icon: DashboardIcon, - component: Repository - }, - { - title: "bar.category", - path: "/category", - isMenu: true, - icon: CategoryIcon, - component: Category - }, - { - title: "bar.task", - path: "/task", - isMenu: true, - icon: ViewListIcon, - component: Task - }, - { - title: "bar.users", - path: "/users", - isMenu: true, - icon: PeopleIcon, - component: Users - } -]; +import Dashboard from "../views/dashboard"; +import Category from "../views/category"; +import Repository from "../views/repository"; +import Task from "../views/task"; +import Users from "../views/users"; + +import CategoryIcon from "@material-ui/icons/Category"; +import HomeIcon from "@material-ui/icons/Home"; +import ViewListIcon from "@material-ui/icons/ViewList"; +import DashboardIcon from "@material-ui/icons/Dashboard"; +import PeopleIcon from "@material-ui/icons/People"; + +export default [ + { + title: "bar.dashboard", + path: "/dashboard", + isMenu: true, + icon: HomeIcon, + component: Dashboard + }, + { + title: "bar.repositories", + path: "/repository", + isMenu: true, + icon: DashboardIcon, + component: Repository + }, + { + title: "bar.category", + path: "/category", + isMenu: true, + icon: CategoryIcon, + component: Category + }, + { + title: "bar.task", + path: "/task", + isMenu: true, + icon: ViewListIcon, + component: Task + }, + { + title: "bar.users", + path: "/users", + isMenu: true, + icon: PeopleIcon, + component: Users + } +]; diff --git a/public/src/serviceWorker.js b/public/src/serviceWorker.js index 5ef2083..37fa657 100644 --- a/public/src/serviceWorker.js +++ b/public/src/serviceWorker.js @@ -1,135 +1,135 @@ -// This optional code is used to register a service worker. -// register() is not called by default. - -// This lets the app load faster on subsequent visits in production, and gives -// it offline capabilities. However, it also means that developers (and users) -// will only see deployed updates on subsequent visits to a page, after all the -// existing tabs open on the page have been closed, since previously cached -// resources are updated in the background. - -// To learn more about the benefits of this model and instructions on how to -// opt-in, read https://bit.ly/CRA-PWA - -const isLocalhost = Boolean( - window.location.hostname === "localhost" || - // [::1] is the IPv6 localhost address. - window.location.hostname === "[::1]" || - // 127.0.0.1/8 is considered localhost for IPv4. - window.location.hostname.match( - /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ - ) -); - -export function register(config) { - if (process.env.NODE_ENV === "production" && "serviceWorker" in navigator) { - // The URL constructor is available in all browsers that support SW. - const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); - if (publicUrl.origin !== window.location.origin) { - // Our service worker won't work if PUBLIC_URL is on a different origin - // from what our page is served on. This might happen if a CDN is used to - // serve assets; see https://github.com/facebook/create-react-app/issues/2374 - return; - } - - window.addEventListener("load", () => { - const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; - - if (isLocalhost) { - // This is running on localhost. Let's check if a service worker still exists or not. - checkValidServiceWorker(swUrl, config); - - // Add some additional logging to localhost, pointing developers to the - // service worker/PWA documentation. - navigator.serviceWorker.ready.then(() => { - console.log( - "This web app is being served cache-first by a service " + - "worker. To learn more, visit https://bit.ly/CRA-PWA" - ); - }); - } else { - // Is not localhost. Just register service worker - registerValidSW(swUrl, config); - } - }); - } -} - -function registerValidSW(swUrl, config) { - navigator.serviceWorker - .register(swUrl) - .then(registration => { - registration.onupdatefound = () => { - const installingWorker = registration.installing; - if (installingWorker == null) { - return; - } - installingWorker.onstatechange = () => { - if (installingWorker.state === "installed") { - if (navigator.serviceWorker.controller) { - // At this point, the updated precached content has been fetched, - // but the previous service worker will still serve the older - // content until all client tabs are closed. - console.log( - "New content is available and will be used when all " + - "tabs for this page are closed. See https://bit.ly/CRA-PWA." - ); - - // Execute callback - if (config && config.onUpdate) { - config.onUpdate(registration); - } - } else { - // At this point, everything has been precached. - // It's the perfect time to display a - // "Content is cached for offline use." message. - console.log("Content is cached for offline use."); - - // Execute callback - if (config && config.onSuccess) { - config.onSuccess(registration); - } - } - } - }; - }; - }) - .catch(error => { - console.error("Error during service worker registration:", error); - }); -} - -function checkValidServiceWorker(swUrl, config) { - // Check if the service worker can be found. If it can't reload the page. - fetch(swUrl) - .then(response => { - // Ensure service worker exists, and that we really are getting a JS file. - const contentType = response.headers.get("content-type"); - if ( - response.status === 404 || - (contentType != null && contentType.indexOf("javascript") === -1) - ) { - // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then(registration => { - registration.unregister().then(() => { - window.location.reload(); - }); - }); - } else { - // Service worker found. Proceed as normal. - registerValidSW(swUrl, config); - } - }) - .catch(() => { - console.log( - "No internet connection found. App is running in offline mode." - ); - }); -} - -export function unregister() { - if ("serviceWorker" in navigator) { - navigator.serviceWorker.ready.then(registration => { - registration.unregister(); - }); - } -} +// This optional code is used to register a service worker. +// register() is not called by default. + +// This lets the app load faster on subsequent visits in production, and gives +// it offline capabilities. However, it also means that developers (and users) +// will only see deployed updates on subsequent visits to a page, after all the +// existing tabs open on the page have been closed, since previously cached +// resources are updated in the background. + +// To learn more about the benefits of this model and instructions on how to +// opt-in, read https://bit.ly/CRA-PWA + +const isLocalhost = Boolean( + window.location.hostname === "localhost" || + // [::1] is the IPv6 localhost address. + window.location.hostname === "[::1]" || + // 127.0.0.1/8 is considered localhost for IPv4. + window.location.hostname.match( + /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ + ) +); + +export function register(config) { + if (process.env.NODE_ENV === "production" && "serviceWorker" in navigator) { + // The URL constructor is available in all browsers that support SW. + const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); + if (publicUrl.origin !== window.location.origin) { + // Our service worker won't work if PUBLIC_URL is on a different origin + // from what our page is served on. This might happen if a CDN is used to + // serve assets; see https://github.com/facebook/create-react-app/issues/2374 + return; + } + + window.addEventListener("load", () => { + const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; + + if (isLocalhost) { + // This is running on localhost. Let's check if a service worker still exists or not. + checkValidServiceWorker(swUrl, config); + + // Add some additional logging to localhost, pointing developers to the + // service worker/PWA documentation. + navigator.serviceWorker.ready.then(() => { + console.log( + "This web app is being served cache-first by a service " + + "worker. To learn more, visit https://bit.ly/CRA-PWA" + ); + }); + } else { + // Is not localhost. Just register service worker + registerValidSW(swUrl, config); + } + }); + } +} + +function registerValidSW(swUrl, config) { + navigator.serviceWorker + .register(swUrl) + .then(registration => { + registration.onupdatefound = () => { + const installingWorker = registration.installing; + if (installingWorker == null) { + return; + } + installingWorker.onstatechange = () => { + if (installingWorker.state === "installed") { + if (navigator.serviceWorker.controller) { + // At this point, the updated precached content has been fetched, + // but the previous service worker will still serve the older + // content until all client tabs are closed. + console.log( + "New content is available and will be used when all " + + "tabs for this page are closed. See https://bit.ly/CRA-PWA." + ); + + // Execute callback + if (config && config.onUpdate) { + config.onUpdate(registration); + } + } else { + // At this point, everything has been precached. + // It's the perfect time to display a + // "Content is cached for offline use." message. + console.log("Content is cached for offline use."); + + // Execute callback + if (config && config.onSuccess) { + config.onSuccess(registration); + } + } + } + }; + }; + }) + .catch(error => { + console.error("Error during service worker registration:", error); + }); +} + +function checkValidServiceWorker(swUrl, config) { + // Check if the service worker can be found. If it can't reload the page. + fetch(swUrl) + .then(response => { + // Ensure service worker exists, and that we really are getting a JS file. + const contentType = response.headers.get("content-type"); + if ( + response.status === 404 || + (contentType != null && contentType.indexOf("javascript") === -1) + ) { + // No service worker found. Probably a different app. Reload the page. + navigator.serviceWorker.ready.then(registration => { + registration.unregister().then(() => { + window.location.reload(); + }); + }); + } else { + // Service worker found. Proceed as normal. + registerValidSW(swUrl, config); + } + }) + .catch(() => { + console.log( + "No internet connection found. App is running in offline mode." + ); + }); +} + +export function unregister() { + if ("serviceWorker" in navigator) { + navigator.serviceWorker.ready.then(registration => { + registration.unregister(); + }); + } +} diff --git a/public/src/utils/busEvents.js b/public/src/utils/busEvents.js index 98cce8f..51efbfa 100644 --- a/public/src/utils/busEvents.js +++ b/public/src/utils/busEvents.js @@ -1,12 +1,12 @@ -//小项目还达不到使用redux。在这里维护部分全局的状态 -const BusEvents = { - search: { - setSearchKeyword: keyword => keyword, //设置全局的关键字 - getSearchKeyword: () => {} //获取全局的关键字 - }, - updateCurrentTable: () => {}, //全局更新当前显示的表格到第一页 - pushNotice: () => {} //push一条消息到数组前面 -}; - -// console.log(BusEvents); -export default BusEvents; +//小项目还达不到使用redux。在这里维护部分全局的状态 +const BusEvents = { + search: { + setSearchKeyword: keyword => keyword, //设置全局的关键字 + getSearchKeyword: () => {} //获取全局的关键字 + }, + updateCurrentTable: () => {}, //全局更新当前显示的表格到第一页 + pushNotice: () => {} //push一条消息到数组前面 +}; + +// console.log(BusEvents); +export default BusEvents; diff --git a/public/src/utils/dataStorage.js b/public/src/utils/dataStorage.js index 16c2b2a..ab0bb6a 100644 --- a/public/src/utils/dataStorage.js +++ b/public/src/utils/dataStorage.js @@ -1,45 +1,45 @@ -import Storage from "good-storage"; -import Config from "../config/index.js"; - -export function getUserInfo(key = null) { - let userInfo = Storage.get(Config.userInfoKey) || {}; - if (key) return userInfo.hasOwnProperty(key) ? userInfo[key] : null; - return userInfo; -} - -export function setUserInfo(user) { - Storage.set(Config.userInfoKey, user); - return user; -} - -export function getUserLang() { - return Storage.get(Config.langKey) || "en-US"; -} - -export function setUserLang(lang) { - Storage.set(Config.langKey, lang); - window.location.reload(true); -} - -export function getToken() { - return Storage.get(Config.tokenKey); -} - -export function setToken(token) { - return Storage.set(Config.tokenKey, token); -} - -export function getSystemInfo(key = null) { - let systemInfo = Storage.get(Config.systemInfoKey) || {}; - if (key) return systemInfo.hasOwnProperty(key) ? systemInfo[key] : null; - return systemInfo; -} - -export function setSystemInfo(info) { - Storage.set(Config.systemInfoKey, info); - return info; -} - -export function removeToken() { - return Storage.remove(Config.tokenKey); -} +import Storage from "good-storage"; +import Config from "../config/index.js"; + +export function getUserInfo(key = null) { + let userInfo = Storage.get(Config.userInfoKey) || {}; + if (key) return userInfo.hasOwnProperty(key) ? userInfo[key] : null; + return userInfo; +} + +export function setUserInfo(user) { + Storage.set(Config.userInfoKey, user); + return user; +} + +export function getUserLang() { + return Storage.get(Config.langKey) || "en-US"; +} + +export function setUserLang(lang) { + Storage.set(Config.langKey, lang); + window.location.reload(true); +} + +export function getToken() { + return Storage.get(Config.tokenKey); +} + +export function setToken(token) { + return Storage.set(Config.tokenKey, token); +} + +export function getSystemInfo(key = null) { + let systemInfo = Storage.get(Config.systemInfoKey) || {}; + if (key) return systemInfo.hasOwnProperty(key) ? systemInfo[key] : null; + return systemInfo; +} + +export function setSystemInfo(info) { + Storage.set(Config.systemInfoKey, info); + return info; +} + +export function removeToken() { + return Storage.remove(Config.tokenKey); +} diff --git a/public/src/utils/request.js b/public/src/utils/request.js index 4904ddc..a9b8bd6 100644 --- a/public/src/utils/request.js +++ b/public/src/utils/request.js @@ -1,59 +1,59 @@ -import Axios from "axios"; -import NProgress from "nprogress"; -import { useApiUrl } from "../config/url.js"; -import Config from "../config/index"; -import { getToken } from "../utils/dataStorage"; -import Snackbar from "../components/snackbar/index"; - -const service = Axios.create({ - baseURL: useApiUrl + "/" + Config.apiPrefix, - headers: { - Accept: "*/*" - }, - timeout: Config.timeout -}); - -service.defaults.retry = Config.requestRetry; -service.defaults.retryDelay = Config.requestRetryDelay; - -service.interceptors.request.use( - config => { - NProgress.start(); - config.headers["Authorization"] = getToken() || ""; - return config; - }, - error => { - Promise.reject(error); - } -); - -service.interceptors.response.use( - res => { - setTimeout(() => { - NProgress.done(); - }, 300); - if (res.status !== 200) { - Snackbar.error("Status Code Is Not 200"); - return Promise.reject(res); - } else { - if (res.data.status !== true) { - if (res.data.msg.indexOf("token is expired") !== -1) { - Snackbar.warning("登陆已经失效,请重新登陆"); - window.location.href = "./#/login"; - return Promise.reject(res); - } else { - Snackbar.warning(res.data.msg); - return Promise.reject(res); - } - } - return res.data.data; - } - }, - error => { - Snackbar.error(error.message); - NProgress.done(); - return Promise.reject(error); - } -); - -export default service; +import Axios from "axios"; +import NProgress from "nprogress"; +import { useApiUrl } from "../config/url.js"; +import Config from "../config/index"; +import { getToken } from "../utils/dataStorage"; +import Snackbar from "../components/snackbar/index"; + +const service = Axios.create({ + baseURL: useApiUrl + "/" + Config.apiPrefix, + headers: { + Accept: "*/*" + }, + timeout: Config.timeout +}); + +service.defaults.retry = Config.requestRetry; +service.defaults.retryDelay = Config.requestRetryDelay; + +service.interceptors.request.use( + config => { + NProgress.start(); + config.headers["Authorization"] = getToken() || ""; + return config; + }, + error => { + Promise.reject(error); + } +); + +service.interceptors.response.use( + res => { + setTimeout(() => { + NProgress.done(); + }, 300); + if (res.status !== 200) { + Snackbar.error("Status Code Is Not 200"); + return Promise.reject(res); + } else { + if (res.data.status !== true) { + if (res.data.msg.indexOf("token is expired") !== -1) { + Snackbar.warning("登陆已经失效,请重新登陆"); + window.location.href = "./#/login"; + return Promise.reject(res); + } else { + Snackbar.warning(res.data.msg); + return Promise.reject(res); + } + } + return res.data.data; + } + }, + error => { + Snackbar.error(error.message); + NProgress.done(); + return Promise.reject(error); + } +); + +export default service; diff --git a/public/src/utils/websocket.js b/public/src/utils/websocket.js index 6a06bb5..30ab7cb 100644 --- a/public/src/utils/websocket.js +++ b/public/src/utils/websocket.js @@ -1,38 +1,39 @@ -import { host } from "../config/url.js"; -import Snackbar, { notice } from "../components/snackbar/index.js"; -import BusEvent from "./busEvents"; - -const websocketRetryQuantity = 5; -let websocketQuantity = 0; -export function connWebsocket(token) { - if (!token) return; - websocketQuantity++; - window.ws = new WebSocket(`ws://${host}/websocket?token=${token}`); - window.ws.onopen = () => { - Snackbar.success("WebSocket已连接"); - }; - window.ws.onmessage = r => { - let data = JSON.parse(r.data); - notice(data.Type, data.Message); - BusEvent.updateCurrentTable(); - BusEvent.pushNotice(data); - }; - window.ws.onerror = () => { - if (websocketQuantity > websocketRetryQuantity) { - return; - } - Snackbar.error("WebSocket出错,2s后尝试链接..."); - setTimeout(() => { - connWebsocket(token); - }, 2000); - }; - window.ws.onclose = () => { - if (websocketQuantity > websocketRetryQuantity) { - return; - } - Snackbar.warning("WebSocket已关闭,2s后尝试链接..."); - setTimeout(() => { - connWebsocket(token); - }, 2000); - }; -} +import { host } from "../config/url.js"; +import Snackbar, { notice } from "../components/snackbar/index.js"; +import i18n from "react-intl-universal" +import BusEvent from "./busEvents"; + +const websocketRetryQuantity = 5; +let websocketQuantity = 0; +export function connWebsocket(token) { + if (!token) return; + websocketQuantity++; + window.ws = new WebSocket(`ws://${host}/websocket?token=${token}`); + window.ws.onopen = () => { + Snackbar.success(i18n.get("dashboard.webSocketConnected")); + }; + window.ws.onmessage = r => { + let data = JSON.parse(r.data); + notice(data.Type, data.Message); + BusEvent.updateCurrentTable(); + BusEvent.pushNotice(data); + }; + window.ws.onerror = () => { + if (websocketQuantity > websocketRetryQuantity) { + return; + } + Snackbar.error(i18n.get("dashboard.webSocketError")); + setTimeout(() => { + connWebsocket(token); + }, 2000); + }; + window.ws.onclose = () => { + if (websocketQuantity > websocketRetryQuantity) { + return; + } + Snackbar.warning(i18n.get("dashboard.webSocketClosed")); + setTimeout(() => { + connWebsocket(token); + }, 2000); + }; +} diff --git a/public/src/views/category/edit.js b/public/src/views/category/edit.js index e88146c..08dd597 100644 --- a/public/src/views/category/edit.js +++ b/public/src/views/category/edit.js @@ -1,81 +1,81 @@ -import React from "react"; -import Button from "@material-ui/core/Button"; -import TextField from "@material-ui/core/TextField"; -import Dialog from "@material-ui/core/Dialog"; -import DialogActions from "@material-ui/core/DialogActions"; -import DialogContent from "@material-ui/core/DialogContent"; -import DialogTitle from "@material-ui/core/DialogTitle"; -import i18n from "react-intl-universal"; -import { create } from "../../api/category.js"; - -class EditCategory extends React.Component { - constructor(props) { - super(props); - this.state = { - name: "", - desc: "" - }; - } - - componentDidMount() {} - - textFieldChange(field, event) { - this.setState({ [field]: event.target.value }); - } - submitCategory() { - create(this.state) - .then(r => { - this.props.createSuccess(); - }) - .catch(() => {}); - } - - render() { - return ( -
    - - - {i18n.get("common.create")} - - - - - - - - - - -
    - ); - } -} - -export default EditCategory; +import React from "react"; +import Button from "@material-ui/core/Button"; +import TextField from "@material-ui/core/TextField"; +import Dialog from "@material-ui/core/Dialog"; +import DialogActions from "@material-ui/core/DialogActions"; +import DialogContent from "@material-ui/core/DialogContent"; +import DialogTitle from "@material-ui/core/DialogTitle"; +import i18n from "react-intl-universal"; +import { create } from "../../api/category.js"; + +class EditCategory extends React.Component { + constructor(props) { + super(props); + this.state = { + name: "", + desc: "" + }; + } + + componentDidMount() {} + + textFieldChange(field, event) { + this.setState({ [field]: event.target.value }); + } + submitCategory() { + create(this.state) + .then(r => { + this.props.createSuccess(); + }) + .catch(() => {}); + } + + render() { + return ( +
    + + + {i18n.get("common.create")} + + + + + + + + + + +
    + ); + } +} + +export default EditCategory; diff --git a/public/src/views/category/index.js b/public/src/views/category/index.js index f28ef8b..744dd54 100644 --- a/public/src/views/category/index.js +++ b/public/src/views/category/index.js @@ -1,284 +1,284 @@ -import React from "react"; -import { withStyles } from "@material-ui/core/styles"; -import AddIcon from "@material-ui/icons/Add"; -import EditIcon from "@material-ui/icons/Edit"; -import DeleteIcon from "@material-ui/icons/Delete"; -import { - Table, - TableRow, - TableBody, - TableHead, - TableCell, - Paper, - Fab, - IconButton, - Button, - Dialog, - DialogTitle, - DialogContent, - DialogContentText, - DialogActions, - Tooltip -} from "@material-ui/core"; -import EditCategory from "./edit.js"; -import { categories, destroy, UpdateField } from "../../api/category.js"; -import EditField from "../../components/editField.js"; -import Snackbar from "../../components/snackbar"; -import Announcement from "@material-ui/icons/Announcement"; -import BusEvent from "../../utils/busEvents"; -import i18n from "react-intl-universal"; - -const styles = theme => ({ - root: { - width: "100%", - marginTop: theme.spacing(1), - overflowX: "auto" - }, - table: { - minWidth: 650 - }, - fab: { - position: "absolute", - bottom: theme.spacing(2), - right: theme.spacing(2) - } -}); - -class CategoryTable extends React.Component { - constructor(props) { - super(props); - this.state = { - tableData: [], - destroyDialogShow: false, - editCategoryShow: false, - editField: { - id: 0, - open: false, - rows: 1, - desc: "", - field: "", - fieldContent: "" - } - }; - this.destroyId = 0; - } - - componentDidMount() { - this.getTableData(); - BusEvent.updateCurrentTable = () => { - this.getTableData(); - }; - } - componentWillUnmount() { - BusEvent.updateCurrentTable = () => {}; - BusEvent.search.setSearchKeyword(""); - } - getTableData() { - let name = BusEvent.search.getSearchKeyword(); - categories({ name }) - .then(r => { - this.setState({ tableData: r }); - }) - .catch(() => {}); - } - - destroyDialogOpen(id) { - this.destroyId = id; - this.setState({ destroyDialogShow: true }); - } - - destroyDialogClose() { - this.setState({ destroyDialogShow: false }); - } - - destroyConfirm() { - destroy({ id: this.destroyId }) - .then(r => { - Snackbar.success(i18n.get("common.deleteSuccess")); - this.setState({ destroyDialogShow: false }); - this.getTableData(); - }) - .catch(() => {}); - } - - editDialogShow() { - this.setState({ editCategoryShow: true }); - } - editDialogClose() { - this.setState({ editCategoryShow: false }); - } - createCategorySuccess() { - this.setState({ editCategoryShow: false }); - this.getTableData(); - } - - clickEditField(row, inputRows, desc, field) { - this.setState({ - editField: { - id: row.ID, - open: true, - rows: inputRows, - desc: desc, - field: field, - fieldContent: row[field] - } - }); - } - editFieldSuccess(id, field, fieldContent) { - UpdateField({ id, field, fieldContent }) - .then(() => { - this.closeResetEditFieldDialog(); - this.getTableData(); - }) - .catch(() => {}); - } - closeResetEditFieldDialog() { - this.setState({ - editField: { - id: 0, - open: false, - rows: 1, - desc: "", - field: "", - fieldContent: "" - } - }); - } - - render() { - const { classes } = this.props; - return ( -
    - - - - - ID - {i18n.get("common.name")} - {i18n.get("common.total")} - {i18n.get("common.remark")} - - {i18n.get("common.createdAt")} - - {i18n.get("common.actions")} - - - - {this.state.tableData.map(row => ( - - - {row.ID} - - - - {row.Name} - - {row.JobQuantity} - - - - - - - - {row.CreatedAt} - - - - - - - - - ))} - -
    -
    - - {"确认删除分类?"} - - - 如果你确认要删除这个分类,请确保在这个分类下面已经没有任何任务了。 - - - - - - - - - - - - -
    - ); - } -} - -export default withStyles(styles)(CategoryTable); +import React from "react"; +import { withStyles } from "@material-ui/core/styles"; +import AddIcon from "@material-ui/icons/Add"; +import EditIcon from "@material-ui/icons/Edit"; +import DeleteIcon from "@material-ui/icons/Delete"; +import { + Table, + TableRow, + TableBody, + TableHead, + TableCell, + Paper, + Fab, + IconButton, + Button, + Dialog, + DialogTitle, + DialogContent, + DialogContentText, + DialogActions, + Tooltip +} from "@material-ui/core"; +import EditCategory from "./edit.js"; +import { categories, destroy, UpdateField } from "../../api/category.js"; +import EditField from "../../components/editField.js"; +import Snackbar from "../../components/snackbar"; +import Announcement from "@material-ui/icons/Announcement"; +import BusEvent from "../../utils/busEvents"; +import i18n from "react-intl-universal"; + +const styles = theme => ({ + root: { + width: "100%", + marginTop: theme.spacing(1), + overflowX: "auto" + }, + table: { + minWidth: 650 + }, + fab: { + position: "absolute", + bottom: theme.spacing(2), + right: theme.spacing(2) + } +}); + +class CategoryTable extends React.Component { + constructor(props) { + super(props); + this.state = { + tableData: [], + destroyDialogShow: false, + editCategoryShow: false, + editField: { + id: 0, + open: false, + rows: 1, + desc: "", + field: "", + fieldContent: "" + } + }; + this.destroyId = 0; + } + + componentDidMount() { + this.getTableData(); + BusEvent.updateCurrentTable = () => { + this.getTableData(); + }; + } + componentWillUnmount() { + BusEvent.updateCurrentTable = () => {}; + BusEvent.search.setSearchKeyword(""); + } + getTableData() { + let name = BusEvent.search.getSearchKeyword(); + categories({ name }) + .then(r => { + this.setState({ tableData: r }); + }) + .catch(() => {}); + } + + destroyDialogOpen(id) { + this.destroyId = id; + this.setState({ destroyDialogShow: true }); + } + + destroyDialogClose() { + this.setState({ destroyDialogShow: false }); + } + + destroyConfirm() { + destroy({ id: this.destroyId }) + .then(r => { + Snackbar.success(i18n.get("common.deleteSuccess")); + this.setState({ destroyDialogShow: false }); + this.getTableData(); + }) + .catch(() => {}); + } + + editDialogShow() { + this.setState({ editCategoryShow: true }); + } + editDialogClose() { + this.setState({ editCategoryShow: false }); + } + createCategorySuccess() { + this.setState({ editCategoryShow: false }); + this.getTableData(); + } + + clickEditField(row, inputRows, desc, field) { + this.setState({ + editField: { + id: row.ID, + open: true, + rows: inputRows, + desc: desc, + field: field, + fieldContent: row[field] + } + }); + } + editFieldSuccess(id, field, fieldContent) { + UpdateField({ id, field, fieldContent }) + .then(() => { + this.closeResetEditFieldDialog(); + this.getTableData(); + }) + .catch(() => {}); + } + closeResetEditFieldDialog() { + this.setState({ + editField: { + id: 0, + open: false, + rows: 1, + desc: "", + field: "", + fieldContent: "" + } + }); + } + + render() { + const { classes } = this.props; + return ( +
    + + + + + ID + {i18n.get("common.name")} + {i18n.get("common.total")} + {i18n.get("common.remark")} + + {i18n.get("common.createdAt")} + + {i18n.get("common.actions")} + + + + {this.state.tableData.map(row => ( + + + {row.ID} + + + + {row.Name} + + {row.TaskQuantity} + + + + + + + + {row.CreatedAt} + + + + + + + + + ))} + +
    +
    + + {i18n.get("category.deleteTitle")} + + + {i18n.get("category.deleteTip")} + + + + + + + + + + + + +
    + ); + } +} + +export default withStyles(styles)(CategoryTable); diff --git a/public/src/views/dashboard/index.js b/public/src/views/dashboard/index.js index f6b957f..dbd387f 100644 --- a/public/src/views/dashboard/index.js +++ b/public/src/views/dashboard/index.js @@ -1,83 +1,83 @@ -import React from "react"; -import { withStyles } from "@material-ui/core/styles"; -import Table from "@material-ui/core/Table"; -import i18n from "react-intl-universal"; -import TableBody from "@material-ui/core/TableBody"; -import TableCell from "@material-ui/core/TableCell"; -import TableHead from "@material-ui/core/TableHead"; -import TableRow from "@material-ui/core/TableRow"; -import Paper from "@material-ui/core/Paper"; -import { systemInfo } from "../../api/system"; -import { setSystemInfo } from "../../utils/dataStorage"; -import BusEvent from "../../utils/busEvents"; -const styles = theme => ({ - root: { - width: "100%", - marginTop: theme.spacing(1), - overflowX: "auto" - }, - table: { - minWidth: 650 - }, - sept: { - marginTop: 20, - padding: theme.spacing(3, 2) - } -}); - -class Dashboard extends React.Component { - constructor(props) { - super(props); - this.state = { - tableData: [] - }; - } - componentDidMount() { - systemInfo() - .then(r => { - setSystemInfo(r.kvConfig); - this.setState({ tableData: r.detailsConfig }); - }) - .catch(() => {}); - } - componentWillUnmount() { - BusEvent.search.setSearchKeyword(""); - } - render() { - const { classes } = this.props; - return ( -
    - - - - - {i18n.get("common.title")} - {i18n.get("common.value")} - - - - {this.state.tableData.map(row => ( - - - {row.Title} - - - {Array.isArray(row.Val) ? row.Val.join(" | ") : row.Val} - - - ))} - - - About - - {i18n.get("dashboard.about")} - - -
    -
    -
    - ); - } -} - -export default withStyles(styles)(Dashboard); +import React from "react"; +import { withStyles } from "@material-ui/core/styles"; +import Table from "@material-ui/core/Table"; +import i18n from "react-intl-universal"; +import TableBody from "@material-ui/core/TableBody"; +import TableCell from "@material-ui/core/TableCell"; +import TableHead from "@material-ui/core/TableHead"; +import TableRow from "@material-ui/core/TableRow"; +import Paper from "@material-ui/core/Paper"; +import { systemInfo } from "../../api/system"; +import { setSystemInfo } from "../../utils/dataStorage"; +import BusEvent from "../../utils/busEvents"; +const styles = theme => ({ + root: { + width: "100%", + marginTop: theme.spacing(1), + overflowX: "auto" + }, + table: { + minWidth: 650 + }, + sept: { + marginTop: 20, + padding: theme.spacing(3, 2) + } +}); + +class Dashboard extends React.Component { + constructor(props) { + super(props); + this.state = { + tableData: [] + }; + } + componentDidMount() { + systemInfo() + .then(r => { + setSystemInfo(r.kvConfig); + this.setState({ tableData: r.detailsConfig }); + }) + .catch(() => {}); + } + componentWillUnmount() { + BusEvent.search.setSearchKeyword(""); + } + render() { + const { classes } = this.props; + return ( +
    + + + + + {i18n.get("common.title")} + {i18n.get("common.value")} + + + + {this.state.tableData.map(row => ( + + + {row.Title} + + + {Array.isArray(row.Val) ? row.Val.join(" | ") : row.Val} + + + ))} + + + About + + {i18n.get("dashboard.about")} + + +
    +
    +
    + ); + } +} + +export default withStyles(styles)(Dashboard); diff --git a/public/src/views/error/404.js b/public/src/views/error/404.js index 692ba9e..9ec337a 100644 --- a/public/src/views/error/404.js +++ b/public/src/views/error/404.js @@ -1,18 +1,18 @@ -import React from "react"; - -const Style = { - notFound: { - width: "100%", - height: "100vh", - fontSize: "80px", - display: "flex", - justifyContent: "center", - alignItems: "center" - } -}; - -function App() { - return
    4 0 4
    ; -} - -export default App; +import React from "react"; + +const Style = { + notFound: { + width: "100%", + height: "100vh", + fontSize: "80px", + display: "flex", + justifyContent: "center", + alignItems: "center" + } +}; + +function App() { + return
    4 0 4
    ; +} + +export default App; diff --git a/public/src/views/layout/admin.scss b/public/src/views/layout/admin.scss index 1790b40..2045e8e 100644 --- a/public/src/views/layout/admin.scss +++ b/public/src/views/layout/admin.scss @@ -1,38 +1,38 @@ -@import "../../assets/style/variables.scss"; - -.admin { - width: 100%; - height: 100vh; - display: flex; - overflow: hidden; - flex-direction: column; - .topBar { - z-index: 100; - } - .container { - flex: 1; - overflow-x: hidden; - overflow-y: auto; - padding: 10px; - } -} - -.menuList { - display: flex; - padding: 60px; - justify-content: space-around; - .menuBox { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - .MuiIconButton-edgeStart { - margin-left: 0; - } - } -} -@media screen and (max-width: 760px) { - .menuList { - padding: 2px; - } -} +@import "../../assets/style/variables.scss"; + +.admin { + width: 100%; + height: 100vh; + display: flex; + overflow: hidden; + flex-direction: column; + .topBar { + z-index: 100; + } + .container { + flex: 1; + overflow-x: hidden; + overflow-y: auto; + padding: 10px; + } +} + +.menuList { + display: flex; + padding: 60px; + justify-content: space-around; + .menuBox { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + .MuiIconButton-edgeStart { + margin-left: 0; + } + } +} +@media screen and (max-width: 760px) { + .menuList { + padding: 2px; + } +} diff --git a/public/src/views/layout/index.js b/public/src/views/layout/index.js index 7ec19e5..e289db7 100644 --- a/public/src/views/layout/index.js +++ b/public/src/views/layout/index.js @@ -1,92 +1,92 @@ -import React from "react"; -import { Switch, Route, Redirect, withRouter } from "react-router-dom"; -import Drawer from "@material-ui/core/Drawer"; -import TopBar from "./topBar.js"; -import RouteList from "../../router/route"; -import { IconButton } from "@material-ui/core"; -import Config from "../../config/index"; -import i18n from "react-intl-universal"; -import "./admin.scss"; - -const Layout = props => { - const [menuState, setMenuState] = React.useState(false); - const [title, setTitle] = React.useState(""); - - React.useEffect(() => { - for (let i = 0; i < RouteList.length; i++) { - let r = RouteList[i]; - if (r.path === props.location.pathname) { - setTitle(i18n.get(r.title)); - document.title = i18n.get(r.title) + "-" + Config.siteName; - return; - } - } - }, [props.location.pathname]); - - const openMenu = menu => { - if (menu.path === props.location.pathname) return; - setTitle(menu.title); - setMenuState(false); - props.history.push(menu.path); - }; - - return ( -
    - { - setMenuState(true); - }} - clickRoute={openMenu} - /> - { - setMenuState(false); - }} - style={{ flexDirection: "column" }} - > -
    - {RouteList.map(menu => { - if (menu.isMenu) - return ( -
    - { - openMenu(menu); - }} - > - - -

    {i18n.get(menu.title)}

    -
    - ); - return false; - })} -
    -
    -
    - - {RouteList.map(route => { - return ( - - ); - })} - - - -
    -
    - ); -}; - -export default withRouter(Layout); +import React from "react"; +import { Switch, Route, Redirect, withRouter } from "react-router-dom"; +import Drawer from "@material-ui/core/Drawer"; +import TopBar from "./topBar.js"; +import RouteList from "../../router/route"; +import { IconButton } from "@material-ui/core"; +import Config from "../../config/index"; +import i18n from "react-intl-universal"; +import "./admin.scss"; + +const Layout = props => { + const [menuState, setMenuState] = React.useState(false); + const [title, setTitle] = React.useState(""); + + React.useEffect(() => { + for (let i = 0; i < RouteList.length; i++) { + let r = RouteList[i]; + if (r.path === props.location.pathname) { + setTitle(i18n.get(r.title)); + document.title = i18n.get(r.title) + "-" + Config.siteName; + return; + } + } + }, [props.location.pathname]); + + const openMenu = menu => { + if (menu.path === props.location.pathname) return; + setTitle(menu.title); + setMenuState(false); + props.history.push(menu.path); + }; + + return ( +
    + { + setMenuState(true); + }} + clickRoute={openMenu} + /> + { + setMenuState(false); + }} + style={{ flexDirection: "column" }} + > +
    + {RouteList.map(menu => { + if (menu.isMenu) + return ( +
    + { + openMenu(menu); + }} + > + + +

    {i18n.get(menu.title)}

    +
    + ); + return false; + })} +
    +
    +
    + + {RouteList.map(route => { + return ( + + ); + })} + + + +
    +
    + ); +}; + +export default withRouter(Layout); diff --git a/public/src/views/layout/lang.js b/public/src/views/layout/lang.js index 88c1134..ef71d7c 100644 --- a/public/src/views/layout/lang.js +++ b/public/src/views/layout/lang.js @@ -1,60 +1,60 @@ -import React from "react"; -import { IconButton, Menu, MenuItem } from "@material-ui/core"; -import LanguageIcon from "@material-ui/icons/Language"; -import { setUserLang } from "../../utils/dataStorage"; -import { withStyles } from "@material-ui/core/styles"; -import i18n from "react-intl-universal"; - -const styles = () => ({}); - -const Lang = () => { - const [anchorEl, setAnchorEl] = React.useState(null); - // const { classes } = props; - return ( -
    - { - setAnchorEl(event.currentTarget); - }} - > - - - { - setAnchorEl(null); - }} - > - { - setUserLang("en-US"); - }} - > - {i18n.get("bar.switchEN")} - - { - setUserLang("zh-CN"); - }} - > - {i18n.get("bar.switchCN")} - - -
    - ); -}; - -export default withStyles(styles)(Lang); +import React from "react"; +import { IconButton, Menu, MenuItem } from "@material-ui/core"; +import LanguageIcon from "@material-ui/icons/Language"; +import { setUserLang } from "../../utils/dataStorage"; +import { withStyles } from "@material-ui/core/styles"; +import i18n from "react-intl-universal"; + +const styles = () => ({}); + +const Lang = () => { + const [anchorEl, setAnchorEl] = React.useState(null); + // const { classes } = props; + return ( +
    + { + setAnchorEl(event.currentTarget); + }} + > + + + { + setAnchorEl(null); + }} + > + { + setUserLang("en-US"); + }} + > + {i18n.get("bar.switchEN")} + + { + setUserLang("zh-CN"); + }} + > + {i18n.get("bar.switchCN")} + + +
    + ); +}; + +export default withStyles(styles)(Lang); diff --git a/public/src/views/layout/notice.js b/public/src/views/layout/notice.js index 50ee499..7d49e2c 100644 --- a/public/src/views/layout/notice.js +++ b/public/src/views/layout/notice.js @@ -1,89 +1,103 @@ -import React from "react"; -import { Badge, IconButton, Menu } from "@material-ui/core"; -import { Alert } from "@material-ui/lab"; -import NoticeIcon from "@material-ui/icons/NotificationsPaused"; -import { withStyles } from "@material-ui/core/styles"; -import Divider from "@material-ui/core/Divider"; -import BusEvent from "../../utils/busEvents"; -import i18n from "react-intl-universal"; - -const styles = theme => ({ - item: { - margin: theme.spacing(1) - }, - bar: { - width: "100%", - justifyContent: "space-around", - color: "#c9c9c9", - marginTop: 10, - alignItems: "center", - display: "flex" - } -}); - -const Notice = props => { - const [anchorEl, setAnchorEl] = React.useState(null); - const [notices, setNotice] = React.useState([]); - const [onlineUsers, setOnlineUsers] = React.useState(0); - BusEvent.pushNotice = n => { - setNotice([n, ...notices]); - setOnlineUsers(n.OnlineUsers || 0); - }; - const { classes } = props; - return ( -
    - { - setAnchorEl(event.currentTarget); - }} - > - - - - - { - setAnchorEl(null); - }} - > - {notices.length === 0 ? ( - - {i18n.get("bar.noticeEmpty")} - - ) : ( - notices.map((r, i) => ( - - {r.Message} - - )) - )} - -
    - - {i18n.get("bar.noticeQuantityTip", { v: notices.length })} - - {i18n.get("bar.onlineTip", { v: onlineUsers })} -
    -
    -
    - ); -}; - -export default withStyles(styles)(Notice); +import React from "react"; +import { Badge, IconButton, Menu } from "@material-ui/core"; +import { Alert } from "@material-ui/lab"; +import NoticeIcon from "@material-ui/icons/NotificationsPaused"; +import { withStyles } from "@material-ui/core/styles"; +import Divider from "@material-ui/core/Divider"; +import BusEvent from "../../utils/busEvents"; +import i18n from "react-intl-universal"; + +const styles = theme => ({ + item: { + margin: theme.spacing(1) + }, + content:{ + display: "flex", + maxHeight:360, + flexDirection: "column", + }, + notice:{ + flex:1, + overflowY:"auto" + }, + bar: { + width: "100%", + justifyContent: "space-around", + color: "#c9c9c9", + marginTop: 10, + alignItems: "center", + display: "flex" + } +}); + +const Notice = props => { + const [anchorEl, setAnchorEl] = React.useState(null); + const [notices, setNotice] = React.useState([]); + const [onlineUsers, setOnlineUsers] = React.useState(0); + BusEvent.pushNotice = n => { + setNotice([n, ...notices]); + setOnlineUsers(n.OnlineUsers || 0); + }; + const { classes } = props; + return ( +
    + { + setAnchorEl(event.currentTarget); + }} + > + + + + + { + setAnchorEl(null); + }} + > +
    +
    + {notices.length === 0 ? ( + + {i18n.get("bar.noticeEmpty")} + + ) : ( + notices.map((r, i) => ( + + {r.Message} + + )) + )} +
    +
    + +
    + + {i18n.get("bar.noticeQuantityTip", { v: notices.length })} + + {i18n.get("bar.onlineTip", { v: onlineUsers })} +
    +
    +
    +
    +
    + ); +}; + +export default withStyles(styles)(Notice); diff --git a/public/src/views/layout/search.js b/public/src/views/layout/search.js index a389a05..1c3718d 100644 --- a/public/src/views/layout/search.js +++ b/public/src/views/layout/search.js @@ -1,43 +1,43 @@ -import React from "react"; -import { Badge, IconButton } from "@material-ui/core"; -import SearchIcon from "@material-ui/icons/Search"; -import SearchFloatInput from "./searchFloatInput"; -import busEvents from "../../utils/busEvents"; - -const Search = props => { - const [showInput, setShowInput] = React.useState(false); - const [keyword, setKeyword] = React.useState(""); - - busEvents.search.setSearchKeyword = setKeyword; - busEvents.search.getSearchKeyword = () => keyword; - - return ( -
    - { - setShowInput(true); - }} - > - - - - -
    - { - setShowInput(false); - }} - keyword={keyword} - setKeyword={setKeyword} - /> -
    -
    - ); -}; - -export default Search; +import React from "react"; +import { Badge, IconButton } from "@material-ui/core"; +import SearchIcon from "@material-ui/icons/Search"; +import SearchFloatInput from "./searchFloatInput"; +import busEvents from "../../utils/busEvents"; + +const Search = props => { + const [showInput, setShowInput] = React.useState(false); + const [keyword, setKeyword] = React.useState(""); + + busEvents.search.setSearchKeyword = setKeyword; + busEvents.search.getSearchKeyword = () => keyword; + + return ( +
    + { + setShowInput(true); + }} + > + + + + +
    + { + setShowInput(false); + }} + keyword={keyword} + setKeyword={setKeyword} + /> +
    +
    + ); +}; + +export default Search; diff --git a/public/src/views/layout/searchFloatInput.js b/public/src/views/layout/searchFloatInput.js index 16271d4..b9247b7 100644 --- a/public/src/views/layout/searchFloatInput.js +++ b/public/src/views/layout/searchFloatInput.js @@ -1,93 +1,93 @@ -import React from "react"; -import { makeStyles } from "@material-ui/core/styles"; -import InputBase from "@material-ui/core/InputBase"; -import Divider from "@material-ui/core/Divider"; -import IconButton from "@material-ui/core/IconButton"; -import CloseIcon from "@material-ui/icons/Close"; -import RotateLeft from "@material-ui/icons/RotateLeft"; -import DirectionsIcon from "@material-ui/icons/Directions"; -import BusEvent from "../../utils/busEvents"; -import i18n from "react-intl-universal"; -const useStyles = makeStyles(theme => ({ - root: { - position: "fixed", - left: 0, - top: 0, - padding: "2px 4px", - display: "flex", - alignItems: "center", - width: "100%", - height: 64, - background: "#fff", - zIndex: 100 - }, - input: { - marginLeft: theme.spacing(1), - flex: 1 - }, - iconButton: { - padding: 10 - }, - divider: { - height: 28, - margin: 4 - } -})); - -const SearchFloatInput = props => { - const classes = useStyles(); - - return ( -
    - { - props.closeInput(); - }} - > - - - { - props.setKeyword(event.target.value); - }} - onKeyDown={e => { - if (e.keyCode !== 13) { - return; - } - BusEvent.updateCurrentTable(); - }} - className={classes.input} - placeholder={i18n.get("bar.searchTip")} - inputProps={{ "aria-label": "search keyword" }} - /> - { - BusEvent.updateCurrentTable(); - }} - > - - - - { - props.setKeyword(""); - setTimeout(() => { - BusEvent.updateCurrentTable(); - }, 100); - }} - > - - -
    - ); -}; -export default SearchFloatInput; +import React from "react"; +import { makeStyles } from "@material-ui/core/styles"; +import InputBase from "@material-ui/core/InputBase"; +import Divider from "@material-ui/core/Divider"; +import IconButton from "@material-ui/core/IconButton"; +import CloseIcon from "@material-ui/icons/Close"; +import RotateLeft from "@material-ui/icons/RotateLeft"; +import DirectionsIcon from "@material-ui/icons/Directions"; +import BusEvent from "../../utils/busEvents"; +import i18n from "react-intl-universal"; +const useStyles = makeStyles(theme => ({ + root: { + position: "fixed", + left: 0, + top: 0, + padding: "2px 4px", + display: "flex", + alignItems: "center", + width: "100%", + height: 64, + background: "#fff", + zIndex: 100 + }, + input: { + marginLeft: theme.spacing(1), + flex: 1 + }, + iconButton: { + padding: 10 + }, + divider: { + height: 28, + margin: 4 + } +})); + +const SearchFloatInput = props => { + const classes = useStyles(); + + return ( +
    + { + props.closeInput(); + }} + > + + + { + props.setKeyword(event.target.value); + }} + onKeyDown={e => { + if (e.keyCode !== 13) { + return; + } + BusEvent.updateCurrentTable(); + }} + className={classes.input} + placeholder={i18n.get("bar.searchTip")} + inputProps={{ "aria-label": "search keyword" }} + /> + { + BusEvent.updateCurrentTable(); + }} + > + + + + { + props.setKeyword(""); + setTimeout(() => { + BusEvent.updateCurrentTable(); + }, 100); + }} + > + + +
    + ); +}; +export default SearchFloatInput; diff --git a/public/src/views/layout/topBar.js b/public/src/views/layout/topBar.js index 6aeffc8..7de2ec1 100644 --- a/public/src/views/layout/topBar.js +++ b/public/src/views/layout/topBar.js @@ -1,100 +1,100 @@ -import React from "react"; -import { - AppBar, - Toolbar, - IconButton, - Grid, - Menu, - MenuItem, - Link, - Chip -} from "@material-ui/core"; -import Typography from "@material-ui/core/Typography"; -import Notice from "./notice"; -import { ExitToApp, AssignmentInd } from "@material-ui/icons"; - -import Search from "./search"; -import Lang from "./lang"; -import i18n from "react-intl-universal"; -import { getUserInfo } from "../../utils/dataStorage"; - -const Logo = require("../../assets/img/logo.svg"); -let UserInfo = getUserInfo(); - -const TopBar = props => { - const [anchorEl, setAnchorEl] = React.useState(null); - - const handleClick = event => { - setAnchorEl(event.currentTarget); - }; - - const handleClose = () => { - setAnchorEl(null); - }; - - return ( -
    - - - - {/**/} -
    - -
    -
    - - {props.title} - -
    - - - - - - - - - - - - - - - - {i18n.get("role." + UserInfo.Role)} - - - - - {i18n.get("bar.logout")} - - - - - -
    -
    -
    -
    - ); -}; - -export default TopBar; +import React from "react"; +import { + AppBar, + Toolbar, + IconButton, + Grid, + Menu, + MenuItem, + Link, + Chip +} from "@material-ui/core"; +import Typography from "@material-ui/core/Typography"; +import Notice from "./notice"; +import { ExitToApp, AssignmentInd } from "@material-ui/icons"; + +import Search from "./search"; +import Lang from "./lang"; +import i18n from "react-intl-universal"; +import { getUserInfo } from "../../utils/dataStorage"; + +const Logo = require("../../assets/img/logo.svg"); +let UserInfo = getUserInfo(); + +const TopBar = props => { + const [anchorEl, setAnchorEl] = React.useState(null); + + const handleClick = event => { + setAnchorEl(event.currentTarget); + }; + + const handleClose = () => { + setAnchorEl(null); + }; + + return ( +
    + + + + {/**/} +
    + +
    +
    + + {props.title} + +
    + + + + + + + + + + + + + + + + {i18n.get("role." + UserInfo.Role)} + + + + + {i18n.get("bar.logout")} + + + + + +
    +
    +
    +
    + ); +}; + +export default TopBar; diff --git a/public/src/views/login/index.js b/public/src/views/login/index.js index 7de5647..99230b6 100644 --- a/public/src/views/login/index.js +++ b/public/src/views/login/index.js @@ -1,149 +1,149 @@ -import React, { useState } from "react"; -import i18n from "react-intl-universal"; -import Button from "@material-ui/core/Button"; -import TextField from "@material-ui/core/TextField"; -import FormControlLabel from "@material-ui/core/FormControlLabel"; -import Checkbox from "@material-ui/core/Checkbox"; -import Link from "@material-ui/core/Link"; -import Grid from "@material-ui/core/Grid"; -import Box from "@material-ui/core/Box"; -import Typography from "@material-ui/core/Typography"; -import { makeStyles } from "@material-ui/core/styles"; -import Container from "@material-ui/core/Container"; -import Copyright from "../../components/copyright"; -import { setToken, setUserInfo, removeToken } from "../../utils/dataStorage"; -import { login } from "../../api/user"; -const Logo = require("../../assets/img/logo.svg"); - -const useStyles = makeStyles(theme => ({ - paper: { - marginTop: theme.spacing(8), - display: "flex", - flexDirection: "column", - alignItems: "center" - }, - avatar: { - margin: theme.spacing(1), - backgroundColor: theme.palette.secondary.main - }, - form: { - width: "100%", // Fix IE 11 issue. - marginTop: theme.spacing(1) - }, - submit: { - margin: theme.spacing(3, 0, 2) - } -})); - -export default function SignIn() { - removeToken(); - const classes = useStyles(); - - let rememberMe = localStorage.getItem("RememberMe") === "1"; - let initLoginInfo = JSON.parse(localStorage.getItem("LoginInfo")) || {}; - - const [checked, setChecked] = React.useState(rememberMe); - const [username, setUsername] = useState(initLoginInfo.username); - const [password, setPassword] = useState(initLoginInfo.password); - const checkedChange = event => { - setChecked(event.target.checked); - - if (event.target.checked) { - localStorage.setItem("RememberMe", "1"); - } else { - localStorage.removeItem("RememberMe"); - } - }; - - const usernameChange = event => { - setUsername(event.target.value); - }; - const passwordChange = event => { - setPassword(event.target.value); - }; - const submitLogin = () => { - //登陆成功设置 - login({ username, password }) - .then(r => { - setToken(r.Token); - setUserInfo(r); - window.location.href = "./"; - localStorage.setItem( - "LoginInfo", - JSON.stringify({ username, password }) - ); - }) - .catch(() => {}); - }; - return ( - -
    - - - {i18n.get("login.title")} - -
    - - - - } - label="Remember me" - /> - - - - {/**/} - {/* 没有账户? 注册一个吧。*/} - {/**/} - - - - {i18n.get("login.tip")} - - - - -
    - - - -
    - ); -} +import React, { useState } from "react"; +import i18n from "react-intl-universal"; +import Button from "@material-ui/core/Button"; +import TextField from "@material-ui/core/TextField"; +import FormControlLabel from "@material-ui/core/FormControlLabel"; +import Checkbox from "@material-ui/core/Checkbox"; +import Link from "@material-ui/core/Link"; +import Grid from "@material-ui/core/Grid"; +import Box from "@material-ui/core/Box"; +import Typography from "@material-ui/core/Typography"; +import { makeStyles } from "@material-ui/core/styles"; +import Container from "@material-ui/core/Container"; +import Copyright from "../../components/copyright"; +import { setToken, setUserInfo, removeToken } from "../../utils/dataStorage"; +import { login } from "../../api/user"; +const Logo = require("../../assets/img/logo.svg"); + +const useStyles = makeStyles(theme => ({ + paper: { + marginTop: theme.spacing(8), + display: "flex", + flexDirection: "column", + alignItems: "center" + }, + avatar: { + margin: theme.spacing(1), + backgroundColor: theme.palette.secondary.main + }, + form: { + width: "100%", // Fix IE 11 issue. + marginTop: theme.spacing(1) + }, + submit: { + margin: theme.spacing(3, 0, 2) + } +})); + +export default function SignIn() { + removeToken(); + const classes = useStyles(); + + let rememberMe = localStorage.getItem("RememberMe") === "1"; + let initLoginInfo = JSON.parse(localStorage.getItem("LoginInfo")) || {}; + + const [checked, setChecked] = React.useState(rememberMe); + const [username, setUsername] = useState(initLoginInfo.username); + const [password, setPassword] = useState(initLoginInfo.password); + const checkedChange = event => { + setChecked(event.target.checked); + + if (event.target.checked) { + localStorage.setItem("RememberMe", "1"); + } else { + localStorage.removeItem("RememberMe"); + } + }; + + const usernameChange = event => { + setUsername(event.target.value); + }; + const passwordChange = event => { + setPassword(event.target.value); + }; + const submitLogin = () => { + //登陆成功设置 + login({ username, password }) + .then(r => { + setToken(r.Token); + setUserInfo(r); + window.location.href = "./"; + localStorage.setItem( + "LoginInfo", + JSON.stringify({ username, password }) + ); + }) + .catch(() => {}); + }; + return ( + +
    + + + {i18n.get("login.title")} + +
    + + + + } + label="Remember me" + /> + + + + {/**/} + {/* 没有账户? 注册一个吧。*/} + {/**/} + + + + {i18n.get("login.tip")} + + + + +
    + + + +
    + ); +} diff --git a/public/src/views/register/index.js b/public/src/views/register/index.js index f687778..ff604f6 100644 --- a/public/src/views/register/index.js +++ b/public/src/views/register/index.js @@ -1,113 +1,113 @@ -import React, { useState } from "react"; -import Button from "@material-ui/core/Button"; -import TextField from "@material-ui/core/TextField"; -import Link from "@material-ui/core/Link"; -import Grid from "@material-ui/core/Grid"; -import Box from "@material-ui/core/Box"; -import Typography from "@material-ui/core/Typography"; -import { makeStyles } from "@material-ui/core/styles"; -import Container from "@material-ui/core/Container"; -import Copyright from "../../components/copyright"; -import { register } from "../../api/user"; -import snackbar from "../../components/snackbar/index"; -import i18n from "react-intl-universal"; -const Logo = require("../../assets/img/logo.svg"); - -const useStyles = makeStyles(theme => ({ - paper: { - marginTop: theme.spacing(8), - display: "flex", - flexDirection: "column", - alignItems: "center" - }, - avatar: { - margin: theme.spacing(1), - backgroundColor: theme.palette.secondary.main - }, - form: { - width: "100%", // Fix IE 11 issue. - marginTop: theme.spacing(3) - }, - submit: { - margin: theme.spacing(3, 0, 2) - } -})); - -export default function SignUp() { - const classes = useStyles(); - - const [username, setUsername] = useState(""); - const [password, setPassword] = useState(""); - const usernameChange = event => { - setUsername(event.target.value); - }; - const passwordChange = event => { - setPassword(event.target.value); - }; - const submitRegister = () => { - register({ username, password }) - .then(() => { - snackbar.success(i18n.get("register.registerSuccess")); - }) - .catch(() => {}); - }; - return ( - -
    - - - {i18n.get("register.title")} - -
    - - - - - - - - - {i18n.get("register.roleTip")} - - - - - - - {i18n.get("register.tip")} - - - -
    -
    - - - -
    - ); -} +import React, { useState } from "react"; +import Button from "@material-ui/core/Button"; +import TextField from "@material-ui/core/TextField"; +import Link from "@material-ui/core/Link"; +import Grid from "@material-ui/core/Grid"; +import Box from "@material-ui/core/Box"; +import Typography from "@material-ui/core/Typography"; +import { makeStyles } from "@material-ui/core/styles"; +import Container from "@material-ui/core/Container"; +import Copyright from "../../components/copyright"; +import { register } from "../../api/user"; +import snackbar from "../../components/snackbar/index"; +import i18n from "react-intl-universal"; +const Logo = require("../../assets/img/logo.svg"); + +const useStyles = makeStyles(theme => ({ + paper: { + marginTop: theme.spacing(8), + display: "flex", + flexDirection: "column", + alignItems: "center" + }, + avatar: { + margin: theme.spacing(1), + backgroundColor: theme.palette.secondary.main + }, + form: { + width: "100%", // Fix IE 11 issue. + marginTop: theme.spacing(3) + }, + submit: { + margin: theme.spacing(3, 0, 2) + } +})); + +export default function SignUp() { + const classes = useStyles(); + + const [username, setUsername] = useState(""); + const [password, setPassword] = useState(""); + const usernameChange = event => { + setUsername(event.target.value); + }; + const passwordChange = event => { + setPassword(event.target.value); + }; + const submitRegister = () => { + register({ username, password }) + .then(() => { + snackbar.success(i18n.get("register.registerSuccess")); + }) + .catch(() => {}); + }; + return ( + +
    + + + {i18n.get("register.title")} + +
    + + + + + + + + + {i18n.get("register.roleTip")} + + + + + + + {i18n.get("register.tip")} + + + +
    +
    + + + +
    + ); +} diff --git a/public/src/views/repository/edit.js b/public/src/views/repository/edit.js index 9ce1de7..7561ef4 100644 --- a/public/src/views/repository/edit.js +++ b/public/src/views/repository/edit.js @@ -1,158 +1,158 @@ -import React from "react"; -import i18n from "react-intl-universal"; -import { - Button, - TextField, - Dialog, - DialogActions, - DialogContent, - DialogTitle, - MenuItem -} from "@material-ui/core"; -import { create } from "../../api/repository"; - -class Edit extends React.Component { - constructor(props) { - super(props); - this.state = { - name: "", - url: "", - desc: "", - userName: "", - password: "", - dependTools: "" - }; - } - - componentDidMount() {} - - textFieldChange(field, event) { - this.setState({ [field]: event.target.value }); - } - - submitForm() { - create(this.state) - .then(r => { - this.props.createSuccess(); - }) - .catch(() => {}); - } - - render() { - return ( -
    - - - {i18n.get("common.create")} - - - - - - {this.props.dependentSupport.map(r => { - return ( - - {r} - - ); - })} - - - - - - - - - - -
    - ); - } -} - -export default Edit; +import React from "react"; +import i18n from "react-intl-universal"; +import { + Button, + TextField, + Dialog, + DialogActions, + DialogContent, + DialogTitle, + MenuItem +} from "@material-ui/core"; +import { create } from "../../api/repository"; + +class Edit extends React.Component { + constructor(props) { + super(props); + this.state = { + name: "", + url: "", + desc: "", + userName: "", + password: "", + dependTools: "" + }; + } + + componentDidMount() {} + + textFieldChange(field, event) { + this.setState({ [field]: event.target.value }); + } + + submitForm() { + create(this.state) + .then(r => { + this.props.createSuccess(); + }) + .catch(() => {}); + } + + render() { + return ( +
    + + + {i18n.get("common.create")} + + + + + + {this.props.dependentSupport.map(r => { + return ( + + {r} + + ); + })} + + + + + + + + + + +
    + ); + } +} + +export default Edit; diff --git a/public/src/views/repository/index.js b/public/src/views/repository/index.js index ba83c57..e1acde9 100644 --- a/public/src/views/repository/index.js +++ b/public/src/views/repository/index.js @@ -1,131 +1,131 @@ -import React from "react"; -import { withStyles } from "@material-ui/core/styles"; -import AddIcon from "@material-ui/icons/Add"; -import { Fab, Paper } from "@material-ui/core"; -import Edit from "./edit"; -import Table from "./repositoryTable"; -import { getSystemInfo } from "../../utils/dataStorage"; -import { repositoryFind } from "../../api/repository"; -import Pagination from "@material-ui/lab/Pagination"; -import BusEvent from "../../utils/busEvents"; -const styles = theme => ({ - root: { - width: "100%", - marginTop: theme.spacing(1), - overflowX: "auto" - }, - fab: { - position: "absolute", - bottom: theme.spacing(2), - right: theme.spacing(2) - }, - pagination: { - width: "100%", - display: "flex", - justifyContent: "center", - textAlign: "center", - padding: theme.spacing(3) - }, - headFun: { - textAlign: "right" - } -}); - -class RepositoryTable extends React.Component { - constructor(props) { - super(props); - this.state = { - tableData: [], - editShow: false, - dependentSupport: getSystemInfo("DependTools") || [], - totalPage: 1, - pageNum: 1 - }; - } - componentDidMount() { - let { query } = this.props.location; - if (query && query.id) { - BusEvent.search.setSearchKeyword("id:" + query.id); - } - setTimeout(() => { - this.getTableData(); - }, 150); - BusEvent.updateCurrentTable = () => { - this.getTableData(); - }; - } - - componentWillUnmount() { - BusEvent.updateCurrentTable = () => {}; - BusEvent.search.setSearchKeyword(""); - } - editDialogShow() { - this.setState({ editShow: true }); - } - - editDialogClose() { - this.setState({ editShow: false }); - } - - createSuccess() { - this.setState({ editShow: false }); - this.getTableData(); - } - getTableData(pageNum = 1, pageSize = 8) { - let name = BusEvent.search.getSearchKeyword(); - repositoryFind({ pageNum, pageSize, name }) - .then(r => { - this.setState({ - tableData: r.List, - totalPage: r.TotalPage, - pageNum: r.PageNum - }); - }) - .catch(() => {}); - } - - changePagination(v, pageNum) { - if (pageNum === this.state.pageNum) { - return; - } - this.getTableData(pageNum); - } - render() { - const { classes } = this.props; - return ( -
    - - -
    - -
    - - - - - - - ); - } -} - -export default withStyles(styles)(RepositoryTable); +import React from "react"; +import { withStyles } from "@material-ui/core/styles"; +import AddIcon from "@material-ui/icons/Add"; +import { Fab, Paper } from "@material-ui/core"; +import Edit from "./edit"; +import Table from "./repositoryTable"; +import { getSystemInfo } from "../../utils/dataStorage"; +import { repositoryFind } from "../../api/repository"; +import Pagination from "@material-ui/lab/Pagination"; +import BusEvent from "../../utils/busEvents"; +const styles = theme => ({ + root: { + width: "100%", + marginTop: theme.spacing(1), + overflowX: "auto" + }, + fab: { + position: "absolute", + bottom: theme.spacing(2), + right: theme.spacing(2) + }, + pagination: { + width: "100%", + display: "flex", + justifyContent: "center", + textAlign: "center", + padding: theme.spacing(3) + }, + headFun: { + textAlign: "right" + } +}); + +class RepositoryTable extends React.Component { + constructor(props) { + super(props); + this.state = { + tableData: [], + editShow: false, + dependentSupport: getSystemInfo("DependTools") || [], + totalPage: 1, + pageNum: 1 + }; + } + componentDidMount() { + let { query } = this.props.location; + if (query && query.id) { + BusEvent.search.setSearchKeyword("id:" + query.id); + } + setTimeout(() => { + this.getTableData(); + }, 150); + BusEvent.updateCurrentTable = () => { + this.getTableData(); + }; + } + + componentWillUnmount() { + BusEvent.updateCurrentTable = () => {}; + BusEvent.search.setSearchKeyword(""); + } + editDialogShow() { + this.setState({ editShow: true }); + } + + editDialogClose() { + this.setState({ editShow: false }); + } + + createSuccess() { + this.setState({ editShow: false }); + this.getTableData(); + } + getTableData(pageNum = 1, pageSize = 8) { + let name = BusEvent.search.getSearchKeyword(); + repositoryFind({ pageNum, pageSize, name }) + .then(r => { + this.setState({ + tableData: r.List, + totalPage: r.TotalPage, + pageNum: r.PageNum + }); + }) + .catch(() => {}); + } + + changePagination(v, pageNum) { + if (pageNum === this.state.pageNum) { + return; + } + this.getTableData(pageNum); + } + render() { + const { classes } = this.props; + return ( +
    + +
    +
    + +
    + + + + + + + ); + } +} + +export default withStyles(styles)(RepositoryTable); diff --git a/public/src/views/repository/repositoryStatus.js b/public/src/views/repository/repositoryStatus.js index 025b4cd..e94079b 100644 --- a/public/src/views/repository/repositoryStatus.js +++ b/public/src/views/repository/repositoryStatus.js @@ -1,38 +1,38 @@ -import React from "react"; -import { CircularProgress, IconButton, Tooltip } from "@material-ui/core"; -import i18n from "react-intl-universal"; - -const STATUS = ["repo.cloneProcessing", "repo.cloneSuccess", "repo.cloneFail"]; - -class RepositoryStatus extends React.Component { - constructor(props) { - super(props); - this.state = {}; - } - renderCircularProgress(status) { - if (0 === status) return ; - if (1 === status) - return ; - return ( - - ); - } - render() { - return ( -
    - - - {this.renderCircularProgress(this.props.status)} - - -
    - ); - } -} - -export default RepositoryStatus; +import React from "react"; +import { CircularProgress, IconButton, Tooltip } from "@material-ui/core"; +import i18n from "react-intl-universal"; + +const STATUS = ["repo.cloneProcessing", "repo.cloneSuccess", "repo.cloneFail"]; + +class RepositoryStatus extends React.Component { + constructor(props) { + super(props); + this.state = {}; + } + renderCircularProgress(status) { + if (0 === status) return ; + if (1 === status) + return ; + return ( + + ); + } + render() { + return ( +
    + + + {this.renderCircularProgress(this.props.status)} + + +
    + ); + } +} + +export default RepositoryStatus; diff --git a/public/src/views/repository/repositoryTable.js b/public/src/views/repository/repositoryTable.js index ceec937..10168e3 100644 --- a/public/src/views/repository/repositoryTable.js +++ b/public/src/views/repository/repositoryTable.js @@ -1,392 +1,392 @@ -import React, { Fragment } from "react"; -import { - TableHead, - TableRow, - TableCell, - TableBody, - Tooltip, - IconButton, - Table, - DialogTitle, - DialogContent, - DialogContentText, - DialogActions, - Button, - Dialog -} from "@material-ui/core"; -import DeleteIcon from "@material-ui/icons/Delete"; -import EditIcon from "@material-ui/icons/Edit"; -import RotateLeftIcon from "@material-ui/icons/RotateLeft"; -import FormatClearIcon from "@material-ui/icons/FormatClear"; -import RestoreFromTrash from "@material-ui/icons/RestoreFromTrash"; -import LockIcon from "@material-ui/icons/Lock"; -import LockOpenIcon from "@material-ui/icons/LockOpen"; -import SaveAlt from "@material-ui/icons/SaveAlt"; -import Computer from "@material-ui/icons/Computer"; -import Announcement from "@material-ui/icons/Announcement"; -import LinkIcon from "@material-ui/icons/Link"; -import { withStyles } from "@material-ui/core/styles"; -import HelperTooltips from "../../components/helperTooltips"; -import RepositoryStatus from "./repositoryStatus"; -import RepositoryTaskStatus from "./repositoryTaskStatus"; -import Snackbar from "../../components/snackbar"; -import { - deleteDepend, - destroy, - gitPull, - UpdateField, - pruneBranch, - discardChange -} from "../../api/repository"; -import EditField from "../../components/editField"; -import { tooltip } from "../../assets/jss/common"; -import NewReleases from "@material-ui/icons/NewReleases"; -import { reset } from "../../api/repository.js"; -import i18n from "react-intl-universal"; - -const styles = () => ({ - table: { - minWidth: 400 - }, - tooltip -}); - -class RepositoryTable extends React.Component { - constructor(props) { - super(props); - this.state = { - destroyDialogShow: false, - editField: { - id: 0, - open: false, - rows: 1, - desc: "", - field: "", - fieldContent: "" - } - }; - this.destroyId = 0; //记录当前要删除的id - } - - destroyDialogOpen(id) { - this.destroyId = id; - this.setState({ destroyDialogShow: true }); - } - - destroyDialogClose() { - this.setState({ destroyDialogShow: false }); - } - - deleteRepositoryDepend(row) { - if (row.Status !== 1) { - Snackbar.warning(i18n.get("repo.deleteDependentFailedTip")); - return; - } - deleteDepend({ id: row.ID }) - .then(r => { - Snackbar.success(r); - }) - .catch(() => {}); - } - discardRepoChange(row) { - discardChange({ id: row.ID }) - .then(() => { - Snackbar.success("git checkout . success!"); - }) - .catch(() => {}); - } - destroyConfirm() { - destroy({ id: this.destroyId }) - .then(r => { - this.setState({ destroyDialogShow: false }); - this.props.refresh(); - }) - .catch(() => {}); - } - - repositoryGitPull(row) { - gitPull({ id: row.ID }) - .then(() => { - Snackbar.success("git pull success"); - }) - .catch(() => {}); - } - - repositoryPruneBranch(row) { - pruneBranch({ id: row.ID }) - .then(() => { - Snackbar.success("git remote prune origin success"); - }) - .catch(() => {}); - } - - clickEditField(row, inputRows, desc, field) { - this.setState({ - editField: { - id: row.ID, - open: true, - rows: inputRows, - desc: desc, - field: field, - fieldContent: row[field] - } - }); - } - editFieldSuccess(id, field, fieldContent) { - UpdateField({ id, field, fieldContent }) - .then(() => { - this.closeResetEditFieldDialog(); - this.props.refresh(); - }) - .catch(() => {}); - } - closeResetEditFieldDialog() { - this.setState({ - editField: { - id: 0, - open: false, - rows: 1, - desc: "", - field: "", - fieldContent: "" - } - }); - } - resetRepo(row) { - if (row.JobStatus !== 0) { - return Snackbar.warning(i18n.get("repo.resetRepoFailed")); - } - reset({ id: row.ID }) - .then(() => { - Snackbar.success(i18n.get("repo.resetRepoSuccess")); - this.props.refresh(); - }) - .catch(() => {}); - } - render() { - const { classes } = this.props; - return ( - -
    - - - ID - - {i18n.get("common.remoteUrl")} - - {i18n.get("common.name")} - - {i18n.get("repo.cloneStatus")} - - - {i18n.get("repo.workingStatus")} - {/**/} - - - {i18n.get("repo.auth")} - {/**/} - - - {i18n.get("common.terminalOut")} - - - {i18n.get("common.remark")} - - - - {i18n.get("common.dependentTools")} - - {i18n.get("common.actions")} - - - - {this.props.tableData.map(row => ( - - - {row.ID} - - - - - - - - - - - {row.Name} - - - - - - - - - {row.UserName && row.Password ? ( - - {i18n.get("common.username")}:{row.UserName} - - } - interactive - > - - - - - ) : ( - - - - )} - - - - - - - - - - - - - - - - - {row.DependTools.toUpperCase()} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ))} - -
    - - - - {i18n.get("repo.deleteTitle")} - - - - {i18n.get("repo.deleteTip")} - - - - - - - - - ); - } -} - -export default withStyles(styles)(RepositoryTable); +import React, { Fragment } from "react"; +import { + TableHead, + TableRow, + TableCell, + TableBody, + Tooltip, + IconButton, + Table, + DialogTitle, + DialogContent, + DialogContentText, + DialogActions, + Button, + Dialog +} from "@material-ui/core"; +import DeleteIcon from "@material-ui/icons/Delete"; +import EditIcon from "@material-ui/icons/Edit"; +import RotateLeftIcon from "@material-ui/icons/RotateLeft"; +import FormatClearIcon from "@material-ui/icons/FormatClear"; +import RestoreFromTrash from "@material-ui/icons/RestoreFromTrash"; +import LockIcon from "@material-ui/icons/Lock"; +import LockOpenIcon from "@material-ui/icons/LockOpen"; +import SaveAlt from "@material-ui/icons/SaveAlt"; +import Computer from "@material-ui/icons/Computer"; +import Announcement from "@material-ui/icons/Announcement"; +import LinkIcon from "@material-ui/icons/Link"; +import { withStyles } from "@material-ui/core/styles"; +import HelperTooltips from "../../components/helperTooltips"; +import RepositoryStatus from "./repositoryStatus"; +import RepositoryTaskStatus from "./repositoryTaskStatus"; +import Snackbar from "../../components/snackbar"; +import { + deleteDepend, + destroy, + gitPull, + UpdateField, + pruneBranch, + discardChange +} from "../../api/repository"; +import EditField from "../../components/editField"; +import { tooltip } from "../../assets/jss/common"; +import NewReleases from "@material-ui/icons/NewReleases"; +import { reset } from "../../api/repository.js"; +import i18n from "react-intl-universal"; + +const styles = () => ({ + table: { + minWidth: 400 + }, + tooltip +}); + +class RepositoryTable extends React.Component { + constructor(props) { + super(props); + this.state = { + destroyDialogShow: false, + editField: { + id: 0, + open: false, + rows: 1, + desc: "", + field: "", + fieldContent: "" + } + }; + this.destroyId = 0; //记录当前要删除的id + } + + destroyDialogOpen(id) { + this.destroyId = id; + this.setState({ destroyDialogShow: true }); + } + + destroyDialogClose() { + this.setState({ destroyDialogShow: false }); + } + + deleteRepositoryDepend(row) { + if (row.Status !== 1) { + Snackbar.warning(i18n.get("repo.deleteDependentFailedTip")); + return; + } + deleteDepend({ id: row.ID }) + .then(r => { + Snackbar.success(r); + }) + .catch(() => {}); + } + discardRepoChange(row) { + discardChange({ id: row.ID }) + .then(() => { + Snackbar.success("git checkout . success!"); + }) + .catch(() => {}); + } + destroyConfirm() { + destroy({ id: this.destroyId }) + .then(r => { + this.setState({ destroyDialogShow: false }); + this.props.refresh(); + }) + .catch(() => {}); + } + + repositoryGitPull(row) { + gitPull({ id: row.ID }) + .then(() => { + Snackbar.success("git pull success"); + }) + .catch(() => {}); + } + + repositoryPruneBranch(row) { + pruneBranch({ id: row.ID }) + .then(() => { + Snackbar.success("git remote prune origin success"); + }) + .catch(() => {}); + } + + clickEditField(row, inputRows, desc, field) { + this.setState({ + editField: { + id: row.ID, + open: true, + rows: inputRows, + desc: desc, + field: field, + fieldContent: row[field] + } + }); + } + editFieldSuccess(id, field, fieldContent) { + UpdateField({ id, field, fieldContent }) + .then(() => { + this.closeResetEditFieldDialog(); + this.props.refresh(); + }) + .catch(() => {}); + } + closeResetEditFieldDialog() { + this.setState({ + editField: { + id: 0, + open: false, + rows: 1, + desc: "", + field: "", + fieldContent: "" + } + }); + } + resetRepo(row) { + if (row.taskStatus !== 0) { + return Snackbar.warning(i18n.get("repo.resetRepoFailed")); + } + reset({ id: row.ID }) + .then(() => { + Snackbar.success(i18n.get("repo.resetRepoSuccess")); + this.props.refresh(); + }) + .catch(() => {}); + } + render() { + const { classes } = this.props; + return ( + + + + + ID + + {i18n.get("common.remoteUrl")} + + {i18n.get("common.name")} + + {i18n.get("repo.cloneStatus")} + + + {i18n.get("repo.workingStatus")} + {/**/} + + + {i18n.get("repo.auth")} + {/**/} + + + {i18n.get("common.terminalOut")} + + + {i18n.get("common.remark")} + + + + {i18n.get("common.dependentTools")} + + {i18n.get("common.actions")} + + + + {this.props.tableData.map(row => ( + + + {row.ID} + + + + + + + + + + + {row.Name} + + + + + + + + + {row.UserName && row.Password ? ( + + {i18n.get("common.username")}:{row.UserName} + + } + interactive + > + + + + + ) : ( + + + + )} + + + + + + + + + + + + + + + + + {row.DependTools.toUpperCase()} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ))} + +
    + + + + {i18n.get("repo.deleteTitle")} + + + + {i18n.get("repo.deleteTip")} + + + + + + + +
    + ); + } +} + +export default withStyles(styles)(RepositoryTable); diff --git a/public/src/views/repository/repositoryTaskStatus.js b/public/src/views/repository/repositoryTaskStatus.js index 746102c..23a7f50 100644 --- a/public/src/views/repository/repositoryTaskStatus.js +++ b/public/src/views/repository/repositoryTaskStatus.js @@ -1,28 +1,29 @@ -import React from "react"; -import { CircularProgress, IconButton, Tooltip } from "@material-ui/core"; -import i18n from "react-intl-universal"; -const STATUS = ["repo.repoLeisured", "repo.repoBusy"]; - -class RepositoryTaskStatus extends React.Component { - constructor(props) { - super(props); - this.state = {}; - } - renderCircularProgress(status) { - if (1 === status) return ; - return ; - } - render() { - return ( -
    - - - {this.renderCircularProgress(this.props.status)} - - -
    - ); - } -} - -export default RepositoryTaskStatus; +import React from "react"; +import { CircularProgress, IconButton, Tooltip } from "@material-ui/core"; +import i18n from "react-intl-universal"; +const STATUS = ["repo.repoLeisured", "repo.repoBusy"]; + +class RepositoryTaskStatus extends React.Component { + constructor(props) { + super(props); + this.state = {}; + } + renderCircularProgress(status) { + if (1 === status) return ; + return ; + } + render() { + return ( + (this.props.status === 0 || this.props.status === 1) ? + (
    + + + {this.renderCircularProgress(this.props.status)} + + +
    ):"" + ); + } +} + +export default RepositoryTaskStatus; diff --git a/public/src/views/task/addTask/edit.js b/public/src/views/task/addTask/edit.js index 085c55e..b09eef3 100644 --- a/public/src/views/task/addTask/edit.js +++ b/public/src/views/task/addTask/edit.js @@ -1,195 +1,181 @@ -import React from "react"; -import PropTypes from "prop-types"; -import { - Button, - TextField, - Dialog, - DialogActions, - DialogContent, - DialogTitle, - MenuItem -} from "@material-ui/core"; -import { create } from "../../../api/task"; -import { repositories, getScript } from "../../../api/repository"; - -class Edit extends React.Component { - constructor(props) { - super(props); - this.state = { - name: "", - desc: "", - repositoryId: "", - buildDir: "dist", - buildCommand: "", - successScript: "", - repositories: [], - buildCommandList: {} - }; - } - - componentDidMount() { - repositories({ isNormal: 1 }) - .then(r => { - this.setState({ repositories: r }); - }) - .catch(() => {}); - } - - textFieldChange(field, event) { - this.setState({ [field]: event.target.value }); - if (field === "repositoryId") { - this.onChangeRepository(event); - } - } - - onChangeRepository(event) { - getScript({ id: event.target.value }) - .then(r => { - delete r.dev; - this.setState({ buildCommandList: r }); - }) - .catch(() => {}); - this.setState({ repositoryId: event.target.value }); - } - - submitForm() { - create({ ...this.state, categoryId: this.props.categoryId }) - .then(r => { - this.props.createSuccess(); - }) - .catch(() => {}); - } - - render() { - return ( -
    - - - 在《{this.props.categoryName}》分类下添加任务 - - - - - {this.state.repositories.map(r => { - return ( - - {r.Name} - - ); - })} - - - - {Object.keys(this.state.buildCommandList).map(key => { - return ( - - {key} => {this.state.buildCommandList[key]}{" "} - - ); - })} - - {/**/} - {/**/} - - - - - - - -
    - ); - } -} - -Edit.propTypes = { - show: PropTypes.bool.isRequired, - categoryId: PropTypes.number.isRequired, - categoryName: PropTypes.string.isRequired -}; - -export default Edit; +import React from "react"; +import PropTypes from "prop-types"; +import { + Button, + TextField, + Dialog, + DialogActions, + DialogContent, + DialogTitle, + MenuItem +} from "@material-ui/core"; +import { create } from "../../../api/task"; +import i18n from "react-intl-universal" +import { repositories, getScript } from "../../../api/repository"; + +class Edit extends React.Component { + constructor(props) { + super(props); + this.state = { + name: "", + desc: "", + repositoryId: "", + buildDir: "dist", + buildCommand: "", + successScript: "", + repositories: [], + buildCommandList: {} + }; + } + + componentDidMount() { + repositories({ isNormal: 1 }) + .then(r => { + this.setState({ repositories: r }); + }) + .catch(() => {}); + } + + textFieldChange(field, event) { + this.setState({ [field]: event.target.value }); + if (field === "repositoryId") { + this.onChangeRepository(event); + } + } + + onChangeRepository(event) { + getScript({ id: event.target.value }) + .then(r => { + delete r.dev; + this.setState({ buildCommandList: r }); + }) + .catch(() => {}); + this.setState({ repositoryId: event.target.value }); + } + + submitForm() { + create({ ...this.state, categoryId: this.props.categoryId }) + .then(r => { + this.props.createSuccess(); + }) + .catch(() => {}); + } + + render() { + return ( +
    + + + { i18n.get("task.addTaskTitle",{v:this.props.categoryName})} + + + + + {this.state.repositories.map(r => { + return ( + + {r.Name} + + ); + })} + + + + {Object.keys(this.state.buildCommandList).map(key => { + return ( + + {key} => {this.state.buildCommandList[key]}{" "} + + ); + })} + + + + + + + + +
    + ); + } +} + +Edit.propTypes = { + show: PropTypes.bool.isRequired, + categoryId: PropTypes.number.isRequired, + categoryName: PropTypes.string.isRequired +}; + +export default Edit; diff --git a/public/src/views/task/addTask/index.js b/public/src/views/task/addTask/index.js index e027dda..1cec808 100644 --- a/public/src/views/task/addTask/index.js +++ b/public/src/views/task/addTask/index.js @@ -1,66 +1,66 @@ -import React from "react"; -import { Fab } from "@material-ui/core"; -import { withStyles } from "@material-ui/core/styles"; -import Edit from "./edit"; -import AddIcon from "@material-ui/icons/Add"; -import PropTypes from "prop-types"; - -const styles = theme => ({ - fab: { - position: "absolute", - bottom: theme.spacing(2), - right: theme.spacing(2) - } -}); - -class AddTask extends React.Component { - constructor(props) { - super(props); - this.state = { - editDialogShow: false - }; - } - success() { - this.setState({ editDialogShow: false }); - this.props.createSuccess(); - } - render() { - const { classes } = this.props; - return ( -
    - {this.props.category ? ( -
    - { - this.setState({ editDialogShow: true }); - }} - > - - - { - this.setState({ editDialogShow: false }); - }} - createSuccess={this.success.bind(this)} - /> -
    - ) : ( - "" - )} -
    - ); - } -} - -AddTask.propTypes = { - category: PropTypes.object, - createSuccess: PropTypes.func -}; - -export default withStyles(styles)(AddTask); +import React from "react"; +import { Fab } from "@material-ui/core"; +import { withStyles } from "@material-ui/core/styles"; +import Edit from "./edit"; +import AddIcon from "@material-ui/icons/Add"; +import PropTypes from "prop-types"; + +const styles = theme => ({ + fab: { + position: "absolute", + bottom: theme.spacing(2), + right: theme.spacing(2) + } +}); + +class AddTask extends React.Component { + constructor(props) { + super(props); + this.state = { + editDialogShow: false + }; + } + success() { + this.setState({ editDialogShow: false }); + this.props.createSuccess(); + } + render() { + const { classes } = this.props; + return ( +
    + {this.props.category ? ( +
    + { + this.setState({ editDialogShow: true }); + }} + > + + + { + this.setState({ editDialogShow: false }); + }} + createSuccess={this.success.bind(this)} + /> +
    + ) : ( + "" + )} +
    + ); + } +} + +AddTask.propTypes = { + category: PropTypes.object, + createSuccess: PropTypes.func +}; + +export default withStyles(styles)(AddTask); diff --git a/public/src/views/task/categoriesTable.js b/public/src/views/task/categoriesTable.js index a32dcc9..a913b9c 100644 --- a/public/src/views/task/categoriesTable.js +++ b/public/src/views/task/categoriesTable.js @@ -1,587 +1,587 @@ -import React from "react"; -import { withStyles } from "@material-ui/core/styles"; -import LinkIcon from "@material-ui/icons/Link"; -import EditIcon from "@material-ui/icons/Edit"; -import LinkOffIcon from "@material-ui/icons/LinkOff"; -import UsbIcon from "@material-ui/icons/Usb"; -import Computer from "@material-ui/icons/Computer"; -import Announcement from "@material-ui/icons/Announcement"; -import PlayCircleFilled from "@material-ui/icons/PlayCircleFilled"; -import GpsFixedIcon from "@material-ui/icons/GpsFixed"; -import DeviceHub from "@material-ui/icons/DeviceHub"; -import { - TextField, - TableRow, - TableHead, - TableCell, - TableBody, - Table, - Tooltip, - IconButton, - DialogTitle, - DialogContent, - DialogContentText, - DialogActions, - Button, - Dialog -} from "@material-ui/core"; -import { withRouter } from "react-router-dom"; -import TaskStatus from "./taskStatus"; -import HelperTooltips from "../../components/helperTooltips"; -import EditField from "../../components/editField.js"; -import DetailsPanel from "../../components/detailsPanel.js"; -import SwitchBranchDialog from "./switchBranchDialog"; -import Snackbar from "../../components/snackbar/index"; -import LockIcon from "@material-ui/icons/Lock"; -import LockOpenIcon from "@material-ui/icons/LockOpen"; -import DeleteIcon from "@material-ui/icons/Delete"; -import { destroy, RunTask, UpdateField, TaskLock } from "../../api/task"; -import { tooltip } from "../../assets/jss/common"; -import { useApiUrl } from "../../config/url"; -import { getSystemInfo } from "../../utils/dataStorage"; -import i18n from "react-intl-universal"; - -const styles = theme => ({ - table: { - marginTop: theme.spacing(3), - minWidth: 650 - }, - tooltip -}); - -class CategoriesTable extends React.Component { - constructor(props) { - super(props); - this.state = { - destroyDialogShow: false, - switchBranchDialog: { - id: 0, - show: false, - repositoryId: 0 - }, - lockPassword: { - id: 0, - password: "", - show: false - }, - editField: { - id: 0, - open: false, - desc: "", - rows: 1, - field: "", - fieldContent: "" - }, - detailsPanel: { - title: "", - open: false, - content: "" - } - }; - this.destroyId = 0; - this.addressUrl = getSystemInfo("OtherAddressUrl") || []; - } - - toggleLock(row) { - this.setState({ - lockPassword: { - id: row.ID, - password: "", - show: true - } - }); - } - - runTask(row) { - if (row.Status === 3) { - Snackbar.warning(i18n.get("task.waitBuild")); - return; - } - if (row.LockPassword !== "") { - Snackbar.warning(i18n.get("task.unlockTip")); - return; - } - - RunTask({ id: row.ID }) - .then(() => { - Snackbar.success(i18n.get("task.buildSuccessTip")); - this.props.refresh(); - }) - .catch(() => {}); - } - - openSwitchBranchDialog(row) { - if (row.LockPassword !== "") { - Snackbar.warning(i18n.get("task.unlockTip")); - return; - } - if (row.Status === 3) { - Snackbar.warning(i18n.get("task.waitBuild")); - return; - } - this.setState({ - switchBranchDialog: { - id: row.ID, - show: true, - repositoryId: row.RepositoryId - } - }); - } - - switchSuccess() { - this.setState({ - switchBranchDialog: { - id: 0, - show: false, - repositoryId: 0 - } - }); - this.props.refresh(); - } - - closeSwitchBranchDialog() { - this.setState({ - switchBranchDialog: { - id: 0, - show: false, - repositoryId: 0 - } - }); - } - - destroyDialogOpen(row) { - if (row.LockPassword !== "") { - Snackbar.warning(i18n.get("task.unlockTip")); - return; - } - this.destroyId = row.ID; - this.setState({ destroyDialogShow: true }); - } - - destroyDialogClose() { - this.setState({ destroyDialogShow: false }); - } - - destroyConfirm() { - destroy({ id: this.destroyId }) - .then(r => { - Snackbar.success(i18n.get("common.deleteSuccess")); - this.setState({ destroyDialogShow: false }); - this.props.refresh(); - }) - .catch(() => {}); - } - - openTaskUrl(row, url) { - if (row.Status !== 1) { - Snackbar.error(i18n.get("task.waitBuildSuccess")); - return; - } - window.open(url); - } - - closeLockTaskDialog() { - this.setState({ - lockPassword: { - id: 0, - password: "", - show: false - } - }); - } - - lockTaskDialogConfirm() { - let p = { - id: this.state.lockPassword.id, - password: this.state.lockPassword.password - }; - TaskLock(p) - .then(() => { - Snackbar.success(i18n.get("common.success")); - this.props.refresh(); - this.setState({ - lockPassword: { - id: 0, - password: "", - show: false - } - }); - }) - .catch(() => {}); - } - - passwordFieldChange(event) { - let p = this.state.lockPassword; - p.password = event.target.value; - this.setState({ lockPassword: p }); - } - - closeCommitRecord() { - this.setState({ - detailsPanel: { ...this.state.detailsPanel, open: false } - }); - } - positioningRepo(row) { - // row.RepositoryId - this.props.history.push({ - pathname: "/repository", - query: { id: row.RepositoryId } - }); - // commitRecord({ id: row.RepositoryId }) - // .then(r => { - // this.setState({ - // detailsPanel: { - // open: true, - // title: "最近4次的代码提交详情", - // content: r - // } - // }); - // }) - // .catch(() => {}); - } - clickEditField(row, inputRows, desc, field) { - if (row.LockPassword !== "") { - Snackbar.warning(i18n.get("task.unlockTip")); - return; - } - this.setState({ - editField: { - id: row.ID, - open: true, - rows: inputRows, - desc: desc, - field: field, - fieldContent: row[field] - } - }); - } - - editFieldSuccess(id, field, fieldContent) { - UpdateField({ id, field, fieldContent }) - .then(() => { - this.setState({ - editField: { - id: 0, - open: false, - rows: 1, - desc: "", - field: "", - fieldContent: "" - } - }); - this.props.refresh(); - }) - .catch(() => {}); - } - - closeEditFieldDialog() { - this.setState({ - editField: { ...this.state.editField, open: false } - }); - } - - render() { - const { classes } = this.props; - return ( -
    - - - - ID - - {i18n.get("common.lock")} - - - {i18n.get("common.name")} - {i18n.get("common.status")} - {i18n.get("common.branch")} - - {i18n.get("task.runQuantity")} - - {i18n.get("common.address")} - WebHook - - {i18n.get("common.terminalOut")} - - - {i18n.get("common.remark")} - - - {i18n.get("task.buildDir")} - {i18n.get("task.npmScript")} - {i18n.get("common.actions")} - - - - {this.props.tableData.map(row => ( - - {row.ID} - - {row.LockPassword ? ( - - - - - - ) : ( - - - - - - )} - - - - {row.Name} - - - - - {row.Branch} - {row.RunQuantity} - - - - {useApiUrl + row.Url} - - {this.addressUrl.map(url => { - return ( - -
    - - {url + "/" + row.ID} - -
    - ); - })} - - ) - } - interactive - > - - {row.Status !== 1 ? : } - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - {row.BuildDir} - - - {row.BuildCommand} - - - - - - - - - - - - - - - - - - - - - - - -
    - ))} -
    -
    - - - - - - {i18n.get("task.deleteTitle")} - - - - {i18n.get("task.deleteTip")} - - - - - - - - {/*任务加锁密码*/} - - - {i18n.get("task.lockTitle")} - - - - {i18n.get("task.lockInputTip")} - - - - - - - - -
    - ); - } -} - -export default withStyles(styles)(withRouter(CategoriesTable)); +import React from "react"; +import { withStyles } from "@material-ui/core/styles"; +import LinkIcon from "@material-ui/icons/Link"; +import EditIcon from "@material-ui/icons/Edit"; +import LinkOffIcon from "@material-ui/icons/LinkOff"; +import UsbIcon from "@material-ui/icons/Usb"; +import Computer from "@material-ui/icons/Computer"; +import Announcement from "@material-ui/icons/Announcement"; +import PlayCircleFilled from "@material-ui/icons/PlayCircleFilled"; +import GpsFixedIcon from "@material-ui/icons/GpsFixed"; +import DeviceHub from "@material-ui/icons/DeviceHub"; +import { + TextField, + TableRow, + TableHead, + TableCell, + TableBody, + Table, + Tooltip, + IconButton, + DialogTitle, + DialogContent, + DialogContentText, + DialogActions, + Button, + Dialog +} from "@material-ui/core"; +import { withRouter } from "react-router-dom"; +import TaskStatus from "./taskStatus"; +import HelperTooltips from "../../components/helperTooltips"; +import EditField from "../../components/editField.js"; +import DetailsPanel from "../../components/detailsPanel.js"; +import SwitchBranchDialog from "./switchBranchDialog"; +import Snackbar from "../../components/snackbar/index"; +import LockIcon from "@material-ui/icons/Lock"; +import LockOpenIcon from "@material-ui/icons/LockOpen"; +import DeleteIcon from "@material-ui/icons/Delete"; +import { destroy, RunTask, UpdateField, TaskLock } from "../../api/task"; +import { tooltip } from "../../assets/jss/common"; +import { useApiUrl } from "../../config/url"; +import { getSystemInfo } from "../../utils/dataStorage"; +import i18n from "react-intl-universal"; + +const styles = theme => ({ + table: { + marginTop: theme.spacing(3), + minWidth: 650 + }, + tooltip +}); + +class CategoriesTable extends React.Component { + constructor(props) { + super(props); + this.state = { + destroyDialogShow: false, + switchBranchDialog: { + id: 0, + show: false, + repositoryId: 0 + }, + lockPassword: { + id: 0, + password: "", + show: false + }, + editField: { + id: 0, + open: false, + desc: "", + rows: 1, + field: "", + fieldContent: "" + }, + detailsPanel: { + title: "", + open: false, + content: "" + } + }; + this.destroyId = 0; + this.addressUrl = getSystemInfo("OtherAddressUrl") || []; + } + + toggleLock(row) { + this.setState({ + lockPassword: { + id: row.ID, + password: "", + show: true + } + }); + } + + runTask(row) { + if (row.Status === 3) { + Snackbar.warning(i18n.get("task.waitBuild")); + return; + } + if (row.LockPassword !== "") { + Snackbar.warning(i18n.get("task.unlockTip")); + return; + } + + RunTask({ id: row.ID }) + .then(() => { + Snackbar.success(i18n.get("task.buildSuccessTip")); + this.props.refresh(); + }) + .catch(() => {}); + } + + openSwitchBranchDialog(row) { + if (row.LockPassword !== "") { + Snackbar.warning(i18n.get("task.unlockTip")); + return; + } + if (row.Status === 3) { + Snackbar.warning(i18n.get("task.waitBuild")); + return; + } + this.setState({ + switchBranchDialog: { + id: row.ID, + show: true, + repositoryId: row.RepositoryId + } + }); + } + + switchSuccess() { + this.setState({ + switchBranchDialog: { + id: 0, + show: false, + repositoryId: 0 + } + }); + this.props.refresh(); + } + + closeSwitchBranchDialog() { + this.setState({ + switchBranchDialog: { + id: 0, + show: false, + repositoryId: 0 + } + }); + } + + destroyDialogOpen(row) { + if (row.LockPassword !== "") { + Snackbar.warning(i18n.get("task.unlockTip")); + return; + } + this.destroyId = row.ID; + this.setState({ destroyDialogShow: true }); + } + + destroyDialogClose() { + this.setState({ destroyDialogShow: false }); + } + + destroyConfirm() { + destroy({ id: this.destroyId }) + .then(r => { + Snackbar.success(i18n.get("common.deleteSuccess")); + this.setState({ destroyDialogShow: false }); + this.props.refresh(); + }) + .catch(() => {}); + } + + openTaskUrl(row, url) { + if (row.Status !== 1) { + Snackbar.error(i18n.get("task.waitBuildSuccess")); + return; + } + window.open(url); + } + + closeLockTaskDialog() { + this.setState({ + lockPassword: { + id: 0, + password: "", + show: false + } + }); + } + + lockTaskDialogConfirm() { + let p = { + id: this.state.lockPassword.id, + password: this.state.lockPassword.password + }; + TaskLock(p) + .then(() => { + Snackbar.success(i18n.get("common.success")); + this.props.refresh(); + this.setState({ + lockPassword: { + id: 0, + password: "", + show: false + } + }); + }) + .catch(() => {}); + } + + passwordFieldChange(event) { + let p = this.state.lockPassword; + p.password = event.target.value; + this.setState({ lockPassword: p }); + } + + closeCommitRecord() { + this.setState({ + detailsPanel: { ...this.state.detailsPanel, open: false } + }); + } + positioningRepo(row) { + // row.RepositoryId + this.props.history.push({ + pathname: "/repository", + query: { id: row.RepositoryId } + }); + // commitRecord({ id: row.RepositoryId }) + // .then(r => { + // this.setState({ + // detailsPanel: { + // open: true, + // title: "最近4次的代码提交详情", + // content: r + // } + // }); + // }) + // .catch(() => {}); + } + clickEditField(row, inputRows, desc, field) { + if (row.LockPassword !== "") { + Snackbar.warning(i18n.get("task.unlockTip")); + return; + } + this.setState({ + editField: { + id: row.ID, + open: true, + rows: inputRows, + desc: desc, + field: field, + fieldContent: row[field] + } + }); + } + + editFieldSuccess(id, field, fieldContent) { + UpdateField({ id, field, fieldContent }) + .then(() => { + this.setState({ + editField: { + id: 0, + open: false, + rows: 1, + desc: "", + field: "", + fieldContent: "" + } + }); + this.props.refresh(); + }) + .catch(() => {}); + } + + closeEditFieldDialog() { + this.setState({ + editField: { ...this.state.editField, open: false } + }); + } + + render() { + const { classes } = this.props; + return ( +
    + + + + ID + + {i18n.get("common.lock")} + + + {i18n.get("common.name")} + {i18n.get("common.status")} + {i18n.get("common.branch")} + + {i18n.get("task.runQuantity")} + + {i18n.get("common.address")} + WebHook + + {i18n.get("common.terminalOut")} + + + {i18n.get("common.remark")} + + + {i18n.get("task.buildDir")} + {i18n.get("task.npmScript")} + {i18n.get("common.actions")} + + + + {this.props.tableData.map(row => ( + + {row.ID} + + {row.LockPassword ? ( + + + + + + ) : ( + + + + + + )} + + + + {row.Name} + + + + + {row.Branch} + {row.RunQuantity} + + + + {useApiUrl + row.Url} + + {this.addressUrl.map(url => { + return ( + +
    + + {url + "/" + row.ID} + +
    + ); + })} + + ) + } + interactive + > + + {row.Status !== 1 ? : } + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + {row.BuildDir} + + + {row.BuildCommand} + + + + + + + + + + + + + + + + + + + + + + + +
    + ))} +
    +
    + + + + + + {i18n.get("task.deleteTitle")} + + + + {i18n.get("task.deleteTip")} + + + + + + + + {/*任务加锁密码*/} + + + {i18n.get("task.lockTitle")} + + + + {i18n.get("task.lockInputTip")} + + + + + + + + +
    + ); + } +} + +export default withStyles(styles)(withRouter(CategoriesTable)); diff --git a/public/src/views/task/index.js b/public/src/views/task/index.js index 7a6bf2b..abbfb60 100644 --- a/public/src/views/task/index.js +++ b/public/src/views/task/index.js @@ -1,142 +1,142 @@ -import React from "react"; -import { withStyles } from "@material-ui/core/styles"; -import { Tab, Tabs, Paper } from "@material-ui/core"; -import Pagination from "@material-ui/lab/Pagination"; -import { taskFind } from "../../api/task"; -import { categories } from "../../api/category"; -import CategoriesTable from "./categoriesTable"; -import AddTask from "./addTask/index"; -import BusEvent from "../../utils/busEvents"; -import i18n from "react-intl-universal"; - -const defPageSize = 8; - -const styles = theme => ({ - root: { - width: "100%", - marginTop: theme.spacing(1), - overflowX: "auto" - }, - pagination: { - width: "100%", - display: "flex", - justifyContent: "center", - textAlign: "center", - padding: theme.spacing(3) - } -}); - -class Task extends React.Component { - constructor(props) { - super(props); - this.state = { - tabIndex: 0, //tab索引 - categories: [], //tab的分类数据 - tasks: [], //表格数据 - totalPage: 1, //分页总数 - pageNum: 1 //当前页码 - }; - } - componentDidMount() { - categories() - .then(r => { - if (r.length === 0) { - alert(i18n.get("category.createTip")); - return; - } - this.setState({ categories: r }, () => { - let { ID } = this.state.categories[this.state.tabIndex]; - this.getTask(ID, 1); - }); - BusEvent.updateCurrentTable = () => { - let { ID } = this.state.categories[this.state.tabIndex]; - this.getTask(ID, 1); - }; - }) - .catch(() => {}); - } - componentWillUnmount() { - BusEvent.updateCurrentTable = () => {}; - BusEvent.search.setSearchKeyword(""); - } - changePagination(v, pageNum) { - if (pageNum === this.state.pageNum) { - return; - } - let { ID } = this.state.categories[this.state.tabIndex]; - this.getTask(ID, pageNum, () => {}); - } - tabsChange(event, index) { - let { ID } = this.state.categories[index]; - this.getTask(ID, 1, () => { - this.setState({ tabIndex: index }); - }); - } - getTask( - categoryId, - pageNum = this.state.pageNum, - cb = () => {}, - name = BusEvent.search.getSearchKeyword(), - pageSize = defPageSize - ) { - taskFind({ categoryId, pageNum, pageSize, name }) - .then(r => { - this.setState( - { - tasks: r.List, - totalPage: r.TotalPage, - pageNum: r.PageNum - }, - () => { - cb(); - } - ); - }) - .catch(() => {}); - } - render() { - const { classes } = this.props; - return ( -
    - - - {this.state.categories.map(category => ( - - ))} - - { - let { ID } = this.state.categories[this.state.tabIndex]; - this.getTask(ID, 1); - }} - /> -
    - -
    -
    - { - let { ID } = this.state.categories[this.state.tabIndex]; - this.getTask(ID, 1); - }} - /> -
    - ); - } -} - -export default withStyles(styles)(Task); +import React from "react"; +import { withStyles } from "@material-ui/core/styles"; +import { Tab, Tabs, Paper } from "@material-ui/core"; +import Pagination from "@material-ui/lab/Pagination"; +import { taskFind } from "../../api/task"; +import { categories } from "../../api/category"; +import CategoriesTable from "./categoriesTable"; +import AddTask from "./addTask/index"; +import BusEvent from "../../utils/busEvents"; +import i18n from "react-intl-universal"; + +const defPageSize = 8; + +const styles = theme => ({ + root: { + width: "100%", + marginTop: theme.spacing(1), + overflowX: "auto" + }, + pagination: { + width: "100%", + display: "flex", + justifyContent: "center", + textAlign: "center", + padding: theme.spacing(3) + } +}); + +class Task extends React.Component { + constructor(props) { + super(props); + this.state = { + tabIndex: 0, //tab索引 + categories: [], //tab的分类数据 + tasks: [], //表格数据 + totalPage: 1, //分页总数 + pageNum: 1 //当前页码 + }; + } + componentDidMount() { + categories() + .then(r => { + if (r.length === 0) { + alert(i18n.get("category.createTip")); + return; + } + this.setState({ categories: r }, () => { + let { ID } = this.state.categories[this.state.tabIndex]; + this.getTask(ID, 1); + }); + BusEvent.updateCurrentTable = () => { + let { ID } = this.state.categories[this.state.tabIndex]; + this.getTask(ID, 1); + }; + }) + .catch(() => {}); + } + componentWillUnmount() { + BusEvent.updateCurrentTable = () => {}; + BusEvent.search.setSearchKeyword(""); + } + changePagination(v, pageNum) { + if (pageNum === this.state.pageNum) { + return; + } + let { ID } = this.state.categories[this.state.tabIndex]; + this.getTask(ID, pageNum, () => {}); + } + tabsChange(event, index) { + let { ID } = this.state.categories[index]; + this.getTask(ID, 1, () => { + this.setState({ tabIndex: index }); + }); + } + getTask( + categoryId, + pageNum = this.state.pageNum, + cb = () => {}, + name = BusEvent.search.getSearchKeyword(), + pageSize = defPageSize + ) { + taskFind({ categoryId, pageNum, pageSize, name }) + .then(r => { + this.setState( + { + tasks: r.List, + totalPage: r.TotalPage, + pageNum: r.PageNum + }, + () => { + cb(); + } + ); + }) + .catch(() => {}); + } + render() { + const { classes } = this.props; + return ( +
    + + + {this.state.categories.map(category => ( + + ))} + + { + let { ID } = this.state.categories[this.state.tabIndex]; + this.getTask(ID, 1); + }} + /> +
    + +
    +
    + { + let { ID } = this.state.categories[this.state.tabIndex]; + this.getTask(ID, 1); + }} + /> +
    + ); + } +} + +export default withStyles(styles)(Task); diff --git a/public/src/views/task/switchBranchDialog.js b/public/src/views/task/switchBranchDialog.js index bbee193..23d8b37 100644 --- a/public/src/views/task/switchBranchDialog.js +++ b/public/src/views/task/switchBranchDialog.js @@ -1,75 +1,75 @@ -import React from "react"; -import PropTypes from "prop-types"; -import List from "@material-ui/core/List"; -import ListItem from "@material-ui/core/ListItem"; -import ListItemText from "@material-ui/core/ListItemText"; -import DialogTitle from "@material-ui/core/DialogTitle"; -import Dialog from "@material-ui/core/Dialog"; -import { gitBranch } from "../../api/repository"; -import { updateBranch } from "../../api/task"; -import { DialogContentText } from "@material-ui/core"; -import i18n from "react-intl-universal"; -class SwitchBranchDialog extends React.Component { - constructor(props) { - super(props); - this.state = { - branchList: [] - }; - } - - componentDidMount() {} - onEnteredDialog() { - this.setState({ branchList: [] }); - gitBranch({ id: this.props.repositoryId }) - .then(r => { - this.setState({ branchList: r }); - }) - .catch(() => {}); - } - selectBranch(branch) { - updateBranch({ branch: branch, id: this.props.taskId }) - .then(() => { - this.props.switchSuccess(); - }) - .catch(() => {}); - } - - render() { - return ( - - - {i18n.get("task.switchBranch")} - - - {this.state.branchList.length === 0 ? i18n.get("task.noBranch") : ""} - - - {this.state.branchList.map(branch => ( - - - - ))} - - - ); - } -} - -SwitchBranchDialog.propTypes = { - onClose: PropTypes.func, - open: PropTypes.bool, - taskId: PropTypes.number, - repositoryId: PropTypes.number, - switchSuccess: PropTypes.func -}; - -export default SwitchBranchDialog; +import React from "react"; +import PropTypes from "prop-types"; +import List from "@material-ui/core/List"; +import ListItem from "@material-ui/core/ListItem"; +import ListItemText from "@material-ui/core/ListItemText"; +import DialogTitle from "@material-ui/core/DialogTitle"; +import Dialog from "@material-ui/core/Dialog"; +import { gitBranch } from "../../api/repository"; +import { updateBranch } from "../../api/task"; +import { DialogContentText } from "@material-ui/core"; +import i18n from "react-intl-universal"; +class SwitchBranchDialog extends React.Component { + constructor(props) { + super(props); + this.state = { + branchList: [] + }; + } + + componentDidMount() {} + onEnteredDialog() { + this.setState({ branchList: [] }); + gitBranch({ id: this.props.repositoryId }) + .then(r => { + this.setState({ branchList: r }); + }) + .catch(() => {}); + } + selectBranch(branch) { + updateBranch({ branch: branch, id: this.props.taskId }) + .then(() => { + this.props.switchSuccess(); + }) + .catch(() => {}); + } + + render() { + return ( + + + {i18n.get("task.switchBranch")} + + + {this.state.branchList.length === 0 ? i18n.get("task.noBranch") : ""} + + + {this.state.branchList.map(branch => ( + + + + ))} + + + ); + } +} + +SwitchBranchDialog.propTypes = { + onClose: PropTypes.func, + open: PropTypes.bool, + taskId: PropTypes.number, + repositoryId: PropTypes.number, + switchSuccess: PropTypes.func +}; + +export default SwitchBranchDialog; diff --git a/public/src/views/task/taskStatus.js b/public/src/views/task/taskStatus.js index 513c215..d0d3204 100644 --- a/public/src/views/task/taskStatus.js +++ b/public/src/views/task/taskStatus.js @@ -1,53 +1,53 @@ -import React from "react"; -import i18n from "react-intl-universal"; -import { CircularProgress, IconButton, Tooltip } from "@material-ui/core"; - -const STATUS = [ - "task.statusLeisured", - "task.statusSuccess", - "task.statusFail", - "task.statusProcessing" -]; - -class RepositoryStatus extends React.Component { - constructor(props) { - super(props); - this.state = {}; - } - renderCircularProgress(status) { - if (0 === status) - return ( - - ); - if (1 === status) - return ; - if (2 === status) - return ( - - ); - return ; - } - render() { - return ( -
    - - - {this.renderCircularProgress(this.props.status)} - - -
    - ); - } -} - -export default RepositoryStatus; +import React from "react"; +import i18n from "react-intl-universal"; +import { CircularProgress, IconButton, Tooltip } from "@material-ui/core"; + +const STATUS = [ + "task.statusLeisured", + "task.statusSuccess", + "task.statusFail", + "task.statusProcessing" +]; + +class RepositoryStatus extends React.Component { + constructor(props) { + super(props); + this.state = {}; + } + renderCircularProgress(status) { + if (0 === status) + return ( + + ); + if (1 === status) + return ; + if (2 === status) + return ( + + ); + return ; + } + render() { + return ( +
    + + + {this.renderCircularProgress(this.props.status)} + + +
    + ); + } +} + +export default RepositoryStatus; diff --git a/public/src/views/users/index.js b/public/src/views/users/index.js index 74d930e..c033ab3 100644 --- a/public/src/views/users/index.js +++ b/public/src/views/users/index.js @@ -1,139 +1,139 @@ -import React from "react"; -import { withStyles } from "@material-ui/core/styles"; -import Table from "@material-ui/core/Table"; -import TableBody from "@material-ui/core/TableBody"; -import TableCell from "@material-ui/core/TableCell"; -import TableHead from "@material-ui/core/TableHead"; -import TableRow from "@material-ui/core/TableRow"; -import Paper from "@material-ui/core/Paper"; -import { users, deleteUsers, roleEdit } from "../../api/user"; -import { IconButton, Tooltip } from "@material-ui/core"; -import i18n from "react-intl-universal"; -import DeleteIcon from "@material-ui/icons/Delete"; -import ThumbDown from "@material-ui/icons/ThumbDown"; -import ThumbUp from "@material-ui/icons/ThumbUp"; -import Snackbar from "../../components/snackbar"; -import RoleDesc from "./roleDesc"; -import BusEvent from "../../utils/busEvents"; - -const styles = theme => ({ - root: { - width: "100%", - marginTop: theme.spacing(1), - overflowX: "auto" - }, - table: { - minWidth: 650 - }, - sept: { - marginTop: 20, - padding: theme.spacing(3, 2) - } -}); - -class User extends React.Component { - constructor(props) { - super(props); - this.state = { - tableData: [] - }; - } - componentDidMount() { - this.getUserList(); - BusEvent.updateCurrentTable = () => { - this.getUserList(); - }; - } - componentWillUnmount() { - BusEvent.updateCurrentTable = () => {}; - BusEvent.search.setSearchKeyword(""); - } - getUserList() { - let name = BusEvent.search.getSearchKeyword(); - users({ name }) - .then(r => { - this.setState({ tableData: r }); - }) - .catch(() => {}); - } - destroyUser(row) { - deleteUsers({ id: row.ID }) - .then(() => { - Snackbar.success(i18n.get("common.deleteSuccess")); - this.getUserList(); - }) - .catch(() => {}); - } - role(row, isUp = 0) { - roleEdit({ id: row.ID, isUp: isUp }) - .then(() => { - Snackbar.success(i18n.get("common.modifySuccess")); - this.getUserList(); - }) - .catch(() => {}); - } - render() { - const { classes } = this.props; - return ( -
    - - - - - ID - {i18n.get("common.name")} - {i18n.get("common.role")} - {i18n.get("common.remark")} - - {i18n.get("common.actions")} - - - - - {this.state.tableData.map(row => ( - - - {row.ID} - - {row.Username} - - - - {row.Desc} - - - - - - - - - - - - - - - - - - - ))} - -
    -
    -
    - ); - } -} - -export default withStyles(styles)(User); +import React from "react"; +import { withStyles } from "@material-ui/core/styles"; +import Table from "@material-ui/core/Table"; +import TableBody from "@material-ui/core/TableBody"; +import TableCell from "@material-ui/core/TableCell"; +import TableHead from "@material-ui/core/TableHead"; +import TableRow from "@material-ui/core/TableRow"; +import Paper from "@material-ui/core/Paper"; +import { users, deleteUsers, roleEdit } from "../../api/user"; +import { IconButton, Tooltip } from "@material-ui/core"; +import i18n from "react-intl-universal"; +import DeleteIcon from "@material-ui/icons/Delete"; +import ThumbDown from "@material-ui/icons/ThumbDown"; +import ThumbUp from "@material-ui/icons/ThumbUp"; +import Snackbar from "../../components/snackbar"; +import RoleDesc from "./roleDesc"; +import BusEvent from "../../utils/busEvents"; + +const styles = theme => ({ + root: { + width: "100%", + marginTop: theme.spacing(1), + overflowX: "auto" + }, + table: { + minWidth: 650 + }, + sept: { + marginTop: 20, + padding: theme.spacing(3, 2) + } +}); + +class User extends React.Component { + constructor(props) { + super(props); + this.state = { + tableData: [] + }; + } + componentDidMount() { + this.getUserList(); + BusEvent.updateCurrentTable = () => { + this.getUserList(); + }; + } + componentWillUnmount() { + BusEvent.updateCurrentTable = () => {}; + BusEvent.search.setSearchKeyword(""); + } + getUserList() { + let name = BusEvent.search.getSearchKeyword(); + users({ name }) + .then(r => { + this.setState({ tableData: r }); + }) + .catch(() => {}); + } + destroyUser(row) { + deleteUsers({ id: row.ID }) + .then(() => { + Snackbar.success(i18n.get("common.deleteSuccess")); + this.getUserList(); + }) + .catch(() => {}); + } + role(row, isUp = 0) { + roleEdit({ id: row.ID, isUp: isUp }) + .then(() => { + Snackbar.success(i18n.get("common.modifySuccess")); + this.getUserList(); + }) + .catch(() => {}); + } + render() { + const { classes } = this.props; + return ( +
    + + + + + ID + {i18n.get("common.name")} + {i18n.get("common.role")} + {i18n.get("common.remark")} + + {i18n.get("common.actions")} + + + + + {this.state.tableData.map(row => ( + + + {row.ID} + + {row.Username} + + + + {row.Desc} + + + + + + + + + + + + + + + + + + + ))} + +
    +
    +
    + ); + } +} + +export default withStyles(styles)(User); diff --git a/public/src/views/users/roleDesc.js b/public/src/views/users/roleDesc.js index 6ce1196..17cfe46 100644 --- a/public/src/views/users/roleDesc.js +++ b/public/src/views/users/roleDesc.js @@ -1,24 +1,24 @@ -import React from "react"; -import i18n from "react-intl-universal"; -const RLOECOLOR = ["#f44336", "#f44336", "#ff9800", "#3f51b5", "#4caf50"]; -class RoleDesc extends React.Component { - constructor(props) { - super(props); - this.state = {}; - } - - render() { - return ( -
    - - {i18n.get("role." + this.props.role)} - -
    - ); - } -} - -export default RoleDesc; +import React from "react"; +import i18n from "react-intl-universal"; +const RLOECOLOR = ["#f44336", "#f44336", "#ff9800", "#3f51b5", "#4caf50"]; +class RoleDesc extends React.Component { + constructor(props) { + super(props); + this.state = {}; + } + + render() { + return ( +
    + + {i18n.get("role." + this.props.role)} + +
    + ); + } +} + +export default RoleDesc; diff --git a/public/yarn.lock b/public/yarn.lock index 9c70bf6..21a4fce 100644 --- a/public/yarn.lock +++ b/public/yarn.lock @@ -1,11392 +1,11392 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@7.5.5": - version "7.5.5" - resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha1-vAeC9tafe31JUxIZaZuYj2aaj50= - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha1-Fo2ho26Q2miujUnA8bSMfGJJITo= - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0", "@babel/compat-data@^7.9.0": - version "7.11.0" - resolved "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c" - integrity sha1-6fc+/gmvE1W3I6fzmxG61jfXyZw= - dependencies: - browserslist "^4.12.0" - invariant "^2.2.4" - semver "^5.5.0" - -"@babel/core@7.5.5": - version "7.5.5" - resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.5.5.tgz?cache=0&sync_timestamp=1599146819802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha1-F7JobvDWvFj5Y93daKtml1VYLDA= - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@7.9.0": - version "7.9.0" - resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.9.0.tgz?cache=0&sync_timestamp=1599146819802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" - integrity sha1-rJd7U4t34TL/cG87ik260JwDxW4= - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.0" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helpers" "^7.9.0" - "@babel/parser" "^7.9.0" - "@babel/template" "^7.8.6" - "@babel/traverse" "^7.9.0" - "@babel/types" "^7.9.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.1.0", "@babel/core@^7.4.5": - version "7.11.6" - resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.11.6.tgz?cache=0&sync_timestamp=1599146819802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" - integrity sha1-OpRV3HOH/xusRXcGULwTugShVlE= - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.6" - "@babel/helper-module-transforms" "^7.11.0" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.11.5" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.11.5" - "@babel/types" "^7.11.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.11.5", "@babel/generator@^7.11.6", "@babel/generator@^7.4.0", "@babel/generator@^7.5.5", "@babel/generator@^7.9.0": - version "7.11.6" - resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.11.6.tgz?cache=0&sync_timestamp=1599146811213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" - integrity sha1-uGiQD4GxY7TUZOokVFxhy6xNxiA= - dependencies: - "@babel/types" "^7.11.5" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.10.4.tgz?cache=0&sync_timestamp=1593522826156&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" - integrity sha1-W/DUlaP3V6w72ki1vzs7ownHK6M= - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" - integrity sha1-uwt18xv5jL+f8UPBrleLhydK4aM= - dependencies: - "@babel/helper-explode-assignable-expression" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-builder-react-jsx-experimental@^7.10.4", "@babel/helper-builder-react-jsx-experimental@^7.11.5": - version "7.11.5" - resolved "https://registry.npm.taobao.org/@babel/helper-builder-react-jsx-experimental/download/@babel/helper-builder-react-jsx-experimental-7.11.5.tgz?cache=0&sync_timestamp=1598904856208&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-builder-react-jsx-experimental%2Fdownload%2F%40babel%2Fhelper-builder-react-jsx-experimental-7.11.5.tgz#4ea43dd63857b0a35cd1f1b161dc29b43414e79f" - integrity sha1-TqQ91jhXsKNc0fGxYdwptDQU558= - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-module-imports" "^7.10.4" - "@babel/types" "^7.11.5" - -"@babel/helper-builder-react-jsx@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-builder-react-jsx/download/@babel/helper-builder-react-jsx-7.10.4.tgz?cache=0&sync_timestamp=1593522831822&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-builder-react-jsx%2Fdownload%2F%40babel%2Fhelper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d" - integrity sha1-gJXN2/+Fjm+pwyba7lSi8nMsHV0= - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.8.7": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.10.4.tgz?cache=0&sync_timestamp=1593522816195&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2" - integrity sha1-gEro4/BDdmB8x5G51H1UAnYzK9I= - dependencies: - "@babel/compat-data" "^7.10.4" - browserslist "^4.12.0" - invariant "^2.2.4" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5", "@babel/helper-create-class-features-plugin@^7.8.3": - version "7.10.5" - resolved "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.10.5.tgz?cache=0&sync_timestamp=1594749163935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" - integrity sha1-n2FEa6gOgkCwpchcb9rIRZ1vJZ0= - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.10.5" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - -"@babel/helper-create-regexp-features-plugin@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.10.4.tgz?cache=0&sync_timestamp=1593522831219&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-regexp-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8" - integrity sha1-/dYNiFJGWaC2lZwFeZJeQlcU87g= - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-regex" "^7.10.4" - regexpu-core "^4.7.0" - -"@babel/helper-define-map@^7.10.4": - version "7.10.5" - resolved "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" - integrity sha1-tTwQ23imQIABUmkrEzkxR6y5uzA= - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/types" "^7.10.5" - lodash "^4.17.19" - -"@babel/helper-explode-assignable-expression@^7.10.4": - version "7.11.4" - resolved "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.11.4.tgz?cache=0&sync_timestamp=1597948528737&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.11.4.tgz#2d8e3470252cc17aba917ede7803d4a7a276a41b" - integrity sha1-LY40cCUswXq6kX7eeAPUp6J2pBs= - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" - integrity sha1-0tOyDFmtjEcRL6fSqUvAnV74Lxo= - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-get-function-arity@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.10.4.tgz?cache=0&sync_timestamp=1593522827189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" - integrity sha1-mMHL6g4jMvM/mkZhuM4VBbLBm6I= - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-hoist-variables@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.10.4.tgz?cache=0&sync_timestamp=1593521209226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" - integrity sha1-1JsAHR1aaMpeZgTdoBpil/fJOB4= - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": - version "7.11.0" - resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.11.0.tgz?cache=0&sync_timestamp=1596144651395&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.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" - integrity sha1-rmnIPYTugvS0L5bioJQQk1qPJt8= - dependencies: - "@babel/types" "^7.11.0" - -"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" - integrity sha1-TFxUvgS9MWcKc4J5fXW5+i5bViA= - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0", "@babel/helper-module-transforms@^7.9.0": - version "7.11.0" - resolved "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.11.0.tgz?cache=0&sync_timestamp=1596142927697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" - integrity sha1-sW8lAinkchGr3YSzS2RzfCqy01k= - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/template" "^7.10.4" - "@babel/types" "^7.11.0" - lodash "^4.17.19" - -"@babel/helper-optimise-call-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.10.4.tgz?cache=0&sync_timestamp=1593522827576&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" - integrity sha1-UNyWQT1ZT5lad5BZBbBYk813lnM= - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.10.4.tgz?cache=0&sync_timestamp=1593521148758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha1-L3WoMSadT2d95JmG3/WZJ1M883U= - -"@babel/helper-regex@^7.10.4": - version "7.10.5" - resolved "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.10.5.tgz?cache=0&sync_timestamp=1594749174690&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-regex%2Fdownload%2F%40babel%2Fhelper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" - integrity sha1-Mt+7eYmQc8QVVXBToZvQVarlCuA= - dependencies: - lodash "^4.17.19" - -"@babel/helper-remap-async-to-generator@^7.10.4": - version "7.11.4" - resolved "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.11.4.tgz?cache=0&sync_timestamp=1597948526080&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.11.4.tgz#4474ea9f7438f18575e30b0cac784045b402a12d" - integrity sha1-RHTqn3Q48YV14wsMrHhARbQCoS0= - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-wrap-function" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-replace-supers@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" - integrity sha1-1YXNk4jqBuYDHkzUS2cTy+rZ5s8= - dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-simple-access@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" - integrity sha1-D1zNopRSd6KnotOoIeFTle3PNGE= - dependencies: - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-skip-transparent-expression-wrappers@^7.11.0": - version "7.11.0" - resolved "https://registry.npm.taobao.org/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.11.0.tgz?cache=0&sync_timestamp=1596142927780&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-skip-transparent-expression-wrappers%2Fdownload%2F%40babel%2Fhelper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729" - integrity sha1-7sFi8RLC9Y068K8SXju1dmUUZyk= - dependencies: - "@babel/types" "^7.11.0" - -"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": - version "7.11.0" - resolved "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.11.0.tgz?cache=0&sync_timestamp=1596142927868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" - integrity sha1-+KSRJErPamdhWKxCBykRuoOtCZ8= - dependencies: - "@babel/types" "^7.11.0" - -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz?cache=0&sync_timestamp=1593522720715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI= - -"@babel/helper-wrap-function@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.10.4.tgz?cache=0&sync_timestamp=1593522846867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" - integrity sha1-im9wHqsP8592W1oc/vQJmQ5iS4c= - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helpers@^7.10.4", "@babel/helpers@^7.5.5", "@babel/helpers@^7.9.0": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" - integrity sha1-Kr6w1yGv98Cpc3a54fb2XXpHUEQ= - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/highlight@^7.0.0", "@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.10.4.tgz?cache=0&sync_timestamp=1593522818552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha1-fRvf1ldTU4+r5sOFls23bZrGAUM= - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.5", "@babel/parser@^7.4.3", "@babel/parser@^7.5.5", "@babel/parser@^7.9.0": - version "7.11.5" - resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.11.5.tgz?cache=0&sync_timestamp=1598904421668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" - integrity sha1-x/9jA99xCA7HpPW4wAPFjxz1EDc= - -"@babel/plugin-proposal-async-generator-functions@^7.10.4", "@babel/plugin-proposal-async-generator-functions@^7.8.3": - version "7.10.5" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" - integrity sha1-NJHKvy98F5q4IGBs7Cf+0V4OhVg= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.10.4" - "@babel/plugin-syntax-async-generators" "^7.8.0" - -"@babel/plugin-proposal-class-properties@7.8.3": - version "7.8.3" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.8.3.tgz?cache=0&sync_timestamp=1593522946305&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" - integrity sha1-XgZlSvXNBLYIkVqtqbKmeIAERk4= - dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-proposal-class-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.10.4.tgz?cache=0&sync_timestamp=1593522946305&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807" - integrity sha1-ozv2Mto5ClnHqMVwBF0RFc13iAc= - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-decorators@7.8.3": - version "7.8.3" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.8.3.tgz?cache=0&sync_timestamp=1594749164662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-decorators%2Fdownload%2F%40babel%2Fplugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" - integrity sha1-IVaGCrZcWr8GjD9nBCGEBBBmVD4= - dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-decorators" "^7.8.3" - -"@babel/plugin-proposal-dynamic-import@^7.10.4", "@babel/plugin-proposal-dynamic-import@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.10.4.tgz?cache=0&sync_timestamp=1593521117836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-dynamic-import%2Fdownload%2F%40babel%2Fplugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e" - integrity sha1-uleibLmLN3QenVvKG4sN34KR8X4= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - -"@babel/plugin-proposal-export-namespace-from@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.10.4.tgz?cache=0&sync_timestamp=1593522795481&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-export-namespace-from%2Fdownload%2F%40babel%2Fplugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54" - integrity sha1-Vw2IO5EDFjez4pWO6jxDjmLAX1Q= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.10.4", "@babel/plugin-proposal-json-strings@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.10.4.tgz?cache=0&sync_timestamp=1593521072686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db" - integrity sha1-WT5ZxjUoFgIzvTIbGuvgggwjQds= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.0" - -"@babel/plugin-proposal-logical-assignment-operators@^7.11.0": - version "7.11.0" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8" - integrity sha1-n4DkgsAwg8hxJd7hACa1hSfqIMg= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3": - version "7.8.3" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz?cache=0&sync_timestamp=1593521118939&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" - integrity sha1-5FciU/3u1lzd7s/as/kor+sv1dI= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz?cache=0&sync_timestamp=1593521118939&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a" - integrity sha1-AqfpYfwy5tWy2wZJ4Bv4Dd7n4Eo= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-numeric-separator@7.8.3": - version "7.8.3" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.8.3.tgz?cache=0&sync_timestamp=1593522949557&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" - integrity sha1-XWdpQJaZ7Js7aGhM2BFs7f+Tutg= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.10.4", "@babel/plugin-proposal-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.10.4.tgz?cache=0&sync_timestamp=1593522949557&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06" - integrity sha1-zhWQ/wplrRKXCmCdeIVemkwa7wY= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.11.0", "@babel/plugin-proposal-object-rest-spread@^7.9.0": - version "7.11.0" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.11.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af" - integrity sha1-vYH5Wh90Z2DqQ7bC09YrEXkK0K8= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.10.4" - -"@babel/plugin-proposal-optional-catch-binding@^7.10.4", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.10.4.tgz?cache=0&sync_timestamp=1593522756062&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd" - integrity sha1-Mck4MJ0kp4pJ1o/av/qoY3WFVN0= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@7.9.0": - version "7.9.0" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.9.0.tgz?cache=0&sync_timestamp=1596142928022&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" - integrity sha1-MdsWsVTDnWuKZFKSRyuYOUwpKlg= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.11.0", "@babel/plugin-proposal-optional-chaining@^7.9.0": - version "7.11.0" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.11.0.tgz?cache=0&sync_timestamp=1596142928022&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076" - integrity sha1-3lhm0GRvav2quKVmOC/joiF1UHY= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-private-methods@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.10.4.tgz?cache=0&sync_timestamp=1593521310990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909" - integrity sha1-sWDZcrj9ulx9ERoUX8jEIfwqaQk= - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" - integrity sha1-RIPNpTBBzjQTt/4vAAImZd36p10= - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-async-generators@^7.8.0": - 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#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.10.4.tgz?cache=0&sync_timestamp=1593522817483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-class-properties%2Fdownload%2F%40babel%2Fplugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" - integrity sha1-ZkTmoLqlWmH54yMfbJ7rbuRsEkw= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-decorators@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.10.4.tgz?cache=0&sync_timestamp=1593521120720&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-decorators%2Fdownload%2F%40babel%2Fplugin-syntax-decorators-7.10.4.tgz#6853085b2c429f9d322d02f5a635018cdeb2360c" - integrity sha1-aFMIWyxCn50yLQL1pjUBjN6yNgw= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-dynamic-import@^7.8.0": - 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#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - 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#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha1-AolkqbqA28CUyRXEh618TnpmRlo= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-flow@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-flow/download/@babel/plugin-syntax-flow-7.10.4.tgz?cache=0&sync_timestamp=1593522823440&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-flow%2Fdownload%2F%40babel%2Fplugin-syntax-flow-7.10.4.tgz#53351dd7ae01995e567d04ce42af1a6e0ba846a6" - integrity sha1-UzUd164BmV5WfQTOQq8abguoRqY= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.0": - 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#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c" - integrity sha1-Oauq48v3EMQ3PYQpSE5rohNAFmw= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - 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?cache=0&sync_timestamp=1593522984333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-logical-assignment-operators%2Fdownload%2F%40babel%2Fplugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha1-ypHvRjA1MESLkGZSusLp/plB9pk= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": - 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#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": - 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&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#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0": - 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#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.0": - 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#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.0": - 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#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io= - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.10.4", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.10.4.tgz?cache=0&sync_timestamp=1593522992017&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d" - integrity sha1-S764kXtU/PdoNk4KgfVg4zo+9X0= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-typescript@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.10.4.tgz?cache=0&sync_timestamp=1593522838349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-typescript%2Fdownload%2F%40babel%2Fplugin-syntax-typescript-7.10.4.tgz#2f55e770d3501e83af217d782cb7517d7bb34d25" - integrity sha1-L1XncNNQHoOvIX14LLdRfXuzTSU= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-arrow-functions@^7.10.4", "@babel/plugin-transform-arrow-functions@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd" - integrity sha1-4ilg135pfHT0HFAdRNc9v4pqZM0= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-async-to-generator@^7.10.4", "@babel/plugin-transform-async-to-generator@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.10.4.tgz?cache=0&sync_timestamp=1593522851748&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.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37" - integrity sha1-QaUBfknrbzzak5KlHu8pQFskWjc= - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.10.4" - -"@babel/plugin-transform-block-scoped-functions@^7.10.4", "@babel/plugin-transform-block-scoped-functions@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.10.4.tgz?cache=0&sync_timestamp=1593521990101&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.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8" - integrity sha1-GvpZV0T3XkOpGvc7DZmOz+Trwug= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-block-scoping@^7.10.4", "@babel/plugin-transform-block-scoping@^7.8.3": - version "7.11.1" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.11.1.tgz?cache=0&sync_timestamp=1596578803980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215" - integrity sha1-W37+mIUr741lLAsoFEzZOp5LUhU= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-classes@^7.10.4", "@babel/plugin-transform-classes@^7.9.0": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.10.4.tgz?cache=0&sync_timestamp=1593522856487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7" - integrity sha1-QFE2rys+IYvEoZJiKLyRerGgrcc= - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-define-map" "^7.10.4" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.10.4", "@babel/plugin-transform-computed-properties@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb" - integrity sha1-ne2DqBboLe0o1S1LTsvdgQzfwOs= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-destructuring@^7.10.4", "@babel/plugin-transform-destructuring@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5" - integrity sha1-cN3Ss9G+qD0BUJ6bsl3bOnT8heU= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" - integrity sha1-RpwgYhBcHragQOr0+sS0iAeDle4= - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-duplicate-keys@^7.10.4", "@babel/plugin-transform-duplicate-keys@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47" - integrity sha1-aX5Qyf7hQ4D+hD0fMGspVhdDHkc= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-exponentiation-operator@^7.10.4", "@babel/plugin-transform-exponentiation-operator@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.10.4.tgz?cache=0&sync_timestamp=1593522967206&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e" - integrity sha1-WuM4xX+M9AAb2zVgeuZrktZlry4= - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-flow-strip-types@7.9.0": - version "7.9.0" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-flow-strip-types/download/@babel/plugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392" - integrity sha1-ijU4qkBDTgALj0Sjxcmscim9I5I= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-flow" "^7.8.3" - -"@babel/plugin-transform-for-of@^7.10.4", "@babel/plugin-transform-for-of@^7.9.0": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.10.4.tgz?cache=0&sync_timestamp=1593521205142&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-for-of%2Fdownload%2F%40babel%2Fplugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9" - integrity sha1-wIiS6IGdOl2ykDGxFa9RHbv+uuk= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-function-name@^7.10.4", "@babel/plugin-transform-function-name@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7" - integrity sha1-akZ4gOD8ljhRS6NpERgR3b4mRLc= - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-literals@^7.10.4", "@babel/plugin-transform-literals@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.10.4.tgz?cache=0&sync_timestamp=1593521205335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-literals%2Fdownload%2F%40babel%2Fplugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c" - integrity sha1-n0K6CEEQChNfInEtDjkcRi9XHzw= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.10.4", "@babel/plugin-transform-member-expression-literals@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.10.4.tgz?cache=0&sync_timestamp=1593521257832&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.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7" - integrity sha1-sexE/PGVr8uNssYs2OVRyIG6+Lc= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-modules-amd@^7.10.4", "@babel/plugin-transform-modules-amd@^7.9.0": - version "7.10.5" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.10.5.tgz?cache=0&sync_timestamp=1594749164106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1" - integrity sha1-G5zdrwXZ6Is6rTOcs+RFxPAgqbE= - dependencies: - "@babel/helper-module-transforms" "^7.10.5" - "@babel/helper-plugin-utils" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.10.4", "@babel/plugin-transform-modules-commonjs@^7.9.0": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0" - integrity sha1-ZmZ8Pu2h6/eJbUHx8WsXEFovvKA= - dependencies: - "@babel/helper-module-transforms" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.10.4", "@babel/plugin-transform-modules-systemjs@^7.9.0": - version "7.10.5" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.10.5.tgz?cache=0&sync_timestamp=1594749163311&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85" - integrity sha1-YnAJnIVAZmgbrp4F+H4bnK2+jIU= - dependencies: - "@babel/helper-hoist-variables" "^7.10.4" - "@babel/helper-module-transforms" "^7.10.5" - "@babel/helper-plugin-utils" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.10.4", "@babel/plugin-transform-modules-umd@^7.9.0": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.10.4.tgz?cache=0&sync_timestamp=1593522846765&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e" - integrity sha1-moSB/oG4JGVLOgtl2j34nz0hg54= - dependencies: - "@babel/helper-module-transforms" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6" - integrity sha1-eLTZeIELbzvPA/njGPL8DtQa7LY= - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - -"@babel/plugin-transform-new-target@^7.10.4", "@babel/plugin-transform-new-target@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.10.4.tgz?cache=0&sync_timestamp=1593521205540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-new-target%2Fdownload%2F%40babel%2Fplugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888" - integrity sha1-kJfXU8t7Aky3OBo7LlLpUTqcaIg= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-object-super@^7.10.4", "@babel/plugin-transform-object-super@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.10.4.tgz?cache=0&sync_timestamp=1593522848107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894" - integrity sha1-1xRsTROUM+emUm+IjGZ+MUoJOJQ= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - -"@babel/plugin-transform-parameters@^7.10.4", "@babel/plugin-transform-parameters@^7.8.7": - version "7.10.5" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a" - integrity sha1-WdM51Y0LGVBDX0BD504lEABeLEo= - dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-property-literals@^7.10.4", "@babel/plugin-transform-property-literals@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.10.4.tgz?cache=0&sync_timestamp=1593521258372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-property-literals%2Fdownload%2F%40babel%2Fplugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0" - integrity sha1-9v5UtlkDUimHhbg+3YFdIUxC48A= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-react-constant-elements@^7.0.0": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-constant-elements/download/@babel/plugin-transform-react-constant-elements-7.10.4.tgz#0f485260bf1c29012bb973e7e404749eaac12c9e" - integrity sha1-D0hSYL8cKQEruXPn5AR0nqrBLJ4= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-react-display-name@7.8.3": - version "7.8.3" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.8.3.tgz?cache=0&sync_timestamp=1593522821324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-display-name%2Fdownload%2F%40babel%2Fplugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" - integrity sha1-cN7Zh8kWCfeDU9120vsqC7mR6OU= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-transform-react-display-name@^7.10.4", "@babel/plugin-transform-react-display-name@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.10.4.tgz?cache=0&sync_timestamp=1593522821324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-display-name%2Fdownload%2F%40babel%2Fplugin-transform-react-display-name-7.10.4.tgz#b5795f4e3e3140419c3611b7a2a3832b9aef328d" - integrity sha1-tXlfTj4xQEGcNhG3oqODK5rvMo0= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-react-jsx-development@^7.10.4", "@babel/plugin-transform-react-jsx-development@^7.9.0": - version "7.11.5" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-development/download/@babel/plugin-transform-react-jsx-development-7.11.5.tgz?cache=0&sync_timestamp=1598905189892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx-development%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-development-7.11.5.tgz#e1439e6a57ee3d43e9f54ace363fb29cefe5d7b6" - integrity sha1-4UOealfuPUPp9UrONj+ynO/l17Y= - dependencies: - "@babel/helper-builder-react-jsx-experimental" "^7.11.5" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-jsx" "^7.10.4" - -"@babel/plugin-transform-react-jsx-self@^7.10.4", "@babel/plugin-transform-react-jsx-self@^7.9.0": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-self/download/@babel/plugin-transform-react-jsx-self-7.10.4.tgz#cd301a5fed8988c182ed0b9d55e9bd6db0bd9369" - integrity sha1-zTAaX+2JiMGC7QudVem9bbC9k2k= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-jsx" "^7.10.4" - -"@babel/plugin-transform-react-jsx-source@^7.10.4", "@babel/plugin-transform-react-jsx-source@^7.9.0": - version "7.10.5" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-source/download/@babel/plugin-transform-react-jsx-source-7.10.5.tgz?cache=0&sync_timestamp=1594749478794&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx-source%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-source-7.10.5.tgz#34f1779117520a779c054f2cdd9680435b9222b4" - integrity sha1-NPF3kRdSCnecBU8s3ZaAQ1uSIrQ= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-jsx" "^7.10.4" - -"@babel/plugin-transform-react-jsx@^7.10.4", "@babel/plugin-transform-react-jsx@^7.9.1": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx/download/@babel/plugin-transform-react-jsx-7.10.4.tgz#673c9f913948764a4421683b2bef2936968fddf2" - integrity sha1-ZzyfkTlIdkpEIWg7K+8pNpaP3fI= - dependencies: - "@babel/helper-builder-react-jsx" "^7.10.4" - "@babel/helper-builder-react-jsx-experimental" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-jsx" "^7.10.4" - -"@babel/plugin-transform-react-pure-annotations@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-pure-annotations/download/@babel/plugin-transform-react-pure-annotations-7.10.4.tgz?cache=0&sync_timestamp=1593522831272&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-pure-annotations%2Fdownload%2F%40babel%2Fplugin-transform-react-pure-annotations-7.10.4.tgz#3eefbb73db94afbc075f097523e445354a1c6501" - integrity sha1-Pu+7c9uUr7wHXwl1I+RFNUocZQE= - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-regenerator@^7.10.4", "@babel/plugin-transform-regenerator@^7.8.7": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.10.4.tgz?cache=0&sync_timestamp=1593521070883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-regenerator%2Fdownload%2F%40babel%2Fplugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63" - integrity sha1-IBXlnYOQdOdoON4hWdtCGWb9i2M= - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.10.4", "@babel/plugin-transform-reserved-words@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.10.4.tgz?cache=0&sync_timestamp=1593522816859&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-reserved-words%2Fdownload%2F%40babel%2Fplugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd" - integrity sha1-jyaCvNzvntMn4bCGFYXXAT+KVN0= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-runtime@7.9.0": - version "7.9.0" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" - integrity sha1-RUaMCudMwTIE4dOx9M5u6DJYrws= - dependencies: - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - resolve "^1.8.1" - semver "^5.5.1" - -"@babel/plugin-transform-shorthand-properties@^7.10.4", "@babel/plugin-transform-shorthand-properties@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.10.4.tgz?cache=0&sync_timestamp=1593521207009&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-shorthand-properties%2Fdownload%2F%40babel%2Fplugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6" - integrity sha1-n9Jexc3VVbt/Rz5ebuHJce7eTdY= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-spread@^7.11.0", "@babel/plugin-transform-spread@^7.8.3": - version "7.11.0" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.11.0.tgz?cache=0&sync_timestamp=1596142928262&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-spread%2Fdownload%2F%40babel%2Fplugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc" - integrity sha1-+oTTAPXk9XdS/kGm0bPFVPE/F8w= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" - -"@babel/plugin-transform-sticky-regex@^7.10.4", "@babel/plugin-transform-sticky-regex@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d" - integrity sha1-jziJ7oZXWBEwop2cyR18c7fEoo0= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-regex" "^7.10.4" - -"@babel/plugin-transform-template-literals@^7.10.4", "@babel/plugin-transform-template-literals@^7.8.3": - version "7.10.5" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c" - integrity sha1-eLxdYmpmQtszEtnQ8AH152Of3ow= - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-typeof-symbol@^7.10.4", "@babel/plugin-transform-typeof-symbol@^7.8.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc" - integrity sha1-lQnxp+7DHE7b/+E3wWzDP/C8W/w= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-typescript@^7.9.0": - version "7.11.0" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typescript/download/@babel/plugin-transform-typescript-7.11.0.tgz?cache=0&sync_timestamp=1596142928402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-typescript%2Fdownload%2F%40babel%2Fplugin-transform-typescript-7.11.0.tgz#2b4879676af37342ebb278216dd090ac67f13abb" - integrity sha1-K0h5Z2rzc0LrsnghbdCQrGfxOrs= - dependencies: - "@babel/helper-create-class-features-plugin" "^7.10.5" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-typescript" "^7.10.4" - -"@babel/plugin-transform-unicode-escapes@^7.10.4": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.10.4.tgz?cache=0&sync_timestamp=1593521262862&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-escapes%2Fdownload%2F%40babel%2Fplugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007" - integrity sha1-/q5SM5HHZR3awRXa4KnQaFeJIAc= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-unicode-regex@^7.10.4", "@babel/plugin-transform-unicode-regex@^7.8.3": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8" - integrity sha1-5W1x+SgvrG2wnIJ0IFVXbV5tgKg= - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/preset-env@7.9.0": - version "7.9.0" - resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" - integrity sha1-pfxCSA6VCuj12fjyu8A/UnIt86g= - dependencies: - "@babel/compat-data" "^7.9.0" - "@babel/helper-compilation-targets" "^7.8.7" - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-proposal-async-generator-functions" "^7.8.3" - "@babel/plugin-proposal-dynamic-import" "^7.8.3" - "@babel/plugin-proposal-json-strings" "^7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-numeric-separator" "^7.8.3" - "@babel/plugin-proposal-object-rest-spread" "^7.9.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.9.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.8.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - "@babel/plugin-transform-arrow-functions" "^7.8.3" - "@babel/plugin-transform-async-to-generator" "^7.8.3" - "@babel/plugin-transform-block-scoped-functions" "^7.8.3" - "@babel/plugin-transform-block-scoping" "^7.8.3" - "@babel/plugin-transform-classes" "^7.9.0" - "@babel/plugin-transform-computed-properties" "^7.8.3" - "@babel/plugin-transform-destructuring" "^7.8.3" - "@babel/plugin-transform-dotall-regex" "^7.8.3" - "@babel/plugin-transform-duplicate-keys" "^7.8.3" - "@babel/plugin-transform-exponentiation-operator" "^7.8.3" - "@babel/plugin-transform-for-of" "^7.9.0" - "@babel/plugin-transform-function-name" "^7.8.3" - "@babel/plugin-transform-literals" "^7.8.3" - "@babel/plugin-transform-member-expression-literals" "^7.8.3" - "@babel/plugin-transform-modules-amd" "^7.9.0" - "@babel/plugin-transform-modules-commonjs" "^7.9.0" - "@babel/plugin-transform-modules-systemjs" "^7.9.0" - "@babel/plugin-transform-modules-umd" "^7.9.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" - "@babel/plugin-transform-new-target" "^7.8.3" - "@babel/plugin-transform-object-super" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.8.7" - "@babel/plugin-transform-property-literals" "^7.8.3" - "@babel/plugin-transform-regenerator" "^7.8.7" - "@babel/plugin-transform-reserved-words" "^7.8.3" - "@babel/plugin-transform-shorthand-properties" "^7.8.3" - "@babel/plugin-transform-spread" "^7.8.3" - "@babel/plugin-transform-sticky-regex" "^7.8.3" - "@babel/plugin-transform-template-literals" "^7.8.3" - "@babel/plugin-transform-typeof-symbol" "^7.8.4" - "@babel/plugin-transform-unicode-regex" "^7.8.3" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.9.0" - browserslist "^4.9.1" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/preset-env@^7.4.5": - version "7.11.5" - resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.11.5.tgz#18cb4b9379e3e92ffea92c07471a99a2914e4272" - integrity sha1-GMtLk3nj6S/+qSwHRxqZopFOQnI= - dependencies: - "@babel/compat-data" "^7.11.0" - "@babel/helper-compilation-targets" "^7.10.4" - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-proposal-async-generator-functions" "^7.10.4" - "@babel/plugin-proposal-class-properties" "^7.10.4" - "@babel/plugin-proposal-dynamic-import" "^7.10.4" - "@babel/plugin-proposal-export-namespace-from" "^7.10.4" - "@babel/plugin-proposal-json-strings" "^7.10.4" - "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4" - "@babel/plugin-proposal-numeric-separator" "^7.10.4" - "@babel/plugin-proposal-object-rest-spread" "^7.11.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" - "@babel/plugin-proposal-optional-chaining" "^7.11.0" - "@babel/plugin-proposal-private-methods" "^7.10.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.10.4" - "@babel/plugin-transform-arrow-functions" "^7.10.4" - "@babel/plugin-transform-async-to-generator" "^7.10.4" - "@babel/plugin-transform-block-scoped-functions" "^7.10.4" - "@babel/plugin-transform-block-scoping" "^7.10.4" - "@babel/plugin-transform-classes" "^7.10.4" - "@babel/plugin-transform-computed-properties" "^7.10.4" - "@babel/plugin-transform-destructuring" "^7.10.4" - "@babel/plugin-transform-dotall-regex" "^7.10.4" - "@babel/plugin-transform-duplicate-keys" "^7.10.4" - "@babel/plugin-transform-exponentiation-operator" "^7.10.4" - "@babel/plugin-transform-for-of" "^7.10.4" - "@babel/plugin-transform-function-name" "^7.10.4" - "@babel/plugin-transform-literals" "^7.10.4" - "@babel/plugin-transform-member-expression-literals" "^7.10.4" - "@babel/plugin-transform-modules-amd" "^7.10.4" - "@babel/plugin-transform-modules-commonjs" "^7.10.4" - "@babel/plugin-transform-modules-systemjs" "^7.10.4" - "@babel/plugin-transform-modules-umd" "^7.10.4" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" - "@babel/plugin-transform-new-target" "^7.10.4" - "@babel/plugin-transform-object-super" "^7.10.4" - "@babel/plugin-transform-parameters" "^7.10.4" - "@babel/plugin-transform-property-literals" "^7.10.4" - "@babel/plugin-transform-regenerator" "^7.10.4" - "@babel/plugin-transform-reserved-words" "^7.10.4" - "@babel/plugin-transform-shorthand-properties" "^7.10.4" - "@babel/plugin-transform-spread" "^7.11.0" - "@babel/plugin-transform-sticky-regex" "^7.10.4" - "@babel/plugin-transform-template-literals" "^7.10.4" - "@babel/plugin-transform-typeof-symbol" "^7.10.4" - "@babel/plugin-transform-unicode-escapes" "^7.10.4" - "@babel/plugin-transform-unicode-regex" "^7.10.4" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.11.5" - browserslist "^4.12.0" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" - semver "^5.5.0" - -"@babel/preset-modules@^0.1.3": - 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=1598549824644&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-modules%2Fdownload%2F%40babel%2Fpreset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" - integrity sha1-Ni8raMZihClw/bXiVP/I/BwuQV4= - dependencies: - "@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/preset-react@7.9.1": - version "7.9.1" - resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.9.1.tgz#b346403c36d58c3bb544148272a0cefd9c28677a" - integrity sha1-s0ZAPDbVjDu1RBSCcqDO/ZwoZ3o= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-react-display-name" "^7.8.3" - "@babel/plugin-transform-react-jsx" "^7.9.1" - "@babel/plugin-transform-react-jsx-development" "^7.9.0" - "@babel/plugin-transform-react-jsx-self" "^7.9.0" - "@babel/plugin-transform-react-jsx-source" "^7.9.0" - -"@babel/preset-react@^7.0.0": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.10.4.tgz#92e8a66d816f9911d11d4cc935be67adfc82dbcf" - integrity sha1-kuimbYFvmRHRHUzJNb5nrfyC288= - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-transform-react-display-name" "^7.10.4" - "@babel/plugin-transform-react-jsx" "^7.10.4" - "@babel/plugin-transform-react-jsx-development" "^7.10.4" - "@babel/plugin-transform-react-jsx-self" "^7.10.4" - "@babel/plugin-transform-react-jsx-source" "^7.10.4" - "@babel/plugin-transform-react-pure-annotations" "^7.10.4" - -"@babel/preset-typescript@7.9.0": - version "7.9.0" - resolved "https://registry.npm.taobao.org/@babel/preset-typescript/download/@babel/preset-typescript-7.9.0.tgz?cache=0&sync_timestamp=1593522940613&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-typescript%2Fdownload%2F%40babel%2Fpreset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" - integrity sha1-h3BacrHw1Z3yHBeffD0u9LFs4ZI= - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-typescript" "^7.9.0" - -"@babel/runtime@7.9.0": - version "7.9.0" - resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.9.0.tgz?cache=0&sync_timestamp=1596637803941&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.9.0.tgz#337eda67401f5b066a6f205a3113d4ac18ba495b" - integrity sha1-M37aZ0AfWwZqbyBaMRPUrBi6SVs= - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.11.2" - resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.11.2.tgz?cache=0&sync_timestamp=1596637803941&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" - integrity sha1-9UnBPHVMxAuHZEufqfCaapX+BzY= - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.10.4", "@babel/template@^7.4.0", "@babel/template@^7.4.4", "@babel/template@^7.8.6": - version "7.10.4" - resolved "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha1-MlGZbEIA68cdGo/EBfupQPNrong= - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5", "@babel/traverse@^7.4.3", "@babel/traverse@^7.5.5", "@babel/traverse@^7.9.0": - version "7.11.5" - resolved "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3" - integrity sha1-vnd7k7UY62127i4eodFD2qEeYcM= - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.11.5" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/parser" "^7.11.5" - "@babel/types" "^7.11.5" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" - -"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.9.0": - version "7.11.5" - resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" - integrity sha1-2d5XfQElLXfGgAzuA57mT691Zi0= - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.npm.taobao.org/@cnakazawa/watch/download/@cnakazawa/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha1-+GSuhQBND8q29QvpFBxNo2jRZWo= - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@csstools/convert-colors@^1.4.0": - version "1.4.0" - resolved "https://registry.npm.taobao.org/@csstools/convert-colors/download/@csstools/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" - integrity sha1-rUldxBsS511YjG24uYNPCPoTHrc= - -"@csstools/normalize.css@^9.0.1": - version "9.0.1" - resolved "https://registry.npm.taobao.org/@csstools/normalize.css/download/@csstools/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5" - integrity sha1-wns5HYRX0eiT8e3er15UEtEv+7U= - -"@emotion/hash@^0.8.0": - version "0.8.0" - resolved "https://registry.npm.taobao.org/@emotion/hash/download/@emotion/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" - integrity sha1-u7/2iXj+/b5ozLUzvIy+HRr7VBM= - -"@formatjs/intl-unified-numberformat@^3.2.0": - version "3.3.7" - resolved "https://registry.npm.taobao.org/@formatjs/intl-unified-numberformat/download/@formatjs/intl-unified-numberformat-3.3.7.tgz#9995a24568908188e716d81a1de5b702b2ee00e2" - integrity sha1-mZWiRWiQgYjnFtgaHeW3ArLuAOI= - dependencies: - "@formatjs/intl-utils" "^2.3.0" - -"@formatjs/intl-utils@^2.3.0": - version "2.3.0" - resolved "https://registry.npm.taobao.org/@formatjs/intl-utils/download/@formatjs/intl-utils-2.3.0.tgz#2dc8c57044de0340eb53a7ba602e59abf80dc799" - integrity sha1-LcjFcETeA0DrU6e6YC5Zq/gNx5k= - -"@hapi/address@2.x.x": - version "2.1.4" - resolved "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1593993836406&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" - integrity sha1-XWftQ/P9QaadS5/3tW58DR0KgeU= - -"@hapi/bourne@1.x.x": - 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#0a7095adea067243ce3283e1b56b8a8f453b242a" - integrity sha1-CnCVreoGckPOMoPhtWuKj0U7JCo= - -"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": - version "8.5.1" - resolved "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz?cache=0&sync_timestamp=1599008834261&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fhoek%2Fdownload%2F%40hapi%2Fhoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" - integrity sha1-/elgZMpEbeyMVajC8TCVewcMbgY= - -"@hapi/joi@^15.0.0": - version "15.1.1" - resolved "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" - integrity sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc= - dependencies: - "@hapi/address" "2.x.x" - "@hapi/bourne" "1.x.x" - "@hapi/hoek" "8.x.x" - "@hapi/topo" "3.x.x" - -"@hapi/topo@3.x.x": - 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#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" - integrity sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck= - dependencies: - "@hapi/hoek" "^8.3.0" - -"@jest/console@^24.7.1", "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/console/download/@jest/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" - integrity sha1-ebG8Bvt0qM+wHL3t+UVYSxuXB/A= - dependencies: - "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" - -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/core/download/@jest/core-24.9.0.tgz?cache=0&sync_timestamp=1598096522479&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fcore%2Fdownload%2F%40jest%2Fcore-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" - integrity sha1-LOzNC5MYH5xIUOdPKprUPTUTacQ= - dependencies: - "@jest/console" "^24.7.1" - "@jest/reporters" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" - realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" - -"@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/environment/download/@jest/environment-24.9.0.tgz?cache=0&sync_timestamp=1597059143827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fenvironment%2Fdownload%2F%40jest%2Fenvironment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - integrity sha1-IeOvotZcBYbL1svv4gi6+t5Eqxg= - dependencies: - "@jest/fake-timers" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - -"@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" - integrity sha1-uj5r8O7NCaY2BJiWQ00wZjZUDJM= - dependencies: - "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/reporters/download/@jest/reporters-24.9.0.tgz?cache=0&sync_timestamp=1597910616654&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Freporters%2Fdownload%2F%40jest%2Freporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - integrity sha1-hmYO/44rlmHQQqjpigKLjWMaW0M= - dependencies: - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" - source-map "^0.6.0" - string-length "^2.0.0" - -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-24.9.0.tgz?cache=0&sync_timestamp=1597057394093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" - integrity sha1-DiY6lEML5LQdpoPMwea//ioZFxQ= - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" - -"@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-24.9.0.tgz?cache=0&sync_timestamp=1597057593352&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-result%2Fdownload%2F%40jest%2Ftest-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" - integrity sha1-EXluiqnb+I6gJXV7MVJZWtBroMo= - dependencies: - "@jest/console" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/istanbul-lib-coverage" "^2.0.0" - -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/test-sequencer/download/@jest/test-sequencer-24.9.0.tgz?cache=0&sync_timestamp=1598096520310&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-sequencer%2Fdownload%2F%40jest%2Ftest-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - integrity sha1-+PM081tiWk8vNV8v5+YDba0uazE= - dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - -"@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-24.9.0.tgz?cache=0&sync_timestamp=1597057593248&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" - integrity sha1-SuJ2iyllU/rasJ6ewRlUPJCxbFY= - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.15" - jest-haste-map "^24.9.0" - jest-regex-util "^24.9.0" - jest-util "^24.9.0" - micromatch "^3.1.10" - pirates "^4.0.1" - realpath-native "^1.1.0" - slash "^2.0.0" - source-map "^0.6.1" - write-file-atomic "2.4.1" - -"@jest/types@^24.8.0", "@jest/types@^24.9.0": - version "24.9.0" - resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-24.9.0.tgz?cache=0&sync_timestamp=1597057385275&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftypes%2Fdownload%2F%40jest%2Ftypes-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" - integrity sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk= - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^13.0.0" - -"@material-ui/core@^4.9.10": - version "4.11.0" - resolved "https://registry.npm.taobao.org/@material-ui/core/download/@material-ui/core-4.11.0.tgz#b69b26e4553c9e53f2bfaf1053e216a0af9be15a" - integrity sha1-tpsm5FU8nlPyv68QU+IWoK+b4Vo= - dependencies: - "@babel/runtime" "^7.4.4" - "@material-ui/styles" "^4.10.0" - "@material-ui/system" "^4.9.14" - "@material-ui/types" "^5.1.0" - "@material-ui/utils" "^4.10.2" - "@types/react-transition-group" "^4.2.0" - clsx "^1.0.4" - hoist-non-react-statics "^3.3.2" - popper.js "1.16.1-lts" - prop-types "^15.7.2" - react-is "^16.8.0" - react-transition-group "^4.4.0" - -"@material-ui/icons@^4.2.1": - version "4.9.1" - resolved "https://registry.npm.taobao.org/@material-ui/icons/download/@material-ui/icons-4.9.1.tgz#fdeadf8cb3d89208945b33dbc50c7c616d0bd665" - integrity sha1-/erfjLPYkgiUWzPbxQx8YW0L1mU= - dependencies: - "@babel/runtime" "^7.4.4" - -"@material-ui/lab@^4.0.0-alpha.56": - version "4.0.0-alpha.56" - resolved "https://registry.npm.taobao.org/@material-ui/lab/download/@material-ui/lab-4.0.0-alpha.56.tgz#ff63080949b55b40625e056bbda05e130d216d34" - integrity sha1-/2MICUm1W0BiXgVrvaBeEw0hbTQ= - dependencies: - "@babel/runtime" "^7.4.4" - "@material-ui/utils" "^4.10.2" - clsx "^1.0.4" - prop-types "^15.7.2" - react-is "^16.8.0" - -"@material-ui/styles@^4.10.0": - version "4.10.0" - resolved "https://registry.npm.taobao.org/@material-ui/styles/download/@material-ui/styles-4.10.0.tgz#2406dc23aa358217aa8cc772e6237bd7f0544071" - integrity sha1-JAbcI6o1gheqjMdy5iN71/BUQHE= - dependencies: - "@babel/runtime" "^7.4.4" - "@emotion/hash" "^0.8.0" - "@material-ui/types" "^5.1.0" - "@material-ui/utils" "^4.9.6" - clsx "^1.0.4" - csstype "^2.5.2" - hoist-non-react-statics "^3.3.2" - jss "^10.0.3" - jss-plugin-camel-case "^10.0.3" - jss-plugin-default-unit "^10.0.3" - jss-plugin-global "^10.0.3" - jss-plugin-nested "^10.0.3" - jss-plugin-props-sort "^10.0.3" - jss-plugin-rule-value-function "^10.0.3" - jss-plugin-vendor-prefixer "^10.0.3" - prop-types "^15.7.2" - -"@material-ui/system@^4.9.14": - version "4.9.14" - resolved "https://registry.npm.taobao.org/@material-ui/system/download/@material-ui/system-4.9.14.tgz#4b00c48b569340cefb2036d0596b93ac6c587a5f" - integrity sha1-SwDEi1aTQM77IDbQWWuTrGxYel8= - dependencies: - "@babel/runtime" "^7.4.4" - "@material-ui/utils" "^4.9.6" - csstype "^2.5.2" - prop-types "^15.7.2" - -"@material-ui/types@^5.1.0": - version "5.1.0" - resolved "https://registry.npm.taobao.org/@material-ui/types/download/@material-ui/types-5.1.0.tgz#efa1c7a0b0eaa4c7c87ac0390445f0f88b0d88f2" - integrity sha1-76HHoLDqpMfIesA5BEXw+IsNiPI= - -"@material-ui/utils@^4.10.2", "@material-ui/utils@^4.9.6": - version "4.10.2" - resolved "https://registry.npm.taobao.org/@material-ui/utils/download/@material-ui/utils-4.10.2.tgz#3fd5470ca61b7341f1e0468ac8f29a70bf6df321" - integrity sha1-P9VHDKYbc0Hx4EaKyPKacL9t8yE= - dependencies: - "@babel/runtime" "^7.4.4" - prop-types "^15.7.2" - react-is "^16.8.0" - -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= - -"@svgr/babel-plugin-add-jsx-attribute@^4.2.0": - version "4.2.0" - resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-add-jsx-attribute/download/@svgr/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" - integrity sha1-2ty2IYUDUy1ohLIQ5/PFAsqqRLE= - -"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0": - version "4.2.0" - resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-remove-jsx-attribute/download/@svgr/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc" - integrity sha1-KXVQuajAxzN76hK9/IqAu2b4Wrw= - -"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0": - version "4.2.0" - resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-remove-jsx-empty-expression/download/@svgr/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7" - integrity sha1-wZYwLz5o6ragXpivnKhXC8ExMcc= - -"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0": - version "4.2.0" - resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-replace-jsx-attribute-value/download/@svgr/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" - integrity sha1-MQ7Ad13oCKai5P1CaMJF/XNMEWU= - -"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": - version "4.3.3" - resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-svg-dynamic-title/download/@svgr/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" - integrity sha1-LN7ddH5bGyntTCQeRiVqrIEQ3ZM= - -"@svgr/babel-plugin-svg-em-dimensions@^4.2.0": - version "4.2.0" - resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-svg-em-dimensions/download/@svgr/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391" - integrity sha1-mpR5HJoogQjSCp0sxkysgg8UE5E= - -"@svgr/babel-plugin-transform-react-native-svg@^4.2.0": - version "4.2.0" - resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-transform-react-native-svg/download/@svgr/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717" - integrity sha1-FRSHMihDNZocqGsho4Ff0hqItxc= - -"@svgr/babel-plugin-transform-svg-component@^4.2.0": - version "4.2.0" - resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-transform-svg-component/download/@svgr/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" - integrity sha1-Xx4viGsshcZ+dtpC8Pa+Gxdntpc= - -"@svgr/babel-preset@^4.3.3": - version "4.3.3" - resolved "https://registry.npm.taobao.org/@svgr/babel-preset/download/@svgr/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" - integrity sha1-p12MLyAqwOV3Tmv8Fl0CizmhMWw= - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" - "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" - "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" - "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" - "@svgr/babel-plugin-transform-svg-component" "^4.2.0" - -"@svgr/core@^4.3.2": - version "4.3.3" - resolved "https://registry.npm.taobao.org/@svgr/core/download/@svgr/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" - integrity sha1-s3uJ1bdX3Gbox0FW0Aw2gzjSQpM= - dependencies: - "@svgr/plugin-jsx" "^4.3.3" - camelcase "^5.3.1" - cosmiconfig "^5.2.1" - -"@svgr/hast-util-to-babel-ast@^4.3.2": - version "4.3.2" - resolved "https://registry.npm.taobao.org/@svgr/hast-util-to-babel-ast/download/@svgr/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" - integrity sha1-HVoIL3uSnvjx9XiVAjj2MOFFMrg= - dependencies: - "@babel/types" "^7.4.4" - -"@svgr/plugin-jsx@^4.3.2", "@svgr/plugin-jsx@^4.3.3": - version "4.3.3" - resolved "https://registry.npm.taobao.org/@svgr/plugin-jsx/download/@svgr/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" - integrity sha1-4rqRPb376FJSo02xAavH69UJkvo= - dependencies: - "@babel/core" "^7.4.5" - "@svgr/babel-preset" "^4.3.3" - "@svgr/hast-util-to-babel-ast" "^4.3.2" - svg-parser "^2.0.0" - -"@svgr/plugin-svgo@^4.3.1": - version "4.3.1" - resolved "https://registry.npm.taobao.org/@svgr/plugin-svgo/download/@svgr/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" - integrity sha1-2qwKPYcuP1WTXGWI3TcDNoZenjI= - dependencies: - cosmiconfig "^5.2.1" - merge-deep "^3.0.2" - svgo "^1.2.2" - -"@svgr/webpack@4.3.2": - version "4.3.2" - resolved "https://registry.npm.taobao.org/@svgr/webpack/download/@svgr/webpack-4.3.2.tgz#319d4471c8f3d5c3af35059274834d9b5b8fb956" - integrity sha1-MZ1Eccjz1cOvNQWSdINNm1uPuVY= - dependencies: - "@babel/core" "^7.4.5" - "@babel/plugin-transform-react-constant-elements" "^7.0.0" - "@babel/preset-env" "^7.4.5" - "@babel/preset-react" "^7.0.0" - "@svgr/core" "^4.3.2" - "@svgr/plugin-jsx" "^4.3.2" - "@svgr/plugin-svgo" "^4.3.1" - loader-utils "^1.2.3" - -"@types/babel__core@^7.1.0": - version "7.1.9" - resolved "https://registry.npm.taobao.org/@types/babel__core/download/@types/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d" - integrity sha1-d+WdQ4UipvuJj6Q9w0VcbnLzlj0= - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.1" - resolved "https://registry.npm.taobao.org/@types/babel__generator/download/@types/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" - integrity sha1-SQF2ezl+hxGuuZ3405bXunt/DgQ= - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.0.2" - resolved "https://registry.npm.taobao.org/@types/babel__template/download/@types/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha1-T/Y9a1Lt2sHee5daUiPtMuzqkwc= - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.13" - resolved "https://registry.npm.taobao.org/@types/babel__traverse/download/@types/babel__traverse-7.0.13.tgz#1874914be974a492e1b4cb00585cabb274e8ba18" - integrity sha1-GHSRS+l0pJLhtMsAWFyrsnTouhg= - dependencies: - "@babel/types" "^7.3.0" - -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz?cache=0&sync_timestamp=1596837707987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcolor-name%2Fdownload%2F%40types%2Fcolor-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA= - -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.npm.taobao.org/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0= - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.3" - resolved "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha1-S6jdtyAiH0MuRDvV+RF/0iz9R2I= - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npm.taobao.org/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY= - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.2" - resolved "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" - integrity sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI= - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5": - version "7.0.6" - resolved "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" - integrity sha1-9MfsQ+gbMZqYFRFQMXCfJph4kfA= - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.npm.taobao.org/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA= - -"@types/prop-types@*": - version "15.7.3" - resolved "https://registry.npm.taobao.org/@types/prop-types/download/@types/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" - integrity sha1-KrDV2i5YFflLC51LldHl8kOrLKc= - -"@types/q@^1.5.1": - version "1.5.4" - resolved "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" - integrity sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ= - -"@types/react-transition-group@^4.2.0": - version "4.4.0" - resolved "https://registry.npm.taobao.org/@types/react-transition-group/download/@types/react-transition-group-4.4.0.tgz#882839db465df1320e4753e6e9f70ca7e9b4d46d" - integrity sha1-iCg520Zd8TIOR1Pm6fcMp+m01G0= - dependencies: - "@types/react" "*" - -"@types/react@*": - version "16.9.49" - resolved "https://registry.npm.taobao.org/@types/react/download/@types/react-16.9.49.tgz?cache=0&sync_timestamp=1598892372094&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Freact%2Fdownload%2F%40types%2Freact-16.9.49.tgz#09db021cf8089aba0cdb12a49f8021a69cce4872" - integrity sha1-CdsCHPgImroM2xKkn4AhppzOSHI= - dependencies: - "@types/prop-types" "*" - csstype "^3.0.2" - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4= - -"@types/yargs-parser@*": - version "15.0.0" - resolved "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-15.0.0.tgz?cache=0&sync_timestamp=1596840530983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs-parser%2Fdownload%2F%40types%2Fyargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha1-yz+fdBhp4gzOMw/765JxWQSDiC0= - -"@types/yargs@^13.0.0": - version "13.0.10" - resolved "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-13.0.10.tgz?cache=0&sync_timestamp=1596840529553&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs%2Fdownload%2F%40types%2Fyargs-13.0.10.tgz#e77bf3fc73c781d48c2eb541f87c453e321e5f4b" - integrity sha1-53vz/HPHgdSMLrVB+HxFPjIeX0s= - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@1.13.0": - version "1.13.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-1.13.0.tgz?cache=0&sync_timestamp=1599424750171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-1.13.0.tgz#22fed9b16ddfeb402fd7bcde56307820f6ebc49f" - integrity sha1-Iv7ZsW3f60Av17zeVjB4IPbrxJ8= - dependencies: - "@typescript-eslint/experimental-utils" "1.13.0" - eslint-utils "^1.3.1" - functional-red-black-tree "^1.0.1" - regexpp "^2.0.1" - tsutils "^3.7.0" - -"@typescript-eslint/experimental-utils@1.13.0": - version "1.13.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-1.13.0.tgz?cache=0&sync_timestamp=1599424747781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e" - integrity sha1-sIxg14DABn3i+0SwS0MvVAE4MB4= - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "1.13.0" - eslint-scope "^4.0.0" - -"@typescript-eslint/parser@1.13.0": - version "1.13.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-1.13.0.tgz?cache=0&sync_timestamp=1599424748904&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-1.13.0.tgz#61ac7811ea52791c47dc9fd4dd4a184fae9ac355" - integrity sha1-Yax4EepSeRxH3J/U3UoYT66aw1U= - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "1.13.0" - "@typescript-eslint/typescript-estree" "1.13.0" - eslint-visitor-keys "^1.0.0" - -"@typescript-eslint/typescript-estree@1.13.0": - version "1.13.0" - resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-1.13.0.tgz?cache=0&sync_timestamp=1599424746830&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-1.13.0.tgz#8140f17d0f60c03619798f1d628b8434913dc32e" - integrity sha1-gUDxfQ9gwDYZeY8dYouENJE9wy4= - dependencies: - lodash.unescape "4.0.1" - semver "5.5.0" - -"@webassemblyjs/ast@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" - integrity sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k= - dependencies: - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - -"@webassemblyjs/floating-point-hex-parser@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" - integrity sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE= - -"@webassemblyjs/helper-api-error@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" - integrity sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc= - -"@webassemblyjs/helper-buffer@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" - integrity sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ= - -"@webassemblyjs/helper-code-frame@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" - integrity sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4= - dependencies: - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/helper-fsm@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" - integrity sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI= - -"@webassemblyjs/helper-module-context@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" - integrity sha1-3vS5knsBAdyMu9jR7bW3ucguskU= - dependencies: - "@webassemblyjs/ast" "1.8.5" - mamacro "^0.0.3" - -"@webassemblyjs/helper-wasm-bytecode@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" - integrity sha1-U3p1Dt31weky83RCBlUckcG5PmE= - -"@webassemblyjs/helper-wasm-section@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" - integrity sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - -"@webassemblyjs/ieee754@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" - integrity sha1-cSMp2+8kDza/V70ve4+5v0FUQh4= - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" - integrity sha1-BE7es06mefPgTNT9mCTV41dnrhA= - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" - integrity sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw= - -"@webassemblyjs/wasm-edit@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" - integrity sha1-li2hKqWswcExyBxCMpkcgs5W4Bo= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/helper-wasm-section" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-opt" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/wasm-gen@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" - integrity sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wasm-opt@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" - integrity sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - -"@webassemblyjs/wasm-parser@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" - integrity sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wast-parser@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" - integrity sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/floating-point-hex-parser" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-code-frame" "1.8.5" - "@webassemblyjs/helper-fsm" "1.8.5" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.8.5": - version "1.8.5" - resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" - integrity sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= - -abab@^2.0.0: - version "2.0.4" - resolved "https://registry.npm.taobao.org/abab/download/abab-2.0.4.tgz?cache=0&sync_timestamp=1596258006101&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fabab%2Fdownload%2Fabab-2.0.4.tgz#6dfa57b417ca06d21b2478f0e638302f99c2405c" - integrity sha1-bfpXtBfKBtIbJHjw5jgwL5nCQFw= - -abbrev@1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80= - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -acorn-globals@^4.1.0, acorn-globals@^4.3.0: - version "4.3.4" - resolved "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha1-n6GSat3BHJcwjE5m163Q1Awycuc= - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha1-TGYGkXPW/daO2FI5/CViJhgrLr4= - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-6.2.0.tgz?cache=0&sync_timestamp=1597235847625&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-walk%2Fdownload%2Facorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha1-Ejy487hMIXHx9/slJhWxx4prGow= - -acorn@^5.5.3: - version "5.7.4" - resolved "https://registry.npm.taobao.org/acorn/download/acorn-5.7.4.tgz?cache=0&sync_timestamp=1597235744175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" - integrity sha1-Po2KmUfQWZoXltECJddDL0pKz14= - -acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: - version "6.4.1" - resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.4.1.tgz?cache=0&sync_timestamp=1597235744175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha1-Ux5Yuj9RudrLmmZGyk3r9bFMpHQ= - -acorn@^7.1.1: - version "7.4.0" - resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.4.0.tgz?cache=0&sync_timestamp=1597235744175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" - integrity sha1-4a1IbmxUUBY0xsOXxcEh2qODYHw= - -address@1.1.2, address@^1.0.1: - version "1.1.2" - resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" - integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= - -adjust-sourcemap-loader@2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/adjust-sourcemap-loader/download/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" - integrity sha1-ZHEUOvdewCM0shn1S8eXDFL7KaQ= - dependencies: - assert "1.4.1" - camelcase "5.0.0" - loader-utils "1.2.3" - object-path "0.11.4" - regex-parser "2.2.10" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: - version "6.12.4" - resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.12.4.tgz?cache=0&sync_timestamp=1597480782874&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" - integrity sha1-BhT6zEUiEn+nE0Rca/0+vTduIjQ= - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -alphanum-sort@^1.0.0: - version "1.0.2" - resolved "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha1-46PaS/uubIapwoViXeEkojQCb78= - -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= - -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE= - dependencies: - type-fest "^0.11.0" - -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.0.0, ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha1-kK51xCTQCNJiTFvynq0xd+v881k= - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI= - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha1-SzXClE8GKov82mZBB2A1D+nd/CE= - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= - dependencies: - sprintf-js "~1.0.2" - -aria-query@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/aria-query/download/aria-query-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faria-query%2Fdownload%2Faria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" - integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= - dependencies: - ast-types-flow "0.0.7" - commander "^2.11.0" - -arity-n@^1.0.4: - version "1.0.4" - resolved "https://registry.npm.taobao.org/arity-n/download/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" - integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= - -array-includes@^3.0.3, array-includes@^3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" - integrity sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - is-string "^1.0.5" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asap@~2.0.6: - version "2.0.6" - resolved "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.npm.taobao.org/asn1.js/download/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha1-EamAuE67kXgc41sP3C7ilON4Pwc= - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@1.4.1: - version "1.4.1" - resolved "https://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= - dependencies: - util "0.10.3" - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -ast-types-flow@0.0.7, ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.npm.taobao.org/ast-types-flow/download/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= - -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0= - -async@^2.6.2: - version "2.6.3" - resolved "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8= - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= - -autoprefixer@^9.6.1: - version "9.8.6" - resolved "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.6.tgz?cache=0&sync_timestamp=1596140648665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" - integrity sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8= - dependencies: - 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@~0.7.0: - version "0.7.0" - resolved "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.10.1" - resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" - integrity sha1-4eguTz6Zniz9YbFhKA0WoRH4ZCg= - -axios@^0.21.1: - version "0.21.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" - integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== - dependencies: - follow-redirects "^1.10.0" - -axobject-query@^2.0.2: - version "2.2.0" - resolved "https://registry.npm.taobao.org/axobject-query/download/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha1-lD1H4QwLcEqkInXiDt83ImSJib4= - -babel-code-frame@^6.22.0: - version "6.26.0" - resolved "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-eslint@10.0.2: - version "10.0.2" - resolved "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.0.2.tgz#182d5ac204579ff0881684b040560fdcc1558456" - integrity sha1-GC1awgRXn/CIFoSwQFYP3MFVhFY= - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - eslint-scope "3.7.1" - eslint-visitor-keys "^1.0.0" - -babel-extract-comments@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/babel-extract-comments/download/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" - integrity sha1-Cirt+BQX7TkbheGLRhTmk6A1GiE= - dependencies: - babylon "^6.18.0" - -babel-jest@^24.8.0, babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/babel-jest/download/babel-jest-24.9.0.tgz?cache=0&sync_timestamp=1597057593807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-jest%2Fdownload%2Fbabel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha1-P8Mny4RnuJ0U17xw4xUQSng8zVQ= - dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" - -babel-loader@8.0.6: - version "8.0.6" - resolved "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" - integrity sha1-4zvbbzYrA/S7FBoMIauHxQG3Dfs= - dependencies: - find-cache-dir "^2.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" - pify "^4.0.1" - -babel-plugin-dynamic-import-node@^2.3.3: - 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#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha1-hP2hnJduxcbe/vV/lCez3vZuF6M= - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" - integrity sha1-30reg9iXqS3wacTZolzyZxKTyFQ= - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" - -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-24.9.0.tgz?cache=0&sync_timestamp=1596103923034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-jest-hoist%2Fdownload%2Fbabel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha1-T4NwketAfgFEfIhDy+xUbQAC11Y= - dependencies: - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@2.8.0: - version "2.8.0" - resolved "https://registry.npm.taobao.org/babel-plugin-macros/download/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha1-D5WKfMZVax5lNERl2ZERoeXhATg= - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-plugin-named-asset-import@^0.3.3: - version "0.3.6" - resolved "https://registry.npm.taobao.org/babel-plugin-named-asset-import/download/babel-plugin-named-asset-import-0.3.6.tgz#c9750a1b38d85112c9e166bf3ef7c5dbc605f4be" - integrity sha1-yXUKGzjYURLJ4Wa/PvfF28YF9L4= - -babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= - -babel-plugin-transform-object-rest-spread@^6.26.0: - version "6.26.0" - resolved "https://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" - integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.26.0" - -babel-plugin-transform-react-remove-prop-types@0.4.24: - version "0.4.24" - resolved "https://registry.npm.taobao.org/babel-plugin-transform-react-remove-prop-types/download/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" - integrity sha1-8u2vm0xqX75cHWeL+1MQeMFVXzo= - -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-24.9.0.tgz?cache=0&sync_timestamp=1597057385917&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-jest%2Fdownload%2Fbabel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha1-GStSHiIX+x0fZ89z9wwzZlCtPNw= - dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" - -babel-preset-react-app@^9.0.1: - version "9.1.2" - resolved "https://registry.npm.taobao.org/babel-preset-react-app/download/babel-preset-react-app-9.1.2.tgz#54775d976588a8a6d1a99201a702befecaf48030" - integrity sha1-VHddl2WIqKbRqZIBpwK+/sr0gDA= - dependencies: - "@babel/core" "7.9.0" - "@babel/plugin-proposal-class-properties" "7.8.3" - "@babel/plugin-proposal-decorators" "7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "7.8.3" - "@babel/plugin-proposal-numeric-separator" "7.8.3" - "@babel/plugin-proposal-optional-chaining" "7.9.0" - "@babel/plugin-transform-flow-strip-types" "7.9.0" - "@babel/plugin-transform-react-display-name" "7.8.3" - "@babel/plugin-transform-runtime" "7.9.0" - "@babel/preset-env" "7.9.0" - "@babel/preset-react" "7.9.1" - "@babel/preset-typescript" "7.9.0" - "@babel/runtime" "7.9.0" - babel-plugin-macros "2.8.0" - babel-plugin-transform-react-remove-prop-types "0.4.24" - -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha1-ry87iPpvXB5MY00aD46sT1WzleM= - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE= - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= - dependencies: - 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" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1593261283449&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= - -binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz?cache=0&sync_timestamp=1593261283449&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha1-MPpAyef+B9vIlWeM0ocCTeokHdk= - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha1-EDU8npRTNLwFEabZCzj7x8nFBN8= - dependencies: - 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#13ebfe778a03205cfe03751481ebb4b3300c126a" - integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= - dependencies: - inherits "~2.0.0" - -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28= - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: - version "4.11.9" - resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg= - -bn.js@^5.1.1: - version "5.1.3" - resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha1-vsoAVAj2Quvr6oCwQrTRjSrA7ms= - -body-parser@1.19.0: - version "1.19.0" - resolved "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io= - dependencies: - 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" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - 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" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= - dependencies: - 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" - -braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY= - -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://registry.npm.taobao.org/browser-resolve/download/browser-resolve-1.11.3.tgz?cache=0&sync_timestamp=1596457976291&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowser-resolve%2Fdownload%2Fbrowser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY= - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= - dependencies: - 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@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.1.tgz?cache=0&sync_timestamp=1596557809886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-sign%2Fdownload%2Fbrowserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM= - dependencies: - 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" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= - dependencies: - pako "~1.0.5" - -browserslist@4.7.0: - version "4.7.0" - resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.7.0.tgz?cache=0&sync_timestamp=1599249279877&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" - integrity sha1-nuiSJf/AfbA0CfL+5STcgidFihc= - dependencies: - caniuse-lite "^1.0.30000989" - electron-to-chromium "^1.3.247" - node-releases "^1.1.29" - -browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.12.0, browserslist@^4.6.4, browserslist@^4.8.5, browserslist@^4.9.1: - version "4.14.1" - resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.14.1.tgz?cache=0&sync_timestamp=1599249279877&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.14.1.tgz#cb2b490ba881d45dc3039078c7ed04411eaf3fa3" - integrity sha1-yytJC6iB1F3DA5B4x+0EQR6vP6M= - dependencies: - caniuse-lite "^1.0.30001124" - electron-to-chromium "^1.3.562" - escalade "^3.0.2" - node-releases "^1.1.60" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/bser/download/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU= - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow= - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg= - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= - -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1594428006433&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw= - dependencies: - 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@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= - dependencies: - 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" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= - -camel-case@3.0.x: - version "3.0.0" - resolved "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" - integrity sha1-AylVJ9WL081Kp1Nj81sujZe+L0I= - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - -camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA= - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001124: - version "1.0.30001124" - resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001124.tgz?cache=0&sync_timestamp=1599195893024&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001124.tgz#5d9998190258e11630d674fc50ea8e579ae0ced2" - integrity sha1-XZmYGQJY4RYw1nT8UOqOV5rgztI= - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/capture-exit/download/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha1-+5U7+uvreB9iiYI52rtCbQilCaQ= - dependencies: - rsvp "^4.8.4" - -case-sensitive-paths-webpack-plugin@2.2.0: - version "2.2.0" - resolved "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e" - integrity sha1-M3HvY2XvnCX6S4HBas4OnH3FjD4= - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - 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" - -chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha1-ThSHCmGNni7dl92DRf2dncMVZGo= - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1594010631896&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= - -chokidar@^2.0.0, chokidar@^2.0.4, chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1597763177396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc= - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - 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" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1: - version "3.4.2" - resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.2.tgz?cache=0&sync_timestamp=1597763177396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" - integrity sha1-ONyOZY3sOAl0HrPve7Ckf+QkIy0= - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.4.0" - optionalDependencies: - fsevents "~2.1.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= - -chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ= - dependencies: - tslib "^1.9.0" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@4.2.x: - version "4.2.3" - resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g= - dependencies: - source-map "~0.6.0" - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= - dependencies: - restore-cursor "^3.1.0" - -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" - integrity sha1-sEM9C06chH7xiGik7xb9X8gnHEg= - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha1-ovSEN6LKqaIkNueUvwceyeYc7fY= - -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz?cache=0&sync_timestamp=1597606145227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha1-NIQi2+gtgAswIu709qwQvy5NG0k= - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&sync_timestamp=1597606145227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -clone-deep@^0.2.4: - version "0.2.4" - resolved "https://registry.npm.taobao.org/clone-deep/download/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" - integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= - dependencies: - for-own "^0.1.3" - is-plain-object "^2.0.1" - kind-of "^3.0.2" - lazy-cache "^1.0.3" - shallow-clone "^0.1.2" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c= - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clsx@^1.0.4: - version "1.1.1" - resolved "https://registry.npm.taobao.org/clsx/download/clsx-1.1.1.tgz?cache=0&sync_timestamp=1590820340105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclsx%2Fdownload%2Fclsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" - integrity sha1-mLMTT5q73yOyZjSRrOE8XAOnMYg= - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM= - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= - -color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw= - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.0.0: - version "3.1.2" - resolved "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" - integrity sha1-aBSOf4XUGtdknF+oyBBvCY0inhA= - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -colorette@^1.2.1: - version "1.2.1" - resolved "https://registry.npm.taobao.org/colorette/download/colorette-1.2.1.tgz?cache=0&sync_timestamp=1593955783467&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" - integrity sha1-TQuSEyXBT6+SYzCGpTbbbolWSxs= - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= - dependencies: - delayed-stream "~1.0.0" - -commander@2.17.x: - version "2.17.1" - resolved "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78= - -commander@^2.11.0, commander@^2.20.0: - version "2.20.3" - resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= - -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.npm.taobao.org/commander/download/commander-4.1.1.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha1-n9YCvZNilOnp70aj9NaWQESxgGg= - -commander@~2.19.0: - version "2.19.0" - resolved "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So= - -common-tags@^1.8.0: - version "1.8.0" - resolved "https://registry.npm.taobao.org/common-tags/download/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" - integrity sha1-jjFT5ULUo56bEFVENK+q+YlWqTc= - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= - -compose-function@3.0.3: - version "3.0.3" - resolved "https://registry.npm.taobao.org/compose-function/download/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" - integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= - dependencies: - arity-n "^1.0.4" - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o= - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.5.2: - version "1.7.4" - resolved "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48= - dependencies: - 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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -confusing-browser-globals@^1.0.9: - version "1.0.9" - resolved "https://registry.npm.taobao.org/confusing-browser-globals/download/confusing-browser-globals-1.0.9.tgz?cache=0&sync_timestamp=1596649684402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconfusing-browser-globals%2Fdownload%2Fconfusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" - integrity sha1-crwTtIPAJ2gBaBhx1ImFFvj1T90= - -connect-history-api-fallback@^1.3.0: - version "1.6.0" - resolved "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY= - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -console-polyfill@^0.3.0: - version "0.3.0" - resolved "https://registry.npm.taobao.org/console-polyfill/download/console-polyfill-0.3.0.tgz#84900902a18c47a5eba932be75fa44d23e8af861" - integrity sha1-hJAJAqGMR6XrqTK+dfpE0j6K+GE= - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -content-disposition@0.5.3: - version "0.5.3" - resolved "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= - dependencies: - safe-buffer "5.1.2" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= - -convert-source-map@1.6.0: - version "1.6.0" - resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha1-UbU3qMQ+DwTewZk7/83VBOdYrCA= - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^0.3.3: - version "0.3.5" - resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" - integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= - -convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= - dependencies: - safe-buffer "~5.1.1" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo= - -cookie@^0.3.1: - version "0.3.1" - resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= - dependencies: - 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@^0.1.0: - version "0.1.1" - resolved "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha1-KlHZpOJd/W5pAlGqgfmePAVIHxw= - dependencies: - browserslist "^4.8.5" - semver "7.0.0" - -core-js@^2.4.0: - version "2.6.11" - resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw= - -core-js@^3.5.0: - version "3.6.5" - resolved "https://registry.npm.taobao.org/core-js/download/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" - integrity sha1-c5XcJzrzf7LlDpvT2f6EEoUjHRo= - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: - version "5.2.1" - resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-6.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha1-2k/uhTxS9rHmk19BwaL8UL1KmYI= - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.4.tgz?cache=0&sync_timestamp=1596557441827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcreate-ecdh%2Fdownload%2Fcreate-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4= - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= - dependencies: - 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@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= - dependencies: - 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@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^7.0.0: - version "7.0.3" - resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= - dependencies: - 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-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.npm.taobao.org/css-blank-pseudo/download/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha1-3979MlS/ioICeZNnTM81SDv8s8U= - dependencies: - postcss "^7.0.5" - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI= - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.npm.taobao.org/css-has-pseudo/download/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha1-PGQqs0yiQsWcQaEl35EFhB9pZu4= - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" - -css-loader@2.1.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/css-loader/download/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" - integrity sha1-2CVPcuQSuyI4u0TdZ0/770lzM+o= - dependencies: - camelcase "^5.2.0" - icss-utils "^4.1.0" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.14" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^2.0.6" - postcss-modules-scope "^2.1.0" - postcss-modules-values "^2.0.0" - postcss-value-parser "^3.3.0" - schema-utils "^1.0.0" - -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/css-prefers-color-scheme/download/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha1-b4MKJxQZnU8NDQu4onkW7WXP8fQ= - dependencies: - postcss "^7.0.5" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc= - -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8= - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI= - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@1.0.0-alpha.39: - version "1.0.0-alpha.39" - resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" - integrity sha1-K/8//huz93bPfu/ZHuXLp3oUnus= - dependencies: - mdn-data "2.0.6" - source-map "^0.6.1" - -css-vendor@^2.0.8: - version "2.0.8" - resolved "https://registry.npm.taobao.org/css-vendor/download/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d" - integrity sha1-5H+R070xF9SRgKPJNeYuPZ9/RJ0= - dependencies: - "@babel/runtime" "^7.8.3" - is-in-browser "^1.0.2" - -css-what@2.1: - version "2.1.3" - resolved "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI= - -css-what@^3.2.1: - version "3.3.0" - resolved "https://registry.npm.taobao.org/css-what/download/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39" - integrity sha1-EP7Glqns4uWRrHctdZqsq6w4zTk= - -css@^2.0.0: - version "2.2.4" - resolved "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz?cache=0&sync_timestamp=1593663585785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss%2Fdownload%2Fcss-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk= - dependencies: - inherits "^2.0.3" - source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" - -cssdb@^4.4.0: - version "4.4.0" - resolved "https://registry.npm.taobao.org/cssdb/download/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" - integrity sha1-O/LypowQ9cagir2SN4Mx7oA83bA= - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/cssesc/download/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM= - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4= - -cssnano-preset-default@^4.0.7: - version "4.0.7" - resolved "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz?cache=0&sync_timestamp=1599152230491&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano-preset-default%2Fdownload%2Fcssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y= - dependencies: - 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.2" - postcss-unique-selectors "^4.0.1" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI= - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M= - -cssnano@^4.1.10: - version "4.1.10" - resolved "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz?cache=0&sync_timestamp=1599152038995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano%2Fdownload%2Fcssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI= - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.7" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^4.0.2: - version "4.0.3" - resolved "https://registry.npm.taobao.org/csso/download/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" - integrity sha1-DZmF3IUsfMKyys+74QeQFNGo6QM= - dependencies: - css-tree "1.0.0-alpha.39" - -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: - version "0.3.8" - resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= - -cssstyle@^1.0.0, cssstyle@^1.1.1: - version "1.4.0" - resolved "https://registry.npm.taobao.org/cssstyle/download/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" - integrity sha1-nTEyginTxWXGHlhrAgQaKPzNzPE= - dependencies: - cssom "0.3.x" - -csstype@^2.5.2: - version "2.6.13" - resolved "https://registry.npm.taobao.org/csstype/download/csstype-2.6.13.tgz?cache=0&sync_timestamp=1598348227965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsstype%2Fdownload%2Fcsstype-2.6.13.tgz#a6893015b90e84dd6e85d0e3b442a1e84f2dbe0f" - integrity sha1-pokwFbkOhN1uhdDjtEKh6E8tvg8= - -csstype@^3.0.2: - version "3.0.3" - resolved "https://registry.npm.taobao.org/csstype/download/csstype-3.0.3.tgz?cache=0&sync_timestamp=1598348227965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsstype%2Fdownload%2Fcsstype-3.0.3.tgz#2b410bbeba38ba9633353aff34b05d9755d065f8" - integrity sha1-K0ELvro4upYzNTr/NLBdl1XQZfg= - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o= - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -damerau-levenshtein@^1.0.4: - version "1.0.6" - resolved "https://registry.npm.taobao.org/damerau-levenshtein/download/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" - integrity sha1-FDwWQcs9hcYMMjKeJoma3qhwF5E= - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.0.0, data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/data-urls/download/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4= - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= - dependencies: - ms "2.0.0" - -debug@^3.1.1, debug@^3.2.5: - version "3.2.6" - resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= - dependencies: - ms "^2.1.1" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= - dependencies: - ms "^2.1.1" - -decamelize@^1.1.2, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decamelize@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" - integrity sha1-ZW17vICUxMeI6lPFhAkIycfQY8c= - dependencies: - xregexp "4.0.0" - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= - dependencies: - 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@~0.1.3: - version "0.1.3" - resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs= - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/del/download/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" - integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= - dependencies: - globby "^6.1.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - p-map "^1.1.1" - pify "^3.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM= - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/detect-newline/download/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= - -detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha1-AU7o+PZpxcWAI9pkuBecCDooxGw= - -detect-port-alt@1.1.6: - version "1.1.6" - resolved "https://registry.npm.taobao.org/detect-port-alt/download/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha1-JHB96r6TLUo89iEwICfCsmZWgnU= - dependencies: - address "^1.0.1" - debug "^2.6.0" - -diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-24.9.0.tgz?cache=0&sync_timestamp=1597057408594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff-sequences%2Fdownload%2Fdiff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" - integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" - integrity sha1-CyBdK2rvmCOMooZZioIE0p0KADQ= - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo= - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850= - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= - dependencies: - esutils "^2.0.2" - -dom-converter@^0.2: - version "0.2.0" - resolved "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g= - dependencies: - utila "~0.4" - -dom-helpers@^5.0.1: - version "5.2.0" - resolved "https://registry.npm.taobao.org/dom-helpers/download/dom-helpers-5.2.0.tgz?cache=0&sync_timestamp=1596411957116&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-helpers%2Fdownload%2Fdom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b" - integrity sha1-V/0FTF+PNMUqPu/9t+fpPNNX2Vs= - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= - -domelementtype@1, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= - -domelementtype@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" - integrity sha1-H4vf6R9aeAYydOgDtL3O326U+U0= - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/domexception/download/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA= - dependencies: - webidl-conversions "^4.0.2" - -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM= - dependencies: - domelementtype "1" - -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz?cache=0&sync_timestamp=1597680803662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1, domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1597680803662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= - dependencies: - dom-serializer "0" - domelementtype "1" - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.3.0.tgz?cache=0&sync_timestamp=1599401711511&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog= - dependencies: - is-obj "^2.0.0" - -dotenv-expand@4.2.0: - version "4.2.0" - resolved "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275" - integrity sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU= - -dotenv@6.2.0: - version "6.2.0" - resolved "https://registry.npm.taobao.org/dotenv/download/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064" - integrity sha1-lBwEEFNdlCyL7PKNPzV9vZ1HYGQ= - -duplexer@^0.1.1: - version "0.1.2" - resolved "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY= - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.562: - version "1.3.562" - resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.562.tgz?cache=0&sync_timestamp=1599192245497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.562.tgz#79c20277ee1c8d0173a22af00e38433b752bc70f" - integrity sha1-ecICd+4cjQFzoirwDjhDO3Urxw8= - -elliptic@^6.5.3: - version "6.5.3" - resolved "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.3.tgz?cache=0&sync_timestamp=1592492844326&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha1-y1nrLv2vc6C9eMzXAVpirW4Pk9Y= - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emoji-regex@^7.0.1, emoji-regex@^7.0.2: - version "7.0.3" - resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.1.0: - version "4.3.0" - resolved "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" - integrity sha1-O4BvO/r8HsfeaVUe+TzKRsFwQSY= - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= - -entities@^2.0.0: - version "2.0.3" - resolved "https://registry.npm.taobao.org/entities/download/entities-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" - integrity sha1-XEh+V0Krk8Fau12iJ1m4WQ7AO38= - -env-cmd@^10.0.1: - version "10.1.0" - resolved "https://registry.npm.taobao.org/env-cmd/download/env-cmd-10.1.0.tgz#c7f5d3b550c9519f137fdac4dd8fb6866a8c8c4b" - integrity sha1-x/XTtVDJUZ8Tf9rE3Y+2hmqMjEs= - dependencies: - commander "^4.0.0" - cross-spawn "^7.0.0" - -errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg= - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: - version "1.17.6" - resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.6.tgz?cache=0&sync_timestamp=1597446119395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" - integrity sha1-kUIHFweFeyysx7iey2cDFsPi1So= - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.0" - is-regex "^1.1.0" - object-inspect "^1.7.0" - object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.53" - resolved "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" - integrity sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE= - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.3" - next-tick "~1.0.0" - -es6-iterator@2.0.3, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@~3.1.3: - version "3.1.3" - resolved "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha1-utXTwbzawoJp9MszHkMceKxwXRg= - dependencies: - d "^1.0.1" - ext "^1.1.2" - -escalade@^3.0.2: - version "3.0.2" - resolved "https://registry.npm.taobao.org/escalade/download/escalade-3.0.2.tgz?cache=0&sync_timestamp=1594742944513&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" - integrity sha1-algNcO24eIDyK0yR0NVgeN9pYsQ= - -escape-html@^1.0.3, escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escodegen@^1.11.0, escodegen@^1.9.1: - version "1.14.3" - resolved "https://registry.npm.taobao.org/escodegen/download/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM= - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-react-app@^5.0.1: - version "5.2.1" - resolved "https://registry.npm.taobao.org/eslint-config-react-app/download/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" - integrity sha1-aYv3ru4n8M6gE56u8mHHv33WI98= - dependencies: - confusing-browser-globals "^1.0.9" - -eslint-import-resolver-node@^0.3.2: - 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#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha1-hf+oGULCUBLYIxCW3fZ5wDBCxxc= - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-loader@2.2.1: - version "2.2.1" - resolved "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337" - integrity sha1-KLnBLaVAV68IReKmEScBova/gzc= - dependencies: - 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@^2.4.0: - version "2.6.0" - resolved "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha1-V569CU9Wr3eX0ZyYZsnJSGYpv6Y= - dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" - -eslint-plugin-flowtype@3.13.0: - version "3.13.0" - resolved "https://registry.npm.taobao.org/eslint-plugin-flowtype/download/eslint-plugin-flowtype-3.13.0.tgz?cache=0&sync_timestamp=1593518847361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-flowtype%2Fdownload%2Feslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" - integrity sha1-4kHr05wM5Rk0Wj8HTsHr3kz4Dyw= - dependencies: - lodash "^4.17.15" - -eslint-plugin-import@2.18.2: - version "2.18.2" - resolved "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.18.2.tgz?cache=0&sync_timestamp=1593237297725&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" - integrity sha1-AvEYC5Cwd7M9RHoXojJs60AKzrY= - dependencies: - array-includes "^3.0.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.4.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.0" - read-pkg-up "^2.0.0" - resolve "^1.11.0" - -eslint-plugin-jsx-a11y@6.2.3: - version "6.2.3" - resolved "https://registry.npm.taobao.org/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.2.3.tgz?cache=0&sync_timestamp=1592603371379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-jsx-a11y%2Fdownload%2Feslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" - integrity sha1-uHKgnV3lGvcKl9se6n3JMwQ3CKo= - dependencies: - "@babel/runtime" "^7.4.5" - aria-query "^3.0.0" - array-includes "^3.0.3" - ast-types-flow "^0.0.7" - axobject-query "^2.0.2" - damerau-levenshtein "^1.0.4" - emoji-regex "^7.0.2" - has "^1.0.3" - jsx-ast-utils "^2.2.1" - -eslint-plugin-react-hooks@^1.6.1: - version "1.7.0" - resolved "https://registry.npm.taobao.org/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-1.7.0.tgz?cache=0&sync_timestamp=1598575904553&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-react-hooks%2Fdownload%2Feslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" - integrity sha1-YhC21aNyBfC5KFj4laToJwIKfQQ= - -eslint-plugin-react@7.14.3: - version "7.14.3" - resolved "https://registry.npm.taobao.org/eslint-plugin-react/download/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13" - integrity sha1-kRAw3X6YuknhsiCFmVcYRqZr3xM= - dependencies: - array-includes "^3.0.3" - doctrine "^2.1.0" - has "^1.0.3" - jsx-ast-utils "^2.1.0" - object.entries "^1.1.0" - object.fromentries "^2.0.0" - object.values "^1.1.0" - prop-types "^15.7.2" - resolve "^1.10.1" - -eslint-scope@3.7.1: - version "3.7.1" - resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" - integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^4.0.0, eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.0.0: - version "5.1.0" - resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" - integrity sha1-0Plx3+WcaeDK2mhLI9Sdv4JgDOU= - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-utils@^1.3.1, eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-1.4.3.tgz?cache=0&sync_timestamp=1592222030474&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-utils%2Fdownload%2Feslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8= - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: - version "1.3.0" - resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1597435545176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= - -eslint@^6.1.0: - version "6.8.0" - resolved "https://registry.npm.taobao.org/eslint/download/eslint-6.8.0.tgz?cache=0&sync_timestamp=1598992513258&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s= - dependencies: - "@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" - -espree@^6.1.2: - version "6.2.1" - resolved "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz?cache=0&sync_timestamp=1598127844725&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o= - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= - -esquery@^1.0.1: - version "1.3.1" - resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" - integrity sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc= - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0: - version "4.3.0" - resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE= - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596642941915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596642941915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha1-MH30JUfmzHMk088DwVXVzbjFOIA= - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517795415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8= - -events@^3.0.0: - version "3.2.0" - resolved "https://registry.npm.taobao.org/events/download/events-3.2.0.tgz?cache=0&sync_timestamp=1595422602348&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevents%2Fdownload%2Fevents-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" - integrity sha1-k7h8GPjvzUICpGGuxN/AVWtjk3k= - -eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.npm.taobao.org/eventsource/download/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA= - dependencies: - original "^1.0.0" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.npm.taobao.org/exec-sh/download/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha1-OgGM61JsxvbfK7UEsr/o46STTsU= - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1594145111640&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= - dependencies: - 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" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - 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" - -expect@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/expect/download/expect-24.9.0.tgz?cache=0&sync_timestamp=1598096719202&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpect%2Fdownload%2Fexpect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha1-t1FltIFwdPpKFXeU9G/p8boVtso= - dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" - -express@^4.16.2: - version "4.17.1" - resolved "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ= - dependencies: - 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" - -ext@^1.1.2: - version "1.4.0" - resolved "https://registry.npm.taobao.org/ext/download/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" - integrity sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ= - dependencies: - type "^2.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= - dependencies: - 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" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= - -fast-glob@^2.0.2: - version "2.2.7" - resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1592290280465&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= - dependencies: - "@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" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz?cache=0&sync_timestamp=1595428000133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-levenshtein%2Fdownload%2Ffast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.11.1: - version "0.11.3" - resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha1-XA6aiWjokSwoZjn96XeosgnyUI4= - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/fb-watchman/download/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU= - dependencies: - bser "2.1.1" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4= - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= - dependencies: - flat-cache "^2.0.1" - -file-loader@3.0.1: - version "3.0.1" - resolved "https://registry.npm.taobao.org/file-loader/download/file-loader-3.0.1.tgz?cache=0&sync_timestamp=1598876045721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa" - integrity sha1-+OC6C1mZGLUa3+RdZtHnca1WD6o= - dependencies: - loader-utils "^1.0.2" - schema-utils "^1.0.0" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= - -filesize@3.6.1: - version "3.6.1" - resolved "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc= - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= - dependencies: - to-regex-range "^5.0.1" - -finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0= - dependencies: - 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" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-up@3.0.0, find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597170071453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= - dependencies: - locate-path "^3.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597170071453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1597170071453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1593953421432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= - -flatten@^1.0.2: - version "1.0.3" - resolved "https://registry.npm.taobao.org/flatten/download/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" - integrity sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs= - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -follow-redirects@^1.0.0, follow-redirects@^1.10.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.1.tgz#5f69b813376cee4fd0474a3aba835df04ab763b7" - integrity sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg== - -for-in@^0.1.3: - version "0.1.8" - resolved "https://registry.npm.taobao.org/for-in/download/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" - integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -for-own@^0.1.3: - version "0.1.5" - resolved "https://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -fork-ts-checker-webpack-plugin@1.5.0: - version "1.5.0" - resolved "https://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-1.5.0.tgz?cache=0&sync_timestamp=1597742185012&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffork-ts-checker-webpack-plugin%2Fdownload%2Ffork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c" - integrity sha1-zh13GQtE2Bp2GxC2KEo3N5XkHww= - dependencies: - babel-code-frame "^6.22.0" - chalk "^2.4.1" - chokidar "^2.0.4" - micromatch "^3.1.10" - minimatch "^3.0.4" - semver "^5.6.0" - tapable "^1.0.0" - worker-rpc "^0.1.0" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@7.0.1, fs-extra@^7.0.0: - version "7.0.1" - resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz?cache=0&sync_timestamp=1591231538901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha1-TxicRKoSO4lfcigE9V6iPq3DSOk= - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-4.0.3.tgz?cache=0&sync_timestamp=1591231538901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ= - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@2.0.7: - version "2.0.7" - resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a" - integrity sha1-OCybRDxsusTFcYfN2iOqO/HM/Co= - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg= - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4= - -fstream@^1.0.0, fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.npm.taobao.org/fstream/download/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha1-Touo7i1Ivk99DeUFRVVI6uWTIEU= - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - 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" - -gaze@^1.0.0: - version "1.1.3" - resolved "https://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" - integrity sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko= - dependencies: - globule "^1.0.0" - -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk= - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o= - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= - -get-own-enumerable-property-symbols@^3.0.0: - 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#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha1-tf3nfyLL4185C04ImSLFC85u9mQ= - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz?cache=0&sync_timestamp=1597056464385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha1-tsHvQXxOVmPqSY8cRa+saRa7wik= - dependencies: - is-glob "^4.0.1" - -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz?cache=0&sync_timestamp=1596697446688&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob-to-regexp%2Fdownload%2Fglob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: - version "7.1.6" - resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= - dependencies: - 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" - -global-modules@2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/global-modules/download/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha1-mXYFrSNF8n9RU5vqJldEISFcd4A= - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha1-/IX3MGTfafUEIfR/iD/luRO6m5c= - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1596709369054&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= - -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.npm.taobao.org/globals/download/globals-12.4.0.tgz?cache=0&sync_timestamp=1596709369054&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= - dependencies: - type-fest "^0.8.1" - -globby@8.0.2: - version "8.0.2" - resolved "https://registry.npm.taobao.org/globby/download/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" - integrity sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0= - dependencies: - array-union "^1.0.1" - dir-glob "2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globule@^1.0.0: - version "1.3.2" - resolved "https://registry.npm.taobao.org/globule/download/globule-1.3.2.tgz?cache=0&sync_timestamp=1591641966255&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobule%2Fdownload%2Fglobule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" - integrity sha1-2L3Z6eTu+PluJFmZpd7n612FKcQ= - dependencies: - glob "~7.1.1" - lodash "~4.17.10" - minimatch "~3.0.2" - -good-storage@^1.1.0: - version "1.1.1" - resolved "https://registry.npm.taobao.org/good-storage/download/good-storage-1.1.1.tgz#081501c01607d5fee2a214f94e8f5f9cb994789f" - integrity sha1-CBUBwBYH1f7iohT5To9fnLmUeJ8= - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: - version "4.2.4" - resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha1-Ila94U02MpWMRl68ltxGfKB6Kfs= - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.npm.taobao.org/growly/download/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -gzip-size@5.1.1: - version "5.1.1" - resolved "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ= - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha1-hX95zjWVgMNA1DCBzGSJcNC7I04= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz?cache=0&sync_timestamp=1596084327526&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhar-validator%2Fdownload%2Fhar-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha1-HwgDufjLIMD6E4It8ezds2veHv0= - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -harmony-reflect@^1.4.6: - version "1.6.1" - resolved "https://registry.npm.taobao.org/harmony-reflect/download/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" - integrity sha1-wQjU8rtFHv73o3hh/b2ucsm976k= - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= - -has-symbols@^1.0.0, has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.0, has@^1.0.3: - version "1.0.3" - resolved "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@1.2.x: - version "1.2.0" - resolved "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4= - -history@^4.9.0: - version "4.10.1" - resolved "https://registry.npm.taobao.org/history/download/history-4.10.1.tgz?cache=0&sync_timestamp=1591982561040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhistory%2Fdownload%2Fhistory-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" - integrity sha1-MzcaZeOoOyZ0NOKz87G0xYqtTPM= - dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^3.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^1.0.1" - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= - dependencies: - react-is "^16.7.0" - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1594427968487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg= - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - -html-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c= - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg= - dependencies: - whatwg-encoding "^1.0.1" - -html-entities@^1.2.0: - version "1.3.1" - resolved "https://registry.npm.taobao.org/html-entities/download/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" - integrity sha1-+5oaS1sUxdq6gtPjTGrk/nAaDkQ= - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npm.taobao.org/html-escaper/download/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha1-39YAJ9o2o238viNiYsAKWCJoFFM= - -html-minifier@^3.5.20: - version "3.5.21" - resolved "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" - integrity sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw= - dependencies: - 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" - -html-webpack-plugin@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-4.0.0-beta.5.tgz#2c53083c1151bfec20479b1f8aaf0039e77b5513" - integrity sha1-LFMIPBFRv+wgR5sfiq8AOed7VRM= - dependencies: - html-minifier "^3.5.20" - loader-utils "^1.1.0" - lodash "^4.17.11" - pretty-error "^2.1.1" - tapable "^1.1.0" - util.promisify "1.0.0" - -htmlparser2@^3.3.0: - version "3.10.1" - resolved "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= - dependencies: - 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" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1593407611415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1593407611415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.3.tgz?cache=0&sync_timestamp=1593407611415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-parser-js@>=0.5.1: - version "0.5.2" - resolved "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" - integrity sha1-2i4x0jezk6rnKs5DiC3X4nCo/3c= - -http-proxy-middleware@^0.19.1: - version "0.19.2" - resolved "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.2.tgz#ee73dcc8348165afefe8de2ff717751d181608ee" - integrity sha1-7nPcyDSBZa/v6N4v9xd1HRgWCO4= - dependencies: - http-proxy "^1.18.1" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk= - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -hyphenate-style-name@^1.0.3: - version "1.0.4" - resolved "https://registry.npm.taobao.org/hyphenate-style-name/download/hyphenate-style-name-1.0.4.tgz?cache=0&sync_timestamp=1594640430699&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhyphenate-style-name%2Fdownload%2Fhyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" - integrity sha1-aRh5r44iCupXUOiCfbTvYqVONh0= - -iconv-lite@0.4.24, iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1594184325364&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= - -icss-utils@^4.1.0: - version "4.1.1" - resolved "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc= - dependencies: - postcss "^7.0.14" - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/identity-obj-proxy/download/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= - dependencies: - harmony-reflect "^1.4.6" - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q= - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1590809380232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM= - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1590809380232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= - -immer@1.10.0: - version "1.10.0" - resolved "https://registry.npm.taobao.org/immer/download/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" - integrity sha1-utZ2BbqcgQJ12R4cKkfUWC6YKG0= - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-fresh@^3.0.0, import-fresh@^3.1.0: - version "3.2.1" - resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY= - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -in-publish@^2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/in-publish/download/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" - integrity sha1-lIsaU1yAMFYc6lIvc/ePS+NX4Aw= - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc= - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@^1.3.5: - version "1.3.5" - resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc= - -inquirer@6.5.0: - version "6.5.0" - resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.0.tgz?cache=0&sync_timestamp=1595471629455&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" - integrity sha1-IwMxfvyaTqfsLi32+GVptzSsz0I= - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -inquirer@^7.0.0: - version "7.3.3" - resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-7.3.3.tgz?cache=0&sync_timestamp=1595471629455&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM= - dependencies: - 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" - -internal-ip@^4.2.0: - version "4.3.0" - resolved "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1596563415126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc= - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -intl-format-cache@^4.2.21: - version "4.3.1" - resolved "https://registry.npm.taobao.org/intl-format-cache/download/intl-format-cache-4.3.1.tgz#484d31a9872161e6c02139349b259a6229ade377" - integrity sha1-SE0xqYchYebAITk0myWaYimt43c= - -intl-messageformat-parser@^3.6.4: - version "3.6.4" - resolved "https://registry.npm.taobao.org/intl-messageformat-parser/download/intl-messageformat-parser-3.6.4.tgz#5199d106d816c3dda26ee0694362a9cf823978fb" - integrity sha1-UZnRBtgWw92ibuBpQ2Kpz4I5ePs= - dependencies: - "@formatjs/intl-unified-numberformat" "^3.2.0" - -intl-messageformat@^7.8.4: - version "7.8.4" - resolved "https://registry.npm.taobao.org/intl-messageformat/download/intl-messageformat-7.8.4.tgz#c29146a06b9cd26662978a4d95fff2b133e3642f" - integrity sha1-wpFGoGuc0mZil4pNlf/ysTPjZC8= - dependencies: - intl-format-cache "^4.2.21" - intl-messageformat-parser "^3.6.4" - -intl@^1.2.5: - version "1.2.5" - resolved "https://registry.npm.taobao.org/intl/download/intl-1.2.5.tgz#82244a2190c4e419f8371f5aa34daa3420e2abde" - integrity sha1-giRKIZDE5Bn4Nx9ao02qNCDiq94= - -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= - dependencies: - loose-envify "^1.0.0" - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI= - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: - version "1.9.1" - resolved "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha1-v/OFQ+64mEglB5/zoqjmy9RngbM= - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM= - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM= - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= - dependencies: - binary-extensions "^2.0.0" - -is-buffer@^1.0.2, is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha1-76ouqdqg16suoTqXsritUf776L4= - -is-callable@^1.1.4, is-callable@^1.2.0: - version "1.2.0" - resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha1-gzNlYLVKOONeOi33r9BFTWkUaLs= - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/is-ci/download/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= - dependencies: - ci-info "^2.0.0" - -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - dependencies: - 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-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha1-vac28s2P0G0yhE53Q7+nSUw7/X4= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/is-generator-fn/download/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha1-fRQK3DiarzARqPKipM+m+q3/sRg= - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= - dependencies: - is-extglob "^2.1.1" - -is-in-browser@^1.0.2, is-in-browser@^1.1.3: - version "1.1.3" - resolved "https://registry.npm.taobao.org/is-in-browser/download/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" - integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU= - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= - -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI= - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= - -is-path-in-cwd@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" - integrity sha1-WsSLNF72dTOb1sekipEhELJBz1I= - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= - dependencies: - isobject "^3.0.1" - -is-regex@^1.0.4, is-regex@^1.1.0: - version "1.1.1" - resolved "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.1.tgz?cache=0&sync_timestamp=1596555650246&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" - integrity sha1-xvmKrMVG9s7FRooHt7FTq1ZKV7k= - dependencies: - has-symbols "^1.0.1" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg= - -is-root@2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/is-root/download/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha1-gJ4YEpzxEpZEMCpPhUQDXVGYSpw= - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y= - -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha1-kyHb0pwhLlypnE+peUxxS8r6L3U= - dependencies: - html-comment-regex "^1.1.0" - -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc= - dependencies: - has-symbols "^1.0.1" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k= - -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha1-pfY9kfC7wMPkee9MXeAnM17G1jA= - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - -istanbul-lib-report@^2.0.4: - version "2.0.8" - resolved "https://registry.npm.taobao.org/istanbul-lib-report/download/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha1-WoETzXRtQ8SInro2qxDn1QybTzM= - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - -istanbul-lib-source-maps@^3.0.1: - version "3.0.6" - resolved "https://registry.npm.taobao.org/istanbul-lib-source-maps/download/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha1-KEmXxIIRdS7EhiU9qX44ed77qMg= - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - -istanbul-reports@^2.2.6: - version "2.2.7" - resolved "https://registry.npm.taobao.org/istanbul-reports/download/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" - integrity sha1-XZOfYjfXtIOTzAlZ6rQM1P0FaTE= - dependencies: - html-escaper "^2.0.0" - -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-24.9.0.tgz?cache=0&sync_timestamp=1597059134435&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-changed-files%2Fdownload%2Fjest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha1-CNjBXreaf6P8mCabwUtFHugvgDk= - dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" - -jest-cli@^24.8.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-cli/download/jest-cli-24.9.0.tgz?cache=0&sync_timestamp=1598096717382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-cli%2Fdownload%2Fjest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha1-rS3mLQdHLUGcarwwH8QyuYsQ0q8= - dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" - -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-config/download/jest-config-24.9.0.tgz?cache=0&sync_timestamp=1598100327831&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-config%2Fdownload%2Fjest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha1-+xu8YMc6Rq8DWQcZ76SCXm5N0bU= - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" - -jest-diff@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-diff/download/jest-diff-24.9.0.tgz?cache=0&sync_timestamp=1598096606673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-diff%2Fdownload%2Fjest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" - integrity sha1-kxt9DVd4obr3RSy4FuMl43JAVdo= - dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-docblock/download/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha1-eXAgGAK6Vg4cQJLMJcvt9a9ajOI= - dependencies: - detect-newline "^2.1.0" - -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-each/download/jest-each-24.9.0.tgz?cache=0&sync_timestamp=1598096722856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-each%2Fdownload%2Fjest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha1-6y2mAuKmEImNvF8fbfO6hrVfiwU= - dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - -jest-environment-jsdom-fourteen@0.1.0: - version "0.1.0" - resolved "https://registry.npm.taobao.org/jest-environment-jsdom-fourteen/download/jest-environment-jsdom-fourteen-0.1.0.tgz#aad6393a9d4b565b69a609109bf469f62bf18ccc" - integrity sha1-qtY5Op1LVltppgkQm/Rp9ivxjMw= - dependencies: - jest-mock "^24.5.0" - jest-util "^24.5.0" - jsdom "^14.0.0" - -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-environment-jsdom/download/jest-environment-jsdom-24.9.0.tgz?cache=0&sync_timestamp=1597057594431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-jsdom%2Fdownload%2Fjest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha1-SwgGx/yU+V7bNpppzCd47sK3N1s= - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" - -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-environment-node/download/jest-environment-node-24.9.0.tgz?cache=0&sync_timestamp=1597057594669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-node%2Fdownload%2Fjest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha1-Mz0tJ5b5aH8q7r8HQrUZ8zwcv9M= - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - -jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" - integrity sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4= - -jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - integrity sha1-s4pdZCdJNOIfpBeump++t3zqrH0= - dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" - fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^1.2.7" - -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-jasmine2/download/jest-jasmine2-24.9.0.tgz?cache=0&sync_timestamp=1598096720067&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-jasmine2%2Fdownload%2Fjest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha1-H3sb0yQsF3TmKsq7NkbZavw75qA= - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^24.9.0" - is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-leak-detector/download/jest-leak-detector-24.9.0.tgz?cache=0&sync_timestamp=1598096718806&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-leak-detector%2Fdownload%2Fjest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha1-tmXep8dxAMXE99/LFTtlzwfc+Wo= - dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-matcher-utils/download/jest-matcher-utils-24.9.0.tgz?cache=0&sync_timestamp=1598096718651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-matcher-utils%2Fdownload%2Fjest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" - integrity sha1-9bNmHV5ijf/m3WUlHf2uDofDoHM= - dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-message-util/download/jest-message-util-24.9.0.tgz?cache=0&sync_timestamp=1597059135223&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-message-util%2Fdownload%2Fjest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" - integrity sha1-Un9UoeOA9eICqNEUmw7IcvQxGeM= - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - -jest-mock@^24.5.0, jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" - integrity sha1-wig1VB7jebkIZzrVEIeiGFwT8cY= - dependencies: - "@jest/types" "^24.9.0" - -jest-pnp-resolver@^1.2.1: - version "1.2.2" - resolved "https://registry.npm.taobao.org/jest-pnp-resolver/download/jest-pnp-resolver-1.2.2.tgz?cache=0&sync_timestamp=1592991657938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-pnp-resolver%2Fdownload%2Fjest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha1-twSsCuAoqJEIpNBAs/kZ393I4zw= - -jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-regex-util/download/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - integrity sha1-wT+zOAveIr9ldUMsST6o/jeWVjY= - -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-resolve-dependencies/download/jest-resolve-dependencies-24.9.0.tgz?cache=0&sync_timestamp=1598096719759&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-resolve-dependencies%2Fdownload%2Fjest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha1-rQVRmJWcTPuopPBmxnOj8HhlB6s= - dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" - -jest-resolve@24.8.0: - version "24.8.0" - resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f" - integrity sha1-hLjlQIwfahFTl5Pitf6xtuciQ58= - dependencies: - "@jest/types" "^24.8.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - -jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" - integrity sha1-3/BMdoevNMTdflJIktnPd+XRcyE= - dependencies: - "@jest/types" "^24.9.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-runner/download/jest-runner-24.9.0.tgz?cache=0&sync_timestamp=1598096720677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runner%2Fdownload%2Fjest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha1-V0+v29VEVcKzS0vfQ2WiOFf830I= - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - source-map-support "^0.5.6" - throat "^4.0.0" - -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-runtime/download/jest-runtime-24.9.0.tgz?cache=0&sync_timestamp=1598096721130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runtime%2Fdownload%2Fjest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha1-nxRYOvak9zFKap2fAibhp4HI5Kw= - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" - -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - integrity sha1-5tfX75bTHouQeacUdUxdXFgojnM= - -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-snapshot/download/jest-snapshot-24.9.0.tgz?cache=0&sync_timestamp=1598096719467&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-snapshot%2Fdownload%2Fjest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" - integrity sha1-7I6cpPLsDFyHro+SXPl0l7DpUbo= - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" - -jest-util@^24.5.0, jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-util/download/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - integrity sha1-c5aBTkhTbS6Fo33j5MQx18sUAWI= - dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - -jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-validate/download/jest-validate-24.9.0.tgz?cache=0&sync_timestamp=1598096718062&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-validate%2Fdownload%2Fjest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha1-B3XFU2DRc82FTkAYB1bU/1Le+Ks= - dependencies: - "@jest/types" "^24.9.0" - camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" - leven "^3.1.0" - pretty-format "^24.9.0" - -jest-watch-typeahead@0.3.1: - version "0.3.1" - resolved "https://registry.npm.taobao.org/jest-watch-typeahead/download/jest-watch-typeahead-0.3.1.tgz#47701024b64b444aa325d801b4b3a6d61ed70701" - integrity sha1-R3AQJLZLREqjJdgBtLOm1h7XBwE= - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.4.1" - jest-watcher "^24.3.0" - slash "^2.0.0" - string-length "^2.0.0" - strip-ansi "^5.0.0" - -jest-watcher@^24.3.0, jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-watcher/download/jest-watcher-24.9.0.tgz?cache=0&sync_timestamp=1597057412418&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-watcher%2Fdownload%2Fjest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha1-S1bl0c7/AF9biOUo3Jr8jdTtKzs= - dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" - -jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-24.9.0.tgz?cache=0&sync_timestamp=1597059133871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha1-Xb/bWy0yLphWeJgjipaXvM5ns+U= - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -jest@24.8.0: - version "24.8.0" - resolved "https://registry.npm.taobao.org/jest/download/jest-24.8.0.tgz?cache=0&sync_timestamp=1598096716887&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest%2Fdownload%2Fjest-24.8.0.tgz#d5dff1984d0d1002196e9b7f12f75af1b2809081" - integrity sha1-1d/xmE0NEAIZbpt/Evda8bKAkIE= - dependencies: - import-local "^2.0.0" - jest-cli "^24.8.0" - -js-base64@^2.1.8: - version "2.6.4" - resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" - integrity sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ= - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= - -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - -js-yaml@^3.13.1: - version "3.14.0" - resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz?cache=0&sync_timestamp=1590172281856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha1-p6NBcPJqIbsWJCTYray0ETpp5II= - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^11.5.1: - version "11.12.0" - resolved "https://registry.npm.taobao.org/jsdom/download/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha1-GoDUDd03ih3lllbp5txaO6hle8g= - dependencies: - abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" - domexception "^1.0.1" - escodegen "^1.9.1" - html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.4" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" - xml-name-validator "^3.0.0" - -jsdom@^14.0.0: - version "14.1.0" - resolved "https://registry.npm.taobao.org/jsdom/download/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" - integrity sha1-kWRjtglJVrCmwXgslOOAzTDhmBs= - dependencies: - abab "^2.0.0" - acorn "^6.0.4" - acorn-globals "^4.3.0" - array-equal "^1.0.0" - cssom "^0.3.4" - cssstyle "^1.1.1" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.0" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.1.3" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.5" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^2.5.0" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^6.1.2" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= - -json-parse-even-better-errors@^2.3.0: - 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#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0= - -json-schema-traverse@^0.4.1: - 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=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stable-stringify-without-jsonify@^1.0.1: - 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#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json3@^3.3.2: - version "3.3.3" - resolved "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E= - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= - dependencies: - minimist "^1.2.0" - -json5@^2.1.0, json5@^2.1.2: - version "2.1.3" - resolved "https://registry.npm.taobao.org/json5/download/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha1-ybD3+pIzv+WAf+ZvzzpWF+1ZfUM= - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -jss-plugin-camel-case@^10.0.3: - version "10.4.0" - resolved "https://registry.npm.taobao.org/jss-plugin-camel-case/download/jss-plugin-camel-case-10.4.0.tgz#46c75ff7fd61c304984c21af5817823f0f501ceb" - integrity sha1-Rsdf9/1hwwSYTCGvWBeCPw9QHOs= - dependencies: - "@babel/runtime" "^7.3.1" - hyphenate-style-name "^1.0.3" - jss "10.4.0" - -jss-plugin-default-unit@^10.0.3: - version "10.4.0" - resolved "https://registry.npm.taobao.org/jss-plugin-default-unit/download/jss-plugin-default-unit-10.4.0.tgz#2b10f01269eaea7f36f0f5fd1cfbfcc76ed42854" - integrity sha1-KxDwEmnq6n828PX9HPv8x27UKFQ= - dependencies: - "@babel/runtime" "^7.3.1" - jss "10.4.0" - -jss-plugin-global@^10.0.3: - version "10.4.0" - resolved "https://registry.npm.taobao.org/jss-plugin-global/download/jss-plugin-global-10.4.0.tgz#19449425a94e4e74e113139b629fd44d3577f97d" - integrity sha1-GUSUJalOTnThExObYp/UTTV3+X0= - dependencies: - "@babel/runtime" "^7.3.1" - jss "10.4.0" - -jss-plugin-nested@^10.0.3: - version "10.4.0" - resolved "https://registry.npm.taobao.org/jss-plugin-nested/download/jss-plugin-nested-10.4.0.tgz#017d0c02c0b6b454fd9d7d3fc33470a15eea9fd1" - integrity sha1-AX0MAsC2tFT9nX0/wzRwoV7qn9E= - dependencies: - "@babel/runtime" "^7.3.1" - jss "10.4.0" - tiny-warning "^1.0.2" - -jss-plugin-props-sort@^10.0.3: - version "10.4.0" - resolved "https://registry.npm.taobao.org/jss-plugin-props-sort/download/jss-plugin-props-sort-10.4.0.tgz#7110bf0b6049cc2080b220b506532bf0b70c0e07" - integrity sha1-cRC/C2BJzCCAsiC1BlMr8LcMDgc= - dependencies: - "@babel/runtime" "^7.3.1" - jss "10.4.0" - -jss-plugin-rule-value-function@^10.0.3: - version "10.4.0" - resolved "https://registry.npm.taobao.org/jss-plugin-rule-value-function/download/jss-plugin-rule-value-function-10.4.0.tgz#7cff4a91e84973536fa49b6ebbdbf7f339b01c82" - integrity sha1-fP9KkehJc1NvpJtuu9v38zmwHII= - dependencies: - "@babel/runtime" "^7.3.1" - jss "10.4.0" - tiny-warning "^1.0.2" - -jss-plugin-vendor-prefixer@^10.0.3: - version "10.4.0" - resolved "https://registry.npm.taobao.org/jss-plugin-vendor-prefixer/download/jss-plugin-vendor-prefixer-10.4.0.tgz#2a78f3c5d57d1e024fe7ad7c41de34d04e72ecc0" - integrity sha1-KnjzxdV9HgJP5618Qd400E5y7MA= - dependencies: - "@babel/runtime" "^7.3.1" - css-vendor "^2.0.8" - jss "10.4.0" - -jss@10.4.0, jss@^10.0.3: - version "10.4.0" - resolved "https://registry.npm.taobao.org/jss/download/jss-10.4.0.tgz#473a6fbe42e85441020a07e9519dac1e8a2e79ca" - integrity sha1-RzpvvkLoVEECCgfpUZ2sHooueco= - dependencies: - "@babel/runtime" "^7.3.1" - csstype "^3.0.2" - is-in-browser "^1.1.3" - tiny-warning "^1.0.2" - -jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1: - version "2.4.1" - resolved "https://registry.npm.taobao.org/jsx-ast-utils/download/jsx-ast-utils-2.4.1.tgz?cache=0&sync_timestamp=1591928246466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsx-ast-utils%2Fdownload%2Fjsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e" - integrity sha1-ERSkwSCUgdsGxpDCtPSIzGZfZX4= - dependencies: - array-includes "^3.1.1" - object.assign "^4.1.0" - -killable@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= - -kind-of@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" - integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= - dependencies: - is-buffer "^1.0.2" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0= - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.npm.taobao.org/kleur/download/kleur-3.0.3.tgz?cache=0&sync_timestamp=1597815182347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkleur%2Fdownload%2Fkleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4= - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/last-call-webpack-plugin/download/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha1-l0LfDhDjz0blwDgcLekNOnotdVU= - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -lazy-cache@^0.2.3: - version "0.2.7" - resolved "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" - integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha1-bvXS32DlL4LrIopMNz6NHzlyU88= - dependencies: - invert-kv "^2.0.0" - -left-pad@^1.3.0: - version "1.3.0" - resolved "https://registry.npm.taobao.org/left-pad/download/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4= - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= - -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/levenary/download/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c= - dependencies: - leven "^3.1.0" - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -loader-fs-cache@^1.0.0: - version "1.0.3" - resolved "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" - integrity sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k= - dependencies: - find-cache-dir "^0.1.1" - mkdirp "^0.5.1" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1593786200432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= - -loader-utils@1.2.3: - version "1.2.3" - resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc= - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: - version "1.4.0" - resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1597081904643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1597081904643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo= - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash.template@^4.4.0, lodash.template@^4.5.0: - version "4.5.0" - resolved "https://registry.npm.taobao.org/lodash.template/download/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks= - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM= - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash.unescape@4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/lodash.unescape/download/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" - integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.5, lodash@~4.17.10: - version "4.17.20" - resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&sync_timestamp=1597336097104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" - integrity sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI= - -loglevel@^1.4.1: - version "1.7.0" - resolved "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.0.tgz?cache=0&sync_timestamp=1598447642950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" - integrity sha1-coFmhVp0DVnTjbAc9G8ELKoEG7A= - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427519396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80= - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427519396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= - dependencies: - yallist "^3.0.2" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.npm.taobao.org/makeerror/download/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.npm.taobao.org/mamacro/download/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - integrity sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q= - -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo= - dependencies: - p-defer "^1.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= - -mdn-data@2.0.6: - version "2.0.6" - resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" - integrity sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg= - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg= - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^3.7.0: - version "3.7.0" - resolved "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz?cache=0&sync_timestamp=1598693287069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmeow%2Fdownload%2Fmeow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - 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" - -merge-deep@^3.0.2: - version "3.0.2" - resolved "https://registry.npm.taobao.org/merge-deep/download/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" - integrity sha1-85+hAKTxvTT/KffSv0UI+7jYOtI= - dependencies: - arr-union "^3.1.0" - clone-deep "^0.2.4" - kind-of "^3.0.2" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= - -merge2@^1.2.3: - version "1.4.1" - resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -microevent.ts@~0.1.1: - version "0.1.1" - resolved "https://registry.npm.taobao.org/microevent.ts/download/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" - integrity sha1-cLCbg/Q99RctAgWmMCW84Pc1f6A= - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= - dependencies: - 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@^4.0.0: - version "4.0.1" - resolved "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": - version "1.44.0" - resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I= - -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.27" - resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8= - dependencies: - mime-db "1.44.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1590596728112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= - -mime@^2.4.4: - version "2.4.6" - resolved "https://registry.npm.taobao.org/mime/download/mime-2.4.6.tgz?cache=0&sync_timestamp=1590596728112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha1-5bQHyQ20QvK+tbFiNz0Htpr/pNE= - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz?cache=0&sync_timestamp=1596094012686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI= - -mimic-fn@^2.0.0, mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1596094012686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= - -mini-create-react-context@^0.4.0: - version "0.4.0" - resolved "https://registry.npm.taobao.org/mini-create-react-context/download/mini-create-react-context-0.4.0.tgz#df60501c83151db69e28eac0ef08b4002efab040" - integrity sha1-32BQHIMVHbaeKOrA7wi0AC76sEA= - dependencies: - "@babel/runtime" "^7.5.5" - tiny-warning "^1.0.3" - -mini-css-extract-plugin@0.5.0: - version "0.5.0" - resolved "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.5.0.tgz?cache=0&sync_timestamp=1598544854820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.5.0.tgz#ac0059b02b9692515a637115b0cc9fed3a35c7b0" - integrity sha1-rABZsCuWklFaY3EVsMyf7To1x7A= - dependencies: - loader-utils "^1.1.0" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: - version "3.0.4" - resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= - dependencies: - 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@^1.2.0: - version "1.3.2" - resolved "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mixin-object@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/mixin-object/download/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" - integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= - dependencies: - for-in "^0.1.3" - is-extendable "^0.1.1" - -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= - dependencies: - minimist "^1.2.5" - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - 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@2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= - -ms@^2.1.1: - version "2.1.2" - resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= - -nan@^2.12.1, nan@^2.13.2: - version "2.14.1" - resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha1-174036MQW5FJTDFHCJMV7/iHSwE= - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= - dependencies: - 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@^1.4.0: - version "1.4.0" - resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= - -neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.2" - resolved "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz?cache=0&sync_timestamp=1594317437265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8= - -next-tick@~1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= - -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw= - dependencies: - lower-case "^1.1.1" - -node-forge@0.9.0: - version "0.9.0" - resolved "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz?cache=0&sync_timestamp=1599010730714&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" - integrity sha1-1iQFDtu0SHStyhK7mlLsY8t4JXk= - -node-gyp@^3.8.0: - version "3.8.0" - resolved "https://registry.npm.taobao.org/node-gyp/download/node-gyp-3.8.0.tgz?cache=0&sync_timestamp=1597202624819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-gyp%2Fdownload%2Fnode-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" - integrity sha1-VAMEJhwzDoDQ1e3OJTpoyzlkIYw= - dependencies: - 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" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.npm.taobao.org/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= - dependencies: - 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" - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/node-modules-regexp/download/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^5.4.2: - version "5.4.3" - resolved "https://registry.npm.taobao.org/node-notifier/download/node-notifier-5.4.3.tgz?cache=0&sync_timestamp=1597311297466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-notifier%2Fdownload%2Fnode-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha1-y3La+UyTkECY4oucWQ/YZuRkvVA= - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - -node-releases@^1.1.29, node-releases@^1.1.60: - version "1.1.60" - resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.60.tgz?cache=0&sync_timestamp=1595485319901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" - integrity sha1-aUi9/OgobwtdDlqI6DhOlU3+cIQ= - -node-sass@^4.12.0: - version "4.14.1" - resolved "https://registry.npm.taobao.org/node-sass/download/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" - integrity sha1-mch+wu+3BH7WOPtMnbfzpC4iF7U= - dependencies: - 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" - -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz?cache=0&sync_timestamp=1597649936800&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnopt%2Fdownload%2Fnopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.5.0" - resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-url@^3.0.0: - version "3.3.0" - resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz?cache=0&sync_timestamp=1596373090568&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: - version "4.1.2" - resolved "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha1-CKfyqL9zRgR3mp76StXMcXq7lUs= - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nprogress@^0.2.0: - version "0.2.0" - resolved "https://registry.npm.taobao.org/nprogress/download/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" - integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E= - -nth-check@^1.0.2, nth-check@~1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= - dependencies: - boolbase "~1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -nwsapi@^2.0.7, nwsapi@^2.1.3: - version "2.2.0" - resolved "https://registry.npm.taobao.org/nwsapi/download/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha1-IEh5qePQaP8qVROcLHcngGgaOLc= - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^1.1.4: - version "1.3.1" - resolved "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" - integrity sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8= - -object-inspect@^1.7.0: - version "1.8.0" - resolved "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.8.0.tgz?cache=0&sync_timestamp=1592545152574&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" - integrity sha1-34B+Xs9TpgnMa/6T6sPMe+WzqdA= - -object-is@^1.0.1: - version "1.1.2" - resolved "https://registry.npm.taobao.org/object-is/download/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" - integrity sha1-xdLof/nhGfeLegiEQVGeLuwVc7Y= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= - -object-path@0.11.4: - version "0.11.4" - resolved "https://registry.npm.taobao.org/object-path/download/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" - integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.entries@^1.1.0: - version "1.1.2" - resolved "https://registry.npm.taobao.org/object.entries/download/object.entries-1.1.2.tgz?cache=0&sync_timestamp=1590009612950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.entries%2Fdownload%2Fobject.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" - integrity sha1-vHPwCstra7FsIDQ0sQ+afnl9Ot0= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - has "^1.0.3" - -object.fromentries@^2.0.0: - version "2.0.2" - resolved "https://registry.npm.taobao.org/object.fromentries/download/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" - integrity sha1-SgnJubs4Q90PiazbUXp5TU81Wsk= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha1-Npvx+VktiridcS3O1cuBx8U1Jkk= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.0: - version "1.1.1" - resolved "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz?cache=0&sync_timestamp=1597005190531&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz?cache=0&sync_timestamp=1597005190531&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4= - dependencies: - mimic-fn "^2.1.0" - -open@^6.3.0: - version "6.4.0" - resolved "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz?cache=0&sync_timestamp=1598611657979&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopen%2Fdownload%2Fopen-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" - integrity sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk= - dependencies: - is-wsl "^1.1.0" - -opn@^5.1.0: - version "5.5.0" - resolved "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= - dependencies: - is-wsl "^1.1.0" - -optimize-css-assets-webpack-plugin@5.0.3: - version "5.0.3" - resolved "https://registry.npm.taobao.org/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-5.0.3.tgz?cache=0&sync_timestamp=1598800822300&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptimize-css-assets-webpack-plugin%2Fdownload%2Foptimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" - integrity sha1-4vHU2UrYwK+JZ+vXzxONyx7xRXI= - dependencies: - cssnano "^4.1.10" - last-call-webpack-plugin "^3.0.0" - -optionator@^0.8.1, optionator@^0.8.3: - version "0.8.3" - resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= - dependencies: - 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" - -original@^1.0.0: - version "1.0.2" - resolved "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= - dependencies: - url-parse "^1.4.3" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo= - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@0: - version "0.1.5" - resolved "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha1-hc36+uso6Gd/QW4odZK18/SepBA= - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/p-each-series/download/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= - dependencies: - p-reduce "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4= - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1594559720897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0: - version "2.3.0" - resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559720897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz?cache=0&sync_timestamp=1597081785924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1597081785924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= - dependencies: - p-limit "^2.0.0" - -p-map@^1.1.1: - version "1.2.0" - resolved "https://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" - integrity sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s= - -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/p-reduce/download/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8= - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw= - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@2.1.x: - version "2.1.1" - resolved "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= - dependencies: - no-case "^2.2.0" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ= - dependencies: - 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@^2.2.0: - version "2.2.0" - resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.1.0" - resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-5.1.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" - integrity sha1-+WCIzfJKj6qa6poAny2dlCyZlkY= - dependencies: - "@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@4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/parse5/download/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha1-bXhlbj2o14tOwLkG98CO8d/j9gg= - -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.npm.taobao.org/parse5/download/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha1-xZNByXI/QUxFKXVWTHwApo1YrNI= - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha1-iHs7qdhDk+h6CgufTLdWGYtTVIo= - dependencies: - isarray "0.0.1" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= - -pbkdf2@^3.0.3: - version "3.1.1" - resolved "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha1-y4cksPramEWWhW0abrr9NYRlS5Q= - dependencies: - 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@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0= - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/pirates/download/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c= - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= - dependencies: - find-up "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= - dependencies: - find-up "^3.0.0" - -pkg-up@2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/pn/download/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs= - -pnp-webpack-plugin@1.5.0: - version "1.5.0" - resolved "https://registry.npm.taobao.org/pnp-webpack-plugin/download/pnp-webpack-plugin-1.5.0.tgz?cache=0&sync_timestamp=1588851828839&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpnp-webpack-plugin%2Fdownload%2Fpnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb" - integrity sha1-YqHNMGj0bVZLszxW6yUOTVhmdus= - dependencies: - ts-pnp "^1.1.2" - -popper.js@1.16.1-lts: - version "1.16.1-lts" - resolved "https://registry.npm.taobao.org/popper.js/download/popper.js-1.16.1-lts.tgz#cf6847b807da3799d80ee3d6d2f90df8a3f50b05" - integrity sha1-z2hHuAfaN5nYDuPW0vkN+KP1CwU= - -portfinder@^1.0.9: - version "1.0.28" - resolved "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz?cache=0&sync_timestamp=1596018172434&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fportfinder%2Fdownload%2Fportfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g= - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-attribute-case-insensitive@^4.0.1: - version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-attribute-case-insensitive/download/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" - integrity sha1-2T5GtQRYnpSscnewRjImxoBBqIA= - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^6.0.2" - -postcss-browser-comments@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/postcss-browser-comments/download/postcss-browser-comments-2.0.0.tgz#dc48d6a8ddbff188a80a000b7393436cb18aed88" - integrity sha1-3EjWqN2/8YioCgALc5NDbLGK7Yg= - dependencies: - postcss "^7.0.2" - -postcss-calc@^7.0.1: - version "7.0.4" - resolved "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.4.tgz?cache=0&sync_timestamp=1598957841053&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.4.tgz#5e177ddb417341e6d4a193c5d9fd8ada79094f8b" - integrity sha1-Xhd920FzQebUoZPF2f2K2nkJT4s= - dependencies: - postcss "^7.0.27" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/postcss-color-functional-notation/download/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha1-Xv03qI+6vrAKKWbR5T2Yztk/dOA= - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-gray@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/postcss-color-gray/download/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha1-Uyox65CfjaiYzv/ilv3B+GS+hUc= - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-color-hex-alpha@^5.0.3: - version "5.0.3" - resolved "https://registry.npm.taobao.org/postcss-color-hex-alpha/download/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" - integrity sha1-qNnKTDnUl8lmHjdLnFGJnvD4c4g= - dependencies: - postcss "^7.0.14" - postcss-values-parser "^2.0.1" - -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.npm.taobao.org/postcss-color-mod-function/download/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha1-gWuhRawRzDy2uqkFp1pJ+QPk0x0= - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-color-rebeccapurple/download/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha1-x6ib6HK7dORbHjAiv+V0iCPm3nc= - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz?cache=0&sync_timestamp=1599152039359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-colormin%2Fdownload%2Fpostcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha1-rgYLzpPteUrHEmTwgTLVUJVr04E= - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^4.0.1: - 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=1599152039488&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-convert-values%2Fdownload%2Fpostcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8= - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-custom-media@^7.0.8: - version "7.0.8" - resolved "https://registry.npm.taobao.org/postcss-custom-media/download/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" - integrity sha1-//0T/+/61zYhvl84cHaiiwApTgw= - dependencies: - postcss "^7.0.14" - -postcss-custom-properties@^8.0.11: - version "8.0.11" - resolved "https://registry.npm.taobao.org/postcss-custom-properties/download/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" - integrity sha1-LWF3LW6S8i9eDVJgLfj65G+jDZc= - dependencies: - postcss "^7.0.17" - postcss-values-parser "^2.0.1" - -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.npm.taobao.org/postcss-custom-selectors/download/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha1-ZIWMbrLs/y+0HQsoyd17PbTef7o= - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.npm.taobao.org/postcss-dir-pseudo-class/download/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha1-bjpBd9Dts6vMhf22+7HCbauuq6I= - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-discard-comments@^4.0.2: - 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=1599152039587&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-comments%2Fdownload%2Fpostcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM= - dependencies: - postcss "^7.0.0" - -postcss-discard-duplicates@^4.0.2: - 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=1599152039690&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-duplicates%2Fdownload%2Fpostcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha1-P+EzzTyCKC5VD8myORdqkge3hOs= - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz?cache=0&sync_timestamp=1599152039793&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-empty%2Fdownload%2Fpostcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U= - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz?cache=0&sync_timestamp=1599152039883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-overridden%2Fdownload%2Fpostcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c= - dependencies: - postcss "^7.0.0" - -postcss-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/postcss-double-position-gradients/download/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha1-/JJ9Uv3ciWyzooEuvF3xR+EQUi4= - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.npm.taobao.org/postcss-env-function/download/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha1-Dz49PFfwlKksK69LYkHwsNpTZdc= - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-flexbugs-fixes@4.1.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/postcss-flexbugs-fixes/download/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" - integrity sha1-4JSp3xeD4iALexn4ddytOzr/iyA= - dependencies: - postcss "^7.0.0" - -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/postcss-focus-visible/download/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha1-R30QcROt5gJLFBKDF63ivR4XBG4= - dependencies: - postcss "^7.0.2" - -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/postcss-focus-within/download/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha1-djuHiFls7puHTJmSAc3egGWe9oA= - dependencies: - postcss "^7.0.2" - -postcss-font-variant@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/postcss-font-variant/download/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" - integrity sha1-cd08bBCg2EbF7aB4A0OWF7u6usw= - dependencies: - postcss "^7.0.2" - -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/postcss-gap-properties/download/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha1-QxwZKrPtlqPD0J8v9hWWD5AsFxU= - dependencies: - postcss "^7.0.2" - -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.npm.taobao.org/postcss-image-set-function/download/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha1-KJIKLymUW+1MMZjX32SW1BDT8og= - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-initial@^3.0.0: - version "3.0.2" - resolved "https://registry.npm.taobao.org/postcss-initial/download/postcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d" - integrity sha1-8BhWNpSzwWro6qvjxYWsYxljey0= - dependencies: - lodash.template "^4.5.0" - postcss "^7.0.2" - -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/postcss-lab-function/download/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha1-u1GmhWzRIomrSuINseOCHvE9fS4= - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-load-config@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" - integrity sha1-yE1pK3u3tB3c7ZTuYuirMbQXsAM= - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0= - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/postcss-logical/download/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha1-JJXQ+LgunyYnJfdflAGzTntF1bU= - dependencies: - postcss "^7.0.2" - -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/postcss-media-minmax/download/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha1-t1u2y8IXyKxJQz4S8iBIgUpPXtU= - dependencies: - postcss "^7.0.2" - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz?cache=0&sync_timestamp=1599152040225&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ= - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz?cache=0&sync_timestamp=1599152040342&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha1-NivqT/Wh+Y5AdacTxsslrv75plA= - dependencies: - 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" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz?cache=0&sync_timestamp=1599152040442&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-font-values%2Fdownload%2Fpostcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY= - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz?cache=0&sync_timestamp=1599152040540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE= - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz?cache=0&sync_timestamp=1599152040631&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ= - dependencies: - 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" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz?cache=0&sync_timestamp=1599152040740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-selectors%2Fdownload%2Fpostcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g= - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha1-gYcZoa4doyX5gyRGsBE27rSTzX4= - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^2.0.6: - version "2.0.6" - resolved "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-2.0.6.tgz?cache=0&sync_timestamp=1595731916732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" - integrity sha1-3ZlT9t1Ha1/R7y2IMMiSl2C1bmM= - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - postcss-value-parser "^3.3.1" - -postcss-modules-scope@^2.1.0: - version "2.2.0" - resolved "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha1-OFyuATzHdD9afXYC0Qc6iequYu4= - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" - integrity sha1-R5tG3Axco9x/pScIUYNrnscVL2Q= - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^7.0.6" - -postcss-nesting@^7.0.0: - version "7.0.1" - resolved "https://registry.npm.taobao.org/postcss-nesting/download/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" - integrity sha1-tQrXt/AXPlteOIDDUBNEcD4EwFI= - dependencies: - postcss "^7.0.2" - -postcss-normalize-charset@^4.0.1: - 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=1599152040844&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-charset%2Fdownload%2Fpostcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ= - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz?cache=0&sync_timestamp=1599154006634&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-display-values%2Fdownload%2Fpostcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha1-Db4EpM6QY9RmftK+R2u4MMglk1o= - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - 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=1599154006760&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-positions%2Fdownload%2Fpostcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8= - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - 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=1599154006922&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-repeat-style%2Fdownload%2Fpostcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw= - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - 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=1599154007056&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-string%2Fdownload%2Fpostcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw= - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz?cache=0&sync_timestamp=1599152232589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-timing-functions%2Fdownload%2Fpostcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha1-jgCcoqOUnNr4rSPmtquZy159KNk= - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz?cache=0&sync_timestamp=1599152232707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-unicode%2Fdownload%2Fpostcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs= - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz?cache=0&sync_timestamp=1599152041622&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE= - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz?cache=0&sync_timestamp=1599152232908&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-whitespace%2Fdownload%2Fpostcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI= - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize@7.0.1: - version "7.0.1" - resolved "https://registry.npm.taobao.org/postcss-normalize/download/postcss-normalize-7.0.1.tgz#eb51568d962b8aa61a8318383c8bb7e54332282e" - integrity sha1-61FWjZYriqYagxg4PIu35UMyKC4= - dependencies: - "@csstools/normalize.css" "^9.0.1" - browserslist "^4.1.1" - postcss "^7.0.2" - postcss-browser-comments "^2.0.0" - -postcss-ordered-values@^4.1.2: - 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=1599152041810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-ordered-values%2Fdownload%2Fpostcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4= - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/postcss-overflow-shorthand/download/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha1-MezzUOnG9t3CUKePDD4RHzLdTDA= - dependencies: - postcss "^7.0.2" - -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/postcss-page-break/download/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha1-rdUtDgpSjKvmr+6LRuKrsnffRr8= - dependencies: - postcss "^7.0.2" - -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-place/download/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha1-6fOdM9LcWE5G7h20Wtt3yp0dzGI= - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-preset-env@6.7.0: - version "6.7.0" - resolved "https://registry.npm.taobao.org/postcss-preset-env/download/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" - integrity sha1-w03az4+QI4OzWtHgMPF49M3xGKU= - dependencies: - autoprefixer "^9.6.1" - browserslist "^4.6.4" - caniuse-lite "^1.0.30000981" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.4.0" - postcss "^7.0.17" - postcss-attribute-case-insensitive "^4.0.1" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.3" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.8" - postcss-custom-properties "^8.0.11" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.npm.taobao.org/postcss-pseudo-class-any-link/download/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha1-LtPu05OzcCh53sSocDKyENrrBNE= - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-reduce-initial@^4.0.3: - 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=1599152041935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-initial%2Fdownload%2Fpostcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha1-f9QuvqXpyBRgljniwuhK4nC6SN8= - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz?cache=0&sync_timestamp=1599152042188&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik= - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/postcss-replace-overflow-wrap/download/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha1-YbNg/9rtyoTHyRjSsPDQ6lWasBw= - dependencies: - postcss "^7.0.2" - -postcss-safe-parser@4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-safe-parser/download/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" - integrity sha1-h1bZ5MNv3OLHKwkbvIyhdqsfzeo= - dependencies: - postcss "^7.0.0" - -postcss-selector-matches@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/postcss-selector-matches/download/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha1-ccgkj5F7osyTA3yWN+4JxkQ2/P8= - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-not@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/postcss-selector-not/download/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" - integrity sha1-xo/3upZSdJnoMnJKJnTWVgO2RcA= - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-parser@^3.0.0: - version "3.1.2" - resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" - integrity sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA= - dependencies: - dot-prop "^5.2.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha1-JJBENWaXsztk8aj3yAki3d7nGVw= - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw= - dependencies: - cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-svgo@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz?cache=0&sync_timestamp=1599152042335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha1-F7mXvHEbMzurFDqu07jT1uPTglg= - dependencies: - is-svg "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz?cache=0&sync_timestamp=1599152042458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w= - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE= - -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha1-RD9qIM7WSBor2k+oUypuVdeJoss= - -postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/postcss-values-parser/download/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha1-2otHLZAdoeIFtHvcmGN7np5VDl8= - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@7.0.14: - version "7.0.14" - resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" - integrity sha1-RSftaxyg2CxTzl7BogQcI0a71uU= - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.32" - resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha1-QxDW7jRwU9o0M9sr5JKIPWLOxZ0= - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -pretty-bytes@^5.1.0: - version "5.4.1" - resolved "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-bytes%2Fdownload%2Fpretty-bytes-5.4.1.tgz#cd89f79bbcef21e3d21eb0da68ffe93f803e884b" - integrity sha1-zYn3m7zvIePSHrDaaP/pP4A+iEs= - -pretty-error@^2.1.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= - dependencies: - renderkid "^2.0.1" - utila "~0.4" - -pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.npm.taobao.org/pretty-format/download/pretty-format-24.9.0.tgz?cache=0&sync_timestamp=1598096606104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" - integrity sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k= - dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -promise@^8.0.3: - version "8.1.0" - resolved "https://registry.npm.taobao.org/promise/download/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" - integrity sha1-aXwlw9/nQ13Xn81Yw4oTWIjq8F4= - dependencies: - asap "~2.0.6" - -prompts@^2.0.1: - version "2.3.2" - resolved "https://registry.npm.taobao.org/prompts/download/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" - integrity sha1-SAVy2J7POVZtK9P+LJ/Mt8TAsGg= - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.4" - -prop-types@^15.6.2, prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU= - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - -proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8= - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ= - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= - dependencies: - 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" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qs@6.7.0: - version "6.7.0" - resolved "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw= - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0, querystring@^0.2.0: - version "0.2.0" - resolved "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y= - -raf@^3.4.1: - version "3.4.1" - resolved "https://registry.npm.taobao.org/raf/download/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha1-B0LpmkplUvRF1z4+4DKK8P8e3jk= - dependencies: - performance-now "^2.1.0" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha1-oc5vucm8NWylLoklarWQWeE9AzI= - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-app-polyfill@^1.0.2: - version "1.0.6" - resolved "https://registry.npm.taobao.org/react-app-polyfill/download/react-app-polyfill-1.0.6.tgz#890f8d7f2842ce6073f030b117de9130a5f385f0" - integrity sha1-iQ+NfyhCzmBz8DCxF96RMKXzhfA= - dependencies: - core-js "^3.5.0" - object-assign "^4.1.1" - promise "^8.0.3" - raf "^3.4.1" - regenerator-runtime "^0.13.3" - whatwg-fetch "^3.0.0" - -react-dev-utils@^9.0.3: - version "9.1.0" - resolved "https://registry.npm.taobao.org/react-dev-utils/download/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" - integrity sha1-OtK7iEijIxnXYNCoTFbBS9quXoE= - dependencies: - "@babel/code-frame" "7.5.5" - address "1.1.2" - browserslist "4.7.0" - chalk "2.4.2" - cross-spawn "6.0.5" - detect-port-alt "1.1.6" - escape-string-regexp "1.0.5" - filesize "3.6.1" - find-up "3.0.0" - fork-ts-checker-webpack-plugin "1.5.0" - global-modules "2.0.0" - globby "8.0.2" - gzip-size "5.1.1" - immer "1.10.0" - inquirer "6.5.0" - is-root "2.1.0" - loader-utils "1.2.3" - open "^6.3.0" - pkg-up "2.0.0" - react-error-overlay "^6.0.3" - recursive-readdir "2.2.2" - shell-quote "1.7.2" - sockjs-client "1.4.0" - strip-ansi "5.2.0" - text-table "0.2.0" - -react-dom@^16.9.0: - version "16.13.1" - resolved "https://registry.npm.taobao.org/react-dom/download/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" - integrity sha1-wb03MxoEhsB47lTEdAcgmTsuDn8= - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" - -react-error-overlay@^6.0.3: - version "6.0.7" - resolved "https://registry.npm.taobao.org/react-error-overlay/download/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108" - integrity sha1-Hc+0WatnHVP2YKmRUTyy8KBVMQg= - -react-intl-universal@^2.4.3: - version "2.4.3" - resolved "https://registry.npm.taobao.org/react-intl-universal/download/react-intl-universal-2.4.3.tgz#2908410d116a8b0536bea3048f3d76ddea9b5522" - integrity sha1-KQhBDRFqiwU2vqMEjz123eqbVSI= - dependencies: - console-polyfill "^0.3.0" - cookie "^0.3.1" - escape-html "^1.0.3" - intl "^1.2.5" - intl-messageformat "^7.8.4" - invariant "^2.2.2" - lodash.merge "^4.6.2" - object-keys "^1.0.11" - querystring "^0.2.0" - -react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.0, react-is@^16.8.1, react-is@^16.8.4: - version "16.13.1" - resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz?cache=0&sync_timestamp=1598612913326&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-is%2Fdownload%2Freact-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= - -react-router-dom@^5.0.1: - version "5.2.0" - resolved "https://registry.npm.taobao.org/react-router-dom/download/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" - integrity sha1-nmWk0MReEyieZsexfH4XXQ6hVmI= - dependencies: - "@babel/runtime" "^7.1.2" - history "^4.9.0" - loose-envify "^1.3.1" - prop-types "^15.6.2" - react-router "5.2.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-router@5.2.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/react-router/download/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" - integrity sha1-Qk51ZByodH+/duXsyml4GqN+opM= - dependencies: - "@babel/runtime" "^7.1.2" - history "^4.9.0" - hoist-non-react-statics "^3.1.0" - loose-envify "^1.3.1" - mini-create-react-context "^0.4.0" - path-to-regexp "^1.7.0" - prop-types "^15.6.2" - react-is "^16.6.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - -react-scripts@3.1.1: - version "3.1.1" - resolved "https://registry.npm.taobao.org/react-scripts/download/react-scripts-3.1.1.tgz#1796bc92447f3a2d3072c3b71ca99f88d099c48d" - integrity sha1-F5a8kkR/Oi0wcsO3HKmfiNCZxI0= - dependencies: - "@babel/core" "7.5.5" - "@svgr/webpack" "4.3.2" - "@typescript-eslint/eslint-plugin" "1.13.0" - "@typescript-eslint/parser" "1.13.0" - babel-eslint "10.0.2" - babel-jest "^24.8.0" - babel-loader "8.0.6" - babel-plugin-named-asset-import "^0.3.3" - babel-preset-react-app "^9.0.1" - camelcase "^5.2.0" - case-sensitive-paths-webpack-plugin "2.2.0" - css-loader "2.1.1" - dotenv "6.2.0" - dotenv-expand "4.2.0" - eslint "^6.1.0" - eslint-config-react-app "^5.0.1" - eslint-loader "2.2.1" - eslint-plugin-flowtype "3.13.0" - eslint-plugin-import "2.18.2" - eslint-plugin-jsx-a11y "6.2.3" - eslint-plugin-react "7.14.3" - eslint-plugin-react-hooks "^1.6.1" - file-loader "3.0.1" - fs-extra "7.0.1" - html-webpack-plugin "4.0.0-beta.5" - identity-obj-proxy "3.0.0" - is-wsl "^1.1.0" - jest "24.8.0" - jest-environment-jsdom-fourteen "0.1.0" - jest-resolve "24.8.0" - jest-watch-typeahead "0.3.1" - mini-css-extract-plugin "0.5.0" - optimize-css-assets-webpack-plugin "5.0.3" - pnp-webpack-plugin "1.5.0" - postcss-flexbugs-fixes "4.1.0" - postcss-loader "3.0.0" - postcss-normalize "7.0.1" - postcss-preset-env "6.7.0" - postcss-safe-parser "4.0.1" - react-app-polyfill "^1.0.2" - react-dev-utils "^9.0.3" - resolve "1.12.0" - resolve-url-loader "3.1.0" - sass-loader "7.2.0" - semver "6.3.0" - style-loader "1.0.0" - terser-webpack-plugin "1.4.1" - ts-pnp "1.1.2" - url-loader "2.1.0" - webpack "4.39.1" - webpack-dev-server "3.2.1" - webpack-manifest-plugin "2.0.4" - workbox-webpack-plugin "4.3.1" - optionalDependencies: - fsevents "2.0.7" - -react-transition-group@^4.4.0: - version "4.4.1" - resolved "https://registry.npm.taobao.org/react-transition-group/download/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" - integrity sha1-Y4aPkyWjjqXulTXYKDJ/hXczRck= - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react@^16.9.0: - version "16.13.1" - resolved "https://registry.npm.taobao.org/react/download/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" - integrity sha1-LoGIIvGpdDEiwGPWQQ2FweOv5I4= - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg= - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= - dependencies: - 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" - -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto= - dependencies: - picomatch "^2.2.1" - -realpath-native@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/realpath-native/download/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha1-IAMpT+oj+wZy8kduviL89Jii1lw= - dependencies: - util.promisify "^1.0.0" - -recursive-readdir@2.2.2: - version "2.2.2" - resolved "https://registry.npm.taobao.org/recursive-readdir/download/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" - integrity sha1-mUb7MnThYo3m42svZxSVO0hFCU8= - dependencies: - minimatch "3.0.4" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha1-5d5xEdZV57pgwFfb6f83yH5lzew= - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha1-ytkq2Oa1kXc0hfvgWkhcr09Ffm8= - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1595456117883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk= - -regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz?cache=0&sync_timestamp=1595456117883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha1-ysLazIoepnX+qrrriugziYrkb1U= - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ= - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regex-parser@2.2.10: - version "2.2.10" - resolved "https://registry.npm.taobao.org/regex-parser/download/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" - integrity sha1-nmao9z2JoQdhbmOznU3t3+6RKzc= - -regexp.prototype.flags@^1.2.0: - version "1.3.0" - resolved "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha1-erqJs8E6ZFCdq888qNn7ub31y3U= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= - -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha1-/L9FjFBDGwu3tF1pZ7gZLZHz2Tg= - dependencies: - 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@^0.5.1: - version "0.5.2" - resolved "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz?cache=0&sync_timestamp=1590335923060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsgen%2Fdownload%2Fregjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM= - -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha1-p2n4aEMIQBpm6bUp0kNv9NBmYnI= - dependencies: - jsesc "~0.5.0" - -relateurl@0.2.x: - version "0.2.7" - resolved "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.1: - version "2.0.3" - resolved "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk= - dependencies: - css-select "^1.1.0" - dom-converter "^0.2" - htmlparser2 "^3.3.0" - strip-ansi "^3.0.0" - utila "^0.4.0" - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4= - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8= - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.5: - version "1.0.9" - resolved "https://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha1-5AcSBSal79yaObKKVnm/R7nZ3Cg= - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.87.0, request@^2.88.0: - version "2.88.2" - resolved "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM= - dependencies: - 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@^2.1.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= - -resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/resolve-pathname/download/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" - integrity sha1-mdAiJNPPJjaJvsuzk7xWAxMCXc0= - -resolve-url-loader@3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/resolve-url-loader/download/resolve-url-loader-3.1.0.tgz#54d8181d33cd1b66a59544d05cadf8e4aa7d37cc" - integrity sha1-VNgYHTPNG2allUTQXK345Kp9N8w= - dependencies: - adjust-sourcemap-loader "2.0.0" - camelcase "5.0.0" - compose-function "3.0.3" - convert-source-map "1.6.0" - es6-iterator "2.0.3" - loader-utils "1.2.3" - postcss "7.0.14" - rework "1.0.1" - rework-visit "1.0.0" - source-map "0.6.1" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -resolve@1.12.0: - version "1.12.0" - resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha1-P8ZEo1yEpIVUYJ/ybsUrZvpXffY= - dependencies: - path-parse "^1.0.6" - -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.3.2, resolve@^1.8.1: - version "1.17.0" - resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha1-sllBtUloIxzC0bt2p5y38sC/hEQ= - dependencies: - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= - -rework-visit@1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/rework-visit/download/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" - integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= - -rework@1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/rework/download/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" - integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= - dependencies: - convert-source-map "^0.3.3" - css "^2.0.0" - -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= - dependencies: - glob "^7.1.3" - -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.npm.taobao.org/rsvp/download/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= - -run-async@^2.2.0, run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU= - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rxjs@^6.4.0, rxjs@^6.6.0: - version "6.6.3" - resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.3.tgz?cache=0&sync_timestamp=1599403274995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha1-jKhGNcTaqQDA05Z6buesYCce5VI= - dependencies: - tslib "^1.9.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= - -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.npm.taobao.org/sane/download/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0= - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sass-graph@2.2.5: - version "2.2.5" - resolved "https://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" - integrity sha1-qYHIdEa4MZ2W3OBnHkh4eb0kwug= - dependencies: - glob "^7.0.0" - lodash "^4.0.0" - scss-tokenizer "^0.2.3" - yargs "^13.3.2" - -sass-loader@7.2.0: - version "7.2.0" - resolved "https://registry.npm.taobao.org/sass-loader/download/sass-loader-7.2.0.tgz?cache=0&sync_timestamp=1599136698634&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-loader%2Fdownload%2Fsass-loader-7.2.0.tgz#e34115239309d15b2527cb62b5dfefb62a96ff7f" - integrity sha1-40EVI5MJ0VslJ8titd/vtiqW/38= - dependencies: - clone-deep "^4.0.1" - loader-utils "^1.0.1" - neo-async "^2.5.0" - pify "^4.0.1" - semver "^5.5.0" - -sax@^1.2.4, sax@~1.2.4: - version "1.2.4" - resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz?cache=0&sync_timestamp=1589682064084&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsax%2Fdownload%2Fsax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= - -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.npm.taobao.org/saxes/download/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs= - dependencies: - xmlchars "^2.1.1" - -scheduler@^0.19.1: - version "0.19.1" - resolved "https://registry.npm.taobao.org/scheduler/download/scheduler-0.19.1.tgz?cache=0&sync_timestamp=1598612913128&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fscheduler%2Fdownload%2Fscheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" - integrity sha1-Tz4u0sGn1laB9MhU+oxaHMtA8ZY= - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1598871644285&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.0.0, schema-utils@^2.0.1: - version "2.7.1" - resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.1.tgz?cache=0&sync_timestamp=1598871644285&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc= - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -scss-tokenizer@^0.2.3: - version "0.2.3" - resolved "https://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" - integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= - dependencies: - js-base64 "^2.1.8" - source-map "^0.4.2" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.9.1: - version "1.10.7" - resolved "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" - integrity sha1-2lgZ/QSdVXTyjoipvMbbxubzkGs= - dependencies: - node-forge "0.9.0" - -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= - -semver@5.5.0: - version "5.5.0" - resolved "https://registry.npm.taobao.org/semver/download/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" - integrity sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs= - -semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0: - version "6.3.0" - resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha1-XzyjV2HkfgWyBsba/yz4FPAxa44= - -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= - -send@0.17.1: - version "0.17.1" - resolved "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg= - dependencies: - 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" - -serialize-javascript@^1.7.0: - version "1.9.1" - resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz?cache=0&sync_timestamp=1596697355166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" - integrity sha1-z8IArvd7YAxH2pu4FJyUPnmML9s= - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz?cache=0&sync_timestamp=1596697355166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao= - dependencies: - randombytes "^2.1.0" - -serve-index@^1.7.2: - version "1.9.1" - resolved "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - 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" - -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk= - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^0.1.2: - version "0.1.2" - resolved "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" - integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= - dependencies: - is-extendable "^0.1.1" - kind-of "^2.0.1" - lazy-cache "^0.2.3" - mixin-object "^2.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha1-jymBrZJTH1UDWwH7IwdppA4C76M= - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz?cache=0&sync_timestamp=1596697357985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshebang-regex%2Fdownload%2Fshebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1596697357985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= - -shell-quote@1.7.2: - version "1.7.2" - resolved "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I= - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.npm.taobao.org/shellwords/download/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha1-1rkYHBpI05cyTISHHvvPxz/AZUs= - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw= - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.4: - version "1.0.5" - resolved "https://registry.npm.taobao.org/sisteransi/download/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha1-E01oEpd1ZDfMBcoBNw06elcQde0= - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= - -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= - dependencies: - 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" - -sockjs-client@1.3.0: - version "1.3.0" - resolved "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.3.0.tgz?cache=0&sync_timestamp=1596409908572&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" - integrity sha1-EvydbLZj2lc509xftuhofalcsXc= - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - -sockjs-client@1.4.0: - version "1.4.0" - resolved "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.4.0.tgz?cache=0&sync_timestamp=1596409908572&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" - integrity sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U= - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - -sockjs@0.3.19: - version "0.3.19" - resolved "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - integrity sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0= - dependencies: - faye-websocket "^0.10.0" - uuid "^3.0.1" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= - -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: - version "0.5.3" - resolved "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho= - dependencies: - 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@^0.5.6, source-map-support@~0.5.12: - version "0.5.19" - resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE= - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= - -source-map@^0.4.2: - version "0.4.4" - resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - integrity sha1-66T12pwNyZneaAMti092FzZSA2s= - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -spdx-correct@^3.0.0: - 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#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha1-3s6BrJweZxPl99G28X1Gj6U9iak= - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0= - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz?cache=0&sync_timestamp=1589682217985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-expression-parse%2Fdownload%2Fspdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk= - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ= - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE= - dependencies: - 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" - -spdy@^4.0.0: - version "4.0.2" - resolved "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha1-t09GYgOj7aRSwCSSuR+56EonZ3s= - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= - dependencies: - 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@^6.0.1: - version "6.0.1" - resolved "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg= - dependencies: - figgy-pudding "^3.5.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88= - -stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/stack-utils/download/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha1-M+ujiXeIVYvr/C2wWdwVjsNs67g= - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stdout-stream@^1.4.0: - version "1.4.1" - resolved "https://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" - integrity sha1-WsF0zdXNcmEEqgwLK9g4FdjVNd4= - dependencies: - readable-stream "^2.0.1" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= - dependencies: - 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@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= - -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/string-length/download/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.1.0: - version "4.2.0" - resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha1-lSGCxGzHssMT0VluYjmSvRY7crU= - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= - dependencies: - safe-buffer "~5.1.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha1-cDBlrvyhkwDTzoivT1s5VtdVZik= - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1596697387823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1596697387823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1596697387823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&sync_timestamp=1596697387823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= - dependencies: - ansi-regex "^5.0.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-comments@^1.0.2: - version "1.0.2" - resolved "https://registry.npm.taobao.org/strip-comments/download/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" - integrity sha1-grnEXn8FhzvuU/NxaK+TCqNoZ50= - dependencies: - babel-extract-comments "^1.0.0" - babel-plugin-transform-object-rest-spread "^6.26.0" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@^3.0.1: - 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=1594567582667&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= - -style-loader@1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/style-loader/download/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" - integrity sha1-HVKW+RZejiyF0k7uC3yvnsjKH4I= - dependencies: - loader-utils "^1.2.3" - schema-utils "^2.0.1" - -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz?cache=0&sync_timestamp=1599152239678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstylehacks%2Fdownload%2Fstylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU= - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= - dependencies: - has-flag "^4.0.0" - -svg-parser@^2.0.0: - version "2.0.4" - resolved "https://registry.npm.taobao.org/svg-parser/download/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha1-/cLinhOVFzYUC3bLEiyO5mMOtrU= - -svgo@^1.0.0, svgo@^1.2.2: - version "1.3.2" - resolved "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc= - dependencies: - 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-tree@^3.2.2: - version "3.2.4" - resolved "https://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I= - -table@^5.2.3: - version "5.4.6" - resolved "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz?cache=0&sync_timestamp=1599191046284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftable%2Fdownload%2Ftable-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -tapable@^1.0.0, tapable@^1.1.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= - -tar@^2.0.0: - version "2.2.2" - resolved "https://registry.npm.taobao.org/tar/download/tar-2.2.2.tgz?cache=0&sync_timestamp=1597445446483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftar%2Fdownload%2Ftar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" - integrity sha1-DKiEhWLHKZuLRG/2pNYM27I+3EA= - dependencies: - block-stream "*" - fstream "^1.0.12" - inherits "2" - -terser-webpack-plugin@1.4.1: - version "1.4.1" - resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.1.tgz?cache=0&sync_timestamp=1597229611059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" - integrity sha1-YbGOQOruW+l+dxzbsQ7RKAiIwrQ= - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^1.7.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser-webpack-plugin@^1.4.1: - version "1.4.5" - resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz?cache=0&sync_timestamp=1597229611059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha1-oheu+uozDnNP+sthIOwfoxLWBAs= - dependencies: - 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" - -terser@^4.1.2: - version "4.8.0" - resolved "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1599141103781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc= - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.npm.taobao.org/test-exclude/download/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" - integrity sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA= - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" - -text-table@0.2.0, text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz?cache=0&sync_timestamp=1593478647766&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= - -timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8= - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - -tiny-invariant@^1.0.2: - version "1.1.0" - resolved "https://registry.npm.taobao.org/tiny-invariant/download/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" - integrity sha1-Y0xfjv3CdxS384bDXmdgmR0jCHU= - -tiny-warning@^1.0.0, tiny-warning@^1.0.2, tiny-warning@^1.0.3: - version "1.0.3" - resolved "https://registry.npm.taobao.org/tiny-warning/download/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" - integrity sha1-lKMNtFPfTGQ9D9VmBg1gqHXYR1Q= - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.npm.taobao.org/tmpl/download/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= - -tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/tr46/download/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= - -"true-case-path@^1.0.2": - version "1.0.3" - resolved "https://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" - integrity sha1-+BO1qMhrQNpZYGcisUTjIleZ9H0= - dependencies: - glob "^7.1.2" - -ts-pnp@1.1.2: - version "1.1.2" - resolved "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.1.2.tgz?cache=0&sync_timestamp=1596697408411&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-pnp%2Fdownload%2Fts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" - integrity sha1-vo5L/OXQDw9Y4GZqgiYMNKV69VI= - -ts-pnp@^1.1.2: - version "1.2.0" - resolved "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.2.0.tgz?cache=0&sync_timestamp=1596697408411&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-pnp%2Fdownload%2Fts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" - integrity sha1-pQCtCEsHmPHDBxrzkeZZEshrypI= - -tslib@^1.8.1, tslib@^1.9.0: - version "1.13.0" - resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz?cache=0&sync_timestamp=1596751904317&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM= - -tsutils@^3.7.0: - version "3.17.1" - resolved "https://registry.npm.taobao.org/tsutils/download/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha1-7XGZF/EcoN7lhicrKsSeAVot11k= - dependencies: - tslib "^1.8.1" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz?cache=0&sync_timestamp=1596697411087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E= - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1596697411087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= - -type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz?cache=0&sync_timestamp=1598016600310&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype%2Fdownload%2Ftype-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A= - -type@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/type/download/type-2.1.0.tgz?cache=0&sync_timestamp=1598016600310&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype%2Fdownload%2Ftype-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f" - integrity sha1-m9wixkjPjPht0j0yM2pBz7ZHXj8= - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz?cache=0&sync_timestamp=1596697411295&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypedarray%2Fdownload%2Ftypedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -uglify-js@3.4.x: - version "3.4.10" - resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1599413008915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" - integrity sha1-mtlWPY6zrN+404WX0q8dgV9qdV8= - dependencies: - commander "~2.19.0" - source-map "~0.6.1" - -unicode-canonical-property-names-ecmascript@^1.0.4: - 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#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha1-JhmADEyCWADv3YNDr33Zkzy+KBg= - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw= - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - 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#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha1-DZH2AO7rMJaqlisdb8iIduZOpTE= - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ= - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= - dependencies: - imurmurhash "^0.1.4" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= - -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - -uri-js@^4.2.2: - version "4.4.0" - resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.0.tgz?cache=0&sync_timestamp=1598814377097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" - integrity sha1-qnFCYd55PoqCNHp7zJznTobyhgI= - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-loader@2.1.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/url-loader/download/url-loader-2.1.0.tgz#bcc1ecabbd197e913eca23f5e0378e24b4412961" - integrity sha1-vMHsq70ZfpE+yiP14DeOJLRBKWE= - dependencies: - loader-utils "^1.2.3" - mime "^2.4.4" - schema-utils "^2.0.0" - -url-parse@^1.4.3: - version "1.4.7" - resolved "https://registry.npm.taobao.org/url-parse/download/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" - integrity sha1-qKg1NejACjFuQDpdtKwbm4U64ng= - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util.promisify@^1.0.0, util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha1-a693dLgO6w91INi4HQeYKlmruu4= - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1596697422093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&sync_timestamp=1596697422093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE= - dependencies: - inherits "2.0.3" - -utila@^0.4.0, utila@~0.4: - version "0.4.0" - resolved "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^3.0.1, uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1595884879134&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4= - -v8-compile-cache@^2.0.3: - version "2.1.1" - resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.1.tgz?cache=0&sync_timestamp=1590871780233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha1-VLw83UMxe8qR413K8wWxpyN950U= - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -value-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.npm.taobao.org/value-equal/download/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" - integrity sha1-Hgt5THNMXAyt4XnEN9NW2TGjTWw= - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -vendors@^1.0.0: - version "1.0.4" - resolved "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" - integrity sha1-4rgApT56Kbk1BsPPQRANFsTErY4= - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= - -w3c-hr-time@^1.0.1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha1-ConN9cwVgi35w2BUNnaWPgzDCM0= - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.npm.taobao.org/w3c-xmlserializer/download/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha1-MEhcp9cKb9BSQgo9Ev2Q5jOc55Q= - dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.npm.taobao.org/walker/download/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -watchpack-chokidar2@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" - integrity sha1-mUihhmy71suCTeoTp+1pH2yN3/A= - dependencies: - chokidar "^2.1.8" - -watchpack@^1.6.0: - version "1.7.4" - resolved "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" - integrity sha1-bp2lOzyAuy1lCBiPWyAEEIZs0ws= - dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.0" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98= - dependencies: - minimalistic-assert "^1.0.0" - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha1-qFWYCx8LazWbodXZ+zmulB+qY60= - -webpack-dev-middleware@^3.5.1: - version "3.7.2" - resolved "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.2.tgz?cache=0&sync_timestamp=1594744509096&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha1-ABnD23FuP6XOy/ZPKriKdLqzMfM= - dependencies: - 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@3.2.1: - version "3.2.1" - resolved "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e" - integrity sha1-G0XOPs/FW26+Xjbasnd8ArxQjE4= - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.0.0" - compression "^1.5.2" - connect-history-api-fallback "^1.3.0" - debug "^4.1.1" - del "^3.0.0" - express "^4.16.2" - html-entities "^1.2.0" - http-proxy-middleware "^0.19.1" - import-local "^2.0.0" - internal-ip "^4.2.0" - ip "^1.1.5" - killable "^1.0.0" - loglevel "^1.4.1" - opn "^5.1.0" - portfinder "^1.0.9" - schema-utils "^1.0.0" - selfsigned "^1.9.1" - semver "^5.6.0" - serve-index "^1.7.2" - sockjs "0.3.19" - sockjs-client "1.3.0" - spdy "^4.0.0" - strip-ansi "^3.0.0" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.5.1" - webpack-log "^2.0.0" - yargs "12.0.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-manifest-plugin@2.0.4: - version "2.0.4" - resolved "https://registry.npm.taobao.org/webpack-manifest-plugin/download/webpack-manifest-plugin-2.0.4.tgz#e4ca2999b09557716b8ba4475fb79fab5986f0cd" - integrity sha1-5MopmbCVV3Fri6RHX7efq1mG8M0= - dependencies: - fs-extra "^7.0.0" - lodash ">=3.5 <5" - tapable "^1.0.0" - -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1598284367825&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@4.39.1: - version "4.39.1" - resolved "https://registry.npm.taobao.org/webpack/download/webpack-4.39.1.tgz?cache=0&sync_timestamp=1598642808254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.39.1.tgz#60ed9fb2b72cd60f26ea526c404d2a4cc97a1bd8" - integrity sha1-YO2fsrcs1g8m6lJsQE0qTMl6G9g= - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/wasm-edit" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.2.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.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.1" - 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.1" - watchpack "^1.6.0" - webpack-sources "^1.4.1" - -websocket-driver@>=0.5.1: - version "0.7.4" - resolved "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz?cache=0&sync_timestamp=1591289007652&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebsocket-driver%2Fdownload%2Fwebsocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A= - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha1-f4RzvIOd/YdgituV1+sHUhFXikI= - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@^3.0.0: - version "3.4.0" - resolved "https://registry.npm.taobao.org/whatwg-fetch/download/whatwg-fetch-3.4.0.tgz?cache=0&sync_timestamp=1596818798032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-fetch%2Fdownload%2Fwhatwg-fetch-3.4.0.tgz#e11de14f4878f773fbebcde8871b2c0699af8b30" - integrity sha1-4R3hT0h493P7683ohxssBpmvizA= - -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.npm.taobao.org/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78= - -whatwg-url@^6.4.1: - version "6.5.0" - resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - integrity sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag= - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY= - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: - version "1.3.1" - resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha1-rgdOa9wMFKQx6ATmJFScYzsABFc= - dependencies: - string-width "^1.0.2 || 2" - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= - -workbox-background-sync@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-background-sync/download/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" - integrity sha1-JoIbm/Funjf9HWQCie3dwIr9GVA= - dependencies: - workbox-core "^4.3.1" - -workbox-broadcast-update@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-broadcast-update/download/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" - integrity sha1-4sAoCxSeOlBJg7dXYGrQQfMyw1s= - dependencies: - workbox-core "^4.3.1" - -workbox-build@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-build/download/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" - integrity sha1-QU9w+01t5H9lOGCLgOxSQS0jPmQ= - dependencies: - "@babel/runtime" "^7.3.4" - "@hapi/joi" "^15.0.0" - common-tags "^1.8.0" - fs-extra "^4.0.2" - glob "^7.1.3" - lodash.template "^4.4.0" - pretty-bytes "^5.1.0" - stringify-object "^3.3.0" - strip-comments "^1.0.2" - workbox-background-sync "^4.3.1" - workbox-broadcast-update "^4.3.1" - workbox-cacheable-response "^4.3.1" - workbox-core "^4.3.1" - workbox-expiration "^4.3.1" - workbox-google-analytics "^4.3.1" - workbox-navigation-preload "^4.3.1" - workbox-precaching "^4.3.1" - workbox-range-requests "^4.3.1" - workbox-routing "^4.3.1" - workbox-strategies "^4.3.1" - workbox-streams "^4.3.1" - workbox-sw "^4.3.1" - workbox-window "^4.3.1" - -workbox-cacheable-response@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-cacheable-response/download/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" - integrity sha1-9T4HkXnAlaPxnlMTsoSXXJFCjJE= - dependencies: - workbox-core "^4.3.1" - -workbox-core@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-core/download/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" - integrity sha1-AF0sagahcUN6/WyikEpXJ+zXO+Y= - -workbox-expiration@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-expiration/download/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" - integrity sha1-15BDNWICnlaDfzQdf1U8Snjr6SE= - dependencies: - workbox-core "^4.3.1" - -workbox-google-analytics@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-google-analytics/download/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" - integrity sha1-ntoBg7EDiQtcJW5vTqFaHxVIUZo= - dependencies: - workbox-background-sync "^4.3.1" - workbox-core "^4.3.1" - workbox-routing "^4.3.1" - workbox-strategies "^4.3.1" - -workbox-navigation-preload@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-navigation-preload/download/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" - integrity sha1-Kcjk21hDgDs0zZbcFV+evZr6RT0= - dependencies: - workbox-core "^4.3.1" - -workbox-precaching@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-precaching/download/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" - integrity sha1-n8Re0SLZS74fDqlYT/WUCWB3HLo= - dependencies: - workbox-core "^4.3.1" - -workbox-range-requests@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-range-requests/download/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" - integrity sha1-+KRwGIkiFFy/DAmpotXjVkUkTnQ= - dependencies: - workbox-core "^4.3.1" - -workbox-routing@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-routing/download/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" - integrity sha1-pnWEGvYj4LsMZ85O2OckrAvtDNo= - dependencies: - workbox-core "^4.3.1" - -workbox-strategies@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-strategies/download/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" - integrity sha1-0r4DxO8hTBFeGrKcnHWcn+Pp5kY= - dependencies: - workbox-core "^4.3.1" - -workbox-streams@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-streams/download/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" - integrity sha1-C1facOmCVy3gnIdC3Qy0Cmt8LMM= - dependencies: - workbox-core "^4.3.1" - -workbox-sw@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-sw/download/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" - integrity sha1-32njlcR5700USZNyvNhMD14kYWQ= - -workbox-webpack-plugin@4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-webpack-plugin/download/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" - integrity sha1-R/9eocwHS2xA+1qGEIhjokEg1L0= - dependencies: - "@babel/runtime" "^7.0.0" - json-stable-stringify "^1.0.1" - workbox-build "^4.3.1" - -workbox-window@^4.3.1: - version "4.3.1" - resolved "https://registry.npm.taobao.org/workbox-window/download/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" - integrity sha1-7mBRvxDwavpUg8m436BTGZTt4PM= - dependencies: - workbox-core "^4.3.1" - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= - dependencies: - errno "~0.1.7" - -worker-rpc@^0.1.0: - version "0.1.1" - resolved "https://registry.npm.taobao.org/worker-rpc/download/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" - integrity sha1-y1Zb1tcHGo8WZgaGBR6WmtMvVNU= - dependencies: - microevent.ts "~0.1.1" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha1-0LBUY8GIroBDlv1asqNwBir4dSk= - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= - dependencies: - mkdirp "^0.5.1" - -ws@^5.2.0: - version "5.2.2" - resolved "https://registry.npm.taobao.org/ws/download/ws-5.2.2.tgz?cache=0&sync_timestamp=1593925601875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha1-3/7xSGa46NyRM1glFNG++vlumA8= - dependencies: - async-limiter "~1.0.0" - -ws@^6.1.2: - version "6.2.1" - resolved "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz?cache=0&sync_timestamp=1593925601875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha1-RC/fCkftZPWbal2P8TD0dI7VJPs= - dependencies: - async-limiter "~1.0.0" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo= - -xmlchars@^2.1.1: - version "2.2.0" - resolved "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs= - -xregexp@4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/xregexp/download/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" - integrity sha1-5pgYneSd0qGMxWh7BeF8jkOUMCA= - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz?cache=0&sync_timestamp=1596697437792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxtend%2Fdownload%2Fxtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= - -"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz?cache=0&sync_timestamp=1599348595436&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= - -yaml@^1.7.2: - version "1.10.0" - resolved "https://registry.npm.taobao.org/yaml/download/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha1-O1k63ZRIdgd9TWg/7gEIG9n/8x4= - -yargs-parser@^10.1.0: - version "10.1.0" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-10.1.0.tgz?cache=0&sync_timestamp=1598505024328&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - integrity sha1-cgImW4n36eny5XZeD+c1qQXtuqg= - dependencies: - camelcase "^4.1.0" - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1598505024328&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@12.0.2: - version "12.0.2" - resolved "https://registry.npm.taobao.org/yargs/download/yargs-12.0.2.tgz?cache=0&sync_timestamp=1598505659145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" - integrity sha1-/lgjQ2k5KvM+y+9TgZFx7/D1qtw= - dependencies: - cliui "^4.0.0" - decamelize "^2.0.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^10.1.0" - -yargs@^13.3.0, yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1598505659145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= - dependencies: - 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" +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.5.5": + version "7.5.5" + resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" + integrity sha1-vAeC9tafe31JUxIZaZuYj2aaj50= + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" + integrity sha1-Fo2ho26Q2miujUnA8bSMfGJJITo= + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/compat-data@^7.10.4", "@babel/compat-data@^7.11.0", "@babel/compat-data@^7.9.0": + version "7.11.0" + resolved "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.11.0.tgz#e9f73efe09af1355b723a7f39b11bad637d7c99c" + integrity sha1-6fc+/gmvE1W3I6fzmxG61jfXyZw= + dependencies: + browserslist "^4.12.0" + invariant "^2.2.4" + semver "^5.5.0" + +"@babel/core@7.5.5": + version "7.5.5" + resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.5.5.tgz?cache=0&sync_timestamp=1599146819802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" + integrity sha1-F7JobvDWvFj5Y93daKtml1VYLDA= + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.5.5" + "@babel/helpers" "^7.5.5" + "@babel/parser" "^7.5.5" + "@babel/template" "^7.4.4" + "@babel/traverse" "^7.5.5" + "@babel/types" "^7.5.5" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.9.0.tgz?cache=0&sync_timestamp=1599146819802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" + integrity sha1-rJd7U4t34TL/cG87ik260JwDxW4= + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helpers" "^7.9.0" + "@babel/parser" "^7.9.0" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@^7.1.0", "@babel/core@^7.4.5": + version "7.11.6" + resolved "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.11.6.tgz?cache=0&sync_timestamp=1599146819802&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" + integrity sha1-OpRV3HOH/xusRXcGULwTugShVlE= + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.6" + "@babel/helper-module-transforms" "^7.11.0" + "@babel/helpers" "^7.10.4" + "@babel/parser" "^7.11.5" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.11.5" + "@babel/types" "^7.11.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.11.5", "@babel/generator@^7.11.6", "@babel/generator@^7.4.0", "@babel/generator@^7.5.5", "@babel/generator@^7.9.0": + version "7.11.6" + resolved "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.11.6.tgz?cache=0&sync_timestamp=1599146811213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" + integrity sha1-uGiQD4GxY7TUZOokVFxhy6xNxiA= + dependencies: + "@babel/types" "^7.11.5" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.10.4.tgz?cache=0&sync_timestamp=1593522826156&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" + integrity sha1-W/DUlaP3V6w72ki1vzs7ownHK6M= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" + integrity sha1-uwt18xv5jL+f8UPBrleLhydK4aM= + dependencies: + "@babel/helper-explode-assignable-expression" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-builder-react-jsx-experimental@^7.10.4", "@babel/helper-builder-react-jsx-experimental@^7.11.5": + version "7.11.5" + resolved "https://registry.npm.taobao.org/@babel/helper-builder-react-jsx-experimental/download/@babel/helper-builder-react-jsx-experimental-7.11.5.tgz?cache=0&sync_timestamp=1598904856208&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-builder-react-jsx-experimental%2Fdownload%2F%40babel%2Fhelper-builder-react-jsx-experimental-7.11.5.tgz#4ea43dd63857b0a35cd1f1b161dc29b43414e79f" + integrity sha1-TqQ91jhXsKNc0fGxYdwptDQU558= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-module-imports" "^7.10.4" + "@babel/types" "^7.11.5" + +"@babel/helper-builder-react-jsx@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-builder-react-jsx/download/@babel/helper-builder-react-jsx-7.10.4.tgz?cache=0&sync_timestamp=1593522831822&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-builder-react-jsx%2Fdownload%2F%40babel%2Fhelper-builder-react-jsx-7.10.4.tgz#8095cddbff858e6fa9c326daee54a2f2732c1d5d" + integrity sha1-gJXN2/+Fjm+pwyba7lSi8nMsHV0= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.8.7": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.10.4.tgz?cache=0&sync_timestamp=1593522816195&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.10.4.tgz#804ae8e3f04376607cc791b9d47d540276332bd2" + integrity sha1-gEro4/BDdmB8x5G51H1UAnYzK9I= + dependencies: + "@babel/compat-data" "^7.10.4" + browserslist "^4.12.0" + invariant "^2.2.4" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/helper-create-class-features-plugin@^7.10.4", "@babel/helper-create-class-features-plugin@^7.10.5", "@babel/helper-create-class-features-plugin@^7.8.3": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.10.5.tgz?cache=0&sync_timestamp=1594749163935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.10.5.tgz#9f61446ba80e8240b0a5c85c6fdac8459d6f259d" + integrity sha1-n2FEa6gOgkCwpchcb9rIRZ1vJZ0= + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-member-expression-to-functions" "^7.10.5" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + +"@babel/helper-create-regexp-features-plugin@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.10.4.tgz?cache=0&sync_timestamp=1593522831219&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-regexp-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8" + integrity sha1-/dYNiFJGWaC2lZwFeZJeQlcU87g= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + regexpu-core "^4.7.0" + +"@babel/helper-define-map@^7.10.4": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30" + integrity sha1-tTwQ23imQIABUmkrEzkxR6y5uzA= + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/types" "^7.10.5" + lodash "^4.17.19" + +"@babel/helper-explode-assignable-expression@^7.10.4": + version "7.11.4" + resolved "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.11.4.tgz?cache=0&sync_timestamp=1597948528737&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.11.4.tgz#2d8e3470252cc17aba917ede7803d4a7a276a41b" + integrity sha1-LY40cCUswXq6kX7eeAPUp6J2pBs= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-function-name@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" + integrity sha1-0tOyDFmtjEcRL6fSqUvAnV74Lxo= + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-get-function-arity@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.10.4.tgz?cache=0&sync_timestamp=1593522827189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" + integrity sha1-mMHL6g4jMvM/mkZhuM4VBbLBm6I= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-hoist-variables@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.10.4.tgz?cache=0&sync_timestamp=1593521209226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e" + integrity sha1-1JsAHR1aaMpeZgTdoBpil/fJOB4= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-member-expression-to-functions@^7.10.4", "@babel/helper-member-expression-to-functions@^7.10.5": + version "7.11.0" + resolved "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.11.0.tgz?cache=0&sync_timestamp=1596144651395&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.11.0.tgz#ae69c83d84ee82f4b42f96e2a09410935a8f26df" + integrity sha1-rmnIPYTugvS0L5bioJQQk1qPJt8= + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" + integrity sha1-TFxUvgS9MWcKc4J5fXW5+i5bViA= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-module-transforms@^7.10.4", "@babel/helper-module-transforms@^7.10.5", "@babel/helper-module-transforms@^7.11.0", "@babel/helper-module-transforms@^7.9.0": + version "7.11.0" + resolved "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.11.0.tgz?cache=0&sync_timestamp=1596142927697&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.11.0.tgz#b16f250229e47211abdd84b34b64737c2ab2d359" + integrity sha1-sW8lAinkchGr3YSzS2RzfCqy01k= + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-simple-access" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/template" "^7.10.4" + "@babel/types" "^7.11.0" + lodash "^4.17.19" + +"@babel/helper-optimise-call-expression@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.10.4.tgz?cache=0&sync_timestamp=1593522827576&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" + integrity sha1-UNyWQT1ZT5lad5BZBbBYk813lnM= + dependencies: + "@babel/types" "^7.10.4" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.10.4.tgz?cache=0&sync_timestamp=1593521148758&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha1-L3WoMSadT2d95JmG3/WZJ1M883U= + +"@babel/helper-regex@^7.10.4": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.10.5.tgz?cache=0&sync_timestamp=1594749174690&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-regex%2Fdownload%2F%40babel%2Fhelper-regex-7.10.5.tgz#32dfbb79899073c415557053a19bd055aae50ae0" + integrity sha1-Mt+7eYmQc8QVVXBToZvQVarlCuA= + dependencies: + lodash "^4.17.19" + +"@babel/helper-remap-async-to-generator@^7.10.4": + version "7.11.4" + resolved "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.11.4.tgz?cache=0&sync_timestamp=1597948526080&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.11.4.tgz#4474ea9f7438f18575e30b0cac784045b402a12d" + integrity sha1-RHTqn3Q48YV14wsMrHhARbQCoS0= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-wrap-function" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-replace-supers@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" + integrity sha1-1YXNk4jqBuYDHkzUS2cTy+rZ5s8= + dependencies: + "@babel/helper-member-expression-to-functions" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-simple-access@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" + integrity sha1-D1zNopRSd6KnotOoIeFTle3PNGE= + dependencies: + "@babel/template" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helper-skip-transparent-expression-wrappers@^7.11.0": + version "7.11.0" + resolved "https://registry.npm.taobao.org/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.11.0.tgz?cache=0&sync_timestamp=1596142927780&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-skip-transparent-expression-wrappers%2Fdownload%2F%40babel%2Fhelper-skip-transparent-expression-wrappers-7.11.0.tgz#eec162f112c2f58d3af0af125e3bb57665146729" + integrity sha1-7sFi8RLC9Y068K8SXju1dmUUZyk= + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0": + version "7.11.0" + resolved "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.11.0.tgz?cache=0&sync_timestamp=1596142927868&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.11.0.tgz#f8a491244acf6a676158ac42072911ba83ad099f" + integrity sha1-+KSRJErPamdhWKxCBykRuoOtCZ8= + dependencies: + "@babel/types" "^7.11.0" + +"@babel/helper-validator-identifier@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz?cache=0&sync_timestamp=1593522720715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" + integrity sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI= + +"@babel/helper-wrap-function@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.10.4.tgz?cache=0&sync_timestamp=1593522846867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" + integrity sha1-im9wHqsP8592W1oc/vQJmQ5iS4c= + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/helpers@^7.10.4", "@babel/helpers@^7.5.5", "@babel/helpers@^7.9.0": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" + integrity sha1-Kr6w1yGv98Cpc3a54fb2XXpHUEQ= + dependencies: + "@babel/template" "^7.10.4" + "@babel/traverse" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/highlight@^7.0.0", "@babel/highlight@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.10.4.tgz?cache=0&sync_timestamp=1593522818552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" + integrity sha1-fRvf1ldTU4+r5sOFls23bZrGAUM= + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.5", "@babel/parser@^7.4.3", "@babel/parser@^7.5.5", "@babel/parser@^7.9.0": + version "7.11.5" + resolved "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.11.5.tgz?cache=0&sync_timestamp=1598904421668&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fparser%2Fdownload%2F%40babel%2Fparser-7.11.5.tgz#c7ff6303df71080ec7a4f5b8c003c58f1cf51037" + integrity sha1-x/9jA99xCA7HpPW4wAPFjxz1EDc= + +"@babel/plugin-proposal-async-generator-functions@^7.10.4", "@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.10.5.tgz#3491cabf2f7c179ab820606cec27fed15e0e8558" + integrity sha1-NJHKvy98F5q4IGBs7Cf+0V4OhVg= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.10.4" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-class-properties@7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.8.3.tgz?cache=0&sync_timestamp=1593522946305&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" + integrity sha1-XgZlSvXNBLYIkVqtqbKmeIAERk4= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-proposal-class-properties@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.10.4.tgz?cache=0&sync_timestamp=1593522946305&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-class-properties%2Fdownload%2F%40babel%2Fplugin-proposal-class-properties-7.10.4.tgz#a33bf632da390a59c7a8c570045d1115cd778807" + integrity sha1-ozv2Mto5ClnHqMVwBF0RFc13iAc= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-decorators@7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.8.3.tgz?cache=0&sync_timestamp=1594749164662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-decorators%2Fdownload%2F%40babel%2Fplugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" + integrity sha1-IVaGCrZcWr8GjD9nBCGEBBBmVD4= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-decorators" "^7.8.3" + +"@babel/plugin-proposal-dynamic-import@^7.10.4", "@babel/plugin-proposal-dynamic-import@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.10.4.tgz?cache=0&sync_timestamp=1593521117836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-dynamic-import%2Fdownload%2F%40babel%2Fplugin-proposal-dynamic-import-7.10.4.tgz#ba57a26cb98b37741e9d5bca1b8b0ddf8291f17e" + integrity sha1-uleibLmLN3QenVvKG4sN34KR8X4= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + +"@babel/plugin-proposal-export-namespace-from@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.10.4.tgz?cache=0&sync_timestamp=1593522795481&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-export-namespace-from%2Fdownload%2F%40babel%2Fplugin-proposal-export-namespace-from-7.10.4.tgz#570d883b91031637b3e2958eea3c438e62c05f54" + integrity sha1-Vw2IO5EDFjez4pWO6jxDjmLAX1Q= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.10.4", "@babel/plugin-proposal-json-strings@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.10.4.tgz?cache=0&sync_timestamp=1593521072686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.10.4.tgz#593e59c63528160233bd321b1aebe0820c2341db" + integrity sha1-WT5ZxjUoFgIzvTIbGuvgggwjQds= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-logical-assignment-operators@^7.11.0": + version "7.11.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.11.0.tgz#9f80e482c03083c87125dee10026b58527ea20c8" + integrity sha1-n4DkgsAwg8hxJd7hACa1hSfqIMg= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz?cache=0&sync_timestamp=1593521118939&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" + integrity sha1-5FciU/3u1lzd7s/as/kor+sv1dI= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.10.4", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz?cache=0&sync_timestamp=1593521118939&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.10.4.tgz#02a7e961fc32e6d5b2db0649e01bf80ddee7e04a" + integrity sha1-AqfpYfwy5tWy2wZJ4Bv4Dd7n4Eo= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-numeric-separator@7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.8.3.tgz?cache=0&sync_timestamp=1593522949557&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" + integrity sha1-XWdpQJaZ7Js7aGhM2BFs7f+Tutg= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.10.4", "@babel/plugin-proposal-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.10.4.tgz?cache=0&sync_timestamp=1593522949557&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-numeric-separator%2Fdownload%2F%40babel%2Fplugin-proposal-numeric-separator-7.10.4.tgz#ce1590ff0a65ad12970a609d78855e9a4c1aef06" + integrity sha1-zhWQ/wplrRKXCmCdeIVemkwa7wY= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.11.0", "@babel/plugin-proposal-object-rest-spread@^7.9.0": + version "7.11.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.11.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.11.0.tgz#bd81f95a1f746760ea43b6c2d3d62b11790ad0af" + integrity sha1-vYH5Wh90Z2DqQ7bC09YrEXkK0K8= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.10.4" + +"@babel/plugin-proposal-optional-catch-binding@^7.10.4", "@babel/plugin-proposal-optional-catch-binding@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.10.4.tgz?cache=0&sync_timestamp=1593522756062&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-catch-binding%2Fdownload%2F%40babel%2Fplugin-proposal-optional-catch-binding-7.10.4.tgz#31c938309d24a78a49d68fdabffaa863758554dd" + integrity sha1-Mck4MJ0kp4pJ1o/av/qoY3WFVN0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.9.0.tgz?cache=0&sync_timestamp=1596142928022&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" + integrity sha1-MdsWsVTDnWuKZFKSRyuYOUwpKlg= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.11.0", "@babel/plugin-proposal-optional-chaining@^7.9.0": + version "7.11.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.11.0.tgz?cache=0&sync_timestamp=1596142928022&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.11.0.tgz#de5866d0646f6afdaab8a566382fe3a221755076" + integrity sha1-3lhm0GRvav2quKVmOC/joiF1UHY= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-private-methods@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.10.4.tgz?cache=0&sync_timestamp=1593521310990&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.10.4.tgz#b160d972b8fdba5c7d111a145fc8c421fc2a6909" + integrity sha1-sWDZcrj9ulx9ERoUX8jEIfwqaQk= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-proposal-unicode-property-regex@^7.10.4", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" + integrity sha1-RIPNpTBBzjQTt/4vAAImZd36p10= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-async-generators@^7.8.0": + 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#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.10.4.tgz?cache=0&sync_timestamp=1593522817483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-class-properties%2Fdownload%2F%40babel%2Fplugin-syntax-class-properties-7.10.4.tgz#6644e6a0baa55a61f9e3231f6c9eeb6ee46c124c" + integrity sha1-ZkTmoLqlWmH54yMfbJ7rbuRsEkw= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-decorators@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.10.4.tgz?cache=0&sync_timestamp=1593521120720&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-decorators%2Fdownload%2F%40babel%2Fplugin-syntax-decorators-7.10.4.tgz#6853085b2c429f9d322d02f5a635018cdeb2360c" + integrity sha1-aFMIWyxCn50yLQL1pjUBjN6yNgw= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-dynamic-import@^7.8.0": + 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#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + 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#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha1-AolkqbqA28CUyRXEh618TnpmRlo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-flow@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-flow/download/@babel/plugin-syntax-flow-7.10.4.tgz?cache=0&sync_timestamp=1593522823440&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-flow%2Fdownload%2F%40babel%2Fplugin-syntax-flow-7.10.4.tgz#53351dd7ae01995e567d04ce42af1a6e0ba846a6" + integrity sha1-UzUd164BmV5WfQTOQq8abguoRqY= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.0": + 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#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.10.4.tgz#39abaae3cbf710c4373d8429484e6ba21340166c" + integrity sha1-Oauq48v3EMQ3PYQpSE5rohNAFmw= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + 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?cache=0&sync_timestamp=1593522984333&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-logical-assignment-operators%2Fdownload%2F%40babel%2Fplugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha1-ypHvRjA1MESLkGZSusLp/plB9pk= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + 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#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": + 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&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#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0": + 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#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + 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#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0": + 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#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.10.4", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.10.4.tgz?cache=0&sync_timestamp=1593522992017&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-top-level-await%2Fdownload%2F%40babel%2Fplugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d" + integrity sha1-S764kXtU/PdoNk4KgfVg4zo+9X0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-typescript@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-syntax-typescript/download/@babel/plugin-syntax-typescript-7.10.4.tgz?cache=0&sync_timestamp=1593522838349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-typescript%2Fdownload%2F%40babel%2Fplugin-syntax-typescript-7.10.4.tgz#2f55e770d3501e83af217d782cb7517d7bb34d25" + integrity sha1-L1XncNNQHoOvIX14LLdRfXuzTSU= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-arrow-functions@^7.10.4", "@babel/plugin-transform-arrow-functions@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd" + integrity sha1-4ilg135pfHT0HFAdRNc9v4pqZM0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-async-to-generator@^7.10.4", "@babel/plugin-transform-async-to-generator@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.10.4.tgz?cache=0&sync_timestamp=1593522851748&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.10.4.tgz#41a5017e49eb6f3cda9392a51eef29405b245a37" + integrity sha1-QaUBfknrbzzak5KlHu8pQFskWjc= + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-remap-async-to-generator" "^7.10.4" + +"@babel/plugin-transform-block-scoped-functions@^7.10.4", "@babel/plugin-transform-block-scoped-functions@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.10.4.tgz?cache=0&sync_timestamp=1593521990101&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.10.4.tgz#1afa595744f75e43a91af73b0d998ecfe4ebc2e8" + integrity sha1-GvpZV0T3XkOpGvc7DZmOz+Trwug= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-block-scoping@^7.10.4", "@babel/plugin-transform-block-scoping@^7.8.3": + version "7.11.1" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.11.1.tgz?cache=0&sync_timestamp=1596578803980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.11.1.tgz#5b7efe98852bef8d652c0b28144cd93a9e4b5215" + integrity sha1-W37+mIUr741lLAsoFEzZOp5LUhU= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-classes@^7.10.4", "@babel/plugin-transform-classes@^7.9.0": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.10.4.tgz?cache=0&sync_timestamp=1593522856487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7" + integrity sha1-QFE2rys+IYvEoZJiKLyRerGgrcc= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-define-map" "^7.10.4" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-optimise-call-expression" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.10.4" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.10.4", "@babel/plugin-transform-computed-properties@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.10.4.tgz#9ded83a816e82ded28d52d4b4ecbdd810cdfc0eb" + integrity sha1-ne2DqBboLe0o1S1LTsvdgQzfwOs= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-destructuring@^7.10.4", "@babel/plugin-transform-destructuring@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.10.4.tgz#70ddd2b3d1bea83d01509e9bb25ddb3a74fc85e5" + integrity sha1-cN3Ss9G+qD0BUJ6bsl3bOnT8heU= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-dotall-regex@^7.10.4", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" + integrity sha1-RpwgYhBcHragQOr0+sS0iAeDle4= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-duplicate-keys@^7.10.4", "@babel/plugin-transform-duplicate-keys@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.10.4.tgz#697e50c9fee14380fe843d1f306b295617431e47" + integrity sha1-aX5Qyf7hQ4D+hD0fMGspVhdDHkc= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-exponentiation-operator@^7.10.4", "@babel/plugin-transform-exponentiation-operator@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.10.4.tgz?cache=0&sync_timestamp=1593522967206&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.10.4.tgz#5ae338c57f8cf4001bdb35607ae66b92d665af2e" + integrity sha1-WuM4xX+M9AAb2zVgeuZrktZlry4= + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-flow-strip-types@7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-flow-strip-types/download/@babel/plugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392" + integrity sha1-ijU4qkBDTgALj0Sjxcmscim9I5I= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-flow" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.10.4", "@babel/plugin-transform-for-of@^7.9.0": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.10.4.tgz?cache=0&sync_timestamp=1593521205142&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-for-of%2Fdownload%2F%40babel%2Fplugin-transform-for-of-7.10.4.tgz#c08892e8819d3a5db29031b115af511dbbfebae9" + integrity sha1-wIiS6IGdOl2ykDGxFa9RHbv+uuk= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-function-name@^7.10.4", "@babel/plugin-transform-function-name@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.10.4.tgz#6a467880e0fc9638514ba369111811ddbe2644b7" + integrity sha1-akZ4gOD8ljhRS6NpERgR3b4mRLc= + dependencies: + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-literals@^7.10.4", "@babel/plugin-transform-literals@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.10.4.tgz?cache=0&sync_timestamp=1593521205335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-literals%2Fdownload%2F%40babel%2Fplugin-transform-literals-7.10.4.tgz#9f42ba0841100a135f22712d0e391c462f571f3c" + integrity sha1-n0K6CEEQChNfInEtDjkcRi9XHzw= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.10.4", "@babel/plugin-transform-member-expression-literals@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.10.4.tgz?cache=0&sync_timestamp=1593521257832&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.10.4.tgz#b1ec44fcf195afcb8db2c62cd8e551c881baf8b7" + integrity sha1-sexE/PGVr8uNssYs2OVRyIG6+Lc= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-modules-amd@^7.10.4", "@babel/plugin-transform-modules-amd@^7.9.0": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.10.5.tgz?cache=0&sync_timestamp=1594749164106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-amd%2Fdownload%2F%40babel%2Fplugin-transform-modules-amd-7.10.5.tgz#1b9cddaf05d9e88b3aad339cb3e445c4f020a9b1" + integrity sha1-G5zdrwXZ6Is6rTOcs+RFxPAgqbE= + dependencies: + "@babel/helper-module-transforms" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.10.4", "@babel/plugin-transform-modules-commonjs@^7.9.0": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.10.4.tgz#66667c3eeda1ebf7896d41f1f16b17105a2fbca0" + integrity sha1-ZmZ8Pu2h6/eJbUHx8WsXEFovvKA= + dependencies: + "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-simple-access" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.10.4", "@babel/plugin-transform-modules-systemjs@^7.9.0": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.10.5.tgz?cache=0&sync_timestamp=1594749163311&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-systemjs%2Fdownload%2F%40babel%2Fplugin-transform-modules-systemjs-7.10.5.tgz#6270099c854066681bae9e05f87e1b9cadbe8c85" + integrity sha1-YnAJnIVAZmgbrp4F+H4bnK2+jIU= + dependencies: + "@babel/helper-hoist-variables" "^7.10.4" + "@babel/helper-module-transforms" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.10.4", "@babel/plugin-transform-modules-umd@^7.9.0": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.10.4.tgz?cache=0&sync_timestamp=1593522846765&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.10.4.tgz#9a8481fe81b824654b3a0b65da3df89f3d21839e" + integrity sha1-moSB/oG4JGVLOgtl2j34nz0hg54= + dependencies: + "@babel/helper-module-transforms" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.10.4", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.10.4.tgz#78b4d978810b6f3bcf03f9e318f2fc0ed41aecb6" + integrity sha1-eLTZeIELbzvPA/njGPL8DtQa7LY= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + +"@babel/plugin-transform-new-target@^7.10.4", "@babel/plugin-transform-new-target@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.10.4.tgz?cache=0&sync_timestamp=1593521205540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-new-target%2Fdownload%2F%40babel%2Fplugin-transform-new-target-7.10.4.tgz#9097d753cb7b024cb7381a3b2e52e9513a9c6888" + integrity sha1-kJfXU8t7Aky3OBo7LlLpUTqcaIg= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-object-super@^7.10.4", "@babel/plugin-transform-object-super@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.10.4.tgz?cache=0&sync_timestamp=1593522848107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.10.4.tgz#d7146c4d139433e7a6526f888c667e314a093894" + integrity sha1-1xRsTROUM+emUm+IjGZ+MUoJOJQ= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-replace-supers" "^7.10.4" + +"@babel/plugin-transform-parameters@^7.10.4", "@babel/plugin-transform-parameters@^7.8.7": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.10.5.tgz#59d339d58d0b1950435f4043e74e2510005e2c4a" + integrity sha1-WdM51Y0LGVBDX0BD504lEABeLEo= + dependencies: + "@babel/helper-get-function-arity" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-property-literals@^7.10.4", "@babel/plugin-transform-property-literals@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.10.4.tgz?cache=0&sync_timestamp=1593521258372&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-property-literals%2Fdownload%2F%40babel%2Fplugin-transform-property-literals-7.10.4.tgz#f6fe54b6590352298785b83edd815d214c42e3c0" + integrity sha1-9v5UtlkDUimHhbg+3YFdIUxC48A= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-constant-elements@^7.0.0": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-constant-elements/download/@babel/plugin-transform-react-constant-elements-7.10.4.tgz#0f485260bf1c29012bb973e7e404749eaac12c9e" + integrity sha1-D0hSYL8cKQEruXPn5AR0nqrBLJ4= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-display-name@7.8.3": + version "7.8.3" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.8.3.tgz?cache=0&sync_timestamp=1593522821324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-display-name%2Fdownload%2F%40babel%2Fplugin-transform-react-display-name-7.8.3.tgz#70ded987c91609f78353dd76d2fb2a0bb991e8e5" + integrity sha1-cN7Zh8kWCfeDU9120vsqC7mR6OU= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-react-display-name@^7.10.4", "@babel/plugin-transform-react-display-name@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-display-name/download/@babel/plugin-transform-react-display-name-7.10.4.tgz?cache=0&sync_timestamp=1593522821324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-display-name%2Fdownload%2F%40babel%2Fplugin-transform-react-display-name-7.10.4.tgz#b5795f4e3e3140419c3611b7a2a3832b9aef328d" + integrity sha1-tXlfTj4xQEGcNhG3oqODK5rvMo0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-react-jsx-development@^7.10.4", "@babel/plugin-transform-react-jsx-development@^7.9.0": + version "7.11.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-development/download/@babel/plugin-transform-react-jsx-development-7.11.5.tgz?cache=0&sync_timestamp=1598905189892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx-development%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-development-7.11.5.tgz#e1439e6a57ee3d43e9f54ace363fb29cefe5d7b6" + integrity sha1-4UOealfuPUPp9UrONj+ynO/l17Y= + dependencies: + "@babel/helper-builder-react-jsx-experimental" "^7.11.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.10.4" + +"@babel/plugin-transform-react-jsx-self@^7.10.4", "@babel/plugin-transform-react-jsx-self@^7.9.0": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-self/download/@babel/plugin-transform-react-jsx-self-7.10.4.tgz#cd301a5fed8988c182ed0b9d55e9bd6db0bd9369" + integrity sha1-zTAaX+2JiMGC7QudVem9bbC9k2k= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.10.4" + +"@babel/plugin-transform-react-jsx-source@^7.10.4", "@babel/plugin-transform-react-jsx-source@^7.9.0": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx-source/download/@babel/plugin-transform-react-jsx-source-7.10.5.tgz?cache=0&sync_timestamp=1594749478794&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-jsx-source%2Fdownload%2F%40babel%2Fplugin-transform-react-jsx-source-7.10.5.tgz#34f1779117520a779c054f2cdd9680435b9222b4" + integrity sha1-NPF3kRdSCnecBU8s3ZaAQ1uSIrQ= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.10.4" + +"@babel/plugin-transform-react-jsx@^7.10.4", "@babel/plugin-transform-react-jsx@^7.9.1": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-jsx/download/@babel/plugin-transform-react-jsx-7.10.4.tgz#673c9f913948764a4421683b2bef2936968fddf2" + integrity sha1-ZzyfkTlIdkpEIWg7K+8pNpaP3fI= + dependencies: + "@babel/helper-builder-react-jsx" "^7.10.4" + "@babel/helper-builder-react-jsx-experimental" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.10.4" + +"@babel/plugin-transform-react-pure-annotations@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-react-pure-annotations/download/@babel/plugin-transform-react-pure-annotations-7.10.4.tgz?cache=0&sync_timestamp=1593522831272&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-react-pure-annotations%2Fdownload%2F%40babel%2Fplugin-transform-react-pure-annotations-7.10.4.tgz#3eefbb73db94afbc075f097523e445354a1c6501" + integrity sha1-Pu+7c9uUr7wHXwl1I+RFNUocZQE= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-regenerator@^7.10.4", "@babel/plugin-transform-regenerator@^7.8.7": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.10.4.tgz?cache=0&sync_timestamp=1593521070883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-regenerator%2Fdownload%2F%40babel%2Fplugin-transform-regenerator-7.10.4.tgz#2015e59d839074e76838de2159db421966fd8b63" + integrity sha1-IBXlnYOQdOdoON4hWdtCGWb9i2M= + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.10.4", "@babel/plugin-transform-reserved-words@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.10.4.tgz?cache=0&sync_timestamp=1593522816859&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-reserved-words%2Fdownload%2F%40babel%2Fplugin-transform-reserved-words-7.10.4.tgz#8f2682bcdcef9ed327e1b0861585d7013f8a54dd" + integrity sha1-jyaCvNzvntMn4bCGFYXXAT+KVN0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-runtime@7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" + integrity sha1-RUaMCudMwTIE4dOx9M5u6DJYrws= + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.10.4", "@babel/plugin-transform-shorthand-properties@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.10.4.tgz?cache=0&sync_timestamp=1593521207009&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-shorthand-properties%2Fdownload%2F%40babel%2Fplugin-transform-shorthand-properties-7.10.4.tgz#9fd25ec5cdd555bb7f473e5e6ee1c971eede4dd6" + integrity sha1-n9Jexc3VVbt/Rz5ebuHJce7eTdY= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-spread@^7.11.0", "@babel/plugin-transform-spread@^7.8.3": + version "7.11.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.11.0.tgz?cache=0&sync_timestamp=1596142928262&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-spread%2Fdownload%2F%40babel%2Fplugin-transform-spread-7.11.0.tgz#fa84d300f5e4f57752fe41a6d1b3c554f13f17cc" + integrity sha1-+oTTAPXk9XdS/kGm0bPFVPE/F8w= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-skip-transparent-expression-wrappers" "^7.11.0" + +"@babel/plugin-transform-sticky-regex@^7.10.4", "@babel/plugin-transform-sticky-regex@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.10.4.tgz#8f3889ee8657581130a29d9cc91d7c73b7c4a28d" + integrity sha1-jziJ7oZXWBEwop2cyR18c7fEoo0= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-regex" "^7.10.4" + +"@babel/plugin-transform-template-literals@^7.10.4", "@babel/plugin-transform-template-literals@^7.8.3": + version "7.10.5" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.10.5.tgz#78bc5d626a6642db3312d9d0f001f5e7639fde8c" + integrity sha1-eLxdYmpmQtszEtnQ8AH152Of3ow= + dependencies: + "@babel/helper-annotate-as-pure" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-typeof-symbol@^7.10.4", "@babel/plugin-transform-typeof-symbol@^7.8.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.10.4.tgz#9509f1a7eec31c4edbffe137c16cc33ff0bc5bfc" + integrity sha1-lQnxp+7DHE7b/+E3wWzDP/C8W/w= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-typescript@^7.9.0": + version "7.11.0" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-typescript/download/@babel/plugin-transform-typescript-7.11.0.tgz?cache=0&sync_timestamp=1596142928402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-typescript%2Fdownload%2F%40babel%2Fplugin-transform-typescript-7.11.0.tgz#2b4879676af37342ebb278216dd090ac67f13abb" + integrity sha1-K0h5Z2rzc0LrsnghbdCQrGfxOrs= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-typescript" "^7.10.4" + +"@babel/plugin-transform-unicode-escapes@^7.10.4": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.10.4.tgz?cache=0&sync_timestamp=1593521262862&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-escapes%2Fdownload%2F%40babel%2Fplugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007" + integrity sha1-/q5SM5HHZR3awRXa4KnQaFeJIAc= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-transform-unicode-regex@^7.10.4", "@babel/plugin-transform-unicode-regex@^7.8.3": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.10.4.tgz#e56d71f9282fac6db09c82742055576d5e6d80a8" + integrity sha1-5W1x+SgvrG2wnIJ0IFVXbV5tgKg= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/preset-env@7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" + integrity sha1-pfxCSA6VCuj12fjyu8A/UnIt86g= + dependencies: + "@babel/compat-data" "^7.9.0" + "@babel/helper-compilation-targets" "^7.8.7" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-numeric-separator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.9.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.9.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.8.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.9.0" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.8.3" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.9.0" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.9.0" + "@babel/plugin-transform-modules-commonjs" "^7.9.0" + "@babel/plugin-transform-modules-systemjs" "^7.9.0" + "@babel/plugin-transform-modules-umd" "^7.9.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.8.7" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.7" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.4" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.9.0" + browserslist "^4.9.1" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/preset-env@^7.4.5": + version "7.11.5" + resolved "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.11.5.tgz#18cb4b9379e3e92ffea92c07471a99a2914e4272" + integrity sha1-GMtLk3nj6S/+qSwHRxqZopFOQnI= + dependencies: + "@babel/compat-data" "^7.11.0" + "@babel/helper-compilation-targets" "^7.10.4" + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-proposal-async-generator-functions" "^7.10.4" + "@babel/plugin-proposal-class-properties" "^7.10.4" + "@babel/plugin-proposal-dynamic-import" "^7.10.4" + "@babel/plugin-proposal-export-namespace-from" "^7.10.4" + "@babel/plugin-proposal-json-strings" "^7.10.4" + "@babel/plugin-proposal-logical-assignment-operators" "^7.11.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.10.4" + "@babel/plugin-proposal-numeric-separator" "^7.10.4" + "@babel/plugin-proposal-object-rest-spread" "^7.11.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.10.4" + "@babel/plugin-proposal-optional-chaining" "^7.11.0" + "@babel/plugin-proposal-private-methods" "^7.10.4" + "@babel/plugin-proposal-unicode-property-regex" "^7.10.4" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.10.4" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.10.4" + "@babel/plugin-transform-arrow-functions" "^7.10.4" + "@babel/plugin-transform-async-to-generator" "^7.10.4" + "@babel/plugin-transform-block-scoped-functions" "^7.10.4" + "@babel/plugin-transform-block-scoping" "^7.10.4" + "@babel/plugin-transform-classes" "^7.10.4" + "@babel/plugin-transform-computed-properties" "^7.10.4" + "@babel/plugin-transform-destructuring" "^7.10.4" + "@babel/plugin-transform-dotall-regex" "^7.10.4" + "@babel/plugin-transform-duplicate-keys" "^7.10.4" + "@babel/plugin-transform-exponentiation-operator" "^7.10.4" + "@babel/plugin-transform-for-of" "^7.10.4" + "@babel/plugin-transform-function-name" "^7.10.4" + "@babel/plugin-transform-literals" "^7.10.4" + "@babel/plugin-transform-member-expression-literals" "^7.10.4" + "@babel/plugin-transform-modules-amd" "^7.10.4" + "@babel/plugin-transform-modules-commonjs" "^7.10.4" + "@babel/plugin-transform-modules-systemjs" "^7.10.4" + "@babel/plugin-transform-modules-umd" "^7.10.4" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.10.4" + "@babel/plugin-transform-new-target" "^7.10.4" + "@babel/plugin-transform-object-super" "^7.10.4" + "@babel/plugin-transform-parameters" "^7.10.4" + "@babel/plugin-transform-property-literals" "^7.10.4" + "@babel/plugin-transform-regenerator" "^7.10.4" + "@babel/plugin-transform-reserved-words" "^7.10.4" + "@babel/plugin-transform-shorthand-properties" "^7.10.4" + "@babel/plugin-transform-spread" "^7.11.0" + "@babel/plugin-transform-sticky-regex" "^7.10.4" + "@babel/plugin-transform-template-literals" "^7.10.4" + "@babel/plugin-transform-typeof-symbol" "^7.10.4" + "@babel/plugin-transform-unicode-escapes" "^7.10.4" + "@babel/plugin-transform-unicode-regex" "^7.10.4" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.11.5" + browserslist "^4.12.0" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.1" + semver "^5.5.0" + +"@babel/preset-modules@^0.1.3": + 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=1598549824644&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-modules%2Fdownload%2F%40babel%2Fpreset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha1-Ni8raMZihClw/bXiVP/I/BwuQV4= + dependencies: + "@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/preset-react@7.9.1": + version "7.9.1" + resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.9.1.tgz#b346403c36d58c3bb544148272a0cefd9c28677a" + integrity sha1-s0ZAPDbVjDu1RBSCcqDO/ZwoZ3o= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-react-display-name" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.9.1" + "@babel/plugin-transform-react-jsx-development" "^7.9.0" + "@babel/plugin-transform-react-jsx-self" "^7.9.0" + "@babel/plugin-transform-react-jsx-source" "^7.9.0" + +"@babel/preset-react@^7.0.0": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/preset-react/download/@babel/preset-react-7.10.4.tgz#92e8a66d816f9911d11d4cc935be67adfc82dbcf" + integrity sha1-kuimbYFvmRHRHUzJNb5nrfyC288= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-transform-react-display-name" "^7.10.4" + "@babel/plugin-transform-react-jsx" "^7.10.4" + "@babel/plugin-transform-react-jsx-development" "^7.10.4" + "@babel/plugin-transform-react-jsx-self" "^7.10.4" + "@babel/plugin-transform-react-jsx-source" "^7.10.4" + "@babel/plugin-transform-react-pure-annotations" "^7.10.4" + +"@babel/preset-typescript@7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/preset-typescript/download/@babel/preset-typescript-7.9.0.tgz?cache=0&sync_timestamp=1593522940613&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fpreset-typescript%2Fdownload%2F%40babel%2Fpreset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" + integrity sha1-h3BacrHw1Z3yHBeffD0u9LFs4ZI= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-typescript" "^7.9.0" + +"@babel/runtime@7.9.0": + version "7.9.0" + resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.9.0.tgz?cache=0&sync_timestamp=1596637803941&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.9.0.tgz#337eda67401f5b066a6f205a3113d4ac18ba495b" + integrity sha1-M37aZ0AfWwZqbyBaMRPUrBi6SVs= + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": + version "7.11.2" + resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.11.2.tgz?cache=0&sync_timestamp=1596637803941&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736" + integrity sha1-9UnBPHVMxAuHZEufqfCaapX+BzY= + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.10.4", "@babel/template@^7.4.0", "@babel/template@^7.4.4", "@babel/template@^7.8.6": + version "7.10.4" + resolved "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" + integrity sha1-MlGZbEIA68cdGo/EBfupQPNrong= + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/parser" "^7.10.4" + "@babel/types" "^7.10.4" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.11.5", "@babel/traverse@^7.4.3", "@babel/traverse@^7.5.5", "@babel/traverse@^7.9.0": + version "7.11.5" + resolved "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.11.5.tgz#be777b93b518eb6d76ee2e1ea1d143daa11e61c3" + integrity sha1-vnd7k7UY62127i4eodFD2qEeYcM= + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.11.5" + "@babel/helper-function-name" "^7.10.4" + "@babel/helper-split-export-declaration" "^7.11.0" + "@babel/parser" "^7.11.5" + "@babel/types" "^7.11.5" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + +"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.0", "@babel/types@^7.11.5", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5", "@babel/types@^7.9.0": + version "7.11.5" + resolved "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.11.5.tgz#d9de577d01252d77c6800cee039ee64faf75662d" + integrity sha1-2d5XfQElLXfGgAzuA57mT691Zi0= + dependencies: + "@babel/helper-validator-identifier" "^7.10.4" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.npm.taobao.org/@cnakazawa/watch/download/@cnakazawa/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha1-+GSuhQBND8q29QvpFBxNo2jRZWo= + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@csstools/convert-colors@^1.4.0": + version "1.4.0" + resolved "https://registry.npm.taobao.org/@csstools/convert-colors/download/@csstools/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" + integrity sha1-rUldxBsS511YjG24uYNPCPoTHrc= + +"@csstools/normalize.css@^9.0.1": + version "9.0.1" + resolved "https://registry.npm.taobao.org/@csstools/normalize.css/download/@csstools/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5" + integrity sha1-wns5HYRX0eiT8e3er15UEtEv+7U= + +"@emotion/hash@^0.8.0": + version "0.8.0" + resolved "https://registry.npm.taobao.org/@emotion/hash/download/@emotion/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" + integrity sha1-u7/2iXj+/b5ozLUzvIy+HRr7VBM= + +"@formatjs/intl-unified-numberformat@^3.2.0": + version "3.3.7" + resolved "https://registry.npm.taobao.org/@formatjs/intl-unified-numberformat/download/@formatjs/intl-unified-numberformat-3.3.7.tgz#9995a24568908188e716d81a1de5b702b2ee00e2" + integrity sha1-mZWiRWiQgYjnFtgaHeW3ArLuAOI= + dependencies: + "@formatjs/intl-utils" "^2.3.0" + +"@formatjs/intl-utils@^2.3.0": + version "2.3.0" + resolved "https://registry.npm.taobao.org/@formatjs/intl-utils/download/@formatjs/intl-utils-2.3.0.tgz#2dc8c57044de0340eb53a7ba602e59abf80dc799" + integrity sha1-LcjFcETeA0DrU6e6YC5Zq/gNx5k= + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1593993836406&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" + integrity sha1-XWftQ/P9QaadS5/3tW58DR0KgeU= + +"@hapi/bourne@1.x.x": + 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#0a7095adea067243ce3283e1b56b8a8f453b242a" + integrity sha1-CnCVreoGckPOMoPhtWuKj0U7JCo= + +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.1" + resolved "https://registry.npm.taobao.org/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz?cache=0&sync_timestamp=1599008834261&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Fhoek%2Fdownload%2F%40hapi%2Fhoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06" + integrity sha1-/elgZMpEbeyMVajC8TCVewcMbgY= + +"@hapi/joi@^15.0.0": + version "15.1.1" + resolved "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7" + integrity sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc= + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + 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#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29" + integrity sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck= + dependencies: + "@hapi/hoek" "^8.3.0" + +"@jest/console@^24.7.1", "@jest/console@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/console/download/@jest/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" + integrity sha1-ebG8Bvt0qM+wHL3t+UVYSxuXB/A= + dependencies: + "@jest/source-map" "^24.9.0" + chalk "^2.0.1" + slash "^2.0.0" + +"@jest/core@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/core/download/@jest/core-24.9.0.tgz?cache=0&sync_timestamp=1598096522479&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fcore%2Fdownload%2F%40jest%2Fcore-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" + integrity sha1-LOzNC5MYH5xIUOdPKprUPTUTacQ= + dependencies: + "@jest/console" "^24.7.1" + "@jest/reporters" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-changed-files "^24.9.0" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-resolve-dependencies "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + jest-watcher "^24.9.0" + micromatch "^3.1.10" + p-each-series "^1.0.0" + realpath-native "^1.1.0" + rimraf "^2.5.4" + slash "^2.0.0" + strip-ansi "^5.0.0" + +"@jest/environment@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/environment/download/@jest/environment-24.9.0.tgz?cache=0&sync_timestamp=1597059143827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fenvironment%2Fdownload%2F%40jest%2Fenvironment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" + integrity sha1-IeOvotZcBYbL1svv4gi6+t5Eqxg= + dependencies: + "@jest/fake-timers" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + +"@jest/fake-timers@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/fake-timers/download/@jest/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" + integrity sha1-uj5r8O7NCaY2BJiWQ00wZjZUDJM= + dependencies: + "@jest/types" "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + +"@jest/reporters@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/reporters/download/@jest/reporters-24.9.0.tgz?cache=0&sync_timestamp=1597910616654&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Freporters%2Fdownload%2F%40jest%2Freporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" + integrity sha1-hmYO/44rlmHQQqjpigKLjWMaW0M= + dependencies: + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.2" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.1" + istanbul-reports "^2.2.6" + jest-haste-map "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + node-notifier "^5.4.2" + slash "^2.0.0" + source-map "^0.6.0" + string-length "^2.0.0" + +"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/source-map/download/@jest/source-map-24.9.0.tgz?cache=0&sync_timestamp=1597057394093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Fsource-map%2Fdownload%2F%40jest%2Fsource-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" + integrity sha1-DiY6lEML5LQdpoPMwea//ioZFxQ= + dependencies: + callsites "^3.0.0" + graceful-fs "^4.1.15" + source-map "^0.6.0" + +"@jest/test-result@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/test-result/download/@jest/test-result-24.9.0.tgz?cache=0&sync_timestamp=1597057593352&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-result%2Fdownload%2F%40jest%2Ftest-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" + integrity sha1-EXluiqnb+I6gJXV7MVJZWtBroMo= + dependencies: + "@jest/console" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/istanbul-lib-coverage" "^2.0.0" + +"@jest/test-sequencer@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/test-sequencer/download/@jest/test-sequencer-24.9.0.tgz?cache=0&sync_timestamp=1598096520310&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftest-sequencer%2Fdownload%2F%40jest%2Ftest-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" + integrity sha1-+PM081tiWk8vNV8v5+YDba0uazE= + dependencies: + "@jest/test-result" "^24.9.0" + jest-haste-map "^24.9.0" + jest-runner "^24.9.0" + jest-runtime "^24.9.0" + +"@jest/transform@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/transform/download/@jest/transform-24.9.0.tgz?cache=0&sync_timestamp=1597057593248&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftransform%2Fdownload%2F%40jest%2Ftransform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" + integrity sha1-SuJ2iyllU/rasJ6ewRlUPJCxbFY= + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^24.9.0" + babel-plugin-istanbul "^5.1.0" + chalk "^2.0.1" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.1.15" + jest-haste-map "^24.9.0" + jest-regex-util "^24.9.0" + jest-util "^24.9.0" + micromatch "^3.1.10" + pirates "^4.0.1" + realpath-native "^1.1.0" + slash "^2.0.0" + source-map "^0.6.1" + write-file-atomic "2.4.1" + +"@jest/types@^24.8.0", "@jest/types@^24.9.0": + version "24.9.0" + resolved "https://registry.npm.taobao.org/@jest/types/download/@jest/types-24.9.0.tgz?cache=0&sync_timestamp=1597057385275&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40jest%2Ftypes%2Fdownload%2F%40jest%2Ftypes-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" + integrity sha1-Y8smy3UA0Gnlo4lEGnxqtekJ/Fk= + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^13.0.0" + +"@material-ui/core@^4.9.10": + version "4.11.0" + resolved "https://registry.npm.taobao.org/@material-ui/core/download/@material-ui/core-4.11.0.tgz#b69b26e4553c9e53f2bfaf1053e216a0af9be15a" + integrity sha1-tpsm5FU8nlPyv68QU+IWoK+b4Vo= + dependencies: + "@babel/runtime" "^7.4.4" + "@material-ui/styles" "^4.10.0" + "@material-ui/system" "^4.9.14" + "@material-ui/types" "^5.1.0" + "@material-ui/utils" "^4.10.2" + "@types/react-transition-group" "^4.2.0" + clsx "^1.0.4" + hoist-non-react-statics "^3.3.2" + popper.js "1.16.1-lts" + prop-types "^15.7.2" + react-is "^16.8.0" + react-transition-group "^4.4.0" + +"@material-ui/icons@^4.2.1": + version "4.9.1" + resolved "https://registry.npm.taobao.org/@material-ui/icons/download/@material-ui/icons-4.9.1.tgz#fdeadf8cb3d89208945b33dbc50c7c616d0bd665" + integrity sha1-/erfjLPYkgiUWzPbxQx8YW0L1mU= + dependencies: + "@babel/runtime" "^7.4.4" + +"@material-ui/lab@^4.0.0-alpha.56": + version "4.0.0-alpha.56" + resolved "https://registry.npm.taobao.org/@material-ui/lab/download/@material-ui/lab-4.0.0-alpha.56.tgz#ff63080949b55b40625e056bbda05e130d216d34" + integrity sha1-/2MICUm1W0BiXgVrvaBeEw0hbTQ= + dependencies: + "@babel/runtime" "^7.4.4" + "@material-ui/utils" "^4.10.2" + clsx "^1.0.4" + prop-types "^15.7.2" + react-is "^16.8.0" + +"@material-ui/styles@^4.10.0": + version "4.10.0" + resolved "https://registry.npm.taobao.org/@material-ui/styles/download/@material-ui/styles-4.10.0.tgz#2406dc23aa358217aa8cc772e6237bd7f0544071" + integrity sha1-JAbcI6o1gheqjMdy5iN71/BUQHE= + dependencies: + "@babel/runtime" "^7.4.4" + "@emotion/hash" "^0.8.0" + "@material-ui/types" "^5.1.0" + "@material-ui/utils" "^4.9.6" + clsx "^1.0.4" + csstype "^2.5.2" + hoist-non-react-statics "^3.3.2" + jss "^10.0.3" + jss-plugin-camel-case "^10.0.3" + jss-plugin-default-unit "^10.0.3" + jss-plugin-global "^10.0.3" + jss-plugin-nested "^10.0.3" + jss-plugin-props-sort "^10.0.3" + jss-plugin-rule-value-function "^10.0.3" + jss-plugin-vendor-prefixer "^10.0.3" + prop-types "^15.7.2" + +"@material-ui/system@^4.9.14": + version "4.9.14" + resolved "https://registry.npm.taobao.org/@material-ui/system/download/@material-ui/system-4.9.14.tgz#4b00c48b569340cefb2036d0596b93ac6c587a5f" + integrity sha1-SwDEi1aTQM77IDbQWWuTrGxYel8= + dependencies: + "@babel/runtime" "^7.4.4" + "@material-ui/utils" "^4.9.6" + csstype "^2.5.2" + prop-types "^15.7.2" + +"@material-ui/types@^5.1.0": + version "5.1.0" + resolved "https://registry.npm.taobao.org/@material-ui/types/download/@material-ui/types-5.1.0.tgz#efa1c7a0b0eaa4c7c87ac0390445f0f88b0d88f2" + integrity sha1-76HHoLDqpMfIesA5BEXw+IsNiPI= + +"@material-ui/utils@^4.10.2", "@material-ui/utils@^4.9.6": + version "4.10.2" + resolved "https://registry.npm.taobao.org/@material-ui/utils/download/@material-ui/utils-4.10.2.tgz#3fd5470ca61b7341f1e0468ac8f29a70bf6df321" + integrity sha1-P9VHDKYbc0Hx4EaKyPKacL9t8yE= + dependencies: + "@babel/runtime" "^7.4.4" + prop-types "^15.7.2" + react-is "^16.8.0" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= + +"@svgr/babel-plugin-add-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-add-jsx-attribute/download/@svgr/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" + integrity sha1-2ty2IYUDUy1ohLIQ5/PFAsqqRLE= + +"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-remove-jsx-attribute/download/@svgr/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc" + integrity sha1-KXVQuajAxzN76hK9/IqAu2b4Wrw= + +"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-remove-jsx-empty-expression/download/@svgr/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7" + integrity sha1-wZYwLz5o6ragXpivnKhXC8ExMcc= + +"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-replace-jsx-attribute-value/download/@svgr/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" + integrity sha1-MQ7Ad13oCKai5P1CaMJF/XNMEWU= + +"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": + version "4.3.3" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-svg-dynamic-title/download/@svgr/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" + integrity sha1-LN7ddH5bGyntTCQeRiVqrIEQ3ZM= + +"@svgr/babel-plugin-svg-em-dimensions@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-svg-em-dimensions/download/@svgr/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391" + integrity sha1-mpR5HJoogQjSCp0sxkysgg8UE5E= + +"@svgr/babel-plugin-transform-react-native-svg@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-transform-react-native-svg/download/@svgr/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717" + integrity sha1-FRSHMihDNZocqGsho4Ff0hqItxc= + +"@svgr/babel-plugin-transform-svg-component@^4.2.0": + version "4.2.0" + resolved "https://registry.npm.taobao.org/@svgr/babel-plugin-transform-svg-component/download/@svgr/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" + integrity sha1-Xx4viGsshcZ+dtpC8Pa+Gxdntpc= + +"@svgr/babel-preset@^4.3.3": + version "4.3.3" + resolved "https://registry.npm.taobao.org/@svgr/babel-preset/download/@svgr/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" + integrity sha1-p12MLyAqwOV3Tmv8Fl0CizmhMWw= + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" + "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" + "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" + "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" + "@svgr/babel-plugin-transform-svg-component" "^4.2.0" + +"@svgr/core@^4.3.2": + version "4.3.3" + resolved "https://registry.npm.taobao.org/@svgr/core/download/@svgr/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" + integrity sha1-s3uJ1bdX3Gbox0FW0Aw2gzjSQpM= + dependencies: + "@svgr/plugin-jsx" "^4.3.3" + camelcase "^5.3.1" + cosmiconfig "^5.2.1" + +"@svgr/hast-util-to-babel-ast@^4.3.2": + version "4.3.2" + resolved "https://registry.npm.taobao.org/@svgr/hast-util-to-babel-ast/download/@svgr/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" + integrity sha1-HVoIL3uSnvjx9XiVAjj2MOFFMrg= + dependencies: + "@babel/types" "^7.4.4" + +"@svgr/plugin-jsx@^4.3.2", "@svgr/plugin-jsx@^4.3.3": + version "4.3.3" + resolved "https://registry.npm.taobao.org/@svgr/plugin-jsx/download/@svgr/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" + integrity sha1-4rqRPb376FJSo02xAavH69UJkvo= + dependencies: + "@babel/core" "^7.4.5" + "@svgr/babel-preset" "^4.3.3" + "@svgr/hast-util-to-babel-ast" "^4.3.2" + svg-parser "^2.0.0" + +"@svgr/plugin-svgo@^4.3.1": + version "4.3.1" + resolved "https://registry.npm.taobao.org/@svgr/plugin-svgo/download/@svgr/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" + integrity sha1-2qwKPYcuP1WTXGWI3TcDNoZenjI= + dependencies: + cosmiconfig "^5.2.1" + merge-deep "^3.0.2" + svgo "^1.2.2" + +"@svgr/webpack@4.3.2": + version "4.3.2" + resolved "https://registry.npm.taobao.org/@svgr/webpack/download/@svgr/webpack-4.3.2.tgz#319d4471c8f3d5c3af35059274834d9b5b8fb956" + integrity sha1-MZ1Eccjz1cOvNQWSdINNm1uPuVY= + dependencies: + "@babel/core" "^7.4.5" + "@babel/plugin-transform-react-constant-elements" "^7.0.0" + "@babel/preset-env" "^7.4.5" + "@babel/preset-react" "^7.0.0" + "@svgr/core" "^4.3.2" + "@svgr/plugin-jsx" "^4.3.2" + "@svgr/plugin-svgo" "^4.3.1" + loader-utils "^1.2.3" + +"@types/babel__core@^7.1.0": + version "7.1.9" + resolved "https://registry.npm.taobao.org/@types/babel__core/download/@types/babel__core-7.1.9.tgz#77e59d438522a6fb898fa43dc3455c6e72f3963d" + integrity sha1-d+WdQ4UipvuJj6Q9w0VcbnLzlj0= + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.1" + resolved "https://registry.npm.taobao.org/@types/babel__generator/download/@types/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" + integrity sha1-SQF2ezl+hxGuuZ3405bXunt/DgQ= + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.0.2" + resolved "https://registry.npm.taobao.org/@types/babel__template/download/@types/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" + integrity sha1-T/Y9a1Lt2sHee5daUiPtMuzqkwc= + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.0.13" + resolved "https://registry.npm.taobao.org/@types/babel__traverse/download/@types/babel__traverse-7.0.13.tgz#1874914be974a492e1b4cb00585cabb274e8ba18" + integrity sha1-GHSRS+l0pJLhtMsAWFyrsnTouhg= + dependencies: + "@babel/types" "^7.3.0" + +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz?cache=0&sync_timestamp=1596837707987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcolor-name%2Fdownload%2F%40types%2Fcolor-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA= + +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.npm.taobao.org/@types/eslint-visitor-keys/download/@types/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha1-HuMNeVRMqE1o1LPNsK9PIFZj3S0= + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": + version "2.0.3" + resolved "https://registry.npm.taobao.org/@types/istanbul-lib-coverage/download/@types/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha1-S6jdtyAiH0MuRDvV+RF/0iz9R2I= + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.npm.taobao.org/@types/istanbul-lib-report/download/@types/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha1-wUwk8Y6oGQwRjudWK3/5mjZVJoY= + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://registry.npm.taobao.org/@types/istanbul-reports/download/@types/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha1-6HXMaJ5HvOVJ7IHz315vbxHPrrI= + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5": + version "7.0.6" + resolved "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0" + integrity sha1-9MfsQ+gbMZqYFRFQMXCfJph4kfA= + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.npm.taobao.org/@types/parse-json/download/@types/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA= + +"@types/prop-types@*": + version "15.7.3" + resolved "https://registry.npm.taobao.org/@types/prop-types/download/@types/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + integrity sha1-KrDV2i5YFflLC51LldHl8kOrLKc= + +"@types/q@^1.5.1": + version "1.5.4" + resolved "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" + integrity sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ= + +"@types/react-transition-group@^4.2.0": + version "4.4.0" + resolved "https://registry.npm.taobao.org/@types/react-transition-group/download/@types/react-transition-group-4.4.0.tgz#882839db465df1320e4753e6e9f70ca7e9b4d46d" + integrity sha1-iCg520Zd8TIOR1Pm6fcMp+m01G0= + dependencies: + "@types/react" "*" + +"@types/react@*": + version "16.9.49" + resolved "https://registry.npm.taobao.org/@types/react/download/@types/react-16.9.49.tgz?cache=0&sync_timestamp=1598892372094&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Freact%2Fdownload%2F%40types%2Freact-16.9.49.tgz#09db021cf8089aba0cdb12a49f8021a69cce4872" + integrity sha1-CdsCHPgImroM2xKkn4AhppzOSHI= + dependencies: + "@types/prop-types" "*" + csstype "^3.0.2" + +"@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.npm.taobao.org/@types/stack-utils/download/@types/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha1-CoUdO9lkmPolwzq3J47TvWXwbD4= + +"@types/yargs-parser@*": + version "15.0.0" + resolved "https://registry.npm.taobao.org/@types/yargs-parser/download/@types/yargs-parser-15.0.0.tgz?cache=0&sync_timestamp=1596840530983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs-parser%2Fdownload%2F%40types%2Fyargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" + integrity sha1-yz+fdBhp4gzOMw/765JxWQSDiC0= + +"@types/yargs@^13.0.0": + version "13.0.10" + resolved "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-13.0.10.tgz?cache=0&sync_timestamp=1596840529553&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs%2Fdownload%2F%40types%2Fyargs-13.0.10.tgz#e77bf3fc73c781d48c2eb541f87c453e321e5f4b" + integrity sha1-53vz/HPHgdSMLrVB+HxFPjIeX0s= + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@1.13.0": + version "1.13.0" + resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-1.13.0.tgz?cache=0&sync_timestamp=1599424750171&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-1.13.0.tgz#22fed9b16ddfeb402fd7bcde56307820f6ebc49f" + integrity sha1-Iv7ZsW3f60Av17zeVjB4IPbrxJ8= + dependencies: + "@typescript-eslint/experimental-utils" "1.13.0" + eslint-utils "^1.3.1" + functional-red-black-tree "^1.0.1" + regexpp "^2.0.1" + tsutils "^3.7.0" + +"@typescript-eslint/experimental-utils@1.13.0": + version "1.13.0" + resolved "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-1.13.0.tgz?cache=0&sync_timestamp=1599424747781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-1.13.0.tgz#b08c60d780c0067de2fb44b04b432f540138301e" + integrity sha1-sIxg14DABn3i+0SwS0MvVAE4MB4= + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "1.13.0" + eslint-scope "^4.0.0" + +"@typescript-eslint/parser@1.13.0": + version "1.13.0" + resolved "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-1.13.0.tgz?cache=0&sync_timestamp=1599424748904&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-1.13.0.tgz#61ac7811ea52791c47dc9fd4dd4a184fae9ac355" + integrity sha1-Yax4EepSeRxH3J/U3UoYT66aw1U= + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "1.13.0" + "@typescript-eslint/typescript-estree" "1.13.0" + eslint-visitor-keys "^1.0.0" + +"@typescript-eslint/typescript-estree@1.13.0": + version "1.13.0" + resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-1.13.0.tgz?cache=0&sync_timestamp=1599424746830&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-1.13.0.tgz#8140f17d0f60c03619798f1d628b8434913dc32e" + integrity sha1-gUDxfQ9gwDYZeY8dYouENJE9wy4= + dependencies: + lodash.unescape "4.0.1" + semver "5.5.0" + +"@webassemblyjs/ast@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" + integrity sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k= + dependencies: + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + +"@webassemblyjs/floating-point-hex-parser@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" + integrity sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE= + +"@webassemblyjs/helper-api-error@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" + integrity sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc= + +"@webassemblyjs/helper-buffer@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" + integrity sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ= + +"@webassemblyjs/helper-code-frame@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" + integrity sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4= + dependencies: + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/helper-fsm@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" + integrity sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI= + +"@webassemblyjs/helper-module-context@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" + integrity sha1-3vS5knsBAdyMu9jR7bW3ucguskU= + dependencies: + "@webassemblyjs/ast" "1.8.5" + mamacro "^0.0.3" + +"@webassemblyjs/helper-wasm-bytecode@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" + integrity sha1-U3p1Dt31weky83RCBlUckcG5PmE= + +"@webassemblyjs/helper-wasm-section@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" + integrity sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + +"@webassemblyjs/ieee754@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" + integrity sha1-cSMp2+8kDza/V70ve4+5v0FUQh4= + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" + integrity sha1-BE7es06mefPgTNT9mCTV41dnrhA= + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" + integrity sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw= + +"@webassemblyjs/wasm-edit@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" + integrity sha1-li2hKqWswcExyBxCMpkcgs5W4Bo= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/helper-wasm-section" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-opt" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + "@webassemblyjs/wast-printer" "1.8.5" + +"@webassemblyjs/wasm-gen@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" + integrity sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" + +"@webassemblyjs/wasm-opt@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" + integrity sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-buffer" "1.8.5" + "@webassemblyjs/wasm-gen" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + +"@webassemblyjs/wasm-parser@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" + integrity sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-wasm-bytecode" "1.8.5" + "@webassemblyjs/ieee754" "1.8.5" + "@webassemblyjs/leb128" "1.8.5" + "@webassemblyjs/utf8" "1.8.5" + +"@webassemblyjs/wast-parser@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" + integrity sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/floating-point-hex-parser" "1.8.5" + "@webassemblyjs/helper-api-error" "1.8.5" + "@webassemblyjs/helper-code-frame" "1.8.5" + "@webassemblyjs/helper-fsm" "1.8.5" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.8.5": + version "1.8.5" + resolved "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" + integrity sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/wast-parser" "1.8.5" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= + +abab@^2.0.0: + version "2.0.4" + resolved "https://registry.npm.taobao.org/abab/download/abab-2.0.4.tgz?cache=0&sync_timestamp=1596258006101&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fabab%2Fdownload%2Fabab-2.0.4.tgz#6dfa57b417ca06d21b2478f0e638302f99c2405c" + integrity sha1-bfpXtBfKBtIbJHjw5jgwL5nCQFw= + +abbrev@1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg= + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80= + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-globals@^4.1.0, acorn-globals@^4.3.0: + version "4.3.4" + resolved "https://registry.npm.taobao.org/acorn-globals/download/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha1-n6GSat3BHJcwjE5m163Q1Awycuc= + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-jsx@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" + integrity sha1-TGYGkXPW/daO2FI5/CViJhgrLr4= + +acorn-walk@^6.0.1: + version "6.2.0" + resolved "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-6.2.0.tgz?cache=0&sync_timestamp=1597235847625&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-walk%2Fdownload%2Facorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha1-Ejy487hMIXHx9/slJhWxx4prGow= + +acorn@^5.5.3: + version "5.7.4" + resolved "https://registry.npm.taobao.org/acorn/download/acorn-5.7.4.tgz?cache=0&sync_timestamp=1597235744175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha1-Po2KmUfQWZoXltECJddDL0pKz14= + +acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1: + version "6.4.1" + resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.4.1.tgz?cache=0&sync_timestamp=1597235744175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" + integrity sha1-Ux5Yuj9RudrLmmZGyk3r9bFMpHQ= + +acorn@^7.1.1: + version "7.4.0" + resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.4.0.tgz?cache=0&sync_timestamp=1597235744175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" + integrity sha1-4a1IbmxUUBY0xsOXxcEh2qODYHw= + +address@1.1.2, address@^1.0.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" + integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= + +adjust-sourcemap-loader@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/adjust-sourcemap-loader/download/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" + integrity sha1-ZHEUOvdewCM0shn1S8eXDFL7KaQ= + dependencies: + assert "1.4.1" + camelcase "5.0.0" + loader-utils "1.2.3" + object-path "0.11.4" + regex-parser "2.2.10" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.4" + resolved "https://registry.npm.taobao.org/ajv/download/ajv-6.12.4.tgz?cache=0&sync_timestamp=1597480782874&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" + integrity sha1-BhT6zEUiEn+nE0Rca/0+vTduIjQ= + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +alphanum-sort@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" + integrity sha1-46PaS/uubIapwoViXeEkojQCb78= + +ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s= + +ansi-escapes@^4.2.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE= + dependencies: + type-fest "^0.11.0" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.0.0, ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha1-kK51xCTQCNJiTFvynq0xd+v881k= + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha1-vLJLTzeTTZqnrBe0ra+J58du8us= + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha1-xV7PAhheJGklk5kxDBc84xIzsUI= + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha1-SzXClE8GKov82mZBB2A1D+nd/CE= + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= + dependencies: + sprintf-js "~1.0.2" + +aria-query@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/aria-query/download/aria-query-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faria-query%2Fdownload%2Faria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" + integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= + dependencies: + ast-types-flow "0.0.7" + commander "^2.11.0" + +arity-n@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/arity-n/download/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" + integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/array-equal/download/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= + +array-includes@^3.0.3, array-includes@^3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" + integrity sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0" + is-string "^1.0.5" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/arrify/download/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +asap@~2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.npm.taobao.org/asn1.js/download/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha1-EamAuE67kXgc41sP3C7ilON4Pwc= + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@1.4.1: + version "1.4.1" + resolved "https://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= + dependencies: + util "0.10.3" + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +ast-types-flow@0.0.7, ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.npm.taobao.org/ast-types-flow/download/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0= + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8= + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= + +autoprefixer@^9.6.1: + version "9.8.6" + resolved "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.6.tgz?cache=0&sync_timestamp=1596140648665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8= + dependencies: + 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@~0.7.0: + version "0.7.0" + resolved "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.10.1" + resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" + integrity sha1-4eguTz6Zniz9YbFhKA0WoRH4ZCg= + +axios@^0.21.1: + version "0.21.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" + +axobject-query@^2.0.2: + version "2.2.0" + resolved "https://registry.npm.taobao.org/axobject-query/download/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha1-lD1H4QwLcEqkInXiDt83ImSJib4= + +babel-code-frame@^6.22.0: + version "6.26.0" + resolved "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-eslint@10.0.2: + version "10.0.2" + resolved "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.0.2.tgz#182d5ac204579ff0881684b040560fdcc1558456" + integrity sha1-GC1awgRXn/CIFoSwQFYP3MFVhFY= + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + eslint-scope "3.7.1" + eslint-visitor-keys "^1.0.0" + +babel-extract-comments@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/babel-extract-comments/download/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" + integrity sha1-Cirt+BQX7TkbheGLRhTmk6A1GiE= + dependencies: + babylon "^6.18.0" + +babel-jest@^24.8.0, babel-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/babel-jest/download/babel-jest-24.9.0.tgz?cache=0&sync_timestamp=1597057593807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-jest%2Fdownload%2Fbabel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" + integrity sha1-P8Mny4RnuJ0U17xw4xUQSng8zVQ= + dependencies: + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/babel__core" "^7.1.0" + babel-plugin-istanbul "^5.1.0" + babel-preset-jest "^24.9.0" + chalk "^2.4.2" + slash "^2.0.0" + +babel-loader@8.0.6: + version "8.0.6" + resolved "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" + integrity sha1-4zvbbzYrA/S7FBoMIauHxQG3Dfs= + dependencies: + find-cache-dir "^2.0.0" + loader-utils "^1.0.2" + mkdirp "^0.5.1" + pify "^4.0.1" + +babel-plugin-dynamic-import-node@^2.3.3: + 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#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha1-hP2hnJduxcbe/vV/lCez3vZuF6M= + dependencies: + object.assign "^4.1.0" + +babel-plugin-istanbul@^5.1.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" + integrity sha1-30reg9iXqS3wacTZolzyZxKTyFQ= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + find-up "^3.0.0" + istanbul-lib-instrument "^3.3.0" + test-exclude "^5.2.3" + +babel-plugin-jest-hoist@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/babel-plugin-jest-hoist/download/babel-plugin-jest-hoist-24.9.0.tgz?cache=0&sync_timestamp=1596103923034&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-jest-hoist%2Fdownload%2Fbabel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" + integrity sha1-T4NwketAfgFEfIhDy+xUbQAC11Y= + dependencies: + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@2.8.0: + version "2.8.0" + resolved "https://registry.npm.taobao.org/babel-plugin-macros/download/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha1-D5WKfMZVax5lNERl2ZERoeXhATg= + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-named-asset-import@^0.3.3: + version "0.3.6" + resolved "https://registry.npm.taobao.org/babel-plugin-named-asset-import/download/babel-plugin-named-asset-import-0.3.6.tgz#c9750a1b38d85112c9e166bf3ef7c5dbc605f4be" + integrity sha1-yXUKGzjYURLJ4Wa/PvfF28YF9L4= + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= + +babel-plugin-transform-object-rest-spread@^6.26.0: + version "6.26.0" + resolved "https://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-react-remove-prop-types@0.4.24: + version "0.4.24" + resolved "https://registry.npm.taobao.org/babel-plugin-transform-react-remove-prop-types/download/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" + integrity sha1-8u2vm0xqX75cHWeL+1MQeMFVXzo= + +babel-preset-jest@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/babel-preset-jest/download/babel-preset-jest-24.9.0.tgz?cache=0&sync_timestamp=1597057385917&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-preset-jest%2Fdownload%2Fbabel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" + integrity sha1-GStSHiIX+x0fZ89z9wwzZlCtPNw= + dependencies: + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + babel-plugin-jest-hoist "^24.9.0" + +babel-preset-react-app@^9.0.1: + version "9.1.2" + resolved "https://registry.npm.taobao.org/babel-preset-react-app/download/babel-preset-react-app-9.1.2.tgz#54775d976588a8a6d1a99201a702befecaf48030" + integrity sha1-VHddl2WIqKbRqZIBpwK+/sr0gDA= + dependencies: + "@babel/core" "7.9.0" + "@babel/plugin-proposal-class-properties" "7.8.3" + "@babel/plugin-proposal-decorators" "7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "7.8.3" + "@babel/plugin-proposal-numeric-separator" "7.8.3" + "@babel/plugin-proposal-optional-chaining" "7.9.0" + "@babel/plugin-transform-flow-strip-types" "7.9.0" + "@babel/plugin-transform-react-display-name" "7.8.3" + "@babel/plugin-transform-runtime" "7.9.0" + "@babel/preset-env" "7.9.0" + "@babel/preset-react" "7.9.1" + "@babel/preset-typescript" "7.9.0" + "@babel/runtime" "7.9.0" + babel-plugin-macros "2.8.0" + babel-plugin-transform-react-remove-prop-types "0.4.24" + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha1-ry87iPpvXB5MY00aD46sT1WzleM= + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base64-js@^1.0.2: + version "1.3.1" + resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= + dependencies: + 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" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1593261283449&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U= + +binary-extensions@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz?cache=0&sync_timestamp=1593261283449&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha1-MPpAyef+B9vIlWeM0ocCTeokHdk= + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha1-EDU8npRTNLwFEabZCzj7x8nFBN8= + dependencies: + 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#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= + dependencies: + inherits "~2.0.0" + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28= + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: + version "4.11.9" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" + integrity sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg= + +bn.js@^5.1.1: + version "5.1.3" + resolved "https://registry.npm.taobao.org/bn.js/download/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" + integrity sha1-vsoAVAj2Quvr6oCwQrTRjSrA7ms= + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io= + dependencies: + 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" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + 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" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= + dependencies: + 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" + +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/browser-process-hrtime/download/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha1-PJtLfXgsgSHlbxAQbYTA0P/JRiY= + +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.npm.taobao.org/browser-resolve/download/browser-resolve-1.11.3.tgz?cache=0&sync_timestamp=1596457976291&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowser-resolve%2Fdownload%2Fbrowser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha1-m3y7PQ9RDky4a9vXlhJNKLWJCvY= + dependencies: + resolve "1.1.7" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= + dependencies: + 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@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.1.tgz?cache=0&sync_timestamp=1596557809886&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-sign%2Fdownload%2Fbrowserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM= + dependencies: + 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" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= + dependencies: + pako "~1.0.5" + +browserslist@4.7.0: + version "4.7.0" + resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.7.0.tgz?cache=0&sync_timestamp=1599249279877&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17" + integrity sha1-nuiSJf/AfbA0CfL+5STcgidFihc= + dependencies: + caniuse-lite "^1.0.30000989" + electron-to-chromium "^1.3.247" + node-releases "^1.1.29" + +browserslist@^4.0.0, browserslist@^4.1.1, browserslist@^4.12.0, browserslist@^4.6.4, browserslist@^4.8.5, browserslist@^4.9.1: + version "4.14.1" + resolved "https://registry.npm.taobao.org/browserslist/download/browserslist-4.14.1.tgz?cache=0&sync_timestamp=1599249279877&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.14.1.tgz#cb2b490ba881d45dc3039078c7ed04411eaf3fa3" + integrity sha1-yytJC6iB1F3DA5B4x+0EQR6vP6M= + dependencies: + caniuse-lite "^1.0.30001124" + electron-to-chromium "^1.3.562" + escalade "^3.0.2" + node-releases "^1.1.60" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/bser/download/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha1-5nh9og7OnQeZhTPP2d5vXDj0vAU= + dependencies: + node-int64 "^0.4.0" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" + integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow= + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg= + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= + +cacache@^12.0.2: + version "12.0.4" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1594428006433&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw= + dependencies: + 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@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= + dependencies: + 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" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" + integrity sha1-AylVJ9WL081Kp1Nj81sujZe+L0I= + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + +camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA= + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001124: + version "1.0.30001124" + resolved "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001124.tgz?cache=0&sync_timestamp=1599195893024&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001124.tgz#5d9998190258e11630d674fc50ea8e579ae0ced2" + integrity sha1-XZmYGQJY4RYw1nT8UOqOV5rgztI= + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/capture-exit/download/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha1-+5U7+uvreB9iiYI52rtCbQilCaQ= + dependencies: + rsvp "^4.8.4" + +case-sensitive-paths-webpack-plugin@2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e" + integrity sha1-M3HvY2XvnCX6S4HBas4OnH3FjD4= + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + 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" + +chalk@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha1-ThSHCmGNni7dl92DRf2dncMVZGo= + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1594010631896&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= + +chokidar@^2.0.0, chokidar@^2.0.4, chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1597763177396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc= + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + 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" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.4.1: + version "3.4.2" + resolved "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.2.tgz?cache=0&sync_timestamp=1597763177396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d" + integrity sha1-ONyOZY3sOAl0HrPve7Ckf+QkIy0= + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.4.0" + optionalDependencies: + fsevents "~2.1.2" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= + +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ= + dependencies: + tslib "^1.9.0" + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y= + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@4.2.x: + version "4.2.3" + resolved "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g= + dependencies: + source-map "~0.6.0" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= + dependencies: + restore-cursor "^3.1.0" + +cli-width@^2.0.0: + version "2.2.1" + resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha1-sEM9C06chH7xiGik7xb9X8gnHEg= + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/cli-width/download/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha1-ovSEN6LKqaIkNueUvwceyeYc7fY= + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-4.1.0.tgz?cache=0&sync_timestamp=1597606145227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + integrity sha1-NIQi2+gtgAswIu709qwQvy5NG0k= + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&sync_timestamp=1597606145227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +clone-deep@^0.2.4: + version "0.2.4" + resolved "https://registry.npm.taobao.org/clone-deep/download/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" + integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= + dependencies: + for-own "^0.1.3" + is-plain-object "^2.0.1" + kind-of "^3.0.2" + lazy-cache "^1.0.3" + shallow-clone "^0.1.2" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c= + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clsx@^1.0.4: + version "1.1.1" + resolved "https://registry.npm.taobao.org/clsx/download/clsx-1.1.1.tgz?cache=0&sync_timestamp=1590820340105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclsx%2Fdownload%2Fclsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" + integrity sha1-mLMTT5q73yOyZjSRrOE8XAOnMYg= + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM= + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.3" + resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM= + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@^1.0.0, color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha1-wqCah6y95pVD3m9j+jmVyCbFNqI= + +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw= + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.0.0: + version "3.1.2" + resolved "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha1-aBSOf4XUGtdknF+oyBBvCY0inhA= + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + +colorette@^1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/colorette/download/colorette-1.2.1.tgz?cache=0&sync_timestamp=1593955783467&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" + integrity sha1-TQuSEyXBT6+SYzCGpTbbbolWSxs= + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= + dependencies: + delayed-stream "~1.0.0" + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78= + +commander@^2.11.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= + +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.npm.taobao.org/commander/download/commander-4.1.1.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha1-n9YCvZNilOnp70aj9NaWQESxgGg= + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1598576136669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So= + +common-tags@^1.8.0: + version "1.8.0" + resolved "https://registry.npm.taobao.org/common-tags/download/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" + integrity sha1-jjFT5ULUo56bEFVENK+q+YlWqTc= + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= + +compose-function@3.0.3: + version "3.0.3" + resolved "https://registry.npm.taobao.org/compose-function/download/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" + integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= + dependencies: + arity-n "^1.0.4" + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o= + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.5.2: + version "1.7.4" + resolved "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48= + dependencies: + 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" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +confusing-browser-globals@^1.0.9: + version "1.0.9" + resolved "https://registry.npm.taobao.org/confusing-browser-globals/download/confusing-browser-globals-1.0.9.tgz?cache=0&sync_timestamp=1596649684402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconfusing-browser-globals%2Fdownload%2Fconfusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" + integrity sha1-crwTtIPAJ2gBaBhx1ImFFvj1T90= + +connect-history-api-fallback@^1.3.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" + integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY= + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +console-polyfill@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/console-polyfill/download/console-polyfill-0.3.0.tgz#84900902a18c47a5eba932be75fa44d23e8af861" + integrity sha1-hJAJAqGMR6XrqTK+dfpE0j6K+GE= + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/contains-path/download/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= + +convert-source-map@1.6.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha1-UbU3qMQ+DwTewZk7/83VBOdYrCA= + dependencies: + safe-buffer "~5.1.1" + +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" + integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= + +convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI= + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo= + +cookie@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= + dependencies: + 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@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-js-compat@^3.6.2: + version "3.6.5" + resolved "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" + integrity sha1-KlHZpOJd/W5pAlGqgfmePAVIHxw= + dependencies: + browserslist "^4.8.5" + semver "7.0.0" + +core-js@^2.4.0: + version "2.6.11" + resolved "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw= + +core-js@^3.5.0: + version "3.6.5" + resolved "https://registry.npm.taobao.org/core-js/download/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" + integrity sha1-c5XcJzrzf7LlDpvT2f6EEoUjHRo= + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^5.0.0, cosmiconfig@^5.2.1: + version "5.2.1" + resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" + integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-6.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha1-2k/uhTxS9rHmk19BwaL8UL1KmYI= + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.4.tgz?cache=0&sync_timestamp=1596557441827&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcreate-ecdh%2Fdownload%2Fcreate-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4= + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= + dependencies: + 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@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= + dependencies: + 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@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= + dependencies: + 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-blank-pseudo@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/css-blank-pseudo/download/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" + integrity sha1-3979MlS/ioICeZNnTM81SDv8s8U= + dependencies: + postcss "^7.0.5" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI= + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-has-pseudo@^0.10.0: + version "0.10.0" + resolved "https://registry.npm.taobao.org/css-has-pseudo/download/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" + integrity sha1-PGQqs0yiQsWcQaEl35EFhB9pZu4= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^5.0.0-rc.4" + +css-loader@2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/css-loader/download/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" + integrity sha1-2CVPcuQSuyI4u0TdZ0/770lzM+o= + dependencies: + camelcase "^5.2.0" + icss-utils "^4.1.0" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.14" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^2.0.6" + postcss-modules-scope "^2.1.0" + postcss-modules-values "^2.0.0" + postcss-value-parser "^3.3.0" + schema-utils "^1.0.0" + +css-prefers-color-scheme@^3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/css-prefers-color-scheme/download/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" + integrity sha1-b4MKJxQZnU8NDQu4onkW7WXP8fQ= + dependencies: + postcss "^7.0.5" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc= + +css-select@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8= + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI= + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@1.0.0-alpha.39: + version "1.0.0-alpha.39" + resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" + integrity sha1-K/8//huz93bPfu/ZHuXLp3oUnus= + dependencies: + mdn-data "2.0.6" + source-map "^0.6.1" + +css-vendor@^2.0.8: + version "2.0.8" + resolved "https://registry.npm.taobao.org/css-vendor/download/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d" + integrity sha1-5H+R070xF9SRgKPJNeYuPZ9/RJ0= + dependencies: + "@babel/runtime" "^7.8.3" + is-in-browser "^1.0.2" + +css-what@2.1: + version "2.1.3" + resolved "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" + integrity sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI= + +css-what@^3.2.1: + version "3.3.0" + resolved "https://registry.npm.taobao.org/css-what/download/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39" + integrity sha1-EP7Glqns4uWRrHctdZqsq6w4zTk= + +css@^2.0.0: + version "2.2.4" + resolved "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz?cache=0&sync_timestamp=1593663585785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss%2Fdownload%2Fcss-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" + integrity sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk= + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssdb@^4.4.0: + version "4.4.0" + resolved "https://registry.npm.taobao.org/cssdb/download/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" + integrity sha1-O/LypowQ9cagir2SN4Mx7oA83bA= + +cssesc@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/cssesc/download/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + integrity sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM= + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4= + +cssnano-preset-default@^4.0.7: + version "4.0.7" + resolved "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz?cache=0&sync_timestamp=1599152230491&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano-preset-default%2Fdownload%2Fcssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" + integrity sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y= + dependencies: + 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.2" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI= + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M= + +cssnano@^4.1.10: + version "4.1.10" + resolved "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz?cache=0&sync_timestamp=1599152038995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano%2Fdownload%2Fcssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" + integrity sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI= + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.7" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.0.3" + resolved "https://registry.npm.taobao.org/csso/download/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" + integrity sha1-DZmF3IUsfMKyys+74QeQFNGo6QM= + dependencies: + css-tree "1.0.0-alpha.39" + +cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4: + version "0.3.8" + resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o= + +cssstyle@^1.0.0, cssstyle@^1.1.1: + version "1.4.0" + resolved "https://registry.npm.taobao.org/cssstyle/download/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" + integrity sha1-nTEyginTxWXGHlhrAgQaKPzNzPE= + dependencies: + cssom "0.3.x" + +csstype@^2.5.2: + version "2.6.13" + resolved "https://registry.npm.taobao.org/csstype/download/csstype-2.6.13.tgz?cache=0&sync_timestamp=1598348227965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsstype%2Fdownload%2Fcsstype-2.6.13.tgz#a6893015b90e84dd6e85d0e3b442a1e84f2dbe0f" + integrity sha1-pokwFbkOhN1uhdDjtEKh6E8tvg8= + +csstype@^3.0.2: + version "3.0.3" + resolved "https://registry.npm.taobao.org/csstype/download/csstype-3.0.3.tgz?cache=0&sync_timestamp=1598348227965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsstype%2Fdownload%2Fcsstype-3.0.3.tgz#2b410bbeba38ba9633353aff34b05d9755d065f8" + integrity sha1-K0ELvro4upYzNTr/NLBdl1XQZfg= + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + dependencies: + array-find-index "^1.0.1" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o= + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +damerau-levenshtein@^1.0.4: + version "1.0.6" + resolved "https://registry.npm.taobao.org/damerau-levenshtein/download/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" + integrity sha1-FDwWQcs9hcYMMjKeJoma3qhwF5E= + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.0.0, data-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/data-urls/download/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha1-Fe4Fgrql4iu1nHcUDaj5x2lju/4= + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8= + dependencies: + ms "2.0.0" + +debug@^3.1.1, debug@^3.2.5: + version "3.2.6" + resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha1-6D0X3hbYp++3cX7b5fsQE17uYps= + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E= + dependencies: + ms "^2.1.1" + +decamelize@^1.1.2, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decamelize@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/decamelize/download/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" + integrity sha1-ZW17vICUxMeI6lPFhAkIycfQY8c= + dependencies: + xregexp "4.0.0" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= + dependencies: + 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@~0.1.3: + version "0.1.3" + resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" + integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs= + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +del@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/del/download/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5" + integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM= + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/detect-newline/download/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + +detect-node@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha1-AU7o+PZpxcWAI9pkuBecCDooxGw= + +detect-port-alt@1.1.6: + version "1.1.6" + resolved "https://registry.npm.taobao.org/detect-port-alt/download/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" + integrity sha1-JHB96r6TLUo89iEwICfCsmZWgnU= + dependencies: + address "^1.0.1" + debug "^2.6.0" + +diff-sequences@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-24.9.0.tgz?cache=0&sync_timestamp=1597057408594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdiff-sequences%2Fdownload%2Fdiff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" + integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + integrity sha1-CyBdK2rvmCOMooZZioIE0p0KADQ= + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" + integrity sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo= + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha1-XNAfwQFiG0LEzX9dGmYkNxbT850= + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= + dependencies: + esutils "^2.0.2" + +dom-converter@^0.2: + version "0.2.0" + resolved "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g= + dependencies: + utila "~0.4" + +dom-helpers@^5.0.1: + version "5.2.0" + resolved "https://registry.npm.taobao.org/dom-helpers/download/dom-helpers-5.2.0.tgz?cache=0&sync_timestamp=1596411957116&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-helpers%2Fdownload%2Fdom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b" + integrity sha1-V/0FTF+PNMUqPu/9t+fpPNNX2Vs= + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= + +domelementtype@1, domelementtype@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= + +domelementtype@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha1-H4vf6R9aeAYydOgDtL3O326U+U0= + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/domexception/download/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA= + dependencies: + webidl-conversions "^4.0.2" + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha1-iAUJfpM9ZehVRvcm1g9euItE+AM= + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz?cache=0&sync_timestamp=1597680803662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1597680803662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= + dependencies: + dom-serializer "0" + domelementtype "1" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.3.0.tgz?cache=0&sync_timestamp=1599401711511&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog= + dependencies: + is-obj "^2.0.0" + +dotenv-expand@4.2.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275" + integrity sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU= + +dotenv@6.2.0: + version "6.2.0" + resolved "https://registry.npm.taobao.org/dotenv/download/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064" + integrity sha1-lBwEEFNdlCyL7PKNPzV9vZ1HYGQ= + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.562: + version "1.3.562" + resolved "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.562.tgz?cache=0&sync_timestamp=1599192245497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.562.tgz#79c20277ee1c8d0173a22af00e38433b752bc70f" + integrity sha1-ecICd+4cjQFzoirwDjhDO3Urxw8= + +elliptic@^6.5.3: + version "6.5.3" + resolved "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.3.tgz?cache=0&sync_timestamp=1592492844326&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" + integrity sha1-y1nrLv2vc6C9eMzXAVpirW4Pk9Y= + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emoji-regex@^7.0.1, emoji-regex@^7.0.2: + version "7.0.3" + resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.1.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126" + integrity sha1-O4BvO/r8HsfeaVUe+TzKRsFwQSY= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha1-vfpzUplmTfr9NFKe1PhSKidf6lY= + +entities@^2.0.0: + version "2.0.3" + resolved "https://registry.npm.taobao.org/entities/download/entities-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + integrity sha1-XEh+V0Krk8Fau12iJ1m4WQ7AO38= + +env-cmd@^10.0.1: + version "10.1.0" + resolved "https://registry.npm.taobao.org/env-cmd/download/env-cmd-10.1.0.tgz#c7f5d3b550c9519f137fdac4dd8fb6866a8c8c4b" + integrity sha1-x/XTtVDJUZ8Tf9rE3Y+2hmqMjEs= + dependencies: + commander "^4.0.0" + cross-spawn "^7.0.0" + +errno@^0.1.3, errno@~0.1.7: + version "0.1.7" + resolved "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg= + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: + version "1.17.6" + resolved "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.6.tgz?cache=0&sync_timestamp=1597446119395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" + integrity sha1-kUIHFweFeyysx7iey2cDFsPi1So= + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.2.0" + is-regex "^1.1.0" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimend "^1.0.1" + string.prototype.trimstart "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.53" + resolved "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE= + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@2.0.3, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha1-utXTwbzawoJp9MszHkMceKxwXRg= + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escalade@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/escalade/download/escalade-3.0.2.tgz?cache=0&sync_timestamp=1594742944513&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" + integrity sha1-algNcO24eIDyK0yR0NVgeN9pYsQ= + +escape-html@^1.0.3, escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escodegen@^1.11.0, escodegen@^1.9.1: + version "1.14.3" + resolved "https://registry.npm.taobao.org/escodegen/download/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha1-TnuB+6YVgdyXWC7XjKt/Do1j9QM= + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-react-app@^5.0.1: + version "5.2.1" + resolved "https://registry.npm.taobao.org/eslint-config-react-app/download/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" + integrity sha1-aYv3ru4n8M6gE56u8mHHv33WI98= + dependencies: + confusing-browser-globals "^1.0.9" + +eslint-import-resolver-node@^0.3.2: + 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#85ffa81942c25012d8231096ddf679c03042c717" + integrity sha1-hf+oGULCUBLYIxCW3fZ5wDBCxxc= + dependencies: + debug "^2.6.9" + resolve "^1.13.1" + +eslint-loader@2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337" + integrity sha1-KLnBLaVAV68IReKmEScBova/gzc= + dependencies: + 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@^2.4.0: + version "2.6.0" + resolved "https://registry.npm.taobao.org/eslint-module-utils/download/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" + integrity sha1-V569CU9Wr3eX0ZyYZsnJSGYpv6Y= + dependencies: + debug "^2.6.9" + pkg-dir "^2.0.0" + +eslint-plugin-flowtype@3.13.0: + version "3.13.0" + resolved "https://registry.npm.taobao.org/eslint-plugin-flowtype/download/eslint-plugin-flowtype-3.13.0.tgz?cache=0&sync_timestamp=1593518847361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-flowtype%2Fdownload%2Feslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" + integrity sha1-4kHr05wM5Rk0Wj8HTsHr3kz4Dyw= + dependencies: + lodash "^4.17.15" + +eslint-plugin-import@2.18.2: + version "2.18.2" + resolved "https://registry.npm.taobao.org/eslint-plugin-import/download/eslint-plugin-import-2.18.2.tgz?cache=0&sync_timestamp=1593237297725&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" + integrity sha1-AvEYC5Cwd7M9RHoXojJs60AKzrY= + dependencies: + array-includes "^3.0.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.4.0" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.0" + read-pkg-up "^2.0.0" + resolve "^1.11.0" + +eslint-plugin-jsx-a11y@6.2.3: + version "6.2.3" + resolved "https://registry.npm.taobao.org/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-6.2.3.tgz?cache=0&sync_timestamp=1592603371379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-jsx-a11y%2Fdownload%2Feslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" + integrity sha1-uHKgnV3lGvcKl9se6n3JMwQ3CKo= + dependencies: + "@babel/runtime" "^7.4.5" + aria-query "^3.0.0" + array-includes "^3.0.3" + ast-types-flow "^0.0.7" + axobject-query "^2.0.2" + damerau-levenshtein "^1.0.4" + emoji-regex "^7.0.2" + has "^1.0.3" + jsx-ast-utils "^2.2.1" + +eslint-plugin-react-hooks@^1.6.1: + version "1.7.0" + resolved "https://registry.npm.taobao.org/eslint-plugin-react-hooks/download/eslint-plugin-react-hooks-1.7.0.tgz?cache=0&sync_timestamp=1598575904553&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-react-hooks%2Fdownload%2Feslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" + integrity sha1-YhC21aNyBfC5KFj4laToJwIKfQQ= + +eslint-plugin-react@7.14.3: + version "7.14.3" + resolved "https://registry.npm.taobao.org/eslint-plugin-react/download/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13" + integrity sha1-kRAw3X6YuknhsiCFmVcYRqZr3xM= + dependencies: + array-includes "^3.0.3" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.1.0" + object.entries "^1.1.0" + object.fromentries "^2.0.0" + object.values "^1.1.0" + prop-types "^15.7.2" + resolve "^1.10.1" + +eslint-scope@3.7.1: + version "3.7.1" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" + integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^4.0.0, eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" + integrity sha1-0Plx3+WcaeDK2mhLI9Sdv4JgDOU= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^1.3.1, eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.npm.taobao.org/eslint-utils/download/eslint-utils-1.4.3.tgz?cache=0&sync_timestamp=1592222030474&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-utils%2Fdownload%2Feslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1597435545176&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= + +eslint@^6.1.0: + version "6.8.0" + resolved "https://registry.npm.taobao.org/eslint/download/eslint-6.8.0.tgz?cache=0&sync_timestamp=1598992513258&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s= + dependencies: + "@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" + +espree@^6.1.2: + version "6.2.1" + resolved "https://registry.npm.taobao.org/espree/download/espree-6.2.1.tgz?cache=0&sync_timestamp=1598127844725&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o= + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +esprima@^4.0.0, esprima@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= + +esquery@^1.0.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/esquery/download/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" + integrity sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc= + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE= + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596642941915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596642941915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha1-MH30JUfmzHMk088DwVXVzbjFOIA= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517795415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8= + +events@^3.0.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/events/download/events-3.2.0.tgz?cache=0&sync_timestamp=1595422602348&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevents%2Fdownload%2Fevents-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" + integrity sha1-k7h8GPjvzUICpGGuxN/AVWtjk3k= + +eventsource@^1.0.7: + version "1.0.7" + resolved "https://registry.npm.taobao.org/eventsource/download/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha1-j7xyyT/NNAiAkLwKTmT0tc7m2NA= + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.3.2: + version "0.3.4" + resolved "https://registry.npm.taobao.org/exec-sh/download/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha1-OgGM61JsxvbfK7UEsr/o46STTsU= + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1594145111640&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= + dependencies: + 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" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + 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" + +expect@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/expect/download/expect-24.9.0.tgz?cache=0&sync_timestamp=1598096719202&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpect%2Fdownload%2Fexpect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha1-t1FltIFwdPpKFXeU9G/p8boVtso= + dependencies: + "@jest/types" "^24.9.0" + ansi-styles "^3.2.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-regex-util "^24.9.0" + +express@^4.16.2: + version "4.17.1" + resolved "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ= + dependencies: + 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" + +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.npm.taobao.org/ext/download/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" + integrity sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ= + dependencies: + type "^2.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= + dependencies: + 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" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= + +fast-glob@^2.0.2: + version "2.2.7" + resolved "https://registry.npm.taobao.org/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1592290280465&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" + integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= + dependencies: + "@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" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz?cache=0&sync_timestamp=1595428000133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-levenshtein%2Fdownload%2Ffast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@~0.11.1: + version "0.11.3" + resolved "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" + integrity sha1-XA6aiWjokSwoZjn96XeosgnyUI4= + dependencies: + websocket-driver ">=0.5.1" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/fb-watchman/download/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha1-/IT7OdJwnPP/bXQ3BhV7tXCKioU= + dependencies: + bser "2.1.1" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4= + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= + dependencies: + escape-string-regexp "^1.0.5" + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= + dependencies: + flat-cache "^2.0.1" + +file-loader@3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/file-loader/download/file-loader-3.0.1.tgz?cache=0&sync_timestamp=1598876045721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa" + integrity sha1-+OC6C1mZGLUa3+RdZtHnca1WD6o= + dependencies: + loader-utils "^1.0.2" + schema-utils "^1.0.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= + +filesize@3.6.1: + version "3.6.1" + resolved "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc= + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0= + dependencies: + 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" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-up@3.0.0, find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1597170071453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= + dependencies: + locate-path "^3.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597170071453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1597170071453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1593953421432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= + +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.npm.taobao.org/flatten/download/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs= + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@^1.0.0, follow-redirects@^1.10.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.1.tgz#5f69b813376cee4fd0474a3aba835df04ab763b7" + integrity sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg== + +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.npm.taobao.org/for-in/download/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^0.1.3: + version "0.1.5" + resolved "https://registry.npm.taobao.org/for-own/download/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + dependencies: + for-in "^1.0.1" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +fork-ts-checker-webpack-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-1.5.0.tgz?cache=0&sync_timestamp=1597742185012&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffork-ts-checker-webpack-plugin%2Fdownload%2Ffork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c" + integrity sha1-zh13GQtE2Bp2GxC2KEo3N5XkHww= + dependencies: + babel-code-frame "^6.22.0" + chalk "^2.4.1" + chokidar "^2.0.4" + micromatch "^3.1.10" + minimatch "^3.0.4" + semver "^5.6.0" + tapable "^1.0.0" + worker-rpc "^0.1.0" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@7.0.1, fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz?cache=0&sync_timestamp=1591231538901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha1-TxicRKoSO4lfcigE9V6iPq3DSOk= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.npm.taobao.org/fs-extra/download/fs-extra-4.0.3.tgz?cache=0&sync_timestamp=1591231538901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@2.0.7: + version "2.0.7" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.0.7.tgz#382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a" + integrity sha1-OCybRDxsusTFcYfN2iOqO/HM/Co= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg= + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4= + +fstream@^1.0.0, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.npm.taobao.org/fstream/download/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha1-Touo7i1Ivk99DeUFRVVI6uWTIEU= + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + 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" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + integrity sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko= + dependencies: + globule "^1.0.0" + +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk= + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + integrity sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o= + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= + +get-own-enumerable-property-symbols@^3.0.0: + 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#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha1-tf3nfyLL4185C04ImSLFC85u9mQ= + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz?cache=0&sync_timestamp=1597056464385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.0.0, glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha1-tsHvQXxOVmPqSY8cRa+saRa7wik= + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz?cache=0&sync_timestamp=1596697446688&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob-to-regexp%2Fdownload%2Fglob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: + version "7.1.6" + resolved "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY= + dependencies: + 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" + +global-modules@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/global-modules/download/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha1-mXYFrSNF8n9RU5vqJldEISFcd4A= + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha1-/IX3MGTfafUEIfR/iD/luRO6m5c= + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1596709369054&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= + +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.npm.taobao.org/globals/download/globals-12.4.0.tgz?cache=0&sync_timestamp=1596709369054&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= + dependencies: + type-fest "^0.8.1" + +globby@8.0.2: + version "8.0.2" + resolved "https://registry.npm.taobao.org/globby/download/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" + integrity sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0= + dependencies: + array-union "^1.0.1" + dir-glob "2.0.0" + fast-glob "^2.0.2" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@^1.0.0: + version "1.3.2" + resolved "https://registry.npm.taobao.org/globule/download/globule-1.3.2.tgz?cache=0&sync_timestamp=1591641966255&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobule%2Fdownload%2Fglobule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" + integrity sha1-2L3Z6eTu+PluJFmZpd7n612FKcQ= + dependencies: + glob "~7.1.1" + lodash "~4.17.10" + minimatch "~3.0.2" + +good-storage@^1.1.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/good-storage/download/good-storage-1.1.1.tgz#081501c01607d5fee2a214f94e8f5f9cb994789f" + integrity sha1-CBUBwBYH1f7iohT5To9fnLmUeJ8= + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.4" + resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha1-Ila94U02MpWMRl68ltxGfKB6Kfs= + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/growly/download/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +gzip-size@5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" + integrity sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ= + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha1-hX95zjWVgMNA1DCBzGSJcNC7I04= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz?cache=0&sync_timestamp=1596084327526&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhar-validator%2Fdownload%2Fhar-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha1-HwgDufjLIMD6E4It8ezds2veHv0= + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +harmony-reflect@^1.4.6: + version "1.6.1" + resolved "https://registry.npm.taobao.org/harmony-reflect/download/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" + integrity sha1-wQjU8rtFHv73o3hh/b2ucsm976k= + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s= + +has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg= + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.x: + version "1.2.0" + resolved "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4= + +history@^4.9.0: + version "4.10.1" + resolved "https://registry.npm.taobao.org/history/download/history-4.10.1.tgz?cache=0&sync_timestamp=1591982561040&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhistory%2Fdownload%2Fhistory-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha1-MzcaZeOoOyZ0NOKz87G0xYqtTPM= + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://registry.npm.taobao.org/hoist-non-react-statics/download/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= + dependencies: + react-is "^16.7.0" + +hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1594427968487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg= + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c= + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/html-encoding-sniffer/download/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg= + dependencies: + whatwg-encoding "^1.0.1" + +html-entities@^1.2.0: + version "1.3.1" + resolved "https://registry.npm.taobao.org/html-entities/download/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" + integrity sha1-+5oaS1sUxdq6gtPjTGrk/nAaDkQ= + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/html-escaper/download/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha1-39YAJ9o2o238viNiYsAKWCJoFFM= + +html-minifier@^3.5.20: + version "3.5.21" + resolved "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw= + dependencies: + 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" + +html-webpack-plugin@4.0.0-beta.5: + version "4.0.0-beta.5" + resolved "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-4.0.0-beta.5.tgz#2c53083c1151bfec20479b1f8aaf0039e77b5513" + integrity sha1-LFMIPBFRv+wgR5sfiq8AOed7VRM= + dependencies: + html-minifier "^3.5.20" + loader-utils "^1.1.0" + lodash "^4.17.11" + pretty-error "^2.1.1" + tapable "^1.1.0" + util.promisify "1.0.0" + +htmlparser2@^3.3.0: + version "3.10.1" + resolved "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" + integrity sha1-vWedw/WYl7ajS7EHSchVu1OpOS8= + dependencies: + 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" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1593407611415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1593407611415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.3.tgz?cache=0&sync_timestamp=1593407611415&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY= + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-parser-js@>=0.5.1: + version "0.5.2" + resolved "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" + integrity sha1-2i4x0jezk6rnKs5DiC3X4nCo/3c= + +http-proxy-middleware@^0.19.1: + version "0.19.2" + resolved "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.2.tgz#ee73dcc8348165afefe8de2ff717751d181608ee" + integrity sha1-7nPcyDSBZa/v6N4v9xd1HRgWCO4= + dependencies: + http-proxy "^1.18.1" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk= + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +hyphenate-style-name@^1.0.3: + version "1.0.4" + resolved "https://registry.npm.taobao.org/hyphenate-style-name/download/hyphenate-style-name-1.0.4.tgz?cache=0&sync_timestamp=1594640430699&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhyphenate-style-name%2Fdownload%2Fhyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" + integrity sha1-aRh5r44iCupXUOiCfbTvYqVONh0= + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1594184325364&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= + +icss-utils@^4.1.0: + version "4.1.1" + resolved "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" + integrity sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc= + dependencies: + postcss "^7.0.14" + +identity-obj-proxy@3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/identity-obj-proxy/download/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" + integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= + dependencies: + harmony-reflect "^1.4.6" + +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q= + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1590809380232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM= + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1590809380232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + +immer@1.10.0: + version "1.10.0" + resolved "https://registry.npm.taobao.org/immer/download/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" + integrity sha1-utZ2BbqcgQJ12R4cKkfUWC6YKG0= + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0, import-fresh@^3.1.0: + version "3.2.1" + resolved "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY= + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +in-publish@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/in-publish/download/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" + integrity sha1-lIsaU1yAMFYc6lIvc/ePS+NX4Aw= + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + dependencies: + repeating "^2.0.0" + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3: + version "1.0.4" + resolved "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.5: + version "1.3.5" + resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc= + +inquirer@6.5.0: + version "6.5.0" + resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.0.tgz?cache=0&sync_timestamp=1595471629455&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" + integrity sha1-IwMxfvyaTqfsLi32+GVptzSsz0I= + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +inquirer@^7.0.0: + version "7.3.3" + resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-7.3.3.tgz?cache=0&sync_timestamp=1595471629455&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM= + dependencies: + 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" + +internal-ip@^4.2.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1596563415126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" + integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc= + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +intl-format-cache@^4.2.21: + version "4.3.1" + resolved "https://registry.npm.taobao.org/intl-format-cache/download/intl-format-cache-4.3.1.tgz#484d31a9872161e6c02139349b259a6229ade377" + integrity sha1-SE0xqYchYebAITk0myWaYimt43c= + +intl-messageformat-parser@^3.6.4: + version "3.6.4" + resolved "https://registry.npm.taobao.org/intl-messageformat-parser/download/intl-messageformat-parser-3.6.4.tgz#5199d106d816c3dda26ee0694362a9cf823978fb" + integrity sha1-UZnRBtgWw92ibuBpQ2Kpz4I5ePs= + dependencies: + "@formatjs/intl-unified-numberformat" "^3.2.0" + +intl-messageformat@^7.8.4: + version "7.8.4" + resolved "https://registry.npm.taobao.org/intl-messageformat/download/intl-messageformat-7.8.4.tgz#c29146a06b9cd26662978a4d95fff2b133e3642f" + integrity sha1-wpFGoGuc0mZil4pNlf/ysTPjZC8= + dependencies: + intl-format-cache "^4.2.21" + intl-messageformat-parser "^3.6.4" + +intl@^1.2.5: + version "1.2.5" + resolved "https://registry.npm.taobao.org/intl/download/intl-1.2.5.tgz#82244a2190c4e419f8371f5aa34daa3420e2abde" + integrity sha1-giRKIZDE5Bn4Nx9ao02qNCDiq94= + +invariant@^2.2.2, invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= + dependencies: + loose-envify "^1.0.0" + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/invert-kv/download/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI= + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha1-v/OFQ+64mEglB5/zoqjmy9RngbM= + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM= + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM= + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.0.2, is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= + +is-callable@^1.1.4, is-callable@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" + integrity sha1-gzNlYLVKOONeOi33r9BFTWkUaLs= + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-ci/download/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha1-a8YzQYGBDgS1wis9WJ/cpVAmQEw= + dependencies: + ci-info "^2.0.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + 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-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha1-vac28s2P0G0yhE53Q7+nSUw7/X4= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-generator-fn/download/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha1-fRQK3DiarzARqPKipM+m+q3/sRg= + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= + dependencies: + is-extglob "^2.1.1" + +is-in-browser@^1.0.2, is-in-browser@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/is-in-browser/download/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" + integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU= + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI= + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + integrity sha1-WsSLNF72dTOb1sekipEhELJBz1I= + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= + dependencies: + isobject "^3.0.1" + +is-regex@^1.0.4, is-regex@^1.1.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.1.tgz?cache=0&sync_timestamp=1596555650246&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" + integrity sha1-xvmKrMVG9s7FRooHt7FTq1ZKV7k= + dependencies: + has-symbols "^1.0.1" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg= + +is-root@2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/is-root/download/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" + integrity sha1-gJ4YEpzxEpZEMCpPhUQDXVGYSpw= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y= + +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha1-kyHb0pwhLlypnE+peUxxS8r6L3U= + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc= + dependencies: + has-symbols "^1.0.1" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: + version "2.0.5" + resolved "https://registry.npm.taobao.org/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" + integrity sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k= + +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/istanbul-lib-instrument/download/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" + integrity sha1-pfY9kfC7wMPkee9MXeAnM17G1jA= + dependencies: + "@babel/generator" "^7.4.0" + "@babel/parser" "^7.4.3" + "@babel/template" "^7.4.0" + "@babel/traverse" "^7.4.3" + "@babel/types" "^7.4.0" + istanbul-lib-coverage "^2.0.5" + semver "^6.0.0" + +istanbul-lib-report@^2.0.4: + version "2.0.8" + resolved "https://registry.npm.taobao.org/istanbul-lib-report/download/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" + integrity sha1-WoETzXRtQ8SInro2qxDn1QybTzM= + dependencies: + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + supports-color "^6.1.0" + +istanbul-lib-source-maps@^3.0.1: + version "3.0.6" + resolved "https://registry.npm.taobao.org/istanbul-lib-source-maps/download/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" + integrity sha1-KEmXxIIRdS7EhiU9qX44ed77qMg= + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.5" + make-dir "^2.1.0" + rimraf "^2.6.3" + source-map "^0.6.1" + +istanbul-reports@^2.2.6: + version "2.2.7" + resolved "https://registry.npm.taobao.org/istanbul-reports/download/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" + integrity sha1-XZOfYjfXtIOTzAlZ6rQM1P0FaTE= + dependencies: + html-escaper "^2.0.0" + +jest-changed-files@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-changed-files/download/jest-changed-files-24.9.0.tgz?cache=0&sync_timestamp=1597059134435&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-changed-files%2Fdownload%2Fjest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" + integrity sha1-CNjBXreaf6P8mCabwUtFHugvgDk= + dependencies: + "@jest/types" "^24.9.0" + execa "^1.0.0" + throat "^4.0.0" + +jest-cli@^24.8.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-cli/download/jest-cli-24.9.0.tgz?cache=0&sync_timestamp=1598096717382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-cli%2Fdownload%2Fjest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" + integrity sha1-rS3mLQdHLUGcarwwH8QyuYsQ0q8= + dependencies: + "@jest/core" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + exit "^0.1.2" + import-local "^2.0.0" + is-ci "^2.0.0" + jest-config "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + prompts "^2.0.1" + realpath-native "^1.1.0" + yargs "^13.3.0" + +jest-config@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-config/download/jest-config-24.9.0.tgz?cache=0&sync_timestamp=1598100327831&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-config%2Fdownload%2Fjest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" + integrity sha1-+xu8YMc6Rq8DWQcZ76SCXm5N0bU= + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^24.9.0" + "@jest/types" "^24.9.0" + babel-jest "^24.9.0" + chalk "^2.0.1" + glob "^7.1.1" + jest-environment-jsdom "^24.9.0" + jest-environment-node "^24.9.0" + jest-get-type "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + micromatch "^3.1.10" + pretty-format "^24.9.0" + realpath-native "^1.1.0" + +jest-diff@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-diff/download/jest-diff-24.9.0.tgz?cache=0&sync_timestamp=1598096606673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-diff%2Fdownload%2Fjest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" + integrity sha1-kxt9DVd4obr3RSy4FuMl43JAVdo= + dependencies: + chalk "^2.0.1" + diff-sequences "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-docblock@^24.3.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-docblock/download/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" + integrity sha1-eXAgGAK6Vg4cQJLMJcvt9a9ajOI= + dependencies: + detect-newline "^2.1.0" + +jest-each@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-each/download/jest-each-24.9.0.tgz?cache=0&sync_timestamp=1598096722856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-each%2Fdownload%2Fjest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" + integrity sha1-6y2mAuKmEImNvF8fbfO6hrVfiwU= + dependencies: + "@jest/types" "^24.9.0" + chalk "^2.0.1" + jest-get-type "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + +jest-environment-jsdom-fourteen@0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/jest-environment-jsdom-fourteen/download/jest-environment-jsdom-fourteen-0.1.0.tgz#aad6393a9d4b565b69a609109bf469f62bf18ccc" + integrity sha1-qtY5Op1LVltppgkQm/Rp9ivxjMw= + dependencies: + jest-mock "^24.5.0" + jest-util "^24.5.0" + jsdom "^14.0.0" + +jest-environment-jsdom@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-environment-jsdom/download/jest-environment-jsdom-24.9.0.tgz?cache=0&sync_timestamp=1597057594431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-jsdom%2Fdownload%2Fjest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" + integrity sha1-SwgGx/yU+V7bNpppzCd47sK3N1s= + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + jsdom "^11.5.1" + +jest-environment-node@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-environment-node/download/jest-environment-node-24.9.0.tgz?cache=0&sync_timestamp=1597057594669&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-environment-node%2Fdownload%2Fjest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" + integrity sha1-Mz0tJ5b5aH8q7r8HQrUZ8zwcv9M= + dependencies: + "@jest/environment" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/types" "^24.9.0" + jest-mock "^24.9.0" + jest-util "^24.9.0" + +jest-get-type@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-get-type/download/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" + integrity sha1-FoSgyKUPLkkBtmRK6GH1ee7S7w4= + +jest-haste-map@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-haste-map/download/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" + integrity sha1-s4pdZCdJNOIfpBeump++t3zqrH0= + dependencies: + "@jest/types" "^24.9.0" + anymatch "^2.0.0" + fb-watchman "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + jest-serializer "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.9.0" + micromatch "^3.1.10" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^1.2.7" + +jest-jasmine2@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-jasmine2/download/jest-jasmine2-24.9.0.tgz?cache=0&sync_timestamp=1598096720067&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-jasmine2%2Fdownload%2Fjest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" + integrity sha1-H3sb0yQsF3TmKsq7NkbZavw75qA= + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + co "^4.6.0" + expect "^24.9.0" + is-generator-fn "^2.0.0" + jest-each "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-runtime "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + pretty-format "^24.9.0" + throat "^4.0.0" + +jest-leak-detector@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-leak-detector/download/jest-leak-detector-24.9.0.tgz?cache=0&sync_timestamp=1598096718806&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-leak-detector%2Fdownload%2Fjest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" + integrity sha1-tmXep8dxAMXE99/LFTtlzwfc+Wo= + dependencies: + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-matcher-utils@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-matcher-utils/download/jest-matcher-utils-24.9.0.tgz?cache=0&sync_timestamp=1598096718651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-matcher-utils%2Fdownload%2Fjest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" + integrity sha1-9bNmHV5ijf/m3WUlHf2uDofDoHM= + dependencies: + chalk "^2.0.1" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + pretty-format "^24.9.0" + +jest-message-util@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-message-util/download/jest-message-util-24.9.0.tgz?cache=0&sync_timestamp=1597059135223&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-message-util%2Fdownload%2Fjest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" + integrity sha1-Un9UoeOA9eICqNEUmw7IcvQxGeM= + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/stack-utils" "^1.0.1" + chalk "^2.0.1" + micromatch "^3.1.10" + slash "^2.0.0" + stack-utils "^1.0.1" + +jest-mock@^24.5.0, jest-mock@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-mock/download/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" + integrity sha1-wig1VB7jebkIZzrVEIeiGFwT8cY= + dependencies: + "@jest/types" "^24.9.0" + +jest-pnp-resolver@^1.2.1: + version "1.2.2" + resolved "https://registry.npm.taobao.org/jest-pnp-resolver/download/jest-pnp-resolver-1.2.2.tgz?cache=0&sync_timestamp=1592991657938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-pnp-resolver%2Fdownload%2Fjest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha1-twSsCuAoqJEIpNBAs/kZ393I4zw= + +jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-regex-util/download/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" + integrity sha1-wT+zOAveIr9ldUMsST6o/jeWVjY= + +jest-resolve-dependencies@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-resolve-dependencies/download/jest-resolve-dependencies-24.9.0.tgz?cache=0&sync_timestamp=1598096719759&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-resolve-dependencies%2Fdownload%2Fjest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" + integrity sha1-rQVRmJWcTPuopPBmxnOj8HhlB6s= + dependencies: + "@jest/types" "^24.9.0" + jest-regex-util "^24.3.0" + jest-snapshot "^24.9.0" + +jest-resolve@24.8.0: + version "24.8.0" + resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f" + integrity sha1-hLjlQIwfahFTl5Pitf6xtuciQ58= + dependencies: + "@jest/types" "^24.8.0" + browser-resolve "^1.11.3" + chalk "^2.0.1" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" + +jest-resolve@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-resolve/download/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" + integrity sha1-3/BMdoevNMTdflJIktnPd+XRcyE= + dependencies: + "@jest/types" "^24.9.0" + browser-resolve "^1.11.3" + chalk "^2.0.1" + jest-pnp-resolver "^1.2.1" + realpath-native "^1.1.0" + +jest-runner@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-runner/download/jest-runner-24.9.0.tgz?cache=0&sync_timestamp=1598096720677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runner%2Fdownload%2Fjest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" + integrity sha1-V0+v29VEVcKzS0vfQ2WiOFf830I= + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + chalk "^2.4.2" + exit "^0.1.2" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-docblock "^24.3.0" + jest-haste-map "^24.9.0" + jest-jasmine2 "^24.9.0" + jest-leak-detector "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + jest-runtime "^24.9.0" + jest-util "^24.9.0" + jest-worker "^24.6.0" + source-map-support "^0.5.6" + throat "^4.0.0" + +jest-runtime@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-runtime/download/jest-runtime-24.9.0.tgz?cache=0&sync_timestamp=1598096721130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-runtime%2Fdownload%2Fjest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" + integrity sha1-nxRYOvak9zFKap2fAibhp4HI5Kw= + dependencies: + "@jest/console" "^24.7.1" + "@jest/environment" "^24.9.0" + "@jest/source-map" "^24.3.0" + "@jest/transform" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + chalk "^2.0.1" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.1.15" + jest-config "^24.9.0" + jest-haste-map "^24.9.0" + jest-message-util "^24.9.0" + jest-mock "^24.9.0" + jest-regex-util "^24.3.0" + jest-resolve "^24.9.0" + jest-snapshot "^24.9.0" + jest-util "^24.9.0" + jest-validate "^24.9.0" + realpath-native "^1.1.0" + slash "^2.0.0" + strip-bom "^3.0.0" + yargs "^13.3.0" + +jest-serializer@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-serializer/download/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" + integrity sha1-5tfX75bTHouQeacUdUxdXFgojnM= + +jest-snapshot@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-snapshot/download/jest-snapshot-24.9.0.tgz?cache=0&sync_timestamp=1598096719467&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-snapshot%2Fdownload%2Fjest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" + integrity sha1-7I6cpPLsDFyHro+SXPl0l7DpUbo= + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^24.9.0" + chalk "^2.0.1" + expect "^24.9.0" + jest-diff "^24.9.0" + jest-get-type "^24.9.0" + jest-matcher-utils "^24.9.0" + jest-message-util "^24.9.0" + jest-resolve "^24.9.0" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + pretty-format "^24.9.0" + semver "^6.2.0" + +jest-util@^24.5.0, jest-util@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-util/download/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" + integrity sha1-c5aBTkhTbS6Fo33j5MQx18sUAWI= + dependencies: + "@jest/console" "^24.9.0" + "@jest/fake-timers" "^24.9.0" + "@jest/source-map" "^24.9.0" + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + callsites "^3.0.0" + chalk "^2.0.1" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + mkdirp "^0.5.1" + slash "^2.0.0" + source-map "^0.6.0" + +jest-validate@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-validate/download/jest-validate-24.9.0.tgz?cache=0&sync_timestamp=1598096718062&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-validate%2Fdownload%2Fjest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" + integrity sha1-B3XFU2DRc82FTkAYB1bU/1Le+Ks= + dependencies: + "@jest/types" "^24.9.0" + camelcase "^5.3.1" + chalk "^2.0.1" + jest-get-type "^24.9.0" + leven "^3.1.0" + pretty-format "^24.9.0" + +jest-watch-typeahead@0.3.1: + version "0.3.1" + resolved "https://registry.npm.taobao.org/jest-watch-typeahead/download/jest-watch-typeahead-0.3.1.tgz#47701024b64b444aa325d801b4b3a6d61ed70701" + integrity sha1-R3AQJLZLREqjJdgBtLOm1h7XBwE= + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.4.1" + jest-watcher "^24.3.0" + slash "^2.0.0" + string-length "^2.0.0" + strip-ansi "^5.0.0" + +jest-watcher@^24.3.0, jest-watcher@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-watcher/download/jest-watcher-24.9.0.tgz?cache=0&sync_timestamp=1597057412418&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-watcher%2Fdownload%2Fjest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" + integrity sha1-S1bl0c7/AF9biOUo3Jr8jdTtKzs= + dependencies: + "@jest/test-result" "^24.9.0" + "@jest/types" "^24.9.0" + "@types/yargs" "^13.0.0" + ansi-escapes "^3.0.0" + chalk "^2.0.1" + jest-util "^24.9.0" + string-length "^2.0.0" + +jest-worker@^24.6.0, jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/jest-worker/download/jest-worker-24.9.0.tgz?cache=0&sync_timestamp=1597059133871&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha1-Xb/bWy0yLphWeJgjipaXvM5ns+U= + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +jest@24.8.0: + version "24.8.0" + resolved "https://registry.npm.taobao.org/jest/download/jest-24.8.0.tgz?cache=0&sync_timestamp=1598096716887&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest%2Fdownload%2Fjest-24.8.0.tgz#d5dff1984d0d1002196e9b7f12f75af1b2809081" + integrity sha1-1d/xmE0NEAIZbpt/Evda8bKAkIE= + dependencies: + import-local "^2.0.0" + jest-cli "^24.8.0" + +js-base64@^2.1.8: + version "2.6.4" + resolved "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ= + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@^3.13.1: + version "3.14.0" + resolved "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz?cache=0&sync_timestamp=1590172281856&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha1-p6NBcPJqIbsWJCTYray0ETpp5II= + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdom@^11.5.1: + version "11.12.0" + resolved "https://registry.npm.taobao.org/jsdom/download/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" + integrity sha1-GoDUDd03ih3lllbp5txaO6hle8g= + dependencies: + abab "^2.0.0" + acorn "^5.5.3" + acorn-globals "^4.1.0" + array-equal "^1.0.0" + cssom ">= 0.3.2 < 0.4.0" + cssstyle "^1.0.0" + data-urls "^1.0.0" + domexception "^1.0.1" + escodegen "^1.9.1" + html-encoding-sniffer "^1.0.2" + left-pad "^1.3.0" + nwsapi "^2.0.7" + parse5 "4.0.0" + pn "^1.1.0" + request "^2.87.0" + request-promise-native "^1.0.5" + sax "^1.2.4" + symbol-tree "^3.2.2" + tough-cookie "^2.3.4" + w3c-hr-time "^1.0.1" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.3" + whatwg-mimetype "^2.1.0" + whatwg-url "^6.4.1" + ws "^5.2.0" + xml-name-validator "^3.0.0" + +jsdom@^14.0.0: + version "14.1.0" + resolved "https://registry.npm.taobao.org/jsdom/download/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" + integrity sha1-kWRjtglJVrCmwXgslOOAzTDhmBs= + dependencies: + abab "^2.0.0" + acorn "^6.0.4" + acorn-globals "^4.3.0" + array-equal "^1.0.0" + cssom "^0.3.4" + cssstyle "^1.1.1" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.0" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.1.3" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.5" + saxes "^3.1.9" + symbol-tree "^3.2.2" + tough-cookie "^2.5.0" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^6.1.2" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= + +json-parse-even-better-errors@^2.3.0: + 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#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0= + +json-schema-traverse@^0.4.1: + 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=1599334207614&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + 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#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json3@^3.3.2: + version "3.3.3" + resolved "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" + integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= + dependencies: + minimist "^1.2.0" + +json5@^2.1.0, json5@^2.1.2: + version "2.1.3" + resolved "https://registry.npm.taobao.org/json5/download/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha1-ybD3+pIzv+WAf+ZvzzpWF+1ZfUM= + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jss-plugin-camel-case@^10.0.3: + version "10.4.0" + resolved "https://registry.npm.taobao.org/jss-plugin-camel-case/download/jss-plugin-camel-case-10.4.0.tgz#46c75ff7fd61c304984c21af5817823f0f501ceb" + integrity sha1-Rsdf9/1hwwSYTCGvWBeCPw9QHOs= + dependencies: + "@babel/runtime" "^7.3.1" + hyphenate-style-name "^1.0.3" + jss "10.4.0" + +jss-plugin-default-unit@^10.0.3: + version "10.4.0" + resolved "https://registry.npm.taobao.org/jss-plugin-default-unit/download/jss-plugin-default-unit-10.4.0.tgz#2b10f01269eaea7f36f0f5fd1cfbfcc76ed42854" + integrity sha1-KxDwEmnq6n828PX9HPv8x27UKFQ= + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.4.0" + +jss-plugin-global@^10.0.3: + version "10.4.0" + resolved "https://registry.npm.taobao.org/jss-plugin-global/download/jss-plugin-global-10.4.0.tgz#19449425a94e4e74e113139b629fd44d3577f97d" + integrity sha1-GUSUJalOTnThExObYp/UTTV3+X0= + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.4.0" + +jss-plugin-nested@^10.0.3: + version "10.4.0" + resolved "https://registry.npm.taobao.org/jss-plugin-nested/download/jss-plugin-nested-10.4.0.tgz#017d0c02c0b6b454fd9d7d3fc33470a15eea9fd1" + integrity sha1-AX0MAsC2tFT9nX0/wzRwoV7qn9E= + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.4.0" + tiny-warning "^1.0.2" + +jss-plugin-props-sort@^10.0.3: + version "10.4.0" + resolved "https://registry.npm.taobao.org/jss-plugin-props-sort/download/jss-plugin-props-sort-10.4.0.tgz#7110bf0b6049cc2080b220b506532bf0b70c0e07" + integrity sha1-cRC/C2BJzCCAsiC1BlMr8LcMDgc= + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.4.0" + +jss-plugin-rule-value-function@^10.0.3: + version "10.4.0" + resolved "https://registry.npm.taobao.org/jss-plugin-rule-value-function/download/jss-plugin-rule-value-function-10.4.0.tgz#7cff4a91e84973536fa49b6ebbdbf7f339b01c82" + integrity sha1-fP9KkehJc1NvpJtuu9v38zmwHII= + dependencies: + "@babel/runtime" "^7.3.1" + jss "10.4.0" + tiny-warning "^1.0.2" + +jss-plugin-vendor-prefixer@^10.0.3: + version "10.4.0" + resolved "https://registry.npm.taobao.org/jss-plugin-vendor-prefixer/download/jss-plugin-vendor-prefixer-10.4.0.tgz#2a78f3c5d57d1e024fe7ad7c41de34d04e72ecc0" + integrity sha1-KnjzxdV9HgJP5618Qd400E5y7MA= + dependencies: + "@babel/runtime" "^7.3.1" + css-vendor "^2.0.8" + jss "10.4.0" + +jss@10.4.0, jss@^10.0.3: + version "10.4.0" + resolved "https://registry.npm.taobao.org/jss/download/jss-10.4.0.tgz#473a6fbe42e85441020a07e9519dac1e8a2e79ca" + integrity sha1-RzpvvkLoVEECCgfpUZ2sHooueco= + dependencies: + "@babel/runtime" "^7.3.1" + csstype "^3.0.2" + is-in-browser "^1.1.3" + tiny-warning "^1.0.2" + +jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1: + version "2.4.1" + resolved "https://registry.npm.taobao.org/jsx-ast-utils/download/jsx-ast-utils-2.4.1.tgz?cache=0&sync_timestamp=1591928246466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsx-ast-utils%2Fdownload%2Fjsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e" + integrity sha1-ERSkwSCUgdsGxpDCtPSIzGZfZX4= + dependencies: + array-includes "^3.1.1" + object.assign "^4.1.0" + +killable@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" + integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= + +kind-of@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" + integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= + dependencies: + is-buffer "^1.0.2" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0= + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npm.taobao.org/kleur/download/kleur-3.0.3.tgz?cache=0&sync_timestamp=1597815182347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkleur%2Fdownload%2Fkleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha1-p5yezIbuHOP6YgbRIWxQHxR/wH4= + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/last-call-webpack-plugin/download/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha1-l0LfDhDjz0blwDgcLekNOnotdVU= + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +lazy-cache@^0.2.3: + version "0.2.7" + resolved "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" + integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/lcid/download/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha1-bvXS32DlL4LrIopMNz6NHzlyU88= + dependencies: + invert-kv "^2.0.0" + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/left-pad/download/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha1-W4o6d2Xf4AEmHd6RVYnngvjJTR4= + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I= + +levenary@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/levenary/download/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c= + dependencies: + leven "^3.1.0" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/load-json-file/download/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-fs-cache@^1.0.0: + version "1.0.3" + resolved "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" + integrity sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k= + dependencies: + find-cache-dir "^0.1.1" + mkdirp "^0.5.1" + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1593786200432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= + +loader-utils@1.2.3: + version "1.2.3" + resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc= + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" + +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: + version "1.4.0" + resolved "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1597081904643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1597081904643&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo= + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash.template@^4.4.0, lodash.template@^4.5.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/lodash.template/download/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks= + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM= + dependencies: + lodash._reinterpolate "^3.0.0" + +lodash.unescape@4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/lodash.unescape/download/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" + integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.5, lodash@~4.17.10: + version "4.17.20" + resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&sync_timestamp=1597336097104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI= + +loglevel@^1.4.1: + version "1.7.0" + resolved "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.0.tgz?cache=0&sync_timestamp=1598447642950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.0.tgz#728166855a740d59d38db01cf46f042caa041bb0" + integrity sha1-coFmhVp0DVnTjbAc9G8ELKoEG7A= + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8= + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427519396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80= + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427519396&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= + dependencies: + yallist "^3.0.2" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.npm.taobao.org/makeerror/download/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +mamacro@^0.0.3: + version "0.0.3" + resolved "https://registry.npm.taobao.org/mamacro/download/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" + integrity sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q= + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo= + dependencies: + p-defer "^1.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= + +mdn-data@2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" + integrity sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg= + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz?cache=0&sync_timestamp=1598693287069&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmeow%2Fdownload%2Fmeow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + dependencies: + 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" + +merge-deep@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/merge-deep/download/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" + integrity sha1-85+hAKTxvTT/KffSv0UI+7jYOtI= + dependencies: + arr-union "^3.1.0" + clone-deep "^0.2.4" + kind-of "^3.0.2" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= + +merge2@^1.2.3: + version "1.4.1" + resolved "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +microevent.ts@~0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/microevent.ts/download/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" + integrity sha1-cLCbg/Q99RctAgWmMCW84Pc1f6A= + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= + dependencies: + 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@^4.0.0: + version "4.0.1" + resolved "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": + version "1.44.0" + resolved "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" + integrity sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I= + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.27" + resolved "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" + integrity sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8= + dependencies: + mime-db "1.44.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1590596728112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE= + +mime@^2.4.4: + version "2.4.6" + resolved "https://registry.npm.taobao.org/mime/download/mime-2.4.6.tgz?cache=0&sync_timestamp=1590596728112&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" + integrity sha1-5bQHyQ20QvK+tbFiNz0Htpr/pNE= + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz?cache=0&sync_timestamp=1596094012686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI= + +mimic-fn@^2.0.0, mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1596094012686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= + +mini-create-react-context@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/mini-create-react-context/download/mini-create-react-context-0.4.0.tgz#df60501c83151db69e28eac0ef08b4002efab040" + integrity sha1-32BQHIMVHbaeKOrA7wi0AC76sEA= + dependencies: + "@babel/runtime" "^7.5.5" + tiny-warning "^1.0.3" + +mini-css-extract-plugin@0.5.0: + version "0.5.0" + resolved "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.5.0.tgz?cache=0&sync_timestamp=1598544854820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.5.0.tgz#ac0059b02b9692515a637115b0cc9fed3a35c7b0" + integrity sha1-rABZsCuWklFaY3EVsMyf7To1x7A= + dependencies: + loader-utils "^1.1.0" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@3.0.4, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= + dependencies: + 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@^1.2.0: + version "1.3.2" + resolved "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/mixin-object/download/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" + +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + dependencies: + minimist "^1.2.5" + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + 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@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= + +ms@^2.1.1: + version "2.1.2" + resolved "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" + integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= + +nan@^2.12.1, nan@^2.13.2: + version "2.14.1" + resolved "https://registry.npm.taobao.org/nan/download/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" + integrity sha1-174036MQW5FJTDFHCJMV7/iHSwE= + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= + dependencies: + 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@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= + +neo-async@^2.5.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz?cache=0&sync_timestamp=1594317437265&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8= + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw= + dependencies: + lower-case "^1.1.1" + +node-forge@0.9.0: + version "0.9.0" + resolved "https://registry.npm.taobao.org/node-forge/download/node-forge-0.9.0.tgz?cache=0&sync_timestamp=1599010730714&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" + integrity sha1-1iQFDtu0SHStyhK7mlLsY8t4JXk= + +node-gyp@^3.8.0: + version "3.8.0" + resolved "https://registry.npm.taobao.org/node-gyp/download/node-gyp-3.8.0.tgz?cache=0&sync_timestamp=1597202624819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-gyp%2Fdownload%2Fnode-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + integrity sha1-VAMEJhwzDoDQ1e3OJTpoyzlkIYw= + dependencies: + 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" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/node-int64/download/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= + dependencies: + 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" + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/node-modules-regexp/download/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^5.4.2: + version "5.4.3" + resolved "https://registry.npm.taobao.org/node-notifier/download/node-notifier-5.4.3.tgz?cache=0&sync_timestamp=1597311297466&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-notifier%2Fdownload%2Fnode-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" + integrity sha1-y3La+UyTkECY4oucWQ/YZuRkvVA= + dependencies: + growly "^1.3.0" + is-wsl "^1.1.0" + semver "^5.5.0" + shellwords "^0.1.1" + which "^1.3.0" + +node-releases@^1.1.29, node-releases@^1.1.60: + version "1.1.60" + resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.60.tgz?cache=0&sync_timestamp=1595485319901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.60.tgz#6948bdfce8286f0b5d0e5a88e8384e954dfe7084" + integrity sha1-aUi9/OgobwtdDlqI6DhOlU3+cIQ= + +node-sass@^4.12.0: + version "4.14.1" + resolved "https://registry.npm.taobao.org/node-sass/download/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" + integrity sha1-mch+wu+3BH7WOPtMnbfzpC4iF7U= + dependencies: + 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" + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz?cache=0&sync_timestamp=1597649936800&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnopt%2Fdownload%2Fnopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.5.0" + resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz?cache=0&sync_timestamp=1596373090568&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: + version "4.1.2" + resolved "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha1-CKfyqL9zRgR3mp76StXMcXq7lUs= + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/nprogress/download/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" + integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E= + +nth-check@^1.0.2, nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +nwsapi@^2.0.7, nwsapi@^2.1.3: + version "2.2.0" + resolved "https://registry.npm.taobao.org/nwsapi/download/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha1-IEh5qePQaP8qVROcLHcngGgaOLc= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^1.1.4: + version "1.3.1" + resolved "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" + integrity sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8= + +object-inspect@^1.7.0: + version "1.8.0" + resolved "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.8.0.tgz?cache=0&sync_timestamp=1592545152574&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" + integrity sha1-34B+Xs9TpgnMa/6T6sPMe+WzqdA= + +object-is@^1.0.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/object-is/download/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" + integrity sha1-xdLof/nhGfeLegiEQVGeLuwVc7Y= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= + +object-path@0.11.4: + version "0.11.4" + resolved "https://registry.npm.taobao.org/object-path/download/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" + integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha1-lovxEA15Vrs8oIbwBvhGs7xACNo= + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.entries@^1.1.0: + version "1.1.2" + resolved "https://registry.npm.taobao.org/object.entries/download/object.entries-1.1.2.tgz?cache=0&sync_timestamp=1590009612950&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.entries%2Fdownload%2Fobject.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" + integrity sha1-vHPwCstra7FsIDQ0sQ+afnl9Ot0= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + has "^1.0.3" + +object.fromentries@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/object.fromentries/download/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" + integrity sha1-SgnJubs4Q90PiazbUXp5TU81Wsk= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha1-Npvx+VktiridcS3O1cuBx8U1Jkk= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0: + version "1.1.1" + resolved "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + function-bind "^1.1.1" + has "^1.0.3" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz?cache=0&sync_timestamp=1597005190531&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz?cache=0&sync_timestamp=1597005190531&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4= + dependencies: + mimic-fn "^2.1.0" + +open@^6.3.0: + version "6.4.0" + resolved "https://registry.npm.taobao.org/open/download/open-6.4.0.tgz?cache=0&sync_timestamp=1598611657979&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopen%2Fdownload%2Fopen-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9" + integrity sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk= + dependencies: + is-wsl "^1.1.0" + +opn@^5.1.0: + version "5.5.0" + resolved "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" + integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= + dependencies: + is-wsl "^1.1.0" + +optimize-css-assets-webpack-plugin@5.0.3: + version "5.0.3" + resolved "https://registry.npm.taobao.org/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-5.0.3.tgz?cache=0&sync_timestamp=1598800822300&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptimize-css-assets-webpack-plugin%2Fdownload%2Foptimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" + integrity sha1-4vHU2UrYwK+JZ+vXzxONyx7xRXI= + dependencies: + cssnano "^4.1.10" + last-call-webpack-plugin "^3.0.0" + +optionator@^0.8.1, optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= + dependencies: + 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" + +original@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-locale@^3.0.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/os-locale/download/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo= + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@0: + version "0.1.5" + resolved "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha1-hc36+uso6Gd/QW4odZK18/SepBA= + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-each-series@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-each-series/download/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" + integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= + dependencies: + p-reduce "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/p-is-promise/download/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1594559720897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg= + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559720897&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz?cache=0&sync_timestamp=1597081785924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1597081785924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= + dependencies: + p-limit "^2.0.0" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" + integrity sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s= + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-reduce/download/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8= + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw= + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + dependencies: + no-case "^2.2.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/parent-module/download/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ= + dependencies: + 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@^2.2.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-5.1.0.tgz?cache=0&sync_timestamp=1598130878813&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.1.0.tgz#f96088cdf24a8faa9aea9a009f2d9d942c999646" + integrity sha1-+WCIzfJKj6qa6poAny2dlCyZlkY= + dependencies: + "@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@4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/parse5/download/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" + integrity sha1-bXhlbj2o14tOwLkG98CO8d/j9gg= + +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/parse5/download/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha1-xZNByXI/QUxFKXVWTHwApo1YrNI= + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= + +path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha1-1i27VnlAXXLEc37FhgDp3c8G0kw= + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha1-iHs7qdhDk+h6CgufTLdWGYtTVIo= + dependencies: + isarray "0.0.1" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= + +pbkdf2@^3.0.3: + version "3.1.1" + resolved "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" + integrity sha1-y4cksPramEWWhW0abrr9NYRlS5Q= + dependencies: + 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@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha1-IfMz6ba46v8CRo9RRupAbTRfTa0= + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/pirates/download/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha1-ZDqSyviUVm+RsrmG0sZpUKji+4c= + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= + dependencies: + find-up "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= + dependencies: + find-up "^3.0.0" + +pkg-up@2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/pkg-up/download/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/pn/download/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs= + +pnp-webpack-plugin@1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/pnp-webpack-plugin/download/pnp-webpack-plugin-1.5.0.tgz?cache=0&sync_timestamp=1588851828839&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpnp-webpack-plugin%2Fdownload%2Fpnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb" + integrity sha1-YqHNMGj0bVZLszxW6yUOTVhmdus= + dependencies: + ts-pnp "^1.1.2" + +popper.js@1.16.1-lts: + version "1.16.1-lts" + resolved "https://registry.npm.taobao.org/popper.js/download/popper.js-1.16.1-lts.tgz#cf6847b807da3799d80ee3d6d2f90df8a3f50b05" + integrity sha1-z2hHuAfaN5nYDuPW0vkN+KP1CwU= + +portfinder@^1.0.9: + version "1.0.28" + resolved "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz?cache=0&sync_timestamp=1596018172434&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fportfinder%2Fdownload%2Fportfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g= + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-attribute-case-insensitive@^4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-attribute-case-insensitive/download/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" + integrity sha1-2T5GtQRYnpSscnewRjImxoBBqIA= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^6.0.2" + +postcss-browser-comments@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/postcss-browser-comments/download/postcss-browser-comments-2.0.0.tgz#dc48d6a8ddbff188a80a000b7393436cb18aed88" + integrity sha1-3EjWqN2/8YioCgALc5NDbLGK7Yg= + dependencies: + postcss "^7.0.2" + +postcss-calc@^7.0.1: + version "7.0.4" + resolved "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.4.tgz?cache=0&sync_timestamp=1598957841053&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.4.tgz#5e177ddb417341e6d4a193c5d9fd8ada79094f8b" + integrity sha1-Xhd920FzQebUoZPF2f2K2nkJT4s= + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-color-functional-notation@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/postcss-color-functional-notation/download/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" + integrity sha1-Xv03qI+6vrAKKWbR5T2Yztk/dOA= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-gray@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/postcss-color-gray/download/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" + integrity sha1-Uyox65CfjaiYzv/ilv3B+GS+hUc= + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-color-hex-alpha@^5.0.3: + version "5.0.3" + resolved "https://registry.npm.taobao.org/postcss-color-hex-alpha/download/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + integrity sha1-qNnKTDnUl8lmHjdLnFGJnvD4c4g= + dependencies: + postcss "^7.0.14" + postcss-values-parser "^2.0.1" + +postcss-color-mod-function@^3.0.3: + version "3.0.3" + resolved "https://registry.npm.taobao.org/postcss-color-mod-function/download/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" + integrity sha1-gWuhRawRzDy2uqkFp1pJ+QPk0x0= + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-color-rebeccapurple@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-color-rebeccapurple/download/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" + integrity sha1-x6ib6HK7dORbHjAiv+V0iCPm3nc= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz?cache=0&sync_timestamp=1599152039359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-colormin%2Fdownload%2Fpostcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" + integrity sha1-rgYLzpPteUrHEmTwgTLVUJVr04E= + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^4.0.1: + 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=1599152039488&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-convert-values%2Fdownload%2Fpostcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-custom-media@^7.0.8: + version "7.0.8" + resolved "https://registry.npm.taobao.org/postcss-custom-media/download/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + integrity sha1-//0T/+/61zYhvl84cHaiiwApTgw= + dependencies: + postcss "^7.0.14" + +postcss-custom-properties@^8.0.11: + version "8.0.11" + resolved "https://registry.npm.taobao.org/postcss-custom-properties/download/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + integrity sha1-LWF3LW6S8i9eDVJgLfj65G+jDZc= + dependencies: + postcss "^7.0.17" + postcss-values-parser "^2.0.1" + +postcss-custom-selectors@^5.1.2: + version "5.1.2" + resolved "https://registry.npm.taobao.org/postcss-custom-selectors/download/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" + integrity sha1-ZIWMbrLs/y+0HQsoyd17PbTef7o= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-dir-pseudo-class@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/postcss-dir-pseudo-class/download/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" + integrity sha1-bjpBd9Dts6vMhf22+7HCbauuq6I= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-discard-comments@^4.0.2: + 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=1599152039587&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-comments%2Fdownload%2Fpostcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" + integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM= + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^4.0.2: + 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=1599152039690&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-duplicates%2Fdownload%2Fpostcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha1-P+EzzTyCKC5VD8myORdqkge3hOs= + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz?cache=0&sync_timestamp=1599152039793&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-empty%2Fdownload%2Fpostcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U= + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz?cache=0&sync_timestamp=1599152039883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-overridden%2Fdownload%2Fpostcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c= + dependencies: + postcss "^7.0.0" + +postcss-double-position-gradients@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/postcss-double-position-gradients/download/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" + integrity sha1-/JJ9Uv3ciWyzooEuvF3xR+EQUi4= + dependencies: + postcss "^7.0.5" + postcss-values-parser "^2.0.0" + +postcss-env-function@^2.0.2: + version "2.0.2" + resolved "https://registry.npm.taobao.org/postcss-env-function/download/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" + integrity sha1-Dz49PFfwlKksK69LYkHwsNpTZdc= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-flexbugs-fixes@4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/postcss-flexbugs-fixes/download/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" + integrity sha1-4JSp3xeD4iALexn4ddytOzr/iyA= + dependencies: + postcss "^7.0.0" + +postcss-focus-visible@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/postcss-focus-visible/download/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" + integrity sha1-R30QcROt5gJLFBKDF63ivR4XBG4= + dependencies: + postcss "^7.0.2" + +postcss-focus-within@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-focus-within/download/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" + integrity sha1-djuHiFls7puHTJmSAc3egGWe9oA= + dependencies: + postcss "^7.0.2" + +postcss-font-variant@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/postcss-font-variant/download/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" + integrity sha1-cd08bBCg2EbF7aB4A0OWF7u6usw= + dependencies: + postcss "^7.0.2" + +postcss-gap-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/postcss-gap-properties/download/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" + integrity sha1-QxwZKrPtlqPD0J8v9hWWD5AsFxU= + dependencies: + postcss "^7.0.2" + +postcss-image-set-function@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/postcss-image-set-function/download/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" + integrity sha1-KJIKLymUW+1MMZjX32SW1BDT8og= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-initial@^3.0.0: + version "3.0.2" + resolved "https://registry.npm.taobao.org/postcss-initial/download/postcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d" + integrity sha1-8BhWNpSzwWro6qvjxYWsYxljey0= + dependencies: + lodash.template "^4.5.0" + postcss "^7.0.2" + +postcss-lab-function@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/postcss-lab-function/download/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" + integrity sha1-u1GmhWzRIomrSuINseOCHvE9fS4= + dependencies: + "@csstools/convert-colors" "^1.4.0" + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-load-config@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" + integrity sha1-yE1pK3u3tB3c7ZTuYuirMbQXsAM= + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0= + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-logical@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-logical/download/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" + integrity sha1-JJXQ+LgunyYnJfdflAGzTntF1bU= + dependencies: + postcss "^7.0.2" + +postcss-media-minmax@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/postcss-media-minmax/download/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" + integrity sha1-t1u2y8IXyKxJQz4S8iBIgUpPXtU= + dependencies: + postcss "^7.0.2" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz?cache=0&sync_timestamp=1599152040225&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" + integrity sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ= + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz?cache=0&sync_timestamp=1599152040342&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" + integrity sha1-NivqT/Wh+Y5AdacTxsslrv75plA= + dependencies: + 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" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz?cache=0&sync_timestamp=1599152040442&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-font-values%2Fdownload%2Fpostcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz?cache=0&sync_timestamp=1599152040540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" + integrity sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE= + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz?cache=0&sync_timestamp=1599152040631&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" + integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ= + dependencies: + 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" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz?cache=0&sync_timestamp=1599152040740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-selectors%2Fdownload%2Fpostcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" + integrity sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g= + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" + integrity sha1-gYcZoa4doyX5gyRGsBE27rSTzX4= + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^2.0.6: + version "2.0.6" + resolved "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-2.0.6.tgz?cache=0&sync_timestamp=1595731916732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" + integrity sha1-3ZlT9t1Ha1/R7y2IMMiSl2C1bmM= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + postcss-value-parser "^3.3.1" + +postcss-modules-scope@^2.1.0: + version "2.2.0" + resolved "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" + integrity sha1-OFyuATzHdD9afXYC0Qc6iequYu4= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" + integrity sha1-R5tG3Axco9x/pScIUYNrnscVL2Q= + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^7.0.6" + +postcss-nesting@^7.0.0: + version "7.0.1" + resolved "https://registry.npm.taobao.org/postcss-nesting/download/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" + integrity sha1-tQrXt/AXPlteOIDDUBNEcD4EwFI= + dependencies: + postcss "^7.0.2" + +postcss-normalize-charset@^4.0.1: + 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=1599152040844&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-charset%2Fdownload%2Fpostcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ= + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz?cache=0&sync_timestamp=1599154006634&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-display-values%2Fdownload%2Fpostcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" + integrity sha1-Db4EpM6QY9RmftK+R2u4MMglk1o= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + 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=1599154006760&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-positions%2Fdownload%2Fpostcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" + integrity sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8= + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + 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=1599154006922&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-repeat-style%2Fdownload%2Fpostcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" + integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw= + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + 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=1599154007056&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-string%2Fdownload%2Fpostcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" + integrity sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw= + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz?cache=0&sync_timestamp=1599152232589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-timing-functions%2Fdownload%2Fpostcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" + integrity sha1-jgCcoqOUnNr4rSPmtquZy159KNk= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz?cache=0&sync_timestamp=1599152232707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-unicode%2Fdownload%2Fpostcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz?cache=0&sync_timestamp=1599152041622&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE= + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz?cache=0&sync_timestamp=1599152232908&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-whitespace%2Fdownload%2Fpostcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" + integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize@7.0.1: + version "7.0.1" + resolved "https://registry.npm.taobao.org/postcss-normalize/download/postcss-normalize-7.0.1.tgz#eb51568d962b8aa61a8318383c8bb7e54332282e" + integrity sha1-61FWjZYriqYagxg4PIu35UMyKC4= + dependencies: + "@csstools/normalize.css" "^9.0.1" + browserslist "^4.1.1" + postcss "^7.0.2" + postcss-browser-comments "^2.0.0" + +postcss-ordered-values@^4.1.2: + 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=1599152041810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-ordered-values%2Fdownload%2Fpostcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" + integrity sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4= + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-overflow-shorthand@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/postcss-overflow-shorthand/download/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" + integrity sha1-MezzUOnG9t3CUKePDD4RHzLdTDA= + dependencies: + postcss "^7.0.2" + +postcss-page-break@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/postcss-page-break/download/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" + integrity sha1-rdUtDgpSjKvmr+6LRuKrsnffRr8= + dependencies: + postcss "^7.0.2" + +postcss-place@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-place/download/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" + integrity sha1-6fOdM9LcWE5G7h20Wtt3yp0dzGI= + dependencies: + postcss "^7.0.2" + postcss-values-parser "^2.0.0" + +postcss-preset-env@6.7.0: + version "6.7.0" + resolved "https://registry.npm.taobao.org/postcss-preset-env/download/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" + integrity sha1-w03az4+QI4OzWtHgMPF49M3xGKU= + dependencies: + autoprefixer "^9.6.1" + browserslist "^4.6.4" + caniuse-lite "^1.0.30000981" + css-blank-pseudo "^0.1.4" + css-has-pseudo "^0.10.0" + css-prefers-color-scheme "^3.1.1" + cssdb "^4.4.0" + postcss "^7.0.17" + postcss-attribute-case-insensitive "^4.0.1" + postcss-color-functional-notation "^2.0.1" + postcss-color-gray "^5.0.0" + postcss-color-hex-alpha "^5.0.3" + postcss-color-mod-function "^3.0.3" + postcss-color-rebeccapurple "^4.0.1" + postcss-custom-media "^7.0.8" + postcss-custom-properties "^8.0.11" + postcss-custom-selectors "^5.1.2" + postcss-dir-pseudo-class "^5.0.0" + postcss-double-position-gradients "^1.0.0" + postcss-env-function "^2.0.2" + postcss-focus-visible "^4.0.0" + postcss-focus-within "^3.0.0" + postcss-font-variant "^4.0.0" + postcss-gap-properties "^2.0.0" + postcss-image-set-function "^3.0.1" + postcss-initial "^3.0.0" + postcss-lab-function "^2.0.1" + postcss-logical "^3.0.0" + postcss-media-minmax "^4.0.0" + postcss-nesting "^7.0.0" + postcss-overflow-shorthand "^2.0.0" + postcss-page-break "^2.0.0" + postcss-place "^4.0.1" + postcss-pseudo-class-any-link "^6.0.0" + postcss-replace-overflow-wrap "^3.0.0" + postcss-selector-matches "^4.0.0" + postcss-selector-not "^4.0.0" + +postcss-pseudo-class-any-link@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/postcss-pseudo-class-any-link/download/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" + integrity sha1-LtPu05OzcCh53sSocDKyENrrBNE= + dependencies: + postcss "^7.0.2" + postcss-selector-parser "^5.0.0-rc.3" + +postcss-reduce-initial@^4.0.3: + 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=1599152041935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-initial%2Fdownload%2Fpostcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" + integrity sha1-f9QuvqXpyBRgljniwuhK4nC6SN8= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz?cache=0&sync_timestamp=1599152042188&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" + integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik= + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-replace-overflow-wrap@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/postcss-replace-overflow-wrap/download/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" + integrity sha1-YbNg/9rtyoTHyRjSsPDQ6lWasBw= + dependencies: + postcss "^7.0.2" + +postcss-safe-parser@4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-safe-parser/download/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" + integrity sha1-h1bZ5MNv3OLHKwkbvIyhdqsfzeo= + dependencies: + postcss "^7.0.0" + +postcss-selector-matches@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/postcss-selector-matches/download/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" + integrity sha1-ccgkj5F7osyTA3yWN+4JxkQ2/P8= + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-not@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/postcss-selector-not/download/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" + integrity sha1-xo/3upZSdJnoMnJKJnTWVgO2RcA= + dependencies: + balanced-match "^1.0.0" + postcss "^7.0.2" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" + integrity sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA= + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: + version "5.0.0" + resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + integrity sha1-JJBENWaXsztk8aj3yAki3d7nGVw= + dependencies: + cssesc "^2.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.2" + resolved "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" + integrity sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw= + dependencies: + cssesc "^3.0.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz?cache=0&sync_timestamp=1599152042335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" + integrity sha1-F7mXvHEbMzurFDqu07jT1uPTglg= + dependencies: + is-svg "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz?cache=0&sync_timestamp=1599152042458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w= + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: + version "3.3.1" + resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha1-n/giVH4okyE88cMO+lGsX9G6goE= + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha1-RD9qIM7WSBor2k+oUypuVdeJoss= + +postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/postcss-values-parser/download/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + integrity sha1-2otHLZAdoeIFtHvcmGN7np5VDl8= + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss@7.0.14: + version "7.0.14" + resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" + integrity sha1-RSftaxyg2CxTzl7BogQcI0a71uU= + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.32" + resolved "https://registry.npm.taobao.org/postcss/download/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" + integrity sha1-QxDW7jRwU9o0M9sr5JKIPWLOxZ0= + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +pretty-bytes@^5.1.0: + version "5.4.1" + resolved "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.4.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-bytes%2Fdownload%2Fpretty-bytes-5.4.1.tgz#cd89f79bbcef21e3d21eb0da68ffe93f803e884b" + integrity sha1-zYn3m7zvIePSHrDaaP/pP4A+iEs= + +pretty-error@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" + integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + dependencies: + renderkid "^2.0.1" + utila "~0.4" + +pretty-format@^24.9.0: + version "24.9.0" + resolved "https://registry.npm.taobao.org/pretty-format/download/pretty-format-24.9.0.tgz?cache=0&sync_timestamp=1598096606104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-format%2Fdownload%2Fpretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" + integrity sha1-EvrDGzcBmk7qPBGqmpWet2KKp8k= + dependencies: + "@jest/types" "^24.9.0" + ansi-regex "^4.0.0" + ansi-styles "^3.2.0" + react-is "^16.8.4" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise@^8.0.3: + version "8.1.0" + resolved "https://registry.npm.taobao.org/promise/download/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" + integrity sha1-aXwlw9/nQ13Xn81Yw4oTWIjq8F4= + dependencies: + asap "~2.0.6" + +prompts@^2.0.1: + version "2.3.2" + resolved "https://registry.npm.taobao.org/prompts/download/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" + integrity sha1-SAVy2J7POVZtK9P+LJ/Mt8TAsGg= + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.4" + +prop-types@^15.6.2, prop-types@^15.7.2: + version "15.7.2" + resolved "https://registry.npm.taobao.org/prop-types/download/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha1-UsQedbjIfnK52TYOAga5ncv/psU= + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + +proxy-addr@~2.0.5: + version "2.0.6" + resolved "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8= + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ= + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= + dependencies: + 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" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw= + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0, querystring@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y= + +raf@^3.4.1: + version "3.4.1" + resolved "https://registry.npm.taobao.org/raf/download/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha1-B0LpmkplUvRF1z4+4DKK8P8e3jk= + dependencies: + performance-now "^2.1.0" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha1-oc5vucm8NWylLoklarWQWeE9AzI= + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +react-app-polyfill@^1.0.2: + version "1.0.6" + resolved "https://registry.npm.taobao.org/react-app-polyfill/download/react-app-polyfill-1.0.6.tgz#890f8d7f2842ce6073f030b117de9130a5f385f0" + integrity sha1-iQ+NfyhCzmBz8DCxF96RMKXzhfA= + dependencies: + core-js "^3.5.0" + object-assign "^4.1.1" + promise "^8.0.3" + raf "^3.4.1" + regenerator-runtime "^0.13.3" + whatwg-fetch "^3.0.0" + +react-dev-utils@^9.0.3: + version "9.1.0" + resolved "https://registry.npm.taobao.org/react-dev-utils/download/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81" + integrity sha1-OtK7iEijIxnXYNCoTFbBS9quXoE= + dependencies: + "@babel/code-frame" "7.5.5" + address "1.1.2" + browserslist "4.7.0" + chalk "2.4.2" + cross-spawn "6.0.5" + detect-port-alt "1.1.6" + escape-string-regexp "1.0.5" + filesize "3.6.1" + find-up "3.0.0" + fork-ts-checker-webpack-plugin "1.5.0" + global-modules "2.0.0" + globby "8.0.2" + gzip-size "5.1.1" + immer "1.10.0" + inquirer "6.5.0" + is-root "2.1.0" + loader-utils "1.2.3" + open "^6.3.0" + pkg-up "2.0.0" + react-error-overlay "^6.0.3" + recursive-readdir "2.2.2" + shell-quote "1.7.2" + sockjs-client "1.4.0" + strip-ansi "5.2.0" + text-table "0.2.0" + +react-dom@^16.9.0: + version "16.13.1" + resolved "https://registry.npm.taobao.org/react-dom/download/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" + integrity sha1-wb03MxoEhsB47lTEdAcgmTsuDn8= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.19.1" + +react-error-overlay@^6.0.3: + version "6.0.7" + resolved "https://registry.npm.taobao.org/react-error-overlay/download/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108" + integrity sha1-Hc+0WatnHVP2YKmRUTyy8KBVMQg= + +react-intl-universal@^2.4.3: + version "2.4.3" + resolved "https://registry.npm.taobao.org/react-intl-universal/download/react-intl-universal-2.4.3.tgz#2908410d116a8b0536bea3048f3d76ddea9b5522" + integrity sha1-KQhBDRFqiwU2vqMEjz123eqbVSI= + dependencies: + console-polyfill "^0.3.0" + cookie "^0.3.1" + escape-html "^1.0.3" + intl "^1.2.5" + intl-messageformat "^7.8.4" + invariant "^2.2.2" + lodash.merge "^4.6.2" + object-keys "^1.0.11" + querystring "^0.2.0" + +react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.0, react-is@^16.8.1, react-is@^16.8.4: + version "16.13.1" + resolved "https://registry.npm.taobao.org/react-is/download/react-is-16.13.1.tgz?cache=0&sync_timestamp=1598612913326&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freact-is%2Fdownload%2Freact-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= + +react-router-dom@^5.0.1: + version "5.2.0" + resolved "https://registry.npm.taobao.org/react-router-dom/download/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" + integrity sha1-nmWk0MReEyieZsexfH4XXQ6hVmI= + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.2.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/react-router/download/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" + integrity sha1-Qk51ZByodH+/duXsyml4GqN+opM= + dependencies: + "@babel/runtime" "^7.1.2" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.4.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-scripts@3.1.1: + version "3.1.1" + resolved "https://registry.npm.taobao.org/react-scripts/download/react-scripts-3.1.1.tgz#1796bc92447f3a2d3072c3b71ca99f88d099c48d" + integrity sha1-F5a8kkR/Oi0wcsO3HKmfiNCZxI0= + dependencies: + "@babel/core" "7.5.5" + "@svgr/webpack" "4.3.2" + "@typescript-eslint/eslint-plugin" "1.13.0" + "@typescript-eslint/parser" "1.13.0" + babel-eslint "10.0.2" + babel-jest "^24.8.0" + babel-loader "8.0.6" + babel-plugin-named-asset-import "^0.3.3" + babel-preset-react-app "^9.0.1" + camelcase "^5.2.0" + case-sensitive-paths-webpack-plugin "2.2.0" + css-loader "2.1.1" + dotenv "6.2.0" + dotenv-expand "4.2.0" + eslint "^6.1.0" + eslint-config-react-app "^5.0.1" + eslint-loader "2.2.1" + eslint-plugin-flowtype "3.13.0" + eslint-plugin-import "2.18.2" + eslint-plugin-jsx-a11y "6.2.3" + eslint-plugin-react "7.14.3" + eslint-plugin-react-hooks "^1.6.1" + file-loader "3.0.1" + fs-extra "7.0.1" + html-webpack-plugin "4.0.0-beta.5" + identity-obj-proxy "3.0.0" + is-wsl "^1.1.0" + jest "24.8.0" + jest-environment-jsdom-fourteen "0.1.0" + jest-resolve "24.8.0" + jest-watch-typeahead "0.3.1" + mini-css-extract-plugin "0.5.0" + optimize-css-assets-webpack-plugin "5.0.3" + pnp-webpack-plugin "1.5.0" + postcss-flexbugs-fixes "4.1.0" + postcss-loader "3.0.0" + postcss-normalize "7.0.1" + postcss-preset-env "6.7.0" + postcss-safe-parser "4.0.1" + react-app-polyfill "^1.0.2" + react-dev-utils "^9.0.3" + resolve "1.12.0" + resolve-url-loader "3.1.0" + sass-loader "7.2.0" + semver "6.3.0" + style-loader "1.0.0" + terser-webpack-plugin "1.4.1" + ts-pnp "1.1.2" + url-loader "2.1.0" + webpack "4.39.1" + webpack-dev-server "3.2.1" + webpack-manifest-plugin "2.0.4" + workbox-webpack-plugin "4.3.1" + optionalDependencies: + fsevents "2.0.7" + +react-transition-group@^4.4.0: + version "4.4.1" + resolved "https://registry.npm.taobao.org/react-transition-group/download/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" + integrity sha1-Y4aPkyWjjqXulTXYKDJ/hXczRck= + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react@^16.9.0: + version "16.13.1" + resolved "https://registry.npm.taobao.org/react/download/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" + integrity sha1-LoGIIvGpdDEiwGPWQQ2FweOv5I4= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha1-GyIcYIi6d5lgHICPkRYcZuWPiXg= + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/read-pkg/download/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= + dependencies: + 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" + +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha1-DodiKjMlqjPokihcr4tOhGUppSU= + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.4.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" + integrity sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto= + dependencies: + picomatch "^2.2.1" + +realpath-native@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/realpath-native/download/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" + integrity sha1-IAMpT+oj+wZy8kduviL89Jii1lw= + dependencies: + util.promisify "^1.0.0" + +recursive-readdir@2.2.2: + version "2.2.2" + resolved "https://registry.npm.taobao.org/recursive-readdir/download/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" + integrity sha1-mUb7MnThYo3m42svZxSVO0hFCU8= + dependencies: + minimatch "3.0.4" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha1-5d5xEdZV57pgwFfb6f83yH5lzew= + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.1" + resolved "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" + integrity sha1-ytkq2Oa1kXc0hfvgWkhcr09Ffm8= + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1595456117883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk= + +regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz?cache=0&sync_timestamp=1595456117883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" + integrity sha1-ysLazIoepnX+qrrriugziYrkb1U= + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ= + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regex-parser@2.2.10: + version "2.2.10" + resolved "https://registry.npm.taobao.org/regex-parser/download/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" + integrity sha1-nmao9z2JoQdhbmOznU3t3+6RKzc= + +regexp.prototype.flags@^1.2.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" + integrity sha1-erqJs8E6ZFCdq888qNn7ub31y3U= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/regexpp/download/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= + +regexpu-core@^4.7.0: + version "4.7.0" + resolved "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" + integrity sha1-/L9FjFBDGwu3tF1pZ7gZLZHz2Tg= + dependencies: + 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@^0.5.1: + version "0.5.2" + resolved "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz?cache=0&sync_timestamp=1590335923060&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregjsgen%2Fdownload%2Fregjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM= + +regjsparser@^0.6.4: + version "0.6.4" + resolved "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" + integrity sha1-p2n4aEMIQBpm6bUp0kNv9NBmYnI= + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.1: + version "2.0.3" + resolved "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" + integrity sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk= + dependencies: + css-select "^1.1.0" + dom-converter "^0.2" + htmlparser2 "^3.3.0" + strip-ansi "^3.0.0" + utila "^0.4.0" + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4= + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + dependencies: + is-finite "^1.0.0" + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.npm.taobao.org/request-promise-core/download/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha1-Pu3UIjII1BmGe3jOgVFn0QWToi8= + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.5: + version "1.0.9" + resolved "https://registry.npm.taobao.org/request-promise-native/download/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha1-5AcSBSal79yaObKKVnm/R7nZ3Cg= + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.87.0, request@^2.88.0: + version "2.88.2" + resolved "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM= + dependencies: + 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@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/resolve-pathname/download/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha1-mdAiJNPPJjaJvsuzk7xWAxMCXc0= + +resolve-url-loader@3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/resolve-url-loader/download/resolve-url-loader-3.1.0.tgz#54d8181d33cd1b66a59544d05cadf8e4aa7d37cc" + integrity sha1-VNgYHTPNG2allUTQXK345Kp9N8w= + dependencies: + adjust-sourcemap-loader "2.0.0" + camelcase "5.0.0" + compose-function "3.0.3" + convert-source-map "1.6.0" + es6-iterator "2.0.3" + loader-utils "1.2.3" + postcss "7.0.14" + rework "1.0.1" + rework-visit "1.0.0" + source-map "0.6.1" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + +resolve@1.12.0: + version "1.12.0" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha1-P8ZEo1yEpIVUYJ/ybsUrZvpXffY= + dependencies: + path-parse "^1.0.6" + +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.3.2, resolve@^1.8.1: + version "1.17.0" + resolved "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha1-sllBtUloIxzC0bt2p5y38sC/hEQ= + dependencies: + path-parse "^1.0.6" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= + +rework-visit@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/rework-visit/download/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" + integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= + +rework@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/rework/download/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" + integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= + dependencies: + convert-source-map "^0.3.3" + css "^2.0.0" + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + dependencies: + glob "^7.1.3" + +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.npm.taobao.org/rsvp/download/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha1-yPFVMR0Wf2jyHhaN9x7FsIMRNzQ= + +run-async@^2.2.0, run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU= + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^6.4.0, rxjs@^6.6.0: + version "6.6.3" + resolved "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.3.tgz?cache=0&sync_timestamp=1599403274995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frxjs%2Fdownload%2Frxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" + integrity sha1-jKhGNcTaqQDA05Z6buesYCce5VI= + dependencies: + tslib "^1.9.0" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= + +safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.npm.taobao.org/sane/download/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha1-7Ygf2SJzOmxGG8GJ3CtsAG8//e0= + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +sass-graph@2.2.5: + version "2.2.5" + resolved "https://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" + integrity sha1-qYHIdEa4MZ2W3OBnHkh4eb0kwug= + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^13.3.2" + +sass-loader@7.2.0: + version "7.2.0" + resolved "https://registry.npm.taobao.org/sass-loader/download/sass-loader-7.2.0.tgz?cache=0&sync_timestamp=1599136698634&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsass-loader%2Fdownload%2Fsass-loader-7.2.0.tgz#e34115239309d15b2527cb62b5dfefb62a96ff7f" + integrity sha1-40EVI5MJ0VslJ8titd/vtiqW/38= + dependencies: + clone-deep "^4.0.1" + loader-utils "^1.0.1" + neo-async "^2.5.0" + pify "^4.0.1" + semver "^5.5.0" + +sax@^1.2.4, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz?cache=0&sync_timestamp=1589682064084&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsax%2Fdownload%2Fsax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= + +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.npm.taobao.org/saxes/download/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha1-1Z0f0zLskq2YouCy7mRHAjhLHFs= + dependencies: + xmlchars "^2.1.1" + +scheduler@^0.19.1: + version "0.19.1" + resolved "https://registry.npm.taobao.org/scheduler/download/scheduler-0.19.1.tgz?cache=0&sync_timestamp=1598612913128&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fscheduler%2Fdownload%2Fscheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + integrity sha1-Tz4u0sGn1laB9MhU+oxaHMtA8ZY= + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1598871644285&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.0.0, schema-utils@^2.0.1: + version "2.7.1" + resolved "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.1.tgz?cache=0&sync_timestamp=1598871644285&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fschema-utils%2Fdownload%2Fschema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc= + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.9.1: + version "1.10.7" + resolved "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" + integrity sha1-2lgZ/QSdVXTyjoipvMbbxubzkGs= + dependencies: + node-forge "0.9.0" + +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha1-qVT5Ma66UI0we78Gnv8MAclhFvc= + +semver@5.5.0: + version "5.5.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + integrity sha1-3Eu8emyp2Rbe5dQ1FvAJK1j3uKs= + +semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0: + version "6.3.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha1-XzyjV2HkfgWyBsba/yz4FPAxa44= + +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= + +send@0.17.1: + version "0.17.1" + resolved "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg= + dependencies: + 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" + +serialize-javascript@^1.7.0: + version "1.9.1" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz?cache=0&sync_timestamp=1596697355166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" + integrity sha1-z8IArvd7YAxH2pu4FJyUPnmML9s= + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz?cache=0&sync_timestamp=1596697355166&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao= + dependencies: + randombytes "^2.1.0" + +serve-index@^1.7.2: + version "1.9.1" + resolved "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + 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" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk= + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^0.1.2: + version "0.1.2" + resolved "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" + integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= + dependencies: + is-extendable "^0.1.1" + kind-of "^2.0.1" + lazy-cache "^0.2.3" + mixin-object "^2.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha1-jymBrZJTH1UDWwH7IwdppA4C76M= + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz?cache=0&sync_timestamp=1596697357985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshebang-regex%2Fdownload%2Fshebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1596697357985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= + +shell-quote@1.7.2: + version "1.7.2" + resolved "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I= + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.npm.taobao.org/shellwords/download/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha1-1rkYHBpI05cyTISHHvvPxz/AZUs= + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw= + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +sisteransi@^1.0.4: + version "1.0.5" + resolved "https://registry.npm.taobao.org/sisteransi/download/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha1-E01oEpd1ZDfMBcoBNw06elcQde0= + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= + dependencies: + 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" + +sockjs-client@1.3.0: + version "1.3.0" + resolved "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.3.0.tgz?cache=0&sync_timestamp=1596409908572&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" + integrity sha1-EvydbLZj2lc509xftuhofalcsXc= + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs-client@1.4.0: + version "1.4.0" + resolved "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.4.0.tgz?cache=0&sync_timestamp=1596409908572&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" + integrity sha1-yfJWjhnI/YFztJl+o0IOC7MGx9U= + dependencies: + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" + json3 "^3.3.2" + url-parse "^1.4.3" + +sockjs@0.3.19: + version "0.3.19" + resolved "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" + integrity sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0= + dependencies: + faye-websocket "^0.10.0" + uuid "^3.0.1" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: + version "0.5.3" + resolved "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho= + dependencies: + 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@^0.5.6, source-map-support@~0.5.12: + version "0.5.19" + resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE= + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + +source-map@^0.4.2: + version "0.4.4" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + integrity sha1-66T12pwNyZneaAMti092FzZSA2s= + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +spdx-correct@^3.0.0: + 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#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha1-3s6BrJweZxPl99G28X1Gj6U9iak= + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0= + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz?cache=0&sync_timestamp=1589682217985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-expression-parse%2Fdownload%2Fspdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk= + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ= + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE= + dependencies: + 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" + +spdy@^4.0.0: + version "4.0.2" + resolved "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha1-t09GYgOj7aRSwCSSuR+56EonZ3s= + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= + dependencies: + 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@^6.0.1: + version "6.0.1" + resolved "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg= + dependencies: + figgy-pudding "^3.5.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88= + +stack-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/stack-utils/download/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" + integrity sha1-M+ujiXeIVYvr/C2wWdwVjsNs67g= + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stdout-stream@^1.4.0: + version "1.4.1" + resolved "https://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" + integrity sha1-WsF0zdXNcmEEqgwLK9g4FdjVNd4= + dependencies: + readable-stream "^2.0.1" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/stealthy-require/download/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= + dependencies: + 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@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= + +string-length@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/string-length/download/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" + integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= + dependencies: + astral-regex "^1.0.0" + strip-ansi "^4.0.0" + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0: + version "4.2.0" + resolved "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha1-lSGCxGzHssMT0VluYjmSvRY7crU= + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimend@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trimstart@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4= + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha1-cDBlrvyhkwDTzoivT1s5VtdVZik= + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +strip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1596697387823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1596697387823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1596697387823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&sync_timestamp=1596697387823&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= + dependencies: + ansi-regex "^5.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-comments@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/strip-comments/download/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" + integrity sha1-grnEXn8FhzvuU/NxaK+TCqNoZ50= + dependencies: + babel-extract-comments "^1.0.0" + babel-plugin-transform-object-rest-spread "^6.26.0" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@^3.0.1: + 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=1594567582667&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= + +style-loader@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/style-loader/download/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" + integrity sha1-HVKW+RZejiyF0k7uC3yvnsjKH4I= + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.0.1" + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz?cache=0&sync_timestamp=1599152239678&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstylehacks%2Fdownload%2Fstylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" + integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha1-4uaaRKyHcveKHsCzW2id9lMO/I8= + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npm.taobao.org/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1598611719015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha1-G33NyzK4E4gBs+R4umpRyqiWSNo= + dependencies: + has-flag "^4.0.0" + +svg-parser@^2.0.0: + version "2.0.4" + resolved "https://registry.npm.taobao.org/svg-parser/download/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha1-/cLinhOVFzYUC3bLEiyO5mMOtrU= + +svgo@^1.0.0, svgo@^1.2.2: + version "1.3.2" + resolved "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc= + dependencies: + 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-tree@^3.2.2: + version "3.2.4" + resolved "https://registry.npm.taobao.org/symbol-tree/download/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha1-QwY30ki6d+B4iDlR+5qg7tfGP6I= + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.npm.taobao.org/table/download/table-5.4.6.tgz?cache=0&sync_timestamp=1599191046284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftable%2Fdownload%2Ftable-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +tapable@^1.0.0, tapable@^1.1.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= + +tar@^2.0.0: + version "2.2.2" + resolved "https://registry.npm.taobao.org/tar/download/tar-2.2.2.tgz?cache=0&sync_timestamp=1597445446483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftar%2Fdownload%2Ftar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + integrity sha1-DKiEhWLHKZuLRG/2pNYM27I+3EA= + dependencies: + block-stream "*" + fstream "^1.0.12" + inherits "2" + +terser-webpack-plugin@1.4.1: + version "1.4.1" + resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.1.tgz?cache=0&sync_timestamp=1597229611059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" + integrity sha1-YbGOQOruW+l+dxzbsQ7RKAiIwrQ= + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^1.7.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser-webpack-plugin@^1.4.1: + version "1.4.5" + resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz?cache=0&sync_timestamp=1597229611059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha1-oheu+uozDnNP+sthIOwfoxLWBAs= + dependencies: + 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" + +terser@^4.1.2: + version "4.8.0" + resolved "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1599141103781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc= + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +test-exclude@^5.2.3: + version "5.2.3" + resolved "https://registry.npm.taobao.org/test-exclude/download/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" + integrity sha1-w9Ph4xHrfuQF4JLawQrv0JCR6sA= + dependencies: + glob "^7.1.3" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" + require-main-filename "^2.0.0" + +text-table@0.2.0, text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^4.0.0: + version "4.1.0" + resolved "https://registry.npm.taobao.org/throat/download/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz?cache=0&sync_timestamp=1593478647766&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= + +timers-browserify@^2.0.4: + version "2.0.11" + resolved "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" + integrity sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8= + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tiny-invariant@^1.0.2: + version "1.1.0" + resolved "https://registry.npm.taobao.org/tiny-invariant/download/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" + integrity sha1-Y0xfjv3CdxS384bDXmdgmR0jCHU= + +tiny-warning@^1.0.0, tiny-warning@^1.0.2, tiny-warning@^1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/tiny-warning/download/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha1-lKMNtFPfTGQ9D9VmBg1gqHXYR1Q= + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.npm.taobao.org/tmpl/download/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= + +tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/tr46/download/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= + +"true-case-path@^1.0.2": + version "1.0.3" + resolved "https://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" + integrity sha1-+BO1qMhrQNpZYGcisUTjIleZ9H0= + dependencies: + glob "^7.1.2" + +ts-pnp@1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.1.2.tgz?cache=0&sync_timestamp=1596697408411&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-pnp%2Fdownload%2Fts-pnp-1.1.2.tgz#be8e4bfce5d00f0f58e0666a82260c34a57af552" + integrity sha1-vo5L/OXQDw9Y4GZqgiYMNKV69VI= + +ts-pnp@^1.1.2: + version "1.2.0" + resolved "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.2.0.tgz?cache=0&sync_timestamp=1596697408411&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fts-pnp%2Fdownload%2Fts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha1-pQCtCEsHmPHDBxrzkeZZEshrypI= + +tslib@^1.8.1, tslib@^1.9.0: + version "1.13.0" + resolved "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz?cache=0&sync_timestamp=1596751904317&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" + integrity sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM= + +tsutils@^3.7.0: + version "3.17.1" + resolved "https://registry.npm.taobao.org/tsutils/download/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha1-7XGZF/EcoN7lhicrKsSeAVot11k= + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz?cache=0&sync_timestamp=1596697411087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E= + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1596697411087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz?cache=0&sync_timestamp=1598016600310&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype%2Fdownload%2Ftype-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A= + +type@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/type/download/type-2.1.0.tgz?cache=0&sync_timestamp=1598016600310&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype%2Fdownload%2Ftype-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f" + integrity sha1-m9wixkjPjPht0j0yM2pBz7ZHXj8= + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz?cache=0&sync_timestamp=1596697411295&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftypedarray%2Fdownload%2Ftypedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1599413008915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha1-mtlWPY6zrN+404WX0q8dgV9qdV8= + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + +unicode-canonical-property-names-ecmascript@^1.0.4: + 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#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha1-JhmADEyCWADv3YNDr33Zkzy+KBg= + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw= + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + 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#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha1-DZH2AO7rMJaqlisdb8iIduZOpTE= + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +uri-js@^4.2.2: + version "4.4.0" + resolved "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.0.tgz?cache=0&sync_timestamp=1598814377097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" + integrity sha1-qnFCYd55PoqCNHp7zJznTobyhgI= + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/url-loader/download/url-loader-2.1.0.tgz#bcc1ecabbd197e913eca23f5e0378e24b4412961" + integrity sha1-vMHsq70ZfpE+yiP14DeOJLRBKWE= + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.0.0" + +url-parse@^1.4.3: + version "1.4.7" + resolved "https://registry.npm.taobao.org/url-parse/download/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" + integrity sha1-qKg1NejACjFuQDpdtKwbm4U64ng= + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@^1.0.0, util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha1-a693dLgO6w91INi4HQeYKlmruu4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1596697422093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&sync_timestamp=1596697422093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE= + dependencies: + inherits "2.0.3" + +utila@^0.4.0, utila@~0.4: + version "0.4.0" + resolved "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.0.1, uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1595884879134&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4= + +v8-compile-cache@^2.0.3: + version "2.1.1" + resolved "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.1.1.tgz?cache=0&sync_timestamp=1590871780233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" + integrity sha1-VLw83UMxe8qR413K8wWxpyN950U= + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.npm.taobao.org/value-equal/download/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha1-Hgt5THNMXAyt4XnEN9NW2TGjTWw= + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha1-4rgApT56Kbk1BsPPQRANFsTErY4= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= + +w3c-hr-time@^1.0.1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/w3c-hr-time/download/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha1-ConN9cwVgi35w2BUNnaWPgzDCM0= + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.npm.taobao.org/w3c-xmlserializer/download/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha1-MEhcp9cKb9BSQgo9Ev2Q5jOc55Q= + dependencies: + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.npm.taobao.org/walker/download/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +watchpack-chokidar2@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.0.tgz#9948a1866cbbd6cb824dea13a7ed691f6c8ddff0" + integrity sha1-mUihhmy71suCTeoTp+1pH2yN3/A= + dependencies: + chokidar "^2.1.8" + +watchpack@^1.6.0: + version "1.7.4" + resolved "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.4.tgz#6e9da53b3c80bb2d6508188f5b200410866cd30b" + integrity sha1-bp2lOzyAuy1lCBiPWyAEEIZs0ws= + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.0" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98= + dependencies: + minimalistic-assert "^1.0.0" + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.npm.taobao.org/webidl-conversions/download/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha1-qFWYCx8LazWbodXZ+zmulB+qY60= + +webpack-dev-middleware@^3.5.1: + version "3.7.2" + resolved "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.2.tgz?cache=0&sync_timestamp=1594744509096&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" + integrity sha1-ABnD23FuP6XOy/ZPKriKdLqzMfM= + dependencies: + 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@3.2.1: + version "3.2.1" + resolved "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-3.2.1.tgz#1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e" + integrity sha1-G0XOPs/FW26+Xjbasnd8ArxQjE4= + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.0.0" + compression "^1.5.2" + connect-history-api-fallback "^1.3.0" + debug "^4.1.1" + del "^3.0.0" + express "^4.16.2" + html-entities "^1.2.0" + http-proxy-middleware "^0.19.1" + import-local "^2.0.0" + internal-ip "^4.2.0" + ip "^1.1.5" + killable "^1.0.0" + loglevel "^1.4.1" + opn "^5.1.0" + portfinder "^1.0.9" + schema-utils "^1.0.0" + selfsigned "^1.9.1" + semver "^5.6.0" + serve-index "^1.7.2" + sockjs "0.3.19" + sockjs-client "1.3.0" + spdy "^4.0.0" + strip-ansi "^3.0.0" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.5.1" + webpack-log "^2.0.0" + yargs "12.0.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-manifest-plugin@2.0.4: + version "2.0.4" + resolved "https://registry.npm.taobao.org/webpack-manifest-plugin/download/webpack-manifest-plugin-2.0.4.tgz#e4ca2999b09557716b8ba4475fb79fab5986f0cd" + integrity sha1-5MopmbCVV3Fri6RHX7efq1mG8M0= + dependencies: + fs-extra "^7.0.0" + lodash ">=3.5 <5" + tapable "^1.0.0" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1598284367825&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@4.39.1: + version "4.39.1" + resolved "https://registry.npm.taobao.org/webpack/download/webpack-4.39.1.tgz?cache=0&sync_timestamp=1598642808254&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.39.1.tgz#60ed9fb2b72cd60f26ea526c404d2a4cc97a1bd8" + integrity sha1-YO2fsrcs1g8m6lJsQE0qTMl6G9g= + dependencies: + "@webassemblyjs/ast" "1.8.5" + "@webassemblyjs/helper-module-context" "1.8.5" + "@webassemblyjs/wasm-edit" "1.8.5" + "@webassemblyjs/wasm-parser" "1.8.5" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.1.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.1" + 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.1" + watchpack "^1.6.0" + webpack-sources "^1.4.1" + +websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz?cache=0&sync_timestamp=1591289007652&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebsocket-driver%2Fdownload%2Fwebsocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A= + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha1-f4RzvIOd/YdgituV1+sHUhFXikI= + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.npm.taobao.org/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha1-WrrPd3wyFmpR0IXWtPPn0nET3bA= + dependencies: + iconv-lite "0.4.24" + +whatwg-fetch@^3.0.0: + version "3.4.0" + resolved "https://registry.npm.taobao.org/whatwg-fetch/download/whatwg-fetch-3.4.0.tgz?cache=0&sync_timestamp=1596818798032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhatwg-fetch%2Fdownload%2Fwhatwg-fetch-3.4.0.tgz#e11de14f4878f773fbebcde8871b2c0699af8b30" + integrity sha1-4R3hT0h493P7683ohxssBpmvizA= + +whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/whatwg-mimetype/download/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha1-PUseAxLSB5h5+Cav8Y2+7KWWD78= + +whatwg-url@^6.4.1: + version "6.5.0" + resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" + integrity sha1-8t8Cv/F2/WUHDfdK1cy7WhmZZag= + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.npm.taobao.org/whatwg-url/download/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha1-wsSS8eymEpiO/T0iZr4bn8YXDQY= + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@1, which@^1.2.9, which@^1.3.0, which@^1.3.1: + version "1.3.1" + resolved "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha1-rgdOa9wMFKQx6ATmJFScYzsABFc= + dependencies: + string-width "^1.0.2 || 2" + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= + +workbox-background-sync@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-background-sync/download/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" + integrity sha1-JoIbm/Funjf9HWQCie3dwIr9GVA= + dependencies: + workbox-core "^4.3.1" + +workbox-broadcast-update@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-broadcast-update/download/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" + integrity sha1-4sAoCxSeOlBJg7dXYGrQQfMyw1s= + dependencies: + workbox-core "^4.3.1" + +workbox-build@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-build/download/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" + integrity sha1-QU9w+01t5H9lOGCLgOxSQS0jPmQ= + dependencies: + "@babel/runtime" "^7.3.4" + "@hapi/joi" "^15.0.0" + common-tags "^1.8.0" + fs-extra "^4.0.2" + glob "^7.1.3" + lodash.template "^4.4.0" + pretty-bytes "^5.1.0" + stringify-object "^3.3.0" + strip-comments "^1.0.2" + workbox-background-sync "^4.3.1" + workbox-broadcast-update "^4.3.1" + workbox-cacheable-response "^4.3.1" + workbox-core "^4.3.1" + workbox-expiration "^4.3.1" + workbox-google-analytics "^4.3.1" + workbox-navigation-preload "^4.3.1" + workbox-precaching "^4.3.1" + workbox-range-requests "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + workbox-streams "^4.3.1" + workbox-sw "^4.3.1" + workbox-window "^4.3.1" + +workbox-cacheable-response@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-cacheable-response/download/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" + integrity sha1-9T4HkXnAlaPxnlMTsoSXXJFCjJE= + dependencies: + workbox-core "^4.3.1" + +workbox-core@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-core/download/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" + integrity sha1-AF0sagahcUN6/WyikEpXJ+zXO+Y= + +workbox-expiration@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-expiration/download/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" + integrity sha1-15BDNWICnlaDfzQdf1U8Snjr6SE= + dependencies: + workbox-core "^4.3.1" + +workbox-google-analytics@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-google-analytics/download/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" + integrity sha1-ntoBg7EDiQtcJW5vTqFaHxVIUZo= + dependencies: + workbox-background-sync "^4.3.1" + workbox-core "^4.3.1" + workbox-routing "^4.3.1" + workbox-strategies "^4.3.1" + +workbox-navigation-preload@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-navigation-preload/download/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" + integrity sha1-Kcjk21hDgDs0zZbcFV+evZr6RT0= + dependencies: + workbox-core "^4.3.1" + +workbox-precaching@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-precaching/download/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" + integrity sha1-n8Re0SLZS74fDqlYT/WUCWB3HLo= + dependencies: + workbox-core "^4.3.1" + +workbox-range-requests@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-range-requests/download/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" + integrity sha1-+KRwGIkiFFy/DAmpotXjVkUkTnQ= + dependencies: + workbox-core "^4.3.1" + +workbox-routing@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-routing/download/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" + integrity sha1-pnWEGvYj4LsMZ85O2OckrAvtDNo= + dependencies: + workbox-core "^4.3.1" + +workbox-strategies@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-strategies/download/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" + integrity sha1-0r4DxO8hTBFeGrKcnHWcn+Pp5kY= + dependencies: + workbox-core "^4.3.1" + +workbox-streams@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-streams/download/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" + integrity sha1-C1facOmCVy3gnIdC3Qy0Cmt8LMM= + dependencies: + workbox-core "^4.3.1" + +workbox-sw@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-sw/download/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" + integrity sha1-32njlcR5700USZNyvNhMD14kYWQ= + +workbox-webpack-plugin@4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-webpack-plugin/download/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" + integrity sha1-R/9eocwHS2xA+1qGEIhjokEg1L0= + dependencies: + "@babel/runtime" "^7.0.0" + json-stable-stringify "^1.0.1" + workbox-build "^4.3.1" + +workbox-window@^4.3.1: + version "4.3.1" + resolved "https://registry.npm.taobao.org/workbox-window/download/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" + integrity sha1-7mBRvxDwavpUg8m436BTGZTt4PM= + dependencies: + workbox-core "^4.3.1" + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= + dependencies: + errno "~0.1.7" + +worker-rpc@^0.1.0: + version "0.1.1" + resolved "https://registry.npm.taobao.org/worker-rpc/download/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" + integrity sha1-y1Zb1tcHGo8WZgaGBR6WmtMvVNU= + dependencies: + microevent.ts "~0.1.1" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha1-0LBUY8GIroBDlv1asqNwBir4dSk= + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write@1.0.3: + version "1.0.3" + resolved "https://registry.npm.taobao.org/write/download/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= + dependencies: + mkdirp "^0.5.1" + +ws@^5.2.0: + version "5.2.2" + resolved "https://registry.npm.taobao.org/ws/download/ws-5.2.2.tgz?cache=0&sync_timestamp=1593925601875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha1-3/7xSGa46NyRM1glFNG++vlumA8= + dependencies: + async-limiter "~1.0.0" + +ws@^6.1.2: + version "6.2.1" + resolved "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz?cache=0&sync_timestamp=1593925601875&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" + integrity sha1-RC/fCkftZPWbal2P8TD0dI7VJPs= + dependencies: + async-limiter "~1.0.0" + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/xml-name-validator/download/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo= + +xmlchars@^2.1.1: + version "2.2.0" + resolved "https://registry.npm.taobao.org/xmlchars/download/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha1-Bg/hvLf5x2/ioX24apvDq4lCEMs= + +xregexp@4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/xregexp/download/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" + integrity sha1-5pgYneSd0qGMxWh7BeF8jkOUMCA= + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz?cache=0&sync_timestamp=1596697437792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxtend%2Fdownload%2Fxtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= + +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz?cache=0&sync_timestamp=1599348595436&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha1-le+U+F7MgdAHwmThkKEg8KPIVms= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= + +yaml@^1.7.2: + version "1.10.0" + resolved "https://registry.npm.taobao.org/yaml/download/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha1-O1k63ZRIdgd9TWg/7gEIG9n/8x4= + +yargs-parser@^10.1.0: + version "10.1.0" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-10.1.0.tgz?cache=0&sync_timestamp=1598505024328&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha1-cgImW4n36eny5XZeD+c1qQXtuqg= + dependencies: + camelcase "^4.1.0" + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1598505024328&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@12.0.2: + version "12.0.2" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-12.0.2.tgz?cache=0&sync_timestamp=1598505659145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" + integrity sha1-/lgjQ2k5KvM+y+9TgZFx7/D1qtw= + dependencies: + cliui "^4.0.0" + decamelize "^2.0.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^10.1.0" + +yargs@^13.3.0, yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1598505659145&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= + dependencies: + 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" diff --git a/routes/main.go b/routes/main.go index 50fb0ff..6213eb1 100644 --- a/routes/main.go +++ b/routes/main.go @@ -28,7 +28,7 @@ func InitRouter() *gin.Engine { c.Redirect(http.StatusMovedPermanently, "/public") }) - r.Any(config.Cfg.WebHookUrl, controller.JobWebHook) + r.Any(config.Cfg.WebHookUrl, controller.TaskWebHook) r.Any("/websocket", controller.WebsocketMsg) } @@ -63,14 +63,14 @@ func InitRouter() *gin.Engine { v1.GET("/category/update_field", middlewares.RoleDeveloper(), controller.CategoryUpdateField) v1.GET("/category/delete", middlewares.RoleAdmin(), controller.CategoryDestroy) //任务 - v1.GET("/tasks", middlewares.RoleReporter(), controller.JobFindAll) - v1.GET("/task_find", middlewares.RoleReporter(), controller.JobFind) - v1.POST("/task/create", middlewares.RoleDeveloper(), controller.JobCreate) - v1.GET("/task/update_branch", middlewares.RoleDeveloper(), controller.JobUpdateBranch) - v1.GET("/task/update_field", middlewares.RoleDeveloper(), controller.JobUpdateField) - v1.GET("/task/delete", middlewares.RoleAdmin(), controller.JobDestroy) - v1.GET("/task/run", middlewares.RoleDeveloper(), controller.JobRun) - v1.GET("/task/lock", middlewares.RoleDeveloper(), controller.JobLock) + v1.GET("/tasks", middlewares.RoleReporter(), controller.TaskFindAll) + v1.GET("/task_find", middlewares.RoleReporter(), controller.TaskFind) + v1.POST("/task/create", middlewares.RoleDeveloper(), controller.TaskCreate) + v1.GET("/task/update_branch", middlewares.RoleDeveloper(), controller.TaskUpdateBranch) + v1.GET("/task/update_field", middlewares.RoleDeveloper(), controller.TaskUpdateField) + v1.GET("/task/delete", middlewares.RoleAdmin(), controller.TaskDestroy) + v1.GET("/task/run", middlewares.RoleDeveloper(), controller.TaskRun) + v1.GET("/task/lock", middlewares.RoleDeveloper(), controller.TaskLock) //user v1.GET("/users", middlewares.RoleReporter(), controller.UserFindAll) v1.GET("/user/delete", middlewares.RoleSuperAdmin(), controller.UserDestroy) diff --git a/service/serviceConfig/checkEnvAndInitDir.go b/service/serviceConfig/checkEnvAndInitDir.go index e4fa146..a4ffc75 100644 --- a/service/serviceConfig/checkEnvAndInitDir.go +++ b/service/serviceConfig/checkEnvAndInitDir.go @@ -1,58 +1,58 @@ -package serviceConfig - -import ( - "MareWood/config" - "os" - "os/exec" -) - -func CheckEnvAndInitDir() error { - if err := checkEnv(); err != nil { - return err - } - if err := initDir(); err != nil { - return err - } - return nil -} - -func checkEnv() error { - - if _, err := exec.LookPath("git"); err != nil { - return err - } - - if _, err := exec.LookPath("node"); err != nil { - return err - } - - for _,dependTools := range config.Cfg.DependTools{ - if _, err := exec.LookPath(dependTools); err != nil { - return err - } - } - - return nil -} - - -func initDir() error { - - if info, err := os.Stat(config.Cfg.ResourcesDir); err != nil || !info.IsDir(){ - if os.Mkdir(config.Cfg.ResourcesDir, os.ModePerm) != nil{ - return err - } - } - - if info, err := os.Stat(config.Cfg.RepositoryDir); err != nil || !info.IsDir(){ - if os.Mkdir(config.Cfg.RepositoryDir, os.ModePerm) != nil{ - return err - } - } - if info, err := os.Stat(config.Cfg.WebRootDir); err != nil || !info.IsDir(){ - if os.Mkdir(config.Cfg.WebRootDir, os.ModePerm) != nil{ - return err - } - } - return nil +package serviceConfig + +import ( + "MareWood/config" + "os" + "os/exec" +) + +func CheckEnvAndInitDir() error { + if err := checkEnv(); err != nil { + return err + } + if err := initDir(); err != nil { + return err + } + return nil +} + +func checkEnv() error { + + if _, err := exec.LookPath("git"); err != nil { + return err + } + + if _, err := exec.LookPath("node"); err != nil { + return err + } + + for _,dependTools := range config.Cfg.DependTools{ + if _, err := exec.LookPath(dependTools); err != nil { + return err + } + } + + return nil +} + + +func initDir() error { + + if info, err := os.Stat(config.Cfg.ResourcesDir); err != nil || !info.IsDir(){ + if os.Mkdir(config.Cfg.ResourcesDir, os.ModePerm) != nil{ + return err + } + } + + if info, err := os.Stat(config.Cfg.RepositoryDir); err != nil || !info.IsDir(){ + if os.Mkdir(config.Cfg.RepositoryDir, os.ModePerm) != nil{ + return err + } + } + if info, err := os.Stat(config.Cfg.WebRootDir); err != nil || !info.IsDir(){ + if os.Mkdir(config.Cfg.WebRootDir, os.ModePerm) != nil{ + return err + } + } + return nil } \ No newline at end of file diff --git a/service/serviceRepository/depend.go b/service/serviceRepository/depend.go index 5e6baf1..9a0f681 100644 --- a/service/serviceRepository/depend.go +++ b/service/serviceRepository/depend.go @@ -1,20 +1,20 @@ -package serviceRepository - -import ( - "MareWood/config" - "MareWood/helper" -) - -func InstallDepend(repositoryId string, dependTools string) (string, error) { - - cmd, arg := helper.BuildDependCmd(dependTools) - - return RunCmdOnRepositoryDir(repositoryId, cmd, arg) -} - -func DeleteDepend(repositoryId string) error { - - dependDir := config.Cfg.RepositoryDir + "/" + repositoryId + "/node_modules" - - return helper.RemoveDir(dependDir) -} +package serviceRepository + +import ( + "MareWood/config" + "MareWood/helper" +) + +func InstallDepend(repositoryId string, dependTools string) (string, error) { + + cmd, arg := helper.BuildDependCmd(dependTools) + + return RunCmdOnRepositoryDir(repositoryId, cmd, arg) +} + +func DeleteDepend(repositoryId string) error { + + dependDir := config.Cfg.RepositoryDir + "/" + repositoryId + "/node_modules" + + return helper.RemoveDir(dependDir) +} diff --git a/service/serviceRepository/packageJson.go b/service/serviceRepository/packageJson.go index d54df20..f977451 100644 --- a/service/serviceRepository/packageJson.go +++ b/service/serviceRepository/packageJson.go @@ -1,37 +1,37 @@ -package serviceRepository - -import ( - "MareWood/config" - "MareWood/helper" - "MareWood/models" - "encoding/json" - "errors" - "io/ioutil" -) - -func ParsePackageJson(repositoryId string) (models.PackageJson , error) { - - - var packageJson models.PackageJson - - packageJsonFile := config.Cfg.RepositoryDir + "/" + repositoryId + "/package.json" - - if !helper.FileIsExisted(packageJsonFile){ - return packageJson, errors.New("Json file not found=>" + packageJsonFile) - } - - file, err := ioutil.ReadFile(packageJsonFile) - - if err != nil { - return packageJson, err - } - - err = json.Unmarshal(file, &packageJson) - - if err != nil { - return packageJson, err - } - - return packageJson ,nil - +package serviceRepository + +import ( + "MareWood/config" + "MareWood/helper" + "MareWood/models" + "encoding/json" + "errors" + "io/ioutil" +) + +func ParsePackageJson(repositoryId string) (models.PackageJson , error) { + + + var packageJson models.PackageJson + + packageJsonFile := config.Cfg.RepositoryDir + "/" + repositoryId + "/package.json" + + if !helper.FileIsExisted(packageJsonFile){ + return packageJson, errors.New("Json file not found=>" + packageJsonFile) + } + + file, err := ioutil.ReadFile(packageJsonFile) + + if err != nil { + return packageJson, err + } + + err = json.Unmarshal(file, &packageJson) + + if err != nil { + return packageJson, err + } + + return packageJson ,nil + } \ No newline at end of file diff --git a/service/serviceRepository/repository.go b/service/serviceRepository/repository.go index d71c9ab..4d17182 100644 --- a/service/serviceRepository/repository.go +++ b/service/serviceRepository/repository.go @@ -1,155 +1,155 @@ -package serviceRepository - -import ( - "MareWood/config" - "MareWood/helper" - "MareWood/models" - "MareWood/sql" - "errors" - "os" - "os/exec" - "strconv" - "strings" -) - -func CloneRepo(repo *models.Repository,claims *models.Claims){ - out, err := GitClone(strconv.Itoa(int(repo.ID)), repo.Url, repo.UserName, repo.Password) - if err != nil { - sql.DB.Model(repo). - Where("id = ?", repo.ID). - Update("status", models.RepoStatusFail). - Update("terminal_info", out) - return - } - - sql.DB.Model(repo). - Where("id = ?", repo.ID). - Update("status", models.RepoStatusSuccess). - Update("terminal_info", out) - - models.Broadcast <- models.Message{ - Type: models.MsgTypeSuccess, - TriggerID: claims.ID, - TriggerUsername: claims.Username, - NeedNotifySelf: true, - Message: claims.Username +"'s Repository, " + repo.Name + " has been successfully cloned", - } -} - -//克隆仓库,userName,password可留空 -func GitClone(repositoryId string, gitUrl string, userName string, password string) (string, error) { - - var ( - cmd *exec.Cmd - endingUrl string - ) - endingUrl = gitUrl - if userName != "" && password != "" { - authUrl, err := helper.GitUrl2AuthUrl(gitUrl, userName, password) - if err != nil { - return "", err - } - endingUrl = authUrl - } - cmd = exec.Command("git", "clone", endingUrl) - cmd.Dir = config.Cfg.RepositoryDir - out, err := cmd.CombinedOutput() - if err != nil { - return string(out), err - } - repositoryName, err := helper.GetRepositoryNameByUrl(gitUrl) - - if err != nil { - return "", err - } - - repositoryDir := config.Cfg.RepositoryDir + "/" + repositoryName - newRepositoryDir := config.Cfg.RepositoryDir + "/" + repositoryId - - err = os.Rename(repositoryDir, newRepositoryDir) - if err != nil { - return "", err - } - - return string(out), nil -} - -func GitPull(repositoryId string) (string, error) { - return RunCmdOnRepositoryDir(repositoryId, "git", "pull") -} - -func DiscardChange(repositoryId string) (string, error) { - return RunCmdOnRepositoryDir(repositoryId, "git", "checkout", ".") -} - -func DeleteRepository(repositoryId string) error { - - repoDir := config.Cfg.RepositoryDir + "/" + repositoryId - - if !helper.IsDir(repoDir) { - return nil - } - - return os.RemoveAll(repoDir) -} - -func PruneBranch(repositoryId string) (string, error) { - if out, err := GitCheckout(repositoryId, "master"); err != nil { - return out, err - } - if out, err := GitPull(repositoryId); err != nil { - return out, err - } - //裁剪分支 - return RunCmdOnRepositoryDir(repositoryId, "git", "remote", "prune", "origin") -} - -func GetBranch(repositoryId string) ([]string, error) { - - out, err := RunCmdOnRepositoryDir(repositoryId, "git", "branch", "-r") - - if err != nil { - return []string{}, err - } - - deleteOrigin := strings.ReplaceAll(string(out), "origin/", "") - - branch := strings.Split(strings.Trim(strings.ReplaceAll(deleteOrigin, " ", ""), "\n"), "\n") - - var newBranch []string - for _, b := range branch { - if !strings.Contains(b, "HEAD") { - newBranch = append(newBranch, b) - } - } - return newBranch, nil -} - -func GitCheckout(repositoryId string, branch string) (string, error) { - - return RunCmdOnRepositoryDir(repositoryId, "git", "checkout", branch) -} - -//仓库URL, 构建命令 test、build、build:dev -func RunBuild(repositoryId string, buildCmd string) (string, error) { - - return RunCmdOnRepositoryDir(repositoryId, "npm", "run", buildCmd) -} - -func RunCmdOnRepositoryDir(repositoryId string, cmdName string, arg ...string) (string, error) { - - repositoryDir := config.Cfg.RepositoryDir + "/" + repositoryId - - if !helper.IsDir(repositoryDir) { - return "", errors.New("Can't find repository dir=>" + repositoryDir) - } - - cmd := exec.Command(cmdName, arg...) - cmd.Dir = repositoryDir - - out, err := cmd.CombinedOutput() - if err != nil { - return "", errors.New(cmdName + "Command exited unexpectedly=>\n" + string(out)) - } - return string(out), nil -} +package serviceRepository + +import ( + "MareWood/config" + "MareWood/helper" + "MareWood/models" + "MareWood/sql" + "errors" + "os" + "os/exec" + "strconv" + "strings" +) + +func CloneRepo(repo *models.Repository,claims *models.Claims){ + out, err := GitClone(strconv.Itoa(int(repo.ID)), repo.Url, repo.UserName, repo.Password) + if err != nil { + sql.DB.Model(repo). + Where("id = ?", repo.ID). + Update("status", models.RepoStatusFail). + Update("terminal_info", out) + return + } + + sql.DB.Model(repo). + Where("id = ?", repo.ID). + Update("status", models.RepoStatusSuccess). + Update("terminal_info", out) + + models.Broadcast <- models.Message{ + Type: models.MsgTypeSuccess, + TriggerID: claims.ID, + TriggerUsername: claims.Username, + NeedNotifySelf: true, + Message: claims.Username +"'s Repository, " + repo.Name + " has been successfully cloned", + } +} + +//克隆仓库,userName,password可留空 +func GitClone(repositoryId string, gitUrl string, userName string, password string) (string, error) { + + var ( + cmd *exec.Cmd + endingUrl string + ) + endingUrl = gitUrl + if userName != "" && password != "" { + authUrl, err := helper.GitUrl2AuthUrl(gitUrl, userName, password) + if err != nil { + return "", err + } + endingUrl = authUrl + } + cmd = exec.Command("git", "clone", endingUrl) + cmd.Dir = config.Cfg.RepositoryDir + out, err := cmd.CombinedOutput() + if err != nil { + return string(out), err + } + repositoryName, err := helper.GetRepositoryNameByUrl(gitUrl) + + if err != nil { + return "", err + } + + repositoryDir := config.Cfg.RepositoryDir + "/" + repositoryName + newRepositoryDir := config.Cfg.RepositoryDir + "/" + repositoryId + + err = os.Rename(repositoryDir, newRepositoryDir) + if err != nil { + return "", err + } + + return string(out), nil +} + +func GitPull(repositoryId string) (string, error) { + return RunCmdOnRepositoryDir(repositoryId, "git", "pull") +} + +func DiscardChange(repositoryId string) (string, error) { + return RunCmdOnRepositoryDir(repositoryId, "git", "checkout", ".") +} + +func DeleteRepository(repositoryId string) error { + + repoDir := config.Cfg.RepositoryDir + "/" + repositoryId + + if !helper.IsDir(repoDir) { + return nil + } + + return os.RemoveAll(repoDir) +} + +func PruneBranch(repositoryId string) (string, error) { + if out, err := GitCheckout(repositoryId, "master"); err != nil { + return out, err + } + if out, err := GitPull(repositoryId); err != nil { + return out, err + } + //裁剪分支 + return RunCmdOnRepositoryDir(repositoryId, "git", "remote", "prune", "origin") +} + +func GetBranch(repositoryId string) ([]string, error) { + + out, err := RunCmdOnRepositoryDir(repositoryId, "git", "branch", "-r") + + if err != nil { + return []string{}, err + } + + deleteOrigin := strings.ReplaceAll(string(out), "origin/", "") + + branch := strings.Split(strings.Trim(strings.ReplaceAll(deleteOrigin, " ", ""), "\n"), "\n") + + var newBranch []string + for _, b := range branch { + if !strings.Contains(b, "HEAD") { + newBranch = append(newBranch, b) + } + } + return newBranch, nil +} + +func GitCheckout(repositoryId string, branch string) (string, error) { + + return RunCmdOnRepositoryDir(repositoryId, "git", "checkout", branch) +} + +//仓库URL, 构建命令 test、build、build:dev +func RunBuild(repositoryId string, buildCmd string) (string, error) { + + return RunCmdOnRepositoryDir(repositoryId, "npm", "run", buildCmd) +} + +func RunCmdOnRepositoryDir(repositoryId string, cmdName string, arg ...string) (string, error) { + + repositoryDir := config.Cfg.RepositoryDir + "/" + repositoryId + + if !helper.IsDir(repositoryDir) { + return "", errors.New("Can't find repository dir=>" + repositoryDir) + } + + cmd := exec.Command(cmdName, arg...) + cmd.Dir = repositoryDir + + out, err := cmd.CombinedOutput() + if err != nil { + return "", errors.New(cmdName + "Command exited unexpectedly=>\n" + string(out)) + } + return string(out), nil +} diff --git a/service/serviceJob/job.go b/service/serviceTask/task.go similarity index 53% rename from service/serviceJob/job.go rename to service/serviceTask/task.go index 3f33d49..4f4c3b0 100644 --- a/service/serviceJob/job.go +++ b/service/serviceTask/task.go @@ -1,4 +1,4 @@ -package serviceJob +package serviceTask import ( "MareWood/config" @@ -17,102 +17,102 @@ import ( 更新代码->安装依赖->打包->创建目录并复制代码->更新Url-> 更新运行次数->更新任务状态->更新仓库状态为空闲->(执行附加脚本,暂不做)->更新终端信息。 */ -func JobRun(job *models.Job, repository *models.Repository, claims *models.Claims) { +func TaskRun(t *models.Task, repository *models.Repository, claims *models.Claims) { var terminalOut string repositoryId := strconv.Itoa(int(repository.ID)) out, err := serviceRepository.GitPull(repositoryId) if err != nil { - jobRunError(job, repository, err.Error(), claims) + taskRunError(t, repository, err.Error(), claims) return } terminalOut += out branch, err := serviceRepository.GetBranch(strconv.Itoa(int(repository.ID))) if err != nil { - jobRunError(job, repository, err.Error(), claims) + taskRunError(t, repository, err.Error(), claims) return } - if !helper.InStrArr(job.Branch, branch) { - jobRunError(job, repository, config.Cfg.AppName+":Compilation failed, the branch does not exist, please try to cut the branch and switch the branch, and then try again!", claims) + if !helper.InStrArr(t.Branch, branch) { + taskRunError(t, repository, config.Cfg.AppName+":Compilation failed, the branch does not exist, please try to cut the branch and switch the branch, and then try again!", claims) return } - out, err = serviceRepository.GitCheckout(repositoryId, job.Branch) + out, err = serviceRepository.GitCheckout(repositoryId, t.Branch) if err != nil { - jobRunError(job, repository, err.Error(), claims) + taskRunError(t, repository, err.Error(), claims) return } terminalOut += out out, err = serviceRepository.GitPull(repositoryId) if err != nil { - jobRunError(job, repository, err.Error(), claims) + taskRunError(t, repository, err.Error(), claims) return } terminalOut += out out, err = serviceRepository.InstallDepend(repositoryId, repository.DependTools) if err != nil { - jobRunError(job, repository, err.Error(), claims) + taskRunError(t, repository, err.Error(), claims) return } terminalOut += out - out, err = serviceRepository.RunBuild(repositoryId, job.BuildCommand) + out, err = serviceRepository.RunBuild(repositoryId, t.BuildCommand) if err != nil { - jobRunError(job, repository, err.Error(), claims) + taskRunError(t, repository, err.Error(), claims) return } terminalOut += out //创建目录并复制代码 - out, err = CopyBuildResultToWebRootDir(strconv.Itoa(int(job.ID)), repositoryId, job.BuildDir) + out, err = CopyBuildResultToWebRootDir(strconv.Itoa(int(t.ID)), repositoryId, t.BuildDir) if err != nil { - jobRunError(job, repository, err.Error(), claims) + taskRunError(t, repository, err.Error(), claims) return } terminalOut += out - sql.DB.Model(&job). - Update("status", models.JobStatusSuccess). - Update("url", config.Cfg.WebsUrl+"/"+strconv.Itoa(int(job.ID))). - Update("run_quantity", job.RunQuantity+1). + sql.DB.Model(&t). + Update("status", models.TaskStatusSuccess). + Update("url", config.Cfg.WebsUrl+"/"+strconv.Itoa(int(t.ID))). + Update("run_quantity", t.RunQuantity+1). Update("terminal_info", terminalOut) sql.DB.Model(&repository). - Update("job_status", models.RepoJobStatusLeisured) + Update("task_status", models.RepoTaskStatusLeisured) successMsg := models.Message{ Type: models.MsgTypeSuccess, TriggerID: claims.ID, TriggerUsername: claims.Username, NeedNotifySelf: true, - Message: claims.Username + "'s task, " + job.Name + ", has been compiled successfully", + Message: claims.Username + "'s task, " + t.Name + ", has been compiled successfully", } models.Broadcast <- successMsg } -func jobRunError(job *models.Job, repository *models.Repository, errOut string, claims *models.Claims) { - fmt.Println("jobRunError::", errOut) - sql.DB.Model(&job).Update("status", models.JobStatusFail).Update("terminal_info", errOut) - sql.DB.Model(&repository).Update("job_status", models.RepoJobStatusLeisured) +func taskRunError(t *models.Task, repository *models.Repository, errOut string, claims *models.Claims) { + fmt.Println("taskRunError::", errOut) + sql.DB.Model(&t).Update("status", models.TaskStatusFail).Update("terminal_info", errOut) + sql.DB.Model(&repository).Update("task_status", models.RepoTaskStatusLeisured) errMsg := models.Message{ Type: models.MsgTypeError, TriggerID: claims.ID, TriggerUsername: claims.Username, NeedNotifySelf: true, - Message: claims.Username + "'s task, " + job.Name + ", has been compiled failed", + Message: claims.Username + "'s task, " + t.Name + ", has been compiled failed", } models.Broadcast <- errMsg } -func CopyBuildResultToWebRootDir(jobId string, repositoryId string, buildDir string) (string, error) { - destination := config.Cfg.WebRootDir + "/" + jobId +func CopyBuildResultToWebRootDir(taskId string, repositoryId string, buildDir string) (string, error) { + destination := config.Cfg.WebRootDir + "/" + taskId if helper.IsDir(destination) { if err := helper.RemoveDir(destination); err != nil { diff --git a/service/serviceUser/broadcast.go b/service/serviceUser/broadcast.go index d9b7899..f87b02a 100644 --- a/service/serviceUser/broadcast.go +++ b/service/serviceUser/broadcast.go @@ -1,23 +1,23 @@ -package serviceUser - -import ( - "MareWood/models" - "github.com/gorilla/websocket" -) - -func JoinWsClientsByToken(token string, conn *websocket.Conn) error { - claims, err := ParseToken(token) - if err != nil { - return err - } - models.WsClients[claims.ID] = models.ConnUser{Username: claims.Username, WsConn: conn} - - models.Broadcast <- models.Message{ - Type: models.MsgTypeInfo, - TriggerID: claims.ID, - TriggerUsername: claims.Username, - Message: "“" + claims.Username + "” Joined the system", - } - - return nil -} +package serviceUser + +import ( + "MareWood/models" + "github.com/gorilla/websocket" +) + +func JoinWsClientsByToken(token string, conn *websocket.Conn) error { + claims, err := ParseToken(token) + if err != nil { + return err + } + models.WsClients[claims.ID] = models.ConnUser{Username: claims.Username, WsConn: conn} + + models.Broadcast <- models.Message{ + Type: models.MsgTypeInfo, + TriggerID: claims.ID, + TriggerUsername: claims.Username, + Message: "“" + claims.Username + "” Joined the system", + } + + return nil +} diff --git a/service/serviceUser/jwt.go b/service/serviceUser/jwt.go index 0de0956..c7c3264 100644 --- a/service/serviceUser/jwt.go +++ b/service/serviceUser/jwt.go @@ -1,50 +1,50 @@ -package serviceUser - -import ( - "MareWood/config" - "MareWood/models" - "errors" - "github.com/dgrijalva/jwt-go" - "github.com/gin-gonic/gin" - "time" -) - -// GenToken 生成JWT -func GenToken(claims *models.Claims) (string, error) { - claims.StandardClaims = jwt.StandardClaims{ - ExpiresAt: time.Now().Add(models.TokenExpireDuration).Unix(), // 过期时间 - Issuer: config.Cfg.AppName, // 签发人 - } - // 使用指定的签名方法创建签名对象 - token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) - // 使用指定的secret签名并获得完整的编码后的字符串token - return token.SignedString(models.TokenSecret) -} - -func ParseToken(tokenString string) (*models.Claims, error) { - // 解析token - token, err := jwt.ParseWithClaims(tokenString, &models.Claims{}, func(token *jwt.Token) (i interface{}, err error) { - return models.TokenSecret, nil - }) - if err != nil { - return nil, err - } - if claims, ok := token.Claims.(*models.Claims); ok && token.Valid { // 校验token - return claims, nil - } - return nil, errors.New("Token invalid ") -} - -func GetJwtClaimsByContext(c *gin.Context) (*models.Claims, error) { - - jwtClaims, hasClaims := c.Get(models.JwtClaimsKey) - if !hasClaims { - return &models.Claims{}, errors.New(" User information is lost") - } - - claims, ok := jwtClaims.(*models.Claims) - if !ok { - return &models.Claims{}, errors.New(" User information assertion failed") - } - return claims, nil -} +package serviceUser + +import ( + "MareWood/config" + "MareWood/models" + "errors" + "github.com/dgrijalva/jwt-go" + "github.com/gin-gonic/gin" + "time" +) + +// GenToken 生成JWT +func GenToken(claims *models.Claims) (string, error) { + claims.StandardClaims = jwt.StandardClaims{ + ExpiresAt: time.Now().Add(models.TokenExpireDuration).Unix(), // 过期时间 + Issuer: config.Cfg.AppName, // 签发人 + } + // 使用指定的签名方法创建签名对象 + token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) + // 使用指定的secret签名并获得完整的编码后的字符串token + return token.SignedString(models.TokenSecret) +} + +func ParseToken(tokenString string) (*models.Claims, error) { + // 解析token + token, err := jwt.ParseWithClaims(tokenString, &models.Claims{}, func(token *jwt.Token) (i interface{}, err error) { + return models.TokenSecret, nil + }) + if err != nil { + return nil, err + } + if claims, ok := token.Claims.(*models.Claims); ok && token.Valid { // 校验token + return claims, nil + } + return nil, errors.New("Token invalid ") +} + +func GetJwtClaimsByContext(c *gin.Context) (*models.Claims, error) { + + jwtClaims, hasClaims := c.Get(models.JwtClaimsKey) + if !hasClaims { + return &models.Claims{}, errors.New(" User information is lost") + } + + claims, ok := jwtClaims.(*models.Claims) + if !ok { + return &models.Claims{}, errors.New(" User information assertion failed") + } + return claims, nil +} diff --git a/sql/db.go b/sql/db.go index cbc1aad..d0afebe 100644 --- a/sql/db.go +++ b/sql/db.go @@ -1,21 +1,21 @@ -package sql - -import ( - "MareWood/config" - "github.com/jinzhu/gorm" - _ "github.com/jinzhu/gorm/dialects/sqlite" -) - -var DB *gorm.DB - -func InitDb() { - var err error - - DB, err = gorm.Open("sqlite3", config.Cfg.DbDns) - - if err != nil { - panic("failed to connect database") - } - - DB.LogMode(config.Cfg.LogMode) -} +package sql + +import ( + "MareWood/config" + "github.com/jinzhu/gorm" + _ "github.com/jinzhu/gorm/dialects/sqlite" +) + +var DB *gorm.DB + +func InitDb() { + var err error + + DB, err = gorm.Open("sqlite3", config.Cfg.DbDns) + + if err != nil { + panic("failed to connect database") + } + + DB.LogMode(config.Cfg.LogMode) +}