From 5287578452ec9e0055b2bf20df2759e131645158 Mon Sep 17 00:00:00 2001 From: Taric Xin Date: Fri, 26 Nov 2021 16:34:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .browserslistrc | 17 + .editorconfig | 16 + .eslintignore | 34 + .eslintrc.js | 126 + .gitignore | 49 + .npmignore | 5 + .nvmrc | 1 + .prettierignore | 18 + .prettierrc.js | 13 + .stylelintrc | 28 + _cli-tpl/README.md | 1 + .../__name@dasherize__.component.html | 5 + .../__name@dasherize__.component.spec.ts | 24 + .../__name@dasherize__.component.ts | 18 + .../__name@dasherize__.component.html | 3 + .../__name@dasherize__.component.spec.ts | 24 + .../__name@dasherize__.component.ts | 18 + ...__name@dasherize__.component.html.template | 1 + ...ame@dasherize__.component.spec.ts.template | 24 + .../__name@dasherize__.component.ts.template | 18 + _mock/README.md | 1 + _mock/_api.ts | 265 + _mock/_chart.ts | 205 + _mock/_file-manager.ts | 126 + _mock/_forum.ts | 258 + _mock/_geo.ts | 76 + _mock/_img.ts | 103 + _mock/_log.ts | 62 + _mock/_menu.ts | 109 + _mock/_other.ts | 917 + _mock/_permission.ts | 58 + _mock/_pois.ts | 61 + _mock/_profile.ts | 152 + _mock/_role.ts | 73 + _mock/_rule.ts | 82 + _mock/_trade.ts | 172 + _mock/_user-pro.ts | 91 + _mock/_user.ts | 122 + _mock/_ware.ts | 163 + _mock/index.ts | 21 + _mock/utils.ts | 160 + angular.json | 141 + e2e/protractor.conf.js | 32 + e2e/src/app.e2e-spec.ts | 28 + e2e/src/app.po.ts | 11 + e2e/tsconfig.json | 10 + karma.conf.js | 38 + ng-alain.json | 17 + package-lock.json | 24244 ++++++++++++++++ package.json | 135 + proxy.conf.js | 17 + src/app/app.component.ts | 46 + src/app/app.module.ts | 72 + src/app/core/README.md | 5 + src/app/core/core.module.ts | 12 + src/app/core/core.service.ts | 90 + src/app/core/index.ts | 6 + src/app/core/module-import-guard.ts | 6 + src/app/core/net/default.interceptor.ts | 261 + src/app/core/startup/startup.service.ts | 158 + src/app/global-config.module.ts | 65 + src/app/layout/layout.module.ts | 64 + .../layout/passport/passport.component.html | 13 + .../layout/passport/passport.component.less | 74 + src/app/layout/passport/passport.component.ts | 30 + .../components/footer/footer.component.html | 16 + .../pro/components/footer/footer.component.ts | 15 + .../components/header/header.component.html | 25 + .../pro/components/header/header.component.ts | 68 + .../pro/components/logo/logo.component.html | 4 + .../pro/components/logo/logo.component.ts | 15 + .../pro/components/menu/menu.component.html | 101 + .../pro/components/menu/menu.component.ts | 125 + .../components/notify/notify.component.html | 10 + .../pro/components/notify/notify.component.ts | 183 + .../quick-chat-status.component.html | 4 + .../quick-chat/quick-chat-status.component.ts | 42 + .../quick-chat/quick-chat.component.html | 47 + .../quick-chat/quick-chat.component.ts | 131 + .../quick-chat/quick-chat.service.ts | 80 + .../quick/quick-panel.component.html | 87 + .../components/quick/quick-panel.component.ts | 42 + .../pro/components/quick/quick.component.html | 1 + .../pro/components/quick/quick.component.ts | 51 + .../pro/components/rtl/rtl.component.ts | 23 + .../components/search/search.component.html | 9 + .../pro/components/search/search.component.ts | 49 + .../pro/components/user/user.component.html | 25 + .../pro/components/user/user.component.ts | 29 + .../components/widget/widget.component.html | 19 + .../pro/components/widget/widget.component.ts | 20 + src/app/layout/pro/index.md | 1 + src/app/layout/pro/index.ts | 67 + src/app/layout/pro/pro.component.html | 40 + src/app/layout/pro/pro.component.ts | 167 + src/app/layout/pro/pro.service.ts | 139 + src/app/layout/pro/pro.types.ts | 43 + .../setting-drawer.component.html | 83 + .../setting-drawer.component.ts | 240 + src/app/layout/pro/shared/page/index.ts | 3 + .../pro/shared/page/page-grid.component.html | 4 + .../pro/shared/page/page-grid.component.ts | 80 + .../page/page-header-wrapper.component.html | 26 + .../page/page-header-wrapper.component.ts | 74 + src/app/layout/pro/shared/page/page.module.ts | 16 + src/app/layout/pro/styles/app/_content.less | 58 + src/app/layout/pro/styles/app/_footer.less | 3 + src/app/layout/pro/styles/app/_header.less | 104 + src/app/layout/pro/styles/app/_menu.less | 68 + src/app/layout/pro/styles/app/_sider.less | 148 + src/app/layout/pro/styles/app/_top-nav.less | 101 + src/app/layout/pro/styles/app/fix/_antd.less | 6 + src/app/layout/pro/styles/app/fix/_btn.less | 5 + src/app/layout/pro/styles/app/fix/_delon.less | 55 + src/app/layout/pro/styles/app/fix/_menu.less | 3 + src/app/layout/pro/styles/app/fix/_print.less | 3 + src/app/layout/pro/styles/app/fix/index.less | 8 + src/app/layout/pro/styles/app/index.less | 8 + src/app/layout/pro/styles/index.less | 4 + src/app/layout/pro/styles/theme-compact.less | 5 + src/app/layout/pro/styles/theme-dark.less | 9 + src/app/layout/pro/styles/theme-default.less | 53 + .../layout/pro/styles/widgets/_bordered.less | 34 + src/app/layout/pro/styles/widgets/_brand.less | 27 + .../layout/pro/styles/widgets/_collapse.less | 13 + .../layout/pro/styles/widgets/_search.less | 51 + .../pro/styles/widgets/_setting-drawer.less | 53 + src/app/layout/pro/styles/widgets/index.less | 7 + .../test/components/menu.component.spec.ts | 89 + src/app/layout/pro/test/pro.component.spec.ts | 111 + src/app/layout/pro/test/pro.service.spec.ts | 81 + .../routes/dashboard/dashboard.component.html | 109 + .../routes/dashboard/dashboard.component.less | 6 + .../routes/dashboard/dashboard.component.ts | 166 + src/app/routes/exception/403.component.ts | 7 + src/app/routes/exception/404.component.ts | 7 + src/app/routes/exception/500.component.ts | 7 + .../exception/exception-routing.module.ts | 20 + src/app/routes/exception/exception.module.ts | 19 + src/app/routes/exception/trigger.component.ts | 35 + src/app/routes/passport/callback.component.ts | 35 + .../routes/passport/lock/lock.component.html | 21 + .../routes/passport/lock/lock.component.less | 12 + .../routes/passport/lock/lock.component.ts | 44 + .../passport/login/login.component.html | 77 + .../passport/login/login.component.less | 53 + .../routes/passport/login/login.component.ts | 213 + .../passport/login2/login2.component.html | 56 + .../passport/login2/login2.component.less | 28 + .../passport/login2/login2.component.ts | 78 + .../passport/login3/login3.component.html | 51 + .../passport/login3/login3.component.less | 13 + .../passport/login3/login3.component.ts | 78 + .../passport/passport-routing.module.ts | 51 + src/app/routes/passport/passport.module.ts | 67 + .../register-result.component.html | 13 + .../register-result.component.ts | 15 + .../passport/register/register.component.html | 89 + .../passport/register/register.component.less | 42 + .../passport/register/register.component.ts | 139 + src/app/routes/routes-routing.module.ts | 36 + src/app/routes/routes.module.ts | 16 + src/app/shared/README.md | 30 + .../components/address/address.component.html | 16 + .../components/address/address.component.ts | 84 + .../components/address/address.module.ts | 15 + .../components/address/address.service.ts | 79 + .../shared/components/address/index.en-US.md | 26 + src/app/shared/components/address/index.ts | 3 + .../shared/components/address/index.zh-CN.md | 26 + .../components/captcha/captcha.component.html | 1 + .../components/captcha/captcha.component.less | 6 + .../components/captcha/captcha.component.ts | 79 + .../shared/components/captcha/dun.helper.ts | 84 + src/app/shared/components/captcha/dun.ts | 353 + src/app/shared/components/captcha/index.ts | 2 + .../components/delay/delay.directive.ts | 45 + .../shared/components/delay/delay.module.ts | 11 + .../shared/components/delay/index.en-US.md | 19 + src/app/shared/components/delay/index.ts | 2 + .../shared/components/delay/index.zh-CN.md | 19 + .../components/editor/editor.component.ts | 417 + .../shared/components/editor/editor.module.ts | 13 + .../shared/components/editor/index.en-US.md | 39 + src/app/shared/components/editor/index.ts | 2 + .../shared/components/editor/index.zh-CN.md | 39 + .../file-manager-img.component.html | 53 + .../file-manager-img.component.ts | 108 + .../file-manager-img.directive.ts | 39 + .../file-manager/file-manager.component.html | 73 + .../file-manager/file-manager.component.ts | 188 + .../file-manager/file-manager.module.ts | 47 + .../components/file-manager/index.en-US.md | 50 + .../shared/components/file-manager/index.ts | 4 + .../components/file-manager/index.zh-CN.md | 50 + .../shared/components/masonry/index.en-US.md | 45 + src/app/shared/components/masonry/index.ts | 2 + .../shared/components/masonry/index.zh-CN.md | 32 + .../components/masonry/masonry.directive.ts | 92 + .../components/masonry/masonry.module.ts | 11 + .../components/mouse-focus/index.en-US.md | 34 + .../shared/components/mouse-focus/index.ts | 2 + .../components/mouse-focus/index.zh-CN.md | 34 + .../mouse-focus/mouse-focus.directive.ts | 60 + .../mouse-focus/mouse-focus.module.ts | 11 + .../components/scrollbar/index.en-US.md | 24 + src/app/shared/components/scrollbar/index.ts | 3 + .../components/scrollbar/index.zh-CN.md | 24 + .../scrollbar/scrollbar.directive.ts | 115 + .../scrollbar/scrollbar.interface.ts | 35 + .../components/scrollbar/scrollbar.module.ts | 11 + .../components/status-label/index.en-US.md | 23 + .../shared/components/status-label/index.ts | 2 + .../components/status-label/index.zh-CN.md | 23 + .../status-label/status-label.component.ts | 55 + .../status-label/status-label.module.ts | 14 + src/app/shared/index.ts | 15 + .../shared/interfaces/api/i-api-response.i.ts | 7 + src/app/shared/interfaces/core/i-base.i.ts | 26 + src/app/shared/interfaces/core/i-cache-obj.ts | 44 + src/app/shared/interfaces/index.ts | 6 + .../services/business/account.service.ts | 112 + .../business/authorization.service.ts | 88 + .../services/business/captcha.service.ts | 76 + .../services/business/enterprise.service.ts | 125 + .../services/business/sl-platform.service.ts | 306 + .../shared/services/business/user.service.ts | 204 + src/app/shared/services/core/base.service.ts | 516 + src/app/shared/services/core/cache.service.ts | 130 + src/app/shared/services/core/event.service.ts | 19 + .../shared/services/core/validate.service.ts | 104 + src/app/shared/services/index.ts | 12 + src/app/shared/shared-delon.module.ts | 6 + src/app/shared/shared-zorro.module.ts | 27 + src/app/shared/shared.module.ts | 73 + src/app/shared/utils/date.util.ts | 56 + src/app/shared/utils/file.util.ts | 76 + src/app/shared/utils/index.ts | 4 + .../shared/utils/processSingleSort.func.ts | 38 + src/app/shared/utils/yuan.ts | 11 + .../shared/widget/address/address.widget.ts | 20 + src/app/shared/widget/editor/editor.widget.ts | 23 + .../from-to-search/from-to-search.widget.html | 21 + .../from-to-search.widget.spec.ts | 24 + .../from-to-search/from-to-search.widget.ts | 104 + .../shared/widget/from-to/from-to.widget.html | 11 + .../shared/widget/from-to/from-to.widget.less | 0 .../widget/from-to/from-to.widget.spec.ts | 24 + .../shared/widget/from-to/from-to.widget.ts | 85 + src/app/shared/widget/img/img.widget.ts | 63 + src/app/shared/widget/noun/noun.widget.ts | 77 + .../property-values/property-values.widget.ts | 184 + .../widget/spec-values/spec-values.widget.ts | 176 + src/app/shared/widget/st-widget.module.ts | 72 + .../shared/widget/tinymce/tinymce.widget.ts | 31 + src/assets/.gitkeep | 0 src/assets/color.less | 2195 ++ src/assets/logo-color.svg | 25 + src/assets/logo-full.svg | 47 + src/assets/logo.svg | 25 + src/assets/mocks/app-data.json | 6 + src/assets/mocks/menu-data.json | 22 + src/assets/mocks/user-data.json | 7 + src/assets/style.compact.css | 1 + src/assets/style.dark.css | 1 + src/assets/tmp/app-data.json | 35 + src/assets/tmp/demo.docx | Bin 0 -> 11722 bytes src/assets/tmp/demo.pdf | Bin 0 -> 46673 bytes src/assets/tmp/demo.pptx | Bin 0 -> 33579 bytes src/assets/tmp/demo.xlsx | Bin 0 -> 8461 bytes src/assets/tmp/demo.zip | Bin 0 -> 86275 bytes src/assets/tmp/docx.docx | Bin 0 -> 14517 bytes src/assets/tmp/i18n/el-GR.json | 151 + src/assets/tmp/i18n/en-US.json | 251 + src/assets/tmp/i18n/es-ES.json | 153 + src/assets/tmp/i18n/fr-FR.json | 153 + src/assets/tmp/i18n/hr-HR.json | 151 + src/assets/tmp/i18n/it-IT.json | 151 + src/assets/tmp/i18n/ko-KR.json | 153 + src/assets/tmp/i18n/pl-PL.json | 153 + src/assets/tmp/i18n/sl-SI.json | 151 + src/assets/tmp/i18n/tr-TR.json | 153 + src/assets/tmp/i18n/zh-CN.json | 251 + src/assets/tmp/i18n/zh-TW.json | 251 + src/assets/tmp/img-big/1.jpg | Bin 0 -> 233120 bytes src/assets/tmp/img-big/2.jpg | Bin 0 -> 289448 bytes src/assets/tmp/img-big/3.jpg | Bin 0 -> 474363 bytes src/assets/tmp/img-big/4.jpg | Bin 0 -> 166326 bytes src/assets/tmp/img-big/5.jpg | Bin 0 -> 49857 bytes src/assets/tmp/img-big/6.jpg | Bin 0 -> 1064899 bytes src/assets/tmp/img-big/7.jpg | Bin 0 -> 415194 bytes src/assets/tmp/img-big/8.jpg | Bin 0 -> 144484 bytes src/assets/tmp/img-big/bg-1.jpeg | Bin 0 -> 764208 bytes src/assets/tmp/img-big/bg-2.jpeg | Bin 0 -> 564464 bytes src/assets/tmp/img/1.png | Bin 0 -> 2838 bytes src/assets/tmp/img/2.png | Bin 0 -> 2515 bytes src/assets/tmp/img/3.png | Bin 0 -> 3386 bytes src/assets/tmp/img/4.png | Bin 0 -> 3293 bytes src/assets/tmp/img/5.png | Bin 0 -> 2560 bytes src/assets/tmp/img/6.png | Bin 0 -> 3827 bytes src/assets/tmp/img/avatar.jpg | Bin 0 -> 43173 bytes src/assets/tmp/img/bg1.jpg | Bin 0 -> 647356 bytes src/assets/tmp/img/bg10.jpg | Bin 0 -> 185940 bytes src/assets/tmp/img/bg2.jpg | Bin 0 -> 148219 bytes src/assets/tmp/img/bg3.jpg | Bin 0 -> 360944 bytes src/assets/tmp/img/bg4.jpg | Bin 0 -> 493847 bytes src/assets/tmp/img/bg5.jpg | Bin 0 -> 157930 bytes src/assets/tmp/img/bg6.jpg | Bin 0 -> 453836 bytes src/assets/tmp/img/bg7.jpg | Bin 0 -> 46096 bytes src/assets/tmp/img/bg8.jpg | Bin 0 -> 194653 bytes src/assets/tmp/img/bg9.jpg | Bin 0 -> 64117 bytes src/assets/tmp/img/half-float-bg-1.jpg | Bin 0 -> 108685 bytes src/assets/tmp/on-boarding.json | 21 + src/assets/tmp/pc-code.json | 1 + src/assets/tmp/pca-code.json | 1 + src/assets/zorro.svg | 34 + src/conf/api.conf.ts | 9 + src/conf/cache.conf.ts | 49 + src/conf/environment.conf.ts | 48 + src/conf/event.conf.ts | 13 + src/conf/keys.conf.ts | 11 + src/conf/sys.conf.ts | 34 + src/environments/eascs/environment.demo.ts | 19 + src/environments/eascs/environment.dev.ts | 19 + src/environments/eascs/environment.pre.ts | 11 + src/environments/eascs/environment.prod.ts | 11 + src/environments/environment.prod.ts | 11 + src/environments/environment.service.ts | 38 + src/environments/environment.ts | 27 + src/favicon.ico | Bin 0 -> 15678 bytes src/index.html | 48 + src/main.ts | 27 + src/polyfills.ts | 64 + src/style-icons-auto.ts | 106 + src/style-icons.ts | 13 + src/styles.less | 7 + src/styles/fix/_chat.less | 139 + src/styles/fix/_file-manager.less | 135 + src/styles/fix/_passport.less | 58 + src/styles/fix/_quick-chat.less | 119 + src/styles/fix/_quill.less | 22 + src/styles/fix/_utils.less | 99 + src/styles/fix/antd.less | 18 + src/styles/fix/index.less | 10 + src/styles/fix/theme-compact.less | 1 + src/styles/fix/theme-dark.less | 10 + src/styles/fix/theme-default.less | 33 + src/styles/index.less | 3 + src/styles/theme.less | 10 + src/test.ts | 22 + src/typings.d.ts | 4 + tsconfig.app.json | 10 + tsconfig.json | 46 + tsconfig.spec.json | 10 + 354 files changed, 45736 insertions(+) create mode 100644 .browserslistrc create mode 100644 .editorconfig create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 .npmignore create mode 100644 .nvmrc create mode 100644 .prettierignore create mode 100644 .prettierrc.js create mode 100644 .stylelintrc create mode 100644 _cli-tpl/README.md create mode 100644 _cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html create mode 100644 _cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts create mode 100644 _cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts create mode 100644 _cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html create mode 100644 _cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts create mode 100644 _cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts create mode 100644 _cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template create mode 100644 _cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template create mode 100644 _cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template create mode 100644 _mock/README.md create mode 100644 _mock/_api.ts create mode 100644 _mock/_chart.ts create mode 100644 _mock/_file-manager.ts create mode 100644 _mock/_forum.ts create mode 100644 _mock/_geo.ts create mode 100644 _mock/_img.ts create mode 100644 _mock/_log.ts create mode 100644 _mock/_menu.ts create mode 100644 _mock/_other.ts create mode 100644 _mock/_permission.ts create mode 100644 _mock/_pois.ts create mode 100644 _mock/_profile.ts create mode 100644 _mock/_role.ts create mode 100644 _mock/_rule.ts create mode 100644 _mock/_trade.ts create mode 100644 _mock/_user-pro.ts create mode 100644 _mock/_user.ts create mode 100644 _mock/_ware.ts create mode 100644 _mock/index.ts create mode 100644 _mock/utils.ts create mode 100644 angular.json create mode 100644 e2e/protractor.conf.js create mode 100644 e2e/src/app.e2e-spec.ts create mode 100644 e2e/src/app.po.ts create mode 100644 e2e/tsconfig.json create mode 100644 karma.conf.js create mode 100644 ng-alain.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 proxy.conf.js create mode 100644 src/app/app.component.ts create mode 100644 src/app/app.module.ts create mode 100644 src/app/core/README.md create mode 100644 src/app/core/core.module.ts create mode 100644 src/app/core/core.service.ts create mode 100644 src/app/core/index.ts create mode 100644 src/app/core/module-import-guard.ts create mode 100644 src/app/core/net/default.interceptor.ts create mode 100644 src/app/core/startup/startup.service.ts create mode 100644 src/app/global-config.module.ts create mode 100644 src/app/layout/layout.module.ts create mode 100644 src/app/layout/passport/passport.component.html create mode 100644 src/app/layout/passport/passport.component.less create mode 100644 src/app/layout/passport/passport.component.ts create mode 100644 src/app/layout/pro/components/footer/footer.component.html create mode 100644 src/app/layout/pro/components/footer/footer.component.ts create mode 100644 src/app/layout/pro/components/header/header.component.html create mode 100644 src/app/layout/pro/components/header/header.component.ts create mode 100644 src/app/layout/pro/components/logo/logo.component.html create mode 100644 src/app/layout/pro/components/logo/logo.component.ts create mode 100644 src/app/layout/pro/components/menu/menu.component.html create mode 100644 src/app/layout/pro/components/menu/menu.component.ts create mode 100644 src/app/layout/pro/components/notify/notify.component.html create mode 100644 src/app/layout/pro/components/notify/notify.component.ts create mode 100644 src/app/layout/pro/components/quick-chat/quick-chat-status.component.html create mode 100644 src/app/layout/pro/components/quick-chat/quick-chat-status.component.ts create mode 100644 src/app/layout/pro/components/quick-chat/quick-chat.component.html create mode 100644 src/app/layout/pro/components/quick-chat/quick-chat.component.ts create mode 100644 src/app/layout/pro/components/quick-chat/quick-chat.service.ts create mode 100644 src/app/layout/pro/components/quick/quick-panel.component.html create mode 100644 src/app/layout/pro/components/quick/quick-panel.component.ts create mode 100644 src/app/layout/pro/components/quick/quick.component.html create mode 100644 src/app/layout/pro/components/quick/quick.component.ts create mode 100644 src/app/layout/pro/components/rtl/rtl.component.ts create mode 100644 src/app/layout/pro/components/search/search.component.html create mode 100644 src/app/layout/pro/components/search/search.component.ts create mode 100644 src/app/layout/pro/components/user/user.component.html create mode 100644 src/app/layout/pro/components/user/user.component.ts create mode 100644 src/app/layout/pro/components/widget/widget.component.html create mode 100644 src/app/layout/pro/components/widget/widget.component.ts create mode 100644 src/app/layout/pro/index.md create mode 100644 src/app/layout/pro/index.ts create mode 100644 src/app/layout/pro/pro.component.html create mode 100644 src/app/layout/pro/pro.component.ts create mode 100644 src/app/layout/pro/pro.service.ts create mode 100644 src/app/layout/pro/pro.types.ts create mode 100644 src/app/layout/pro/setting-drawer/setting-drawer.component.html create mode 100644 src/app/layout/pro/setting-drawer/setting-drawer.component.ts create mode 100644 src/app/layout/pro/shared/page/index.ts create mode 100644 src/app/layout/pro/shared/page/page-grid.component.html create mode 100644 src/app/layout/pro/shared/page/page-grid.component.ts create mode 100644 src/app/layout/pro/shared/page/page-header-wrapper.component.html create mode 100644 src/app/layout/pro/shared/page/page-header-wrapper.component.ts create mode 100644 src/app/layout/pro/shared/page/page.module.ts create mode 100644 src/app/layout/pro/styles/app/_content.less create mode 100644 src/app/layout/pro/styles/app/_footer.less create mode 100644 src/app/layout/pro/styles/app/_header.less create mode 100644 src/app/layout/pro/styles/app/_menu.less create mode 100644 src/app/layout/pro/styles/app/_sider.less create mode 100644 src/app/layout/pro/styles/app/_top-nav.less create mode 100644 src/app/layout/pro/styles/app/fix/_antd.less create mode 100644 src/app/layout/pro/styles/app/fix/_btn.less create mode 100644 src/app/layout/pro/styles/app/fix/_delon.less create mode 100644 src/app/layout/pro/styles/app/fix/_menu.less create mode 100644 src/app/layout/pro/styles/app/fix/_print.less create mode 100644 src/app/layout/pro/styles/app/fix/index.less create mode 100644 src/app/layout/pro/styles/app/index.less create mode 100644 src/app/layout/pro/styles/index.less create mode 100644 src/app/layout/pro/styles/theme-compact.less create mode 100644 src/app/layout/pro/styles/theme-dark.less create mode 100644 src/app/layout/pro/styles/theme-default.less create mode 100644 src/app/layout/pro/styles/widgets/_bordered.less create mode 100644 src/app/layout/pro/styles/widgets/_brand.less create mode 100644 src/app/layout/pro/styles/widgets/_collapse.less create mode 100644 src/app/layout/pro/styles/widgets/_search.less create mode 100644 src/app/layout/pro/styles/widgets/_setting-drawer.less create mode 100644 src/app/layout/pro/styles/widgets/index.less create mode 100644 src/app/layout/pro/test/components/menu.component.spec.ts create mode 100644 src/app/layout/pro/test/pro.component.spec.ts create mode 100644 src/app/layout/pro/test/pro.service.spec.ts create mode 100644 src/app/routes/dashboard/dashboard.component.html create mode 100644 src/app/routes/dashboard/dashboard.component.less create mode 100644 src/app/routes/dashboard/dashboard.component.ts create mode 100644 src/app/routes/exception/403.component.ts create mode 100644 src/app/routes/exception/404.component.ts create mode 100644 src/app/routes/exception/500.component.ts create mode 100644 src/app/routes/exception/exception-routing.module.ts create mode 100644 src/app/routes/exception/exception.module.ts create mode 100644 src/app/routes/exception/trigger.component.ts create mode 100644 src/app/routes/passport/callback.component.ts create mode 100644 src/app/routes/passport/lock/lock.component.html create mode 100644 src/app/routes/passport/lock/lock.component.less create mode 100644 src/app/routes/passport/lock/lock.component.ts create mode 100644 src/app/routes/passport/login/login.component.html create mode 100644 src/app/routes/passport/login/login.component.less create mode 100644 src/app/routes/passport/login/login.component.ts create mode 100644 src/app/routes/passport/login2/login2.component.html create mode 100644 src/app/routes/passport/login2/login2.component.less create mode 100644 src/app/routes/passport/login2/login2.component.ts create mode 100644 src/app/routes/passport/login3/login3.component.html create mode 100644 src/app/routes/passport/login3/login3.component.less create mode 100644 src/app/routes/passport/login3/login3.component.ts create mode 100644 src/app/routes/passport/passport-routing.module.ts create mode 100644 src/app/routes/passport/passport.module.ts create mode 100644 src/app/routes/passport/register-result/register-result.component.html create mode 100644 src/app/routes/passport/register-result/register-result.component.ts create mode 100644 src/app/routes/passport/register/register.component.html create mode 100644 src/app/routes/passport/register/register.component.less create mode 100644 src/app/routes/passport/register/register.component.ts create mode 100644 src/app/routes/routes-routing.module.ts create mode 100644 src/app/routes/routes.module.ts create mode 100644 src/app/shared/README.md create mode 100644 src/app/shared/components/address/address.component.html create mode 100644 src/app/shared/components/address/address.component.ts create mode 100644 src/app/shared/components/address/address.module.ts create mode 100644 src/app/shared/components/address/address.service.ts create mode 100644 src/app/shared/components/address/index.en-US.md create mode 100644 src/app/shared/components/address/index.ts create mode 100644 src/app/shared/components/address/index.zh-CN.md create mode 100644 src/app/shared/components/captcha/captcha.component.html create mode 100644 src/app/shared/components/captcha/captcha.component.less create mode 100644 src/app/shared/components/captcha/captcha.component.ts create mode 100644 src/app/shared/components/captcha/dun.helper.ts create mode 100644 src/app/shared/components/captcha/dun.ts create mode 100644 src/app/shared/components/captcha/index.ts create mode 100644 src/app/shared/components/delay/delay.directive.ts create mode 100644 src/app/shared/components/delay/delay.module.ts create mode 100644 src/app/shared/components/delay/index.en-US.md create mode 100644 src/app/shared/components/delay/index.ts create mode 100644 src/app/shared/components/delay/index.zh-CN.md create mode 100644 src/app/shared/components/editor/editor.component.ts create mode 100644 src/app/shared/components/editor/editor.module.ts create mode 100644 src/app/shared/components/editor/index.en-US.md create mode 100644 src/app/shared/components/editor/index.ts create mode 100644 src/app/shared/components/editor/index.zh-CN.md create mode 100644 src/app/shared/components/file-manager/file-manager-img.component.html create mode 100644 src/app/shared/components/file-manager/file-manager-img.component.ts create mode 100644 src/app/shared/components/file-manager/file-manager-img.directive.ts create mode 100644 src/app/shared/components/file-manager/file-manager.component.html create mode 100644 src/app/shared/components/file-manager/file-manager.component.ts create mode 100644 src/app/shared/components/file-manager/file-manager.module.ts create mode 100644 src/app/shared/components/file-manager/index.en-US.md create mode 100644 src/app/shared/components/file-manager/index.ts create mode 100644 src/app/shared/components/file-manager/index.zh-CN.md create mode 100644 src/app/shared/components/masonry/index.en-US.md create mode 100644 src/app/shared/components/masonry/index.ts create mode 100644 src/app/shared/components/masonry/index.zh-CN.md create mode 100644 src/app/shared/components/masonry/masonry.directive.ts create mode 100644 src/app/shared/components/masonry/masonry.module.ts create mode 100644 src/app/shared/components/mouse-focus/index.en-US.md create mode 100644 src/app/shared/components/mouse-focus/index.ts create mode 100644 src/app/shared/components/mouse-focus/index.zh-CN.md create mode 100644 src/app/shared/components/mouse-focus/mouse-focus.directive.ts create mode 100644 src/app/shared/components/mouse-focus/mouse-focus.module.ts create mode 100644 src/app/shared/components/scrollbar/index.en-US.md create mode 100644 src/app/shared/components/scrollbar/index.ts create mode 100644 src/app/shared/components/scrollbar/index.zh-CN.md create mode 100644 src/app/shared/components/scrollbar/scrollbar.directive.ts create mode 100644 src/app/shared/components/scrollbar/scrollbar.interface.ts create mode 100644 src/app/shared/components/scrollbar/scrollbar.module.ts create mode 100644 src/app/shared/components/status-label/index.en-US.md create mode 100644 src/app/shared/components/status-label/index.ts create mode 100644 src/app/shared/components/status-label/index.zh-CN.md create mode 100644 src/app/shared/components/status-label/status-label.component.ts create mode 100644 src/app/shared/components/status-label/status-label.module.ts create mode 100644 src/app/shared/index.ts create mode 100644 src/app/shared/interfaces/api/i-api-response.i.ts create mode 100644 src/app/shared/interfaces/core/i-base.i.ts create mode 100644 src/app/shared/interfaces/core/i-cache-obj.ts create mode 100644 src/app/shared/interfaces/index.ts create mode 100644 src/app/shared/services/business/account.service.ts create mode 100644 src/app/shared/services/business/authorization.service.ts create mode 100644 src/app/shared/services/business/captcha.service.ts create mode 100644 src/app/shared/services/business/enterprise.service.ts create mode 100644 src/app/shared/services/business/sl-platform.service.ts create mode 100644 src/app/shared/services/business/user.service.ts create mode 100644 src/app/shared/services/core/base.service.ts create mode 100644 src/app/shared/services/core/cache.service.ts create mode 100644 src/app/shared/services/core/event.service.ts create mode 100644 src/app/shared/services/core/validate.service.ts create mode 100644 src/app/shared/services/index.ts create mode 100644 src/app/shared/shared-delon.module.ts create mode 100644 src/app/shared/shared-zorro.module.ts create mode 100644 src/app/shared/shared.module.ts create mode 100644 src/app/shared/utils/date.util.ts create mode 100644 src/app/shared/utils/file.util.ts create mode 100644 src/app/shared/utils/index.ts create mode 100644 src/app/shared/utils/processSingleSort.func.ts create mode 100644 src/app/shared/utils/yuan.ts create mode 100644 src/app/shared/widget/address/address.widget.ts create mode 100644 src/app/shared/widget/editor/editor.widget.ts create mode 100644 src/app/shared/widget/from-to-search/from-to-search.widget.html create mode 100644 src/app/shared/widget/from-to-search/from-to-search.widget.spec.ts create mode 100644 src/app/shared/widget/from-to-search/from-to-search.widget.ts create mode 100644 src/app/shared/widget/from-to/from-to.widget.html create mode 100644 src/app/shared/widget/from-to/from-to.widget.less create mode 100644 src/app/shared/widget/from-to/from-to.widget.spec.ts create mode 100644 src/app/shared/widget/from-to/from-to.widget.ts create mode 100644 src/app/shared/widget/img/img.widget.ts create mode 100644 src/app/shared/widget/noun/noun.widget.ts create mode 100644 src/app/shared/widget/property-values/property-values.widget.ts create mode 100644 src/app/shared/widget/spec-values/spec-values.widget.ts create mode 100644 src/app/shared/widget/st-widget.module.ts create mode 100644 src/app/shared/widget/tinymce/tinymce.widget.ts create mode 100644 src/assets/.gitkeep create mode 100644 src/assets/color.less create mode 100644 src/assets/logo-color.svg create mode 100644 src/assets/logo-full.svg create mode 100644 src/assets/logo.svg create mode 100644 src/assets/mocks/app-data.json create mode 100644 src/assets/mocks/menu-data.json create mode 100644 src/assets/mocks/user-data.json create mode 100644 src/assets/style.compact.css create mode 100644 src/assets/style.dark.css create mode 100644 src/assets/tmp/app-data.json create mode 100644 src/assets/tmp/demo.docx create mode 100644 src/assets/tmp/demo.pdf create mode 100644 src/assets/tmp/demo.pptx create mode 100644 src/assets/tmp/demo.xlsx create mode 100644 src/assets/tmp/demo.zip create mode 100644 src/assets/tmp/docx.docx create mode 100644 src/assets/tmp/i18n/el-GR.json create mode 100644 src/assets/tmp/i18n/en-US.json create mode 100644 src/assets/tmp/i18n/es-ES.json create mode 100644 src/assets/tmp/i18n/fr-FR.json create mode 100644 src/assets/tmp/i18n/hr-HR.json create mode 100644 src/assets/tmp/i18n/it-IT.json create mode 100644 src/assets/tmp/i18n/ko-KR.json create mode 100644 src/assets/tmp/i18n/pl-PL.json create mode 100644 src/assets/tmp/i18n/sl-SI.json create mode 100644 src/assets/tmp/i18n/tr-TR.json create mode 100644 src/assets/tmp/i18n/zh-CN.json create mode 100644 src/assets/tmp/i18n/zh-TW.json create mode 100644 src/assets/tmp/img-big/1.jpg create mode 100644 src/assets/tmp/img-big/2.jpg create mode 100644 src/assets/tmp/img-big/3.jpg create mode 100644 src/assets/tmp/img-big/4.jpg create mode 100644 src/assets/tmp/img-big/5.jpg create mode 100644 src/assets/tmp/img-big/6.jpg create mode 100644 src/assets/tmp/img-big/7.jpg create mode 100644 src/assets/tmp/img-big/8.jpg create mode 100644 src/assets/tmp/img-big/bg-1.jpeg create mode 100644 src/assets/tmp/img-big/bg-2.jpeg create mode 100644 src/assets/tmp/img/1.png create mode 100644 src/assets/tmp/img/2.png create mode 100644 src/assets/tmp/img/3.png create mode 100644 src/assets/tmp/img/4.png create mode 100644 src/assets/tmp/img/5.png create mode 100644 src/assets/tmp/img/6.png create mode 100644 src/assets/tmp/img/avatar.jpg create mode 100644 src/assets/tmp/img/bg1.jpg create mode 100644 src/assets/tmp/img/bg10.jpg create mode 100644 src/assets/tmp/img/bg2.jpg create mode 100644 src/assets/tmp/img/bg3.jpg create mode 100644 src/assets/tmp/img/bg4.jpg create mode 100644 src/assets/tmp/img/bg5.jpg create mode 100644 src/assets/tmp/img/bg6.jpg create mode 100644 src/assets/tmp/img/bg7.jpg create mode 100644 src/assets/tmp/img/bg8.jpg create mode 100644 src/assets/tmp/img/bg9.jpg create mode 100644 src/assets/tmp/img/half-float-bg-1.jpg create mode 100644 src/assets/tmp/on-boarding.json create mode 100644 src/assets/tmp/pc-code.json create mode 100644 src/assets/tmp/pca-code.json create mode 100644 src/assets/zorro.svg create mode 100644 src/conf/api.conf.ts create mode 100644 src/conf/cache.conf.ts create mode 100644 src/conf/environment.conf.ts create mode 100644 src/conf/event.conf.ts create mode 100644 src/conf/keys.conf.ts create mode 100644 src/conf/sys.conf.ts create mode 100644 src/environments/eascs/environment.demo.ts create mode 100644 src/environments/eascs/environment.dev.ts create mode 100644 src/environments/eascs/environment.pre.ts create mode 100644 src/environments/eascs/environment.prod.ts create mode 100644 src/environments/environment.prod.ts create mode 100644 src/environments/environment.service.ts create mode 100644 src/environments/environment.ts create mode 100644 src/favicon.ico create mode 100644 src/index.html create mode 100644 src/main.ts create mode 100644 src/polyfills.ts create mode 100644 src/style-icons-auto.ts create mode 100644 src/style-icons.ts create mode 100644 src/styles.less create mode 100644 src/styles/fix/_chat.less create mode 100644 src/styles/fix/_file-manager.less create mode 100644 src/styles/fix/_passport.less create mode 100644 src/styles/fix/_quick-chat.less create mode 100644 src/styles/fix/_quill.less create mode 100644 src/styles/fix/_utils.less create mode 100644 src/styles/fix/antd.less create mode 100644 src/styles/fix/index.less create mode 100644 src/styles/fix/theme-compact.less create mode 100644 src/styles/fix/theme-dark.less create mode 100644 src/styles/fix/theme-default.less create mode 100644 src/styles/index.less create mode 100644 src/styles/theme.less create mode 100644 src/test.ts create mode 100644 src/typings.d.ts create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.spec.json diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 00000000..427441dc --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,17 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# For the full list of supported browsers by the Angular framework, please see: +# https://angular.io/guide/browser-support + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +last 1 Chrome version +last 1 Firefox version +last 2 Edge major versions +last 2 Safari major versions +last 2 iOS major versions +Firefox ESR +not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line. diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..59d9a3a3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..42da9d3f --- /dev/null +++ b/.eslintignore @@ -0,0 +1,34 @@ +_cli-tpl/ +dist/ +coverage/ + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Dependency directories +node_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +.cache/ + +# yarn v2 +.yarn diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..78aaeb78 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,126 @@ +const prettierConfig = require('./.prettierrc.js'); + +module.exports = { + root: true, + parserOptions: { ecmaVersion: 2021 }, + overrides: [ + { + files: ['*.ts'], + parser: '@typescript-eslint/parser', + parserOptions: { + tsconfigRootDir: __dirname, + project: ['tsconfig.json'], + createDefaultProgram: true + }, + plugins: ['@typescript-eslint', 'jsdoc', 'import'], + extends: [ + 'plugin:@angular-eslint/recommended', + 'plugin:@angular-eslint/template/process-inline-templates', + 'plugin:prettier/recommended' + ], + rules: { + 'prettier/prettier': ['error', prettierConfig], + 'jsdoc/newline-after-description': 1, + '@angular-eslint/component-class-suffix': [ + 'error', + { + suffixes: ['Directive', 'Component', 'Base', 'Widget'] + } + ], + '@angular-eslint/directive-class-suffix': [ + 'error', + { + suffixes: ['Directive', 'Component', 'Base', 'Widget'] + } + ], + '@angular-eslint/component-selector': [ + 'off', + { + type: ['element', 'attribute'], + prefix: ['app', 'test'], + style: 'kebab-case' + } + ], + '@angular-eslint/directive-selector': [ + 'off', + { + type: 'attribute', + prefix: ['app'] + } + ], + '@angular-eslint/no-attribute-decorator': 'error', + '@angular-eslint/no-conflicting-lifecycle': 'off', + '@angular-eslint/no-forward-ref': 'off', + '@angular-eslint/no-host-metadata-property': 'off', + '@angular-eslint/no-lifecycle-call': 'off', + '@angular-eslint/no-pipe-impure': 'error', + '@angular-eslint/prefer-output-readonly': 'error', + '@angular-eslint/use-component-selector': 'off', + '@angular-eslint/use-component-view-encapsulation': 'off', + '@angular-eslint/no-input-rename': 'off', + '@angular-eslint/no-output-native': 'off', + '@typescript-eslint/array-type': [ + 'error', + { + default: 'array-simple' + } + ], + '@typescript-eslint/ban-types': [ + 'off', + { + types: { + String: { + message: 'Use string instead.' + }, + Number: { + message: 'Use number instead.' + }, + Boolean: { + message: 'Use boolean instead.' + }, + Function: { + message: 'Use specific callable interface instead.' + } + } + } + ], + 'import/no-duplicates': 'error', + 'import/no-unused-modules': 'error', + 'import/no-unassigned-import': 'error', + 'import/order': [ + 'error', + { + alphabetize: { order: 'asc', caseInsensitive: false }, + 'newlines-between': 'always', + groups: ['external', 'internal', ['parent', 'sibling', 'index']], + pathGroups: [], + pathGroupsExcludedImportTypes: [] + } + ], + '@typescript-eslint/no-this-alias': 'error', + '@typescript-eslint/member-ordering': 'off', + 'no-irregular-whitespace': 'error', + 'no-multiple-empty-lines': 'error', + 'no-sparse-arrays': 'error', + 'prefer-object-spread': 'error', + 'prefer-template': 'error', + 'prefer-const': 'off', + 'max-len': 'off' + } + }, + { + files: ['*.html'], + extends: ['plugin:@angular-eslint/template/recommended'], + rules: {} + }, + { + files: ['*.html'], + excludedFiles: ['*inline-template-*.component.html'], + extends: ['plugin:prettier/recommended'], + rules: { + 'prettier/prettier': ['error', { parser: 'angular' }], + '@angular-eslint/template/eqeqeq': 'off' + } + } + ] +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..7b70918a --- /dev/null +++ b/.gitignore @@ -0,0 +1,49 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp +/out-tsc +# /src/assets/color.less +delon-builds +scripts/var.less +# src/assets/style.dark.css +# src/assets/style.compact.css + +# dependencies +/node_modules +/yarn.lock + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +testem.log +/typings +yarn-error.log +/_all.less + +# e2e +/e2e/*.map + +# System Files +.DS_Store +Thumbs.db diff --git a/.npmignore b/.npmignore new file mode 100644 index 00000000..3e1f42ec --- /dev/null +++ b/.npmignore @@ -0,0 +1,5 @@ +.github +node_modules + +dist +tmp diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..5c088ddb --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +12.14.1 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..d250447c --- /dev/null +++ b/.prettierignore @@ -0,0 +1,18 @@ +# add files you wish to ignore here +**/*.md +**/*.svg +**/test.ts + +.stylelintrc +.prettierrc + +src/assets/* +src/index.html +node_modules/ +.vscode/ +coverage/ +dist/ +package.json +tslint.json + +_cli-tpl/**/* diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 00000000..26ba9009 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,13 @@ +module.exports = { + singleQuote: true, + useTabs: false, + printWidth: 140, + tabWidth: 2, + semi: true, + htmlWhitespaceSensitivity: 'strict', + arrowParens: 'avoid', + bracketSpacing: true, + proseWrap: 'preserve', + trailingComma: 'none', + endOfLine: 'lf' +}; diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 00000000..86e9c6a3 --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,28 @@ +{ + "extends": [ + "stylelint-config-standard", + "stylelint-config-rational-order", + "stylelint-config-prettier" + ], + "plugins": [ + "stylelint-order", + "stylelint-declaration-block-no-ignored-properties" + ], + "rules": { + "no-descending-specificity": null, + "plugin/declaration-block-no-ignored-properties": true, + "selector-type-no-unknown": null, + "selector-pseudo-element-no-unknown": [ + true, + { + "ignorePseudoElements": [ + "ng-deep" + ] + } + ], + "at-rule-no-unknown": null + }, + "ignoreFiles": [ + "src/assets/**/*" + ] +} diff --git a/_cli-tpl/README.md b/_cli-tpl/README.md new file mode 100644 index 00000000..409ebc52 --- /dev/null +++ b/_cli-tpl/README.md @@ -0,0 +1 @@ +[Document](https://ng-alain.com/cli/generate#Custom-template-page) diff --git a/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html new file mode 100644 index 00000000..8a7009bc --- /dev/null +++ b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html @@ -0,0 +1,5 @@ + + + + + diff --git a/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts new file mode 100644 index 00000000..5b408fb6 --- /dev/null +++ b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts @@ -0,0 +1,24 @@ +import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing'; +import { <%= componentName %> } from './<%= dasherize(name) %>.component'; + +describe('<%= componentName %>', () => { + let component: <%= componentName %>; + let fixture: ComponentFixture<<%= componentName %>>; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ <%= componentName %> ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(<%= componentName %>); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts new file mode 100644 index 00000000..b9cf8f2b --- /dev/null +++ b/_cli-tpl/grid/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts @@ -0,0 +1,18 @@ +import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: '<%= selector %>', + templateUrl: './<%= dasherize(name) %>.component.html',<% if(!inlineStyle) { %><% } else { %> + styleUrls: ['./<%= dasherize(name) %>.component.<%= styleext %>']<% } %><% if(!!viewEncapsulation) { %>, + encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>, + changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %> +}) +export class <%= componentName %> implements OnInit { + + constructor(private http: _HttpClient, private msg: NzMessageService) { } + + ngOnInit() { } + +} diff --git a/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html new file mode 100644 index 00000000..aef86ebd --- /dev/null +++ b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html @@ -0,0 +1,3 @@ + + + diff --git a/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts new file mode 100644 index 00000000..c7a520ca --- /dev/null +++ b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { <%= componentName %> } from './<%= dasherize(name) %>.component'; + +describe('<%= componentName %>', () => { + let component: <%= componentName %>; + let fixture: ComponentFixture<<%= componentName %>>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ <%= componentName %> ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(<%= componentName %>); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts new file mode 100644 index 00000000..b9cf8f2b --- /dev/null +++ b/_cli-tpl/list/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts @@ -0,0 +1,18 @@ +import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: '<%= selector %>', + templateUrl: './<%= dasherize(name) %>.component.html',<% if(!inlineStyle) { %><% } else { %> + styleUrls: ['./<%= dasherize(name) %>.component.<%= styleext %>']<% } %><% if(!!viewEncapsulation) { %>, + encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>, + changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %> +}) +export class <%= componentName %> implements OnInit { + + constructor(private http: _HttpClient, private msg: NzMessageService) { } + + ngOnInit() { } + +} diff --git a/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template new file mode 100644 index 00000000..3f210156 --- /dev/null +++ b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template @@ -0,0 +1 @@ + diff --git a/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template new file mode 100644 index 00000000..c7a520ca --- /dev/null +++ b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.spec.ts.template @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { <%= componentName %> } from './<%= dasherize(name) %>.component'; + +describe('<%= componentName %>', () => { + let component: <%= componentName %>; + let fixture: ComponentFixture<<%= componentName %>>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ <%= componentName %> ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(<%= componentName %>); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template new file mode 100644 index 00000000..b9cf8f2b --- /dev/null +++ b/_cli-tpl/test/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template @@ -0,0 +1,18 @@ +import { Component, OnInit<% if(!!viewEncapsulation) { %>, ViewEncapsulation<% }%><% if(changeDetection !== 'Default') { %>, ChangeDetectionStrategy<% }%> } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: '<%= selector %>', + templateUrl: './<%= dasherize(name) %>.component.html',<% if(!inlineStyle) { %><% } else { %> + styleUrls: ['./<%= dasherize(name) %>.component.<%= styleext %>']<% } %><% if(!!viewEncapsulation) { %>, + encapsulation: ViewEncapsulation.<%= viewEncapsulation %><% } if (changeDetection !== 'Default') { %>, + changeDetection: ChangeDetectionStrategy.<%= changeDetection %><% } %> +}) +export class <%= componentName %> implements OnInit { + + constructor(private http: _HttpClient, private msg: NzMessageService) { } + + ngOnInit() { } + +} diff --git a/_mock/README.md b/_mock/README.md new file mode 100644 index 00000000..d30e74ab --- /dev/null +++ b/_mock/README.md @@ -0,0 +1 @@ +[Document](https://ng-alain.com/mock) diff --git a/_mock/_api.ts b/_mock/_api.ts new file mode 100644 index 00000000..7448a9f1 --- /dev/null +++ b/_mock/_api.ts @@ -0,0 +1,265 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; + +// region: mock data + +const titles = ['Alipay', 'Angular', 'Ant Design', 'Ant Design Pro', 'Bootstrap', 'React', 'Vue', 'Webpack']; + +const avatars = [ + 'https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png', // Alipay + 'https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png', // Angular + 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png', // Ant Design + 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png', // Ant Design Pro + 'https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png', // Bootstrap + 'https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png', // React + 'https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png', // Vue + 'https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png', // Webpack +]; +const covers = [ + 'https://gw.alipayobjects.com/zos/rmsportal/HrxcVbrKnCJOZvtzSqjN.png', + 'https://gw.alipayobjects.com/zos/rmsportal/alaPpKWajEbIYEUvvVNf.png', + 'https://gw.alipayobjects.com/zos/rmsportal/RLwlKSYGSXGHuWSojyvp.png', + 'https://gw.alipayobjects.com/zos/rmsportal/gLaIAoVWTtLbBWZNYEMg.png', +]; +const desc = [ + '那是一种内在的东西, 他们到达不了,也无法触及的', + '希望是一个好东西,也许是最好的,好东西是不会消亡的', + '生命就像一盒巧克力,结果往往出人意料', + '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆', + '那时候我只会想自己想要什么,从不想自己拥有什么', +]; + +const user = ['卡色', 'cipchk', '付小小', '曲丽丽', '林东东', '周星星', '吴加好', '朱偏右', '鱼酱', '乐哥', '谭小仪', '仲尼']; + +// endregion + +function getFakeList(count: number = 20): any[] { + const list: any[] = []; + for (let i = 0; i < count; i += 1) { + list.push({ + id: `fake-list-${i}`, + owner: user[i % 10], + title: titles[i % 8], + avatar: avatars[i % 8], + cover: parseInt((i / 4).toString(), 10) % 2 === 0 ? covers[i % 4] : covers[3 - (i % 4)], + status: ['active', 'exception', 'normal'][i % 3], + percent: Math.ceil(Math.random() * 50) + 50, + logo: avatars[i % 8], + href: 'https://ant.design', + updatedAt: new Date(new Date().getTime() - 1000 * 60 * 60 * 2 * i), + createdAt: new Date(new Date().getTime() - 1000 * 60 * 60 * 2 * i), + subDescription: desc[i % 5], + description: + '在中台产品的研发过程中,会出现不同的设计规范和实现方式,但其中往往存在很多类似的页面和组件,这些类似的组件会被抽离成一套标准规范。', + activeUser: Math.ceil(Math.random() * 100000) + 100000, + newUser: Math.ceil(Math.random() * 1000) + 1000, + star: Math.ceil(Math.random() * 100) + 100, + like: Math.ceil(Math.random() * 100) + 100, + message: Math.ceil(Math.random() * 10) + 10, + content: + '段落示意:蚂蚁金服设计平台 ant.design,用最小的工作量,无缝接入蚂蚁金服生态,提供跨越设计与开发的体验解决方案。蚂蚁金服设计平台 ant.design,用最小的工作量,无缝接入蚂蚁金服生态,提供跨越设计与开发的体验解决方案。', + members: [ + { + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png', + name: '曲丽丽', + }, + { + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png', + name: '王昭君', + }, + { + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png', + name: '董娜娜', + }, + ], + }); + } + + return list; +} + +function getNotice(): any[] { + return [ + { + id: 'xxx1', + title: titles[0], + logo: avatars[0], + description: '那是一种内在的东西, 他们到达不了,也无法触及的', + updatedAt: new Date(), + member: '科学搬砖组', + href: '', + memberLink: '', + }, + { + id: 'xxx2', + title: titles[1], + logo: avatars[1], + description: '希望是一个好东西,也许是最好的,好东西是不会消亡的', + updatedAt: new Date('2017-07-24'), + member: '全组都是吴彦祖', + href: '', + memberLink: '', + }, + { + id: 'xxx3', + title: titles[2], + logo: avatars[2], + description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆', + updatedAt: new Date(), + member: '中二少女团', + href: '', + memberLink: '', + }, + { + id: 'xxx4', + title: titles[3], + logo: avatars[3], + description: '那时候我只会想自己想要什么,从不想自己拥有什么', + updatedAt: new Date('2017-07-23'), + member: '程序员日常', + href: '', + memberLink: '', + }, + { + id: 'xxx5', + title: titles[4], + logo: avatars[4], + description: '凛冬将至', + updatedAt: new Date('2017-07-23'), + member: '高逼格设计天团', + href: '', + memberLink: '', + }, + { + id: 'xxx6', + title: titles[5], + logo: avatars[5], + description: '生命就像一盒巧克力,结果往往出人意料', + updatedAt: new Date('2017-07-23'), + member: '骗你来学计算机', + href: '', + memberLink: '', + }, + ]; +} + +function getActivities(): any[] { + return [ + { + id: 'trend-1', + updatedAt: new Date(), + user: { + name: '林东东', + avatar: avatars[0], + }, + group: { + name: '高逼格设计天团', + link: 'http://github.com/', + }, + project: { + name: '六月迭代', + link: 'http://github.com/', + }, + template: '在 @{group} 新建项目 @{project}', + }, + { + id: 'trend-2', + updatedAt: new Date(), + user: { + name: '付小小', + avatar: avatars[1], + }, + group: { + name: '高逼格设计天团', + link: 'http://github.com/', + }, + project: { + name: '六月迭代', + link: 'http://github.com/', + }, + template: '在 @{group} 新建项目 @{project}', + }, + { + id: 'trend-3', + updatedAt: new Date(), + user: { + name: '曲丽丽', + avatar: avatars[2], + }, + group: { + name: '中二少女团', + link: 'http://github.com/', + }, + project: { + name: '六月迭代', + link: 'http://github.com/', + }, + template: '在 @{group} 新建项目 @{project}', + }, + { + id: 'trend-4', + updatedAt: new Date(), + user: { + name: '周星星', + avatar: avatars[3], + }, + project: { + name: '5 月日常迭代', + link: 'http://github.com/', + }, + template: '将 @{project} 更新至已发布状态', + }, + { + id: 'trend-5', + updatedAt: new Date(), + user: { + name: '朱偏右', + avatar: avatars[4], + }, + project: { + name: '工程效能', + link: 'http://github.com/', + }, + comment: { + name: '留言', + link: 'http://github.com/', + }, + template: '在 @{project} 发布了 @{comment}', + }, + { + id: 'trend-6', + updatedAt: new Date(), + user: { + name: '乐哥', + avatar: avatars[5], + }, + group: { + name: '程序员日常', + link: 'http://github.com/', + }, + project: { + name: '品牌迭代', + link: 'http://github.com/', + }, + template: '在 @{group} 新建项目 @{project}', + }, + ]; +} + +export const APIS = { + '/api/list': (req: MockRequest) => getFakeList(req.queryString.count), + '/api/notice': () => getNotice(), + '/api/activities': () => getActivities(), + 'POST /api/auth/refresh': { msg: 'ok', token: 'new-token-by-refresh' }, + '/api/401': () => { + throw new MockStatusError(401); + }, + '/api/403': () => { + throw new MockStatusError(403); + }, + '/api/404': () => { + throw new MockStatusError(404); + }, + '/api/500': () => { + throw new MockStatusError(500); + }, +}; diff --git a/_mock/_chart.ts b/_mock/_chart.ts new file mode 100644 index 00000000..dfb3602a --- /dev/null +++ b/_mock/_chart.ts @@ -0,0 +1,205 @@ +import { format } from 'date-fns'; +import * as Mock from 'mockjs'; + +// region: mock data + +const visitData: any[] = []; +const beginDay = new Date().getTime(); + +const fakeY = [7, 5, 4, 2, 4, 7, 5, 6, 5, 9, 6, 3, 1, 5, 3, 6, 5]; +for (let i = 0; i < fakeY.length; i += 1) { + visitData.push({ + x: format(new Date(beginDay + 1000 * 60 * 60 * 24 * i), 'yyyy-MM-dd'), + y: fakeY[i], + }); +} + +const visitData2: any[] = []; +const fakeY2 = [1, 6, 4, 8, 3, 7, 2]; +for (let i = 0; i < fakeY2.length; i += 1) { + visitData2.push({ + x: format(new Date(beginDay + 1000 * 60 * 60 * 24 * i), 'yyyy-MM-dd'), + y: fakeY2[i], + }); +} + +const salesData: any[] = []; +for (let i = 0; i < 12; i += 1) { + salesData.push({ + x: `${i + 1}月`, + y: Math.floor(Math.random() * 1000) + 200, + }); +} +const searchData: any[] = []; +for (let i = 0; i < 50; i += 1) { + searchData.push({ + index: i + 1, + keyword: `搜索关键词-${i}`, + count: Math.floor(Math.random() * 1000), + range: Math.floor(Math.random() * 100), + status: Math.floor((Math.random() * 10) % 2), + }); +} +const salesTypeData = [ + { + x: '家用电器', + y: 4544, + }, + { + x: '食用酒水', + y: 3321, + }, + { + x: '个护健康', + y: 3113, + }, + { + x: '服饰箱包', + y: 2341, + }, + { + x: '母婴产品', + y: 1231, + }, + { + x: '其他', + y: 1231, + }, +]; + +const salesTypeDataOnline = [ + { + x: '家用电器', + y: 244, + }, + { + x: '食用酒水', + y: 321, + }, + { + x: '个护健康', + y: 311, + }, + { + x: '服饰箱包', + y: 41, + }, + { + x: '母婴产品', + y: 121, + }, + { + x: '其他', + y: 111, + }, +]; + +const salesTypeDataOffline = [ + { + x: '家用电器', + y: 99, + }, + { + x: '个护健康', + y: 188, + }, + { + x: '服饰箱包', + y: 344, + }, + { + x: '母婴产品', + y: 255, + }, + { + x: '其他', + y: 65, + }, +]; + +const offlineData: any[] = []; +for (let i = 0; i < 10; i += 1) { + offlineData.push({ + name: `门店${i}`, + cvr: Math.ceil(Math.random() * 9) / 10, + }); +} +const offlineChartData: any[] = []; +for (let i = 0; i < 20; i += 1) { + offlineChartData.push({ + time: new Date().getTime() + 1000 * 60 * 30 * i, + y1: Math.floor(Math.random() * 100) + 10, + y2: Math.floor(Math.random() * 100) + 10, + }); +} + +const radarOriginData = [ + { + name: '个人', + ref: 10, + koubei: 8, + output: 4, + contribute: 5, + hot: 7, + }, + { + name: '团队', + ref: 3, + koubei: 9, + output: 6, + contribute: 3, + hot: 1, + }, + { + name: '部门', + ref: 4, + koubei: 1, + output: 6, + contribute: 5, + hot: 7, + }, +]; + +// +const radarData: any[] = []; +const radarTitleMap: any = { + ref: '引用', + koubei: '口碑', + output: '产量', + contribute: '贡献', + hot: '热度', +}; +radarOriginData.forEach((item: any) => { + Object.keys(item).forEach((key) => { + if (key !== 'name') { + radarData.push({ + name: item.name, + label: radarTitleMap[key], + value: item[key], + }); + } + }); +}); + +// endregion + +export const CHARTS = { + '/chart': JSON.parse( + JSON.stringify({ + visitData, + visitData2, + salesData, + searchData, + offlineData, + offlineChartData, + salesTypeData, + salesTypeDataOnline, + salesTypeDataOffline, + radarData, + }), + ), + '/chart/visit': JSON.parse(JSON.stringify(visitData)), + '/chart/tags': Mock.mock({ + 'list|100': [{ name: '@city', 'value|1-100': 150 }], + }), +}; diff --git a/_mock/_file-manager.ts b/_mock/_file-manager.ts new file mode 100644 index 00000000..a2a835d7 --- /dev/null +++ b/_mock/_file-manager.ts @@ -0,0 +1,126 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { Random } from 'mockjs'; + +import { genMp } from './utils'; + +interface FileItem { + id?: number; + parent_id?: number; + type?: 'folder' | 'file'; + title?: string; + mp?: string; + ext?: string; + size?: number; + width?: number; + height?: number; + created?: Date; +} + +let point = 1; +let DATA: FileItem[] = []; +DATA = DATA.concat(...genFolds(0, 3), ...genFiles(1, 6), ...genFiles(2, 3), ...genFiles(0, 1, 'zip'), ...genFiles(0, 10)); + +function genFolds(parent_id: number, count: number): FileItem[] { + return new Array(count).fill({}).map(() => { + return { + id: point++, + parent_id, + type: 'folder', + ext: 'folder', + title: Random.ctitle(3, 5), + created: new Date() + } as FileItem; + }); +} + +function genFiles(parent_id: number, count: number, ext: string = 'png'): FileItem[] { + return new Array(count).fill({}).map(() => { + return { + id: point++, + parent_id, + type: 'file', + title: `${Random.ctitle(3, 5)}.${ext}`, + mp: genMp(), + is_img: ext === 'png', + ext, + size: Random.natural(10, 10000), + width: Random.natural(100, 1000), + height: Random.natural(100, 1000), + created: new Date() + } as FileItem; + }); +} + +function get(params: any): any { + let ret = deepCopy(DATA) as FileItem[]; + const parent_id = +(params.parent_id || '0'); + ret = ret.filter(data => data.parent_id === parent_id); + if (params.type) { + ret = ret.filter(data => data.type!.indexOf(params.type) > -1); + } + if (params.q) { + ret = ret.filter(data => data.title!.indexOf(params.q) > -1); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex(w => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const FILES = { + '/file/folder': () => deepCopy(DATA).filter((w: any) => w.type === 'folder'), + '/file': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps) + }; + }, + 'POST /file': (req: MockRequest) => { + const file = req.body.get('file') as File; + const parent_id = +req.body.get('parent_id'); + const item = Object.assign(genFiles(req.body.parent_id, 1)[0], { + parent_id, + title: file.name, + size: file.size + }); + DATA.push(item); + return { msg: 'ok', item }; + }, + '/file/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { ...DATA[idx], ...req.body }; + return item; + }, + 'POST /file/rename': (req: MockRequest) => { + const idx = getIdx(req.body.id || 0); + DATA[idx].title = req.body.title; + return { msg: 'ok', item: DATA[idx] }; + }, + 'POST /file/move': (req: MockRequest) => { + const idx = getIdx(req.body.id || 0); + DATA[idx].parent_id = req.body.moveId; + return { msg: 'ok', item: DATA[idx] }; + }, + 'POST /file/copy/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { ...DATA[idx], id: point++ }; + item.title += ' - Copy'; + DATA.push(item); + return { msg: 'ok', item }; + }, + 'DELETE /file/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + } +}; diff --git a/_mock/_forum.ts b/_mock/_forum.ts new file mode 100644 index 00000000..a44198f8 --- /dev/null +++ b/_mock/_forum.ts @@ -0,0 +1,258 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { Random } from 'mockjs'; +import { genLabel, genMp } from './utils'; + +let id = 1; +const CATEGORY = [ + { + id: 1, + title: 'General', + list: [ + { + id: 1, + title: 'Getting started', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + { + id: 2, + title: 'Announcements', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + { + id: 3, + title: 'Guides', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + ], + }, + { + id: 2, + title: 'Shopping', + list: [ + { + id: 4, + title: 'Guides', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + { + id: 5, + title: 'Payments', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + { + id: 6, + title: 'Products', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + { + id: 7, + title: 'Refund', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + ], + }, + { + id: 3, + title: 'Support', + list: [ + { + id: 8, + title: 'Common questions', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + }, + { + id: 9, + title: 'Site issues', + threads: Random.natural(1, 20), + replies: Random.natural(6, 100), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, + }, + ], + }, +]; + +const THREAD: any[] = new Array(20).fill({}).map((v, idx) => ({ + id: id++, + title: Random.title(5, 10), + replies: Random.natural(1, 1000), + label: idx % 2 === 0 && Random.boolean() ? genLabel() : null, + category_id: Random.natural(1, 9), + last: { + id: id++, + mp: genMp(), + title: Random.title(5, 10), + user_name: Random.name(), + time: '1d ago', + }, +})); + +const REPLIES: any[] = new Array(20).fill({}).map((v, idx) => ({ + id: id++, + content: Random.paragraph(), + user: { + name: Random.name(), + mp: genMp(), + posts: Random.natural(0, 1000), + }, + time: Random.time(), + like: Random.natural(0, 100), + dislike: Random.natural(0, 10), +})); + +function get(params: any): any { + let ret = deepCopy(THREAD); + if (params.q) { + ret = ret.filter((data: any) => data.name.indexOf(params.q) > -1); + } + return ret; +} + +function getIdx(itemId: number): number { + itemId = +itemId; + const idx = THREAD.findIndex((w) => w.id === itemId); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +function getCate(itemId: number): any { + let item: any; + const category: any = deepCopy(CATEGORY).find((w: any) => { + item = w.list.find((l: any) => l.id === itemId); + if (item) { + return true; + } + return false; + }); + delete category.list; + return item; +} + +export const FORUMS = { + '/forum/category': CATEGORY, + '/forum/thread/:id': (req: MockRequest) => { + // list + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + category: getCate(+req.params.id), + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps), + }; + }, + '/forum/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { + ...THREAD[idx], + time: '3 days ago', + like: Random.natural(0, 100), + view: Random.natural(0, 10000), + user: { + name: Random.name(), + mp: genMp(), + posts: Random.natural(0, 1000), + }, + desc: + '

' + + new Array(Random.natural(1, 3)) + .fill('') + .map((v) => Random.paragraph()) + .join('

') + + '

', + }; + item.category = getCate(item.category_id); + return item; + }, + '/forum/:id/replies': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + return { + total: REPLIES.length, + list: REPLIES.slice((pi - 1) * ps, pi * ps), + }; + }, + + 'POST /forum': (req: MockRequest) => { + const itemId = req.body.id || 0; + if (itemId > 0) { + const idx = getIdx(itemId); + THREAD[idx] = { ...THREAD[idx], ...req.body }; + return { msg: 'ok', item: THREAD[idx] }; + } + + const item = { ...req.body, id: THREAD.sort((a, b) => b.id - a.id)[0].id + 1 }; + THREAD.push(item); + return { msg: 'ok', item }; + }, + 'DELETE /forum/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + THREAD.splice(idx, 1); + return { msg: 'ok' }; + }, +}; diff --git a/_mock/_geo.ts b/_mock/_geo.ts new file mode 100644 index 00000000..f52cf882 --- /dev/null +++ b/_mock/_geo.ts @@ -0,0 +1,76 @@ +import { MockRequest } from '@delon/mock'; + +const DATA = [ + { + name: '上海', + id: '310000', + }, + { + name: '市辖区', + id: '310100', + }, + { + name: '北京', + id: '110000', + }, + { + name: '市辖区', + id: '110100', + }, + { + name: '浙江省', + id: '330000', + }, + { + name: '杭州市', + id: '330100', + }, + { + name: '宁波市', + id: '330200', + }, + { + name: '温州市', + id: '330300', + }, + { + name: '嘉兴市', + id: '330400', + }, + { + name: '湖州市', + id: '330500', + }, + { + name: '绍兴市', + id: '330600', + }, + { + name: '金华市', + id: '330700', + }, + { + name: '衢州市', + id: '330800', + }, + { + name: '舟山市', + id: '330900', + }, + { + name: '台州市', + id: '331000', + }, + { + name: '丽水市', + id: '331100', + }, +]; + +export const GEOS = { + '/geo/province': () => DATA.filter(w => w.id.endsWith('0000')), + '/geo/:id': (req: MockRequest) => { + const pid = (req.params.id || '310000').slice(0, 2); + return DATA.filter(w => w.id.slice(0, 2) === pid && !w.id.endsWith('0000')); + }, +}; diff --git a/_mock/_img.ts b/_mock/_img.ts new file mode 100644 index 00000000..2f8ff63a --- /dev/null +++ b/_mock/_img.ts @@ -0,0 +1,103 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { genMp } from './utils'; + +interface ImgCat { + id: number; + parent_id: number; + title: string; +} +interface Img { + cat_id: number; + id: number; + title: string; + mp: string; + size: number; + width: number; + height: number; + created: Date; +} + +const CAT: ImgCat[] = [ + { id: 1, parent_id: 0, title: '店铺' }, + { id: 2, parent_id: 1, title: '产品图' }, + { id: 3, parent_id: 1, title: '品牌图' }, + { id: 4, parent_id: 0, title: '营销' }, + { id: 5, parent_id: 4, title: '双11' }, + { id: 6, parent_id: 4, title: '日常' }, + { id: 7, parent_id: 0, title: '其他' }, +]; +const DATA: Img[] = []; + +for (let i = 1; i <= 50; i += 1) { + DATA.push(gen(i)); +} + +function gen(i: number): any { + return { + cat_id: [1, 2, 3, 4, 5, 6, 7][Math.floor(Math.random() * 10) % 7], + id: i * 10000, + title: `title ${i}`, + mp: genMp(), + size: Math.floor(Math.random() * 1000) % 1000, + width: Math.floor(Math.random() * 1000) % 1000, + height: Math.floor(Math.random() * 1000) % 1000, + created: new Date(), + }; +} + +function get(params: any): any { + let ret = deepCopy(DATA); + const cat_id = +(params.cat_id || '0'); + if (cat_id > 0) { + ret = ret.filter((data: any) => data.cat_id === cat_id); + } + if (params.q) { + ret = ret.filter((data: any) => data.title.indexOf(params.q) > -1); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const IMGS = { + '/img/cat': () => deepCopy(CAT), + '/img': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps), + }; + }, + 'POST /img': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + DATA[idx] = { ...DATA[idx], ...req.body }; + return { msg: 'ok', item: DATA[idx] }; + } + + const item = Object.assign(gen(DATA.sort((a, b) => b.id - a.id)[0].id + 1), req.body); + DATA.push(item); + return { msg: 'ok', item }; + }, + '/img/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { ...DATA[idx], ...req.body }; + return item; + }, + 'DELETE /img/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + }, +}; diff --git a/_mock/_log.ts b/_mock/_log.ts new file mode 100644 index 00000000..b65269b3 --- /dev/null +++ b/_mock/_log.ts @@ -0,0 +1,62 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; + +const DATA: any[] = []; + +for (let i = 1; i <= 20; i += 1) { + DATA.push({ + id: i, + name: 'cms', + level: ['error', 'warning', 'info'][Math.floor(Math.random() * 10) % 3], + path: `/home/${i}`, + title: `未知报告 ${i}`, + data: `Uncaught Error: test-${i}\nat :1:7\nat :1:7\nat :1:7`, + created: new Date(), + }); +} + +function getIdx(id: number): number { + const idx = DATA.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +function get(params: any): any { + let ret = deepCopy(DATA); + if (params.q) { + ret = ret.filter((data: any) => data.title.indexOf(params.q) > -1); + } + if (params.level) { + ret = ret.filter((data: any) => data.level.indexOf(params.level) > -1); + } + return ret; +} + +function del(params: any): any { + const id = params.id || 0; + if (id > 0) { + DATA.splice(getIdx(id), 1); + } else { + get(params).forEach((w: any) => { + del({ id: w.id }); + }); + } +} + +export const LOGS = { + '/log': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps), + }; + }, + 'DELETE /log': (req: MockRequest) => { + del(req.queryString); + return { msg: 'ok' }; + }, +}; diff --git a/_mock/_menu.ts b/_mock/_menu.ts new file mode 100644 index 00000000..a3818413 --- /dev/null +++ b/_mock/_menu.ts @@ -0,0 +1,109 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { Menu } from '@delon/theme'; +import { deepCopy } from '@delon/util'; + +const DATA: Menu[] = [ + { + id: 1, + parent_id: 0, + text: '主导航', + i18n: 'menu.main', + group: true, + hideInBreadcrumb: true, + }, + { + id: 2, + parent_id: 1, + text: '仪表盘', + i18n: 'menu.dashboard', + icon: 'dashboard', + }, + { + id: 3, + parent_id: 2, + text: '分析页', + link: '/dashboard/analysis', + i18n: 'menu.dashboard.analysis', + }, + { + id: 4, + parent_id: 2, + text: '监控页', + link: '/dashboard/monitor', + i18n: 'menu.dashboard.monitor', + }, + { + id: 5, + parent_id: 2, + text: '工作台', + link: '/dashboard/workplace', + i18n: 'menu.dashboard.workplace', + }, + { + id: 6, + parent_id: 0, + text: 'Pro', + i18n: 'menu.pro', + group: true, + hideInBreadcrumb: true, + }, + { + id: 7, + parent_id: 6, + text: 'Form Page', + i18n: 'menu.form', + link: '/pro/form', + icon: 'anticon anticon-edit', + hideInBreadcrumb: true, + }, + { + id: 8, + parent_id: 6, + text: 'Basic Form', + link: '/pro/form/basic-form', + i18n: 'menu.form.basicform', + shortcut: true, + }, + { + id: 9, + parent_id: 6, + text: 'Step Form', + link: '/pro/form/step-form', + i18n: 'menu.form.stepform', + }, +]; + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const MENUS = { + '/menus': () => deepCopy(DATA), + 'POST /menus': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + DATA[idx] = { ...DATA[idx], ...req.body }; + return { msg: 'ok', item: DATA[idx] }; + } + + const item = { ...req.body, id: DATA.sort((a, b) => b.id - a.id)[0].id + 1 }; + DATA.push(item); + return { msg: 'ok', item }; + }, + 'DELETE /menus/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + }, + 'POST /menus/move': (req: MockRequest) => { + const idx = getIdx(req.body.from || 0); + DATA[idx].parent_id = req.body.to || 0; + return { msg: 'ok', item: DATA[idx] }; + }, +}; diff --git a/_mock/_other.ts b/_mock/_other.ts new file mode 100644 index 00000000..bb99bc87 --- /dev/null +++ b/_mock/_other.ts @@ -0,0 +1,917 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import format from 'date-fns/format'; +import getDaysInMonth from 'date-fns/getDaysInMonth'; +import startOfMonth from 'date-fns/startOfMonth'; +import { Random } from 'mockjs'; + +import { genArr, genBigMp, genColorName, genData, genLabel, genMp, genName, genTag } from './utils'; + +let ID = 1; +const DATA: any = { + kanban: null, + task: null, + email: null, + project: null, + client: null, + contact: null, + pricing: null, + billing: null, + course: null, + chat: null, + gallery: null, + article: null, + voting: null, + invoice: null, + faq: null, + calendar: null, + quick: null, + dd: null +}; + +function getIdx(type: string, id: number): number { + id = +id; + const idx = DATA[type].findIndex((w: any) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +function save(type: string, body: any): any { + const id = body.id || 0; + if (id > 0) { + const idx = getIdx(type, id); + DATA[type][idx] = { ...DATA[type][idx], ...body }; + return { msg: 'ok', item: DATA[type][idx], type: 'edit' }; + } + + const item = { ...body, id: DATA[type].sort((a: any, b: any) => b.id - a.id)[0].id + 1 }; + (DATA[type] as any[]).splice(0, 0, item); + return { msg: 'ok', item, type: 'add' }; +} + +function del(type: string, p: any): any { + const cid = +(p.cid || '0'); + let list: any[] = DATA[type]; + if (cid > 0) { + list = DATA[type].find((w: any) => w.id === cid).list; + } + + const idx = list.findIndex(w => w.id === p.id); + list.splice(idx, 1); + return { msg: 'ok' }; +} + +function genHtml(): string { + return `

${new Array(Random.natural(1, 3)) + .fill('') + .map(v => Random.sentence()) + .join('

')}

`; +} + +function attachements(): any { + return new Array(Random.natural(2, 6)).fill({}).map((v, idx) => { + const item = { + url: Random.url(), + type: genArr(['jpg', 'zip', 'pdf']), + filename: Random.name(false), + size: genArr(['100KB', '980KB', '1.56MB']) + }; + if (item.type === 'jpg') { + item.url = genBigMp(); + } + return item; + }); +} + +function genPage(type: string, queryString: any, qField: string = 'name'): any { + const pi = +(queryString.pi || 1); + const ps = +(queryString.ps || 10); + // data + let data = deepCopy(DATA[type]); + if (queryString.q) { + data = data.filter((data: any) => data[qField].indexOf(queryString.q) > -1); + } + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps) + }; +} + +// #region kanban + +function kanbanList(): any { + if (DATA.kanban) { + return DATA.kanban; + } + const res: any[] = [ + { + id: 1, + title: 'To Do', + list: [], + color: '#fadb14', + icon: 'warning' + }, + { id: 2, title: 'In progress', color: '#1890ff', icon: 'tool', list: [] }, + { id: 3, title: 'Done', color: '#52c41a', icon: 'check-circle', list: [] }, + { id: 4, title: 'Gone', color: '#f5222d', icon: 'delete', list: [] } + ]; + for (const i of res) { + i.list = new Array(Random.natural(2, 6)).fill({}).map((v, idx) => ({ + id: idx + 1, + title: Random.ctitle(3, 4), + content: Random.ctitle(0, 50), + attachement: Random.boolean() && Random.boolean() && Random.boolean() + })); + } + // new + if (res[0].list.length > 0) { + res[0].list[Random.natural(0, res[0].list.length - 1)].label = { + color: 'green', + text: 'Clients' + }; + } + if (res[1].list.length > 0) { + res[1].list[Random.natural(0, res[1].list.length - 1)].label = { + color: 'red', + text: 'Important' + }; + } + if (res[2].list.length > 0) { + res[2].list[Random.natural(0, res[2].list.length - 1)].label = { + color: 'blue', + text: 'Other' + }; + } + // labels + DATA.kanban = res; + return res; +} + +// #endregion + +// #region task + +function taskList(): any { + if (DATA.task) { + return DATA.task; + } + const res: any[] = [ + { id: 1, title: 'Today', list: [] }, + { id: 2, title: 'Tomorrow', list: [] }, + { id: 3, title: 'Next week', list: [] } + ]; + for (const i of res) { + i.list = new Array(Random.natural(2, 8)).fill({}).map((v, idx) => ({ + id: idx + 1, + title: Random.ctitle(3, 16), + due: i.id === 1 && Random.boolean() ? `${Random.natural(1, 59)} ${Random.boolean() ? 'mins' : 'hours'} left` : null + })); + } + // new + if (res[0].list.length > 0) { + res[0].list[Random.natural(0, res[0].list.length - 1)].label = { + color: 'green', + text: 'Clients' + }; + } + if (res[1].list.length > 0) { + res[1].list[Random.natural(0, res[1].list.length - 1)].label = { + color: 'red', + text: 'Important' + }; + res[0].list[Random.natural(0, res[0].list.length - 1)].done = true; + } + if (res[2].list.length > 0) { + res[2].list[Random.natural(0, res[2].list.length - 1)].label = { + color: 'blue', + text: 'Other' + }; + res[0].list[Random.natural(0, res[0].list.length - 1)].done = true; + } + // labels + DATA.task = res; + return res; +} + +// #endregion + +// #region email + +function emailList(queryString: any): any { + if (DATA.email) { + return genPage('email', queryString, 'subject'); + } + const res: any[] = new Array(20).fill({}).map((v, idx) => ({ + id: ID++, + from: Random.email(), + from_name: genName(), + to: Random.email(), + to_name: Random.name(), + cc: [Random.email(), Random.email()], + subject: Random.title(1, 6), + body: Random.paragraph(), + read: idx % 2 === 0 && Random.boolean(), + star: Random.boolean(), + label: genLabel(), + attach: idx % 3 === 0 && Random.boolean(), + time: `1${Random.boolean() ? 'h' : 'd'} ago` + })); + // labels + DATA.email = res; + return genPage('email', queryString, 'subject'); +} + +function emailGet(id: number): any { + const idx = getIdx('email', id || 0); + const item = { ...DATA.email[idx], mp: genMp(), desc: genHtml(), attachements: attachements() }; + return item; +} +// #endregion + +// #region project + +function projectList(): any { + if (DATA.project) { + return DATA.project; + } + const res: any[] = new Array(5).fill({}).map((v, idx) => ({ + id: idx + 1, + title: genArr(['UI update', 'Web Design', 'Pro Design', 'Ng Alain', 'Delon', 'SEO']), + status: idx % 2 ? genArr(['active', 'pending', 'complete']) : 'active', + task: { + process: Random.natural(1, 100), + opened: Random.natural(1, 100), + completed: Random.natural(1, 100) + }, + remark: Random.title(5, 10), + created: Random.date(), + deadline: Random.date(), + tean: new Array(Random.natural(1, 6)).fill({}).map(() => ({ + name: genName(), + mp: genMp() + })), + leaders: new Array(Random.natural(1, 2)).fill({}).map(() => ({ + name: genName(), + mp: genMp() + })), + participants: new Array(Random.natural(1, 6)).fill({}).map(() => ({ + name: Random.name(), + mp: genMp() + })) + })); + // labels + DATA.project = res; + return res; +} + +function projectGet(id: number): any { + const idx = getIdx('project', id || 0); + const item = { + ...DATA.project[idx], + user_name: genName(), + desc: genHtml(), + attachements: attachements(), + tasks: DATA.task, + discussions: new Array(Random.natural(3, 8)).fill({}).map((v, idx) => ({ + id: idx + 1, + user_avatar: genMp(), + user_name: genName(), + time: Random.datetime(), + content: Random.paragraph(1, 1) + })), + activities: new Array(Random.natural(3, 12)).fill({}).map((v, idx) => ({ + id: idx + 1, + user_avatar: genMp(), + user_name: genName(), + time: Random.datetime(), + type: idx % 2 === 0 ? genArr(['add', 'completed', 'assigned']) : 'push', + commit: Random.natural(10000, 99999), + assigne_name: Random.name(), + message: Random.title() + })) + }; + return item; +} + +// #endregion + +// #region billing + +function billingList(queryString: any): any { + if (DATA.billing) { + return genPage('billing', queryString, 'client'); + } + const res: any[] = new Array(11).fill({}).map((v, idx) => ({ + id: idx + 1, + order: `FR0${Random.natural(10, 99)}`, + client: genArr(['Google', 'Alibaba', 'Tencent']), + fee: Random.float(0, 9.0), + amount: Random.float(0.1, 99999.0), + date: Random.now('day'), + status: idx % 2 ? genArr(['Completed', 'Pending', 'Rejected']) : 'Completed', + auth_code: Random.natural(100000000), + address: (Random as any).county(true), + first_name: Random.first(), + last_name: Random.last(), + country: 'China' + })); + // labels + DATA.billing = res; + return genPage('billing', queryString, 'client'); +} + +function billingGet(id: number): any { + const idx = getIdx('billing', id || 0); + const item = { + ...DATA.billing[idx], + messages: new Array(Random.natural(0, 5)).fill({}).map((v, idx) => ({ + id: idx + 1, + time: `${Random.natural(1, 6)} day ago`, + message: Random.paragraph(1, 1) + })) + }; + return item; +} + +// #endregion + +// #region contact + +function contactList(queryString: any): any { + if (DATA.contact) { + return genPage('contact', queryString, 'contact'); + } + const res: any[] = new Array(11).fill({}).map((v, idx) => ({ + id: idx + 1, + mp: genMp(), + name: genName(), + user_name: Random.name(false), + company: Random.title(1, 3), + email: Random.email(), + tel: Random.natural(10000000000, 16000000000) + })); + // labels + DATA.contact = res; + return genPage('contact', queryString, 'company'); +} + +// #endregion + +// #region pricing + +function pricingList(): any { + if (DATA.pricing) { + return DATA.pricing; + } + const res: any = { + prices: [ + { + id: 1, + title: 'Basic', + icon: 'shop', + mo: 12, + yr: 12 * 12, + user: 5, + project: 5, + space: '100GB' + }, + { + id: 2, + title: 'Company', + icon: 'bank', + mo: 25, + yr: 25 * 12, + user: 30, + project: 150, + space: '300GB' + }, + { + id: 3, + title: 'Enterprise', + icon: 'crown', + mo: 50, + yr: 50 * 12, + user: -1, + project: -1, + space: '1000GB' + } + ], + faq: [ + { + q: 'Can I cancel at anytime?', + a: 'Yes, you can cancel anytime no questions are asked while you cancel but we would highly appreciate if you will give us some feedback.' + }, + { + q: 'My team has credits. How do we use them?', + a: 'Once your team signs up for a subscription plan. enim eiusmod high life accusamus eoset dignissimos.' + }, + { + q: `How does Front's pricing work?`, + a: 'Our subscriptions are tiered. based on the number of people enim eiusmod high life accusamus terry richardson ad squid.' + }, + { + q: 'How secure is Front?', + a: 'Protecting the data you trust to Front is our first priority. at vero eoset dignissimos ducimus qui blanditiis.' + }, + { + q: 'Do you offer discounts?', + a: `We've built in discounts at each tier for teams. leggings occaecat craft beer farm-to-table. raw denim aesthetic synth nesciunt.` + }, + { + q: 'What is your refund policy?', + a: 'We do not offer refunds apart leggings occaecat craft beer farm-to-table. raw leggings occaecat craft.' + } + ] + }; + // labels + DATA.pricing = res; + return res; +} + +// #endregion + +// #region client + +function clientList(queryString: any): any { + if (DATA.client) { + return genPage('client', queryString, 'company'); + } + const res: any[] = new Array(11).fill({}).map((v, idx) => ({ + id: idx + 1, + mp: genMp(), + name: genName(), + user_name: Random.name(false), + company: Random.title(1, 3), + email: Random.email(), + tel: Random.natural(10000000000, 16000000000), + status: idx % 2 ? genArr(['active', 'pending', 'progress']) : 'active' + })); + // labels + DATA.client = res; + return genPage('client', queryString, 'company'); +} + +function clientGet(id: number): any { + const idx = getIdx('client', id || 0); + const item = { + ...DATA.client[idx], + messages: new Array(Random.natural(0, 5)).fill({}).map((v, idx) => ({ + id: idx + 1, + time: `${Random.natural(1, 6)} day ago`, + message: Random.paragraph(1, 1) + })) + }; + return item; +} + +// #endregion + +// #region course + +function courseList(queryString: any): any { + if (DATA.course) { + return genPage('course', queryString, 'title'); + } + const res: any[] = new Array(10).fill({}).map((v, idx) => ({ + id: idx + 1, + mp: genBigMp(), + tags: genTag(), + price: idx === 0 ? 0 : Random.natural(0, 100), + title: Random.title(2, 5), + remark: Random.paragraph(1, 1), + star: genArr([4, 4.5, 5]), + hour: Random.natural(10, 99) + })); + // labels + DATA.course = res; + return genPage('course', queryString, 'title'); +} + +// #endregion + +// #region chat + +function chatList(): any { + if (DATA.chat) { + return DATA.chat; + } + const res: any = { + users: new Array(10).fill({}).map((v, idx) => ({ + id: idx + 1, + mp: genMp(), + name: genName(), + count: idx % 3 === 0 ? Random.natural(0, 5) : 0, + online: idx < 5 ? true : false, + unread: Random.boolean() && Random.boolean() ? Random.natural(0, 5) : 0 + })) + }; + // labels + DATA.chat = res; + return res; +} + +// #endregion + +// #region gallery + +function galleryList(): any { + if (DATA.gallery) { + return DATA.gallery; + } + const res: any = new Array(16).fill({}).map((v, idx) => ({ + id: idx + 1, + url: genBigMp(), + title: Random.title(), + type: genArr(['Nature', 'Beach', 'Animal', 'Other']) + })); + // labels + DATA.gallery = res; + return res; +} + +// #endregion + +// #region article + +function articleList(queryString: any): any { + if (DATA.article) { + return genPage('article', queryString, 'title'); + } + const res: any[] = new Array(11).fill({}).map((v, idx) => ({ + id: idx + 1, + mp: genMp(), + name: genName(), + title: Random.ctitle(), + likes: Random.natural(0, 1000), + comments: Random.natural(0, 1000), + created: Random.now('day'), + status: idx % 2 ? genArr(['Published', 'Draft', 'Deleted']) : 'Published' + })); + // labels + DATA.article = res; + return genPage('article', queryString, 'title'); +} + +function articleGet(id: number): any { + const idx = getIdx('article', id || 0); + const item = { ...DATA.article[idx] }; + return item; +} + +// #endregion + +// #region voting + +function votingList(queryString: any): any { + if (DATA.voting) { + return genPage('voting', queryString, 'title'); + } + const res: any[] = new Array(11).fill({}).map((v, idx) => ({ + id: idx + 1, + voting: Random.integer(-10, 10000), + title: Random.title(5, 10), + content: Random.paragraph(), + likes: Random.natural(0, 1000), + created: Random.now('day') + })); + // labels + DATA.voting = res; + return genPage('voting', queryString, 'title'); +} + +function votingSave(req: any): any { + const idx = getIdx('voting', req.id || 0); + DATA.voting[idx].value += req.voting; + return { msg: 'ok', item: DATA.voting[idx] }; +} + +// #endregion + +// #region voting + +function invoice(): any { + if (DATA.invoice) { + return deepCopy(DATA.invoice); + } + const res: any = { + id: Random.integer(10000, 99999), + zone: 'Mountain View, CA 94043 United States', + address: '1600 Amphitheatre Parkway', + tel: '15900000000, +86 (021) 99999999', + date: genData(0), + to: { + company: 'XXX Company LTD', + zone: 'Mountain View, CA 94043 United States', + address: '1600 Amphitheatre Parkway', + tel: '15900000000, +86 (021) 99999999', + email: 'cipchk@qq.com' + }, + payment: { + total: 0, + bank: 'XXXX Bank', + country: 'China', + city: 'Shang Hai', + address: 'xxx xxxx', + code: '012384' + }, + wares: [ + { + id: 1, + title: Random.title(), + remark: Random.title(), + price: +Random.float(0.1, 999).toFixed(2), + num: +Random.natural(1, 10) + }, + { + id: 2, + title: Random.title(), + remark: Random.title(), + price: +Random.float(0.1, 999).toFixed(2), + num: +Random.natural(1, 10) + } + ], + note: Random.paragraph() + }; + // total + res.wares.forEach((i: any) => { + i.total = +(i.price * i.num).toFixed(2); + }); + res.tax_rate = 0.2; + res.total = +(res.wares as any[]).reduce((a, b) => (a += b.total), 0).toFixed(2); + res.tax = +(res.total * 0.2).toFixed(2); + res.payment_total = +(res.total + res.tax).toFixed(2); + DATA.invoice = res; + + return deepCopy(DATA.invoice); +} + +// #endregion + +// #region faq + +function faq(): any { + if (DATA.faq) { + return deepCopy(DATA.faq); + } + DATA.faq = new Array(6).fill({}).map((v, idx) => ({ + title: `Knowledge ${idx + 1}`, + icon: 'question-circle', + primary: idx < 3, + remark: 'The list of FAQ', + children: new Array(Random.natural(3, 6)).fill({}).map((v, idx) => ({ + active: idx === 0, + q: 'What is a product key?', + a: genHtml() + })) + })); + + return deepCopy(DATA.faq); +} + +// #endregion + +// #region calendar + +function calendar(req: any): any { + const cur = new Date(+req.time || new Date()); + const startDate = startOfMonth(cur); + const max = getDaysInMonth(cur); + const start = format(startDate, 'yyyy-MM'); + const now = format(new Date(), 'yyyy-MM-dd'); + return [ + { + id: 1, + title: 'All Day Event', + start: `${start}-1`, + className: 'fc-event-danger fc-event-fill-warning' + }, + { + id: 2, + title: 'Reporting', + start: `${start}-7T13:30:00`, + end: `${start}-7`, + className: 'fc-event-success' + }, + { + id: 3, + title: 'Company Trip', + start: `${start}-12`, + end: `${start}-14`, + className: 'fc-event-primary' + }, + { + id: 4, + title: 'Product Release', + start: `${start}-3`, + end: `${start}-5`, + className: 'fc-event-light fc-event-fill-primary' + }, + { + id: 5, + title: 'Repeating Event', + start: `${start}-09T16:00:00`, + className: 'fc-event-purple' + }, + { id: 6, title: 'Repeating Event', start: `${start}-11T16:00:00` }, + { + id: 7, + title: 'Meeting', + start: `${now}T10:00:00`, + end: `${now}T11:30:00` + }, + { id: 8, title: 'Lunch', start: `${now}T12:00:00` }, + { + id: 9, + title: 'Meeting', + start: `${now}T14:00:00`, + className: 'fc-event-warning' + }, + { + id: 10, + title: 'Happy Hour', + start: `${now}T17:30:00`, + className: 'fc-event-success' + }, + { + id: 11, + title: 'Dinner', + start: `${now}T18:30:00`, + className: 'fc-event-fill-danger fc-event-light' + }, + { + id: 12, + title: 'Birthday Party', + start: `${now}T21:00:00`, + className: 'fc-event-primary' + }, + { + id: 13, + title: 'Click for Ng Alain', + url: 'https://ng-alain.com', + start: `${start}-27`, + className: 'fc-event-fill-success fc-event-light' + }, + { + id: 14, + title: 'Repeating Event', + start: `${start}-09T08:00:00`, + className: 'fc-event-magenta' + } + ]; +} + +// #endregion + +// #region quick + +function quick(): any { + if (DATA.quick) { + return deepCopy(DATA.quick); + } + DATA.quick = { + notifications: new Array(6).fill({}).map(() => ({ + dot: genArr([ + { icon: 'warning', bg: 'error' }, + { icon: 'pie-chart', bg: 'primary' }, + { icon: 'message', bg: 'success' }, + { icon: 'bell', bg: 'cyan' } + ]), + content: Random.title(5, 15), + time: genArr(['01:01 PM', '09:00 AM', '18:56']), + tags: genTag().join(',') + })), + actions: new Array(6).fill({}).map(() => ({ + bg: genColorName(), + title: Random.title(2, 3), + content: Random.title(5, 15) + })), + settings: { + notification: true, + audit_log: false, + new_order: false, + tracking_order: false, + reports_order: true, + new_customer: true, + reporting_customer: true + } + }; + + return deepCopy(DATA.quick); +} + +// #endregion + +// #region dd + +function ddList(): any { + if (DATA.dd) { + return DATA.dd; + } + DATA.dd = [ + { + name: 'total-sales', + title: '总数-总销售额', + enabled: true, + params: { title: '总销售额', total: 100, week: 10, day: 11, daySales: 1000 } + }, + { + name: 'total-sales', + title: '总数-总订单量', + enabled: false, + params: { title: '总订单量', total: 5500, week: 320, day: 5, daySales: 5422 } + }, + { + name: 'total-sales', + title: '总数-总用户量', + enabled: false, + params: { title: '总用户量', total: 500, week: 80, day: 23, daySales: 6666 } + }, + { + name: 'total-sales', + title: '总数-其他', + enabled: false, + params: { title: '其他', total: 200, week: 80, day: 23, daySales: 77777 } + }, + { + name: 'visits', + title: '访问量', + enabled: true, + params: { url: '/chart' } + }, + { + name: 'effect', + title: '访问量', + enabled: true, + params: { percent: 66, week: 11, day: 23 } + }, + { + name: 'gauge', + title: '核销率', + enabled: true + }, + { + name: 'radar', + title: '指数', + enabled: true, + params: { title: '贡献指数', url: '/chart' } + }, + { + name: 'activities', + title: '动态', + enabled: true, + params: { title: '动态', url: '/api/activities' } + } + ]; + return DATA.dd; +} + +function ddSave(req: any): any { + DATA.dd = req; + return { msg: 'ok' }; +} + +// #endregion + +export const OTHERS = { + '/kanban-board': kanbanList(), + 'DELETE /kanban-board': (req: MockRequest) => del('kanban', req.queryString), + '/task': taskList(), + 'DELETE /task': (req: MockRequest) => del('task', req.queryString), + '/email': (req: MockRequest) => emailList(req.queryString), + '/email/:id': (req: MockRequest) => emailGet(+req.params.id), + 'DELETE /email': (req: MockRequest) => del('email', req.queryString), + '/project': projectList(), + '/project/:id': (req: MockRequest) => projectGet(+req.params.id), + 'DELETE /project': (req: MockRequest) => del('project', req.queryString), + '/client': (req: MockRequest) => clientList(req.queryString), + '/client/:id': (req: MockRequest) => clientGet(+req.params.id), + '/contact': (req: MockRequest) => contactList(req.queryString), + 'DELETE /contact': (req: MockRequest) => del('contact', req.queryString), + '/pricing': () => pricingList(), + '/billing': (req: MockRequest) => billingList(req.queryString), + '/course': (req: MockRequest) => courseList(req.queryString), + '/chat': () => chatList(), + '/chat/message': () => { + const item: any = { + type: Random.boolean() && Random.boolean() ? 'image' : 'text', + dir: Random.boolean() ? 'left' : 'right' + }; + item.msg = item.type === 'text' ? Random.paragraph(1, 1) : genBigMp(); + return item; + }, + '/gallery': () => galleryList(), + '/article': (req: MockRequest) => articleList(req.queryString), + '/article/:id': (req: MockRequest) => articleGet(+req.params.id), + 'DELETE /article': (req: MockRequest) => del('article', req.queryString), + 'POST /article': (req: MockRequest) => save('article', req.body), + '/voting': (req: MockRequest) => votingList(req.queryString), + 'POST /voting': (req: MockRequest) => votingSave(req.body), + '/invoice': () => invoice(), + '/faq': () => faq(), + '/calendar': (req: MockRequest) => calendar(req.queryString), + '/quick': () => quick(), + '/dd': () => ddList(), + 'POST /dd': (req: MockRequest) => ddSave(req.body) +}; diff --git a/_mock/_permission.ts b/_mock/_permission.ts new file mode 100644 index 00000000..be8b61cb --- /dev/null +++ b/_mock/_permission.ts @@ -0,0 +1,58 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; + +interface Permission { + id: number; + parent_id: number; + text: string; +} + +export const PermissionData: Permission[] = [ + { id: 1, parent_id: 0, text: '超级权限' }, + { id: 2, parent_id: 0, text: '系统' }, + { id: 3, parent_id: 2, text: '员工' }, + { id: 4, parent_id: 2, text: '菜单' }, + { id: 5, parent_id: 2, text: '权限' }, + { id: 6, parent_id: 0, text: '订单' }, + { id: 7, parent_id: 6, text: '列表' }, + { id: 8, parent_id: 6, text: '导入订单' }, + { id: 9, parent_id: 6, text: '打印快递单' }, + { id: 10, parent_id: 9, text: '批量打印' }, + { id: 11, parent_id: 6, text: '发货' }, + { id: 12, parent_id: 11, text: '批量发货' }, +]; + +function getIdx(id: number): number { + id = +id; + const idx = PermissionData.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const PERMISSION = { + '/permission': () => deepCopy(PermissionData), + 'POST /permission': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + PermissionData[idx] = { ...PermissionData[idx], ...req.body }; + return { msg: 'ok', item: PermissionData[idx] }; + } + + const item = { ...req.body, id: PermissionData.sort((a, b) => b.id - a.id)[0].id + 1 }; + PermissionData.push(item); + return { msg: 'ok', item }; + }, + 'DELETE /permission/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + PermissionData.splice(idx, 1); + return { msg: 'ok' }; + }, + 'POST /permission/move': (req: MockRequest) => { + const idx = getIdx(req.body.from || 0); + PermissionData[idx].parent_id = req.body.to || 0; + return { msg: 'ok', item: PermissionData[idx] }; + }, +}; diff --git a/_mock/_pois.ts b/_mock/_pois.ts new file mode 100644 index 00000000..ad4c9b01 --- /dev/null +++ b/_mock/_pois.ts @@ -0,0 +1,61 @@ +export const POIS = { + '/pois': { + total: 2, + list: [ + { + id: 10000, + user_id: 1, + name: '测试品牌', + branch_name: '测试分店', + geo: 310105, + country: '中国', + province: '上海', + city: '上海市', + district: '长宁区', + address: '中山公园', + tel: '15900000000', + categories: '美食,粤菜,湛江菜', + lng: 121.41707989151003, + lat: 31.218656214644792, + recommend: '推荐品', + special: '特色服务', + introduction: '商户简介', + open_time: '营业时间', + avg_price: 260, + reason: null, + status: 1, + status_str: '待审核', + status_wx: 1, + modified: 1505826527288, + created: 1505826527288, + }, + { + id: 10001, + user_id: 2, + name: '测试品牌2', + branch_name: '测试分店2', + geo: 310105, + country: '中国', + province: '上海', + city: '上海市', + district: '长宁区', + address: '中山公园', + tel: '15900000000', + categories: '美食,粤菜,湛江菜', + lng: 121.41707989151003, + lat: 31.218656214644792, + recommend: '推荐品', + special: '特色服务', + introduction: '商户简介', + open_time: '营业时间', + avg_price: 260, + reason: null, + status: 1, + status_str: '待审核', + status_wx: 1, + modified: 1505826527288, + created: 1505826527288, + }, + ], + }, +}; diff --git a/_mock/_profile.ts b/_mock/_profile.ts new file mode 100644 index 00000000..888f5573 --- /dev/null +++ b/_mock/_profile.ts @@ -0,0 +1,152 @@ +const basicGoods = [ + { + id: '1234561', + name: '矿泉水 550ml', + barcode: '12421432143214321', + price: '2.00', + num: '1', + amount: '2.00', + }, + { + id: '1234562', + name: '凉茶 300ml', + barcode: '12421432143214322', + price: '3.00', + num: '2', + amount: '6.00', + }, + { + id: '1234563', + name: '好吃的薯片', + barcode: '12421432143214323', + price: '7.00', + num: '4', + amount: '28.00', + }, + { + id: '1234564', + name: '特别好吃的蛋卷', + barcode: '12421432143214324', + price: '8.50', + num: '3', + amount: '25.50', + }, +]; + +const basicProgress = [ + { + key: '1', + time: '2017-10-01 14:10', + rate: '联系客户', + status: 'processing', + operator: '取货员 ID1234', + cost: '5mins', + }, + { + key: '2', + time: '2017-10-01 14:05', + rate: '取货员出发', + status: 'success', + operator: '取货员 ID1234', + cost: '1h', + }, + { + key: '3', + time: '2017-10-01 13:05', + rate: '取货员接单', + status: 'success', + operator: '取货员 ID1234', + cost: '5mins', + }, + { + key: '4', + time: '2017-10-01 13:00', + rate: '申请审批通过', + status: 'success', + operator: '系统', + cost: '1h', + }, + { + key: '5', + time: '2017-10-01 12:00', + rate: '发起退货申请', + status: 'success', + operator: '用户', + cost: '5mins', + }, +]; + +const advancedOperation1 = [ + { + key: 'op1', + type: '订购关系生效', + name: '曲丽丽', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '-', + }, + { + key: 'op2', + type: '财务复审', + name: '付小小', + status: 'reject', + updatedAt: '2017-10-03 19:23:12', + memo: '不通过原因', + }, + { + key: 'op3', + type: '部门初审', + name: '周毛毛', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '-', + }, + { + key: 'op4', + type: '提交订单', + name: '林东东', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '很棒', + }, + { + key: 'op5', + type: '创建订单', + name: '汗牙牙', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '-', + }, +]; + +const advancedOperation2 = [ + { + key: 'op1', + type: '订购关系生效', + name: '曲丽丽', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '-', + }, +]; + +const advancedOperation3 = [ + { + key: 'op1', + type: '创建订单', + name: '汗牙牙', + status: 'agree', + updatedAt: '2017-10-03 19:23:12', + memo: '-', + }, +]; + +export const PROFILES = { + 'GET /profile/progress': basicProgress, + 'GET /profile/goods': basicGoods, + 'GET /profile/advanced': { + advancedOperation1, + advancedOperation2, + advancedOperation3, + }, +}; diff --git a/_mock/_role.ts b/_mock/_role.ts new file mode 100644 index 00000000..84afc1e4 --- /dev/null +++ b/_mock/_role.ts @@ -0,0 +1,73 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; + +interface Permission { + id: number; + parent_id: number; + text: string; + permission: number[]; +} + +export const RuleData: Permission[] = [ + { id: 1, parent_id: 0, text: '管理', permission: [1] }, + { id: 2, parent_id: 0, text: '仓储', permission: [] }, + { id: 3, parent_id: 0, text: '营销', permission: [] }, + { id: 4, parent_id: 0, text: '第三方', permission: [7] }, + { + id: 5, + parent_id: 2, + text: '仓储经理', + permission: [6, 7, 8, 9, 10, 11, 12], + }, + { id: 6, parent_id: 2, text: '出库员', permission: [6, 7, 9, 10, 11, 12] }, + { id: 7, parent_id: 2, text: '入库员', permission: [6, 7] }, + { id: 8, parent_id: 3, text: '市场经理', permission: [6, 7] }, + { id: 9, parent_id: 3, text: '销售人员', permission: [6, 7] }, +]; + +function get(params: any): any { + let ret = deepCopy(RuleData); + if (params.q) { + ret = ret.filter((data: any) => data.text.indexOf(params.q) > -1); + } + const p = +(params.permission || '0'); + if (p > 0) { + ret = ret.filter((data: any) => data.permission.includes(p)); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = RuleData.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const ROLES_PRO = { + '/role': (req: MockRequest) => get(req.queryString), + 'POST /role': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + RuleData[idx] = { ...RuleData[idx], ...req.body }; + return { msg: 'ok', item: RuleData[idx] }; + } + + const item = { ...req.body, id: RuleData.sort((a, b) => b.id - a.id)[0].id + 1 }; + RuleData.push(item); + return { msg: 'ok', item }; + }, + 'DELETE /role/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + RuleData.splice(idx, 1); + return { msg: 'ok' }; + }, + 'POST /role/move': (req: MockRequest) => { + const idx = getIdx(req.body.from || 0); + RuleData[idx].parent_id = req.body.to || 0; + return { msg: 'ok', item: RuleData[idx] }; + }, +}; diff --git a/_mock/_rule.ts b/_mock/_rule.ts new file mode 100644 index 00000000..64f40087 --- /dev/null +++ b/_mock/_rule.ts @@ -0,0 +1,82 @@ +import { HttpRequest } from '@angular/common/http'; +import { MockRequest } from '@delon/mock'; + +const list: any[] = []; + +for (let i = 0; i < 46; i += 1) { + list.push({ + key: i, + disabled: i % 6 === 0, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + no: `TradeCode ${i}`, + title: `一个任务名称 ${i}`, + owner: '曲丽丽', + description: '这是一段描述', + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 4, + updatedAt: new Date(`2017-07-${i < 18 ? '0' + (Math.floor(i / 2) + 1) : Math.floor(i / 2) + 1}`), + createdAt: new Date(`2017-07-${i < 18 ? '0' + (Math.floor(i / 2) + 1) : Math.floor(i / 2) + 1}`), + progress: Math.ceil(Math.random() * 100), + }); +} + +function getRule(params: any): any[] { + let ret = [...list]; + if (params.sorter) { + const s = params.sorter.split('_'); + ret = ret.sort((prev, next) => { + if (s[1] === 'descend') { + return next[s[0]] - prev[s[0]]; + } + return prev[s[0]] - next[s[0]]; + }); + } + if (params.statusList && params.statusList.length > 0) { + ret = ret.filter((data) => params.statusList.indexOf(data.status) > -1); + } + if (params.no) { + ret = ret.filter((data) => data.no.indexOf(params.no) > -1); + } + return ret; +} + +function removeRule(nos: string): boolean { + nos.split(',').forEach((no) => { + const idx = list.findIndex((w) => w.no === no); + if (idx !== -1) { + list.splice(idx, 1); + } + }); + return true; +} + +function saveRule(description: string): void { + const i = Math.ceil(Math.random() * 10000); + list.unshift({ + key: i, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + no: `TradeCode ${i}`, + title: `一个任务名称 ${i}`, + owner: '曲丽丽', + description, + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 2, + updatedAt: new Date(), + createdAt: new Date(), + progress: Math.ceil(Math.random() * 100), + }); +} + +export const RULES = { + '/rule': (req: MockRequest) => getRule(req.queryString), + 'DELETE /rule': (req: MockRequest) => removeRule(req.queryString.nos), + 'POST /rule': (req: MockRequest) => saveRule(req.body.description), +}; diff --git a/_mock/_trade.ts b/_mock/_trade.ts new file mode 100644 index 00000000..6290e476 --- /dev/null +++ b/_mock/_trade.ts @@ -0,0 +1,172 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { Random } from 'mockjs'; + +import { genMp, genName } from './utils'; + +interface Trade { + id: number; + buyer_id: number; + buyer_nick: string; + price: number; + discount_fee: number; + post_fee: number; + payment: number; + pay_time?: Date; + status: number; + status_str: string; + logistics_name?: string; + logistics_no?: string; + finished?: Date; + created: Date; + wares: TradeWare[]; + memo?: string; + [key: string]: any; +} + +interface TradeWare { + ware_id: number; + sku_id: number; + num: number; + price: number; + mp: string; + title: string; +} + +const DATA: Trade[] = []; +const STATUS: { [key: string]: string } = { + CANCELED: '取消', + WAIT_BUYER_PAY: '等待买家付款', + WAIT_PAY_CONFIRM: '支付确认中', + WAIT_SELLER_STOCK_OUT: '等待出库', + WAIT_GOODS_RECEIVE_CONFIRM: '等待确认收货', + FINISHED: '交易成功' +}; + +for (let i = 1; i <= 30; i += 1) { + const buyer_nick = genName(); + const status: any = Object.keys(STATUS)[Random.natural(0, 5)]; + let pay_time: Date | null = null; + let finished: Date | null = null; + if (status !== 'WAIT_BUYER_PAY' || status !== 'CANCELED') { + pay_time = new Date(); + } + if (status !== 'FINISHED') { + finished = new Date(); + } + const price = Random.natural(100, 10000); + const discount_fee = Random.natural(0, 100); + const post_fee = Random.natural(6, 20); + + DATA.push({ + id: 10000 * i, + buyer_id: Random.natural(10000, 100000), + buyer_nick, + buyer_tel: Random.natural(10000000000, 19999999999), + buyer_adr: Random.city(true), + buyer_message: Random.title(5, 20), + price, + discount_fee, + post_fee, + payment: price - discount_fee + post_fee, + pay_time, + finished, + status, + status_str: STATUS[status], + logistics_name: '', + logistics_no: '', + created: new Date(), + wares: genWare(Random.natural(1, 5)) + } as any); +} + +function genWare(count: number): TradeWare[] { + return new Array(count).fill({}).map((v, idx) => ({ + ware_id: Random.natural(10000, 10020), + sku_id: (idx + 1) * 1000, + num: Random.natural(1, 10), + price: Random.natural(10, 500), + mp: genMp(), + title: Random.ctitle(5, 10) + })); +} + +function get(params: any): any { + let ret = deepCopy(DATA); + if (params.sorter) { + const s = params.sorter.split('_'); + ret = ret.sort((prev: any, next: any) => { + if (s[1] === 'descend') { + return next[s[0]] - prev[s[0]]; + } + return prev[s[0]] - next[s[0]]; + }); + } + if (params.id) { + ret = ret.filter((data: any) => data.id == params.id); + } + if (params.statusList && params.statusList.length > 0) { + ret = ret.filter((data: any) => params.statusList.indexOf(data.status) > -1); + } + if (params.ware_id) { + ret = ret.filter((data: any) => data.wares.find((w: any) => w.ware_id == params.ware_id)); + } + if (params.buyer_nick) { + ret = ret.filter((data: any) => data.buyer_nick.indexOf(params.buyer_nick) > -1); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex(w => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const TRADES = { + '/trade': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps) + }; + }, + 'POST /trade': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + DATA[idx] = { ...DATA[idx], ...req.body }; + return { msg: 'ok', item: DATA[idx] }; + } + + const item = { ...req.body, id: DATA.sort((a, b) => b.id - a.id)[0].id + 1 }; + DATA.push(item); + return { msg: 'ok', item }; + }, + '/trade/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { ...DATA[idx] }; + return item; + }, + 'DELETE /trade/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + }, + 'POST /trade/status': (req: MockRequest) => { + const idx = getIdx(req.body.id || 0); + DATA[idx].status = req.body.status; + DATA[idx].status_str = STATUS[req.body.status]; + return { msg: 'ok', item: DATA[idx] }; + }, + 'POST /trade/memo': (req: MockRequest) => { + const idx = getIdx(req.body.id || 0); + DATA[idx].memo = req.body.memo; + return { msg: 'ok', item: DATA[idx] }; + } +}; diff --git a/_mock/_user-pro.ts b/_mock/_user-pro.ts new file mode 100644 index 00000000..3909efb4 --- /dev/null +++ b/_mock/_user-pro.ts @@ -0,0 +1,91 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { Random } from 'mockjs'; +import { genName } from './utils'; +import { RuleData } from './_role'; + +interface UserPro { + id: number; + name: string; + userName: string; + email: string; + verified: boolean; + status: 'active' | 'banned' | 'deleted'; + role?: any; + permission?: any[]; + created: Date; +} + +const DATA: UserPro[] = []; + +for (let i = 1; i <= 20; i += 1) { + const name = genName(); + DATA.push({ + id: i, + name, + userName: `user name ${i}`, + email: `${name}` + ['@qq.com', '@gmail.com', '@163.com'][Math.floor(Math.random() * 10) % 3], + verified: [true, false][Math.floor(Math.random() * 10) % 2], + status: ['active', 'banned', 'deleted'][Math.floor(Math.random() * 10) % 3] as any, + role: deepCopy(RuleData[Random.natural(0, RuleData.length - 1)]), + permission: [], + created: new Date(), + }); +} + +function get(params: any): any { + let ret = deepCopy(DATA); + if (params.q) { + ret = ret.filter((data: any) => data.name.indexOf(params.q) > -1); + } + if (params.email) { + ret = ret.filter((data: any) => data.email.indexOf(params.email) > -1); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const USERS_PRO = { + '/user-pro': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps), + }; + }, + 'POST /user-pro': (req: MockRequest) => { + const id = req.body.id || 0; + // fix role data + req.body.role = RuleData.find((w) => w.id === req.body.role.id); + + if (id > 0) { + const idx = getIdx(id); + DATA[idx] = { ...DATA[idx], ...req.body }; + return { msg: 'ok', item: DATA[idx] }; + } + + const item = { ...req.body, id: DATA.sort((a, b) => b.id - a.id)[0].id + 1 }; + DATA.push(item); + return { msg: 'ok', item }; + }, + '/user-pro/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { ...DATA[idx], ...req.body }; + return item; + }, + 'DELETE /user-pro/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + }, +}; diff --git a/_mock/_user.ts b/_mock/_user.ts new file mode 100644 index 00000000..386ffd1b --- /dev/null +++ b/_mock/_user.ts @@ -0,0 +1,122 @@ +import { MockRequest } from '@delon/mock'; + +const list: any[] = []; +const total = 50; + +for (let i = 0; i < total; i += 1) { + list.push({ + id: i + 1, + disabled: i % 6 === 0, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + no: `TradeCode ${i}`, + title: `一个任务名称 ${i}`, + owner: '曲丽丽', + description: '这是一段描述', + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 4, + updatedAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`), + createdAt: new Date(`2017-07-${Math.floor(i / 2) + 1}`), + progress: Math.ceil(Math.random() * 100), + }); +} + +function genData(params: any): { total: number; list: any[] } { + let ret = [...list]; + const pi = +params.pi; + const ps = +params.ps; + const start = (pi - 1) * ps; + + if (params.no) { + ret = ret.filter((data) => data.no.indexOf(params.no) > -1); + } + + return { total: ret.length, list: ret.slice(start, ps * pi) }; +} + +function saveData(id: number, value: any): { msg: string } { + const item = list.find((w) => w.id === id); + if (!item) { + return { msg: '无效用户信息' }; + } + Object.assign(item, value); + return { msg: 'ok' }; +} + +export const USERS = { + '/user': (req: MockRequest) => genData(req.queryString), + '/user/:id': (req: MockRequest) => list.find((w) => w.id === +req.params.id), + 'POST /user/:id': (req: MockRequest) => saveData(+req.params.id, req.body), + '/user/current': { + name: 'Cipchk', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png', + userid: '00000001', + email: 'cipchk@qq.com', + signature: '海纳百川,有容乃大', + title: '交互专家', + group: '蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED', + tags: [ + { + key: '0', + label: '很有想法的', + }, + { + key: '1', + label: '专注撩妹', + }, + { + key: '2', + label: '帅~', + }, + { + key: '3', + label: '通吃', + }, + { + key: '4', + label: '专职后端', + }, + { + key: '5', + label: '海纳百川', + }, + ], + notifyCount: 12, + country: 'China', + geographic: { + province: { + label: '上海', + key: '330000', + }, + city: { + label: '市辖区', + key: '330100', + }, + }, + address: 'XX区XXX路 XX 号', + phone: '你猜-你猜你猜猜猜', + }, + 'POST /user/avatar': 'ok', + 'POST /login/account': (req: MockRequest) => { + const data = req.body; + if (!(data.userName === 'admin' || data.userName === 'user') || data.password !== 'ng-alain.com') { + return { msg: `Invalid username or password(admin/ng-alain.com)` }; + } + return { + msg: 'ok', + user: { + token: '123456789', + name: data.userName, + email: `${data.userName}@qq.com`, + id: 10000, + time: +new Date(), + }, + }; + }, + 'POST /register': { + msg: 'ok', + }, +}; diff --git a/_mock/_ware.ts b/_mock/_ware.ts new file mode 100644 index 00000000..e52d4fdb --- /dev/null +++ b/_mock/_ware.ts @@ -0,0 +1,163 @@ +import { MockRequest, MockStatusError } from '@delon/mock'; +import { deepCopy } from '@delon/util'; +import { genMp } from './utils'; + +interface UserPro { + cid: number; + cname: string; + id: number; + name: string; + mp: string; + stock: number; + outer_id: string; + market_price: number; + price: number; + sale_num: number; + status: string; + modified: Date; + [key: string]: any; +} + +const DATA: UserPro[] = []; + +for (let i = 1; i <= 20; i += 1) { + const name = ['HUAWEI Mate 20 Pro', '小米MAX3', 'IPhone X', 'Gree 8,000 BTU Portable Air Conditioner'][ + Math.floor(Math.random() * 10) % 4 + ]; + DATA.push({ + cid: i * 1000, + cname: '', + id: i + 10000, + name, + mp: genMp(), + stock: Math.floor(Math.random() * 1000) % 1000, + outer_id: `S50-${Math.floor(Math.random() * 100) % 100}`, + market_price: Math.floor(Math.random() * 1000) % 1000, + price: Math.floor(Math.random() * 1000) % 1000, + sale_num: Math.floor(Math.random() * 200) % 200, + modified: new Date(), + status: ['CUSTORMER_DOWN', 'ON_SALE', 'AUDIT_AWAIT', 'DELETED'][Math.floor(Math.random() * 10) % 4], + brand: 1, + place: 1, + }); +} + +function get(params: any): any { + let ret = deepCopy(DATA); + if (params.q) { + ret = ret.filter((data: any) => data.name.indexOf(params.q) > -1); + } + if (params.email) { + ret = ret.filter((data: any) => data.email.indexOf(params.email) > -1); + } + return ret; +} + +function getIdx(id: number): number { + id = +id; + const idx = DATA.findIndex((w) => w.id === id); + if (idx === -1) { + throw new MockStatusError(404); + } + return idx; +} + +export const WARES = { + '/ware': (req: MockRequest) => { + const pi = +(req.queryString.pi || 1); + const ps = +(req.queryString.ps || 10); + const data = get(req.queryString); + return { + total: data.length, + list: data.slice((pi - 1) * ps, pi * ps), + }; + }, + 'POST /ware': (req: MockRequest) => { + const id = req.body.id || 0; + if (id > 0) { + const idx = getIdx(id); + DATA[idx] = { ...DATA[idx], ...req.body }; + return { msg: 'ok', item: DATA[idx] }; + } + + const item = { ...req.body, id: DATA.sort((a, b) => b.id - a.id)[0].id + 1 }; + DATA.push(item); + return { msg: 'ok', item }; + }, + '/ware/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + const item = { + id: 0, + brand: 1, + is_7return: true, + prop: { + 1: '是', + 2: '24天', + 3: '0.5克', + }, + place: 1, + weight: 10, + skus: [ + { + id: 10001, + attributes: '1:10', + names: [`红色`, `S`], + price: 1000, + stock: 10, + }, + { + id: 10002, + attributes: '1:11', + names: [`红色`, `M`], + price: 1000, + stock: 11, + }, + { + id: 10003, + attributes: '3:10', + names: [`蓝色1`, `S`], + price: 1000, + stock: 12, + }, + { + id: 10004, + attributes: '3:11', + names: [`蓝色1`, `M`], + price: 1000, + stock: 13, + }, + ], + imgs: { + 0: ['https://randomuser.me/api/portraits/lego/0.jpg'], + 1: ['https://randomuser.me/api/portraits/lego/1.jpg'], + 3: ['https://randomuser.me/api/portraits/lego/3.jpg'], + }, + desc: `

Test

`, + ...(DATA[idx] as any), + }; + return item; + }, + 'DELETE /ware/:id': (req: MockRequest) => { + const idx = getIdx(req.params.id || 0); + DATA.splice(idx, 1); + return { msg: 'ok' }; + }, + 'POST /ware/status': (req: MockRequest) => { + const idx = getIdx(req.body.id || 0); + const item = DATA[idx]; + item.status = req.body.status; + return { msg: 'ok', item }; + }, + '/ware/cat': [ + { id: 1, name: '颜色', value: '红色', color: '#f5222d', type: 'color' }, + { id: 2, name: '颜色', value: '绿色', color: '#a0d911', type: 'color' }, + { id: 3, name: '颜色', value: '蓝色', color: '#1890ff', type: 'color' }, + { id: 4, name: '颜色', value: '洋红', color: '#eb2f96', type: 'color' }, + { id: 10, name: '尺寸', value: 'S', type: 'size' }, + { id: 11, name: '尺寸', value: 'M', type: 'size' }, + { id: 12, name: '尺寸', value: 'L', type: 'size' }, + { id: 13, name: '尺寸', value: 'XL', type: 'size' }, + { id: 14, name: '尺寸', value: 'XXL', type: 'size' }, + { id: 15, name: '尺寸', value: 'XXXL', type: 'size' }, + ], +}; diff --git a/_mock/index.ts b/_mock/index.ts new file mode 100644 index 00000000..69e1167a --- /dev/null +++ b/_mock/index.ts @@ -0,0 +1,21 @@ +export * from './_profile'; +export * from './_rule'; +export * from './_api'; +export * from './_chart'; +export * from './_pois'; +export * from './_user'; +export * from './_geo'; + +export * from './_file-manager'; +export * from './_img'; +export * from './_log'; +export * from './_menu'; +export * from './_permission'; +export * from './_role'; +export * from './_user-pro'; +export * from './utils'; + +export * from './_forum'; +export * from './_other'; +export * from './_trade'; +export * from './_ware'; diff --git a/_mock/utils.ts b/_mock/utils.ts new file mode 100644 index 00000000..71a98721 --- /dev/null +++ b/_mock/utils.ts @@ -0,0 +1,160 @@ +import addDays from 'date-fns/addDays'; +import format from 'date-fns/format'; +import { Random } from 'mockjs'; + +export const COLOR_NAMES = ['red', 'volcano', 'orange', 'gold', 'yellow', 'lime', 'green', 'cyan', 'blue', 'geekblue', 'purple', 'magenta']; + +export function genName(): any { + return genArr(['asdf', 'cipchk', '卡色']); +} + +export function genProvince(): any { + return genArr([ + '台湾', + '河北', + '山西', + '内蒙古', + '辽宁', + '吉林', + '黑龙江', + '江苏', + '浙江', + '安徽', + '福建', + '江西', + '山东', + '河南', + '湖北', + '湖南', + '广东', + '广西', + '海南', + '四川', + '贵州', + '云南', + '西藏', + '陕西', + '甘肃', + '青海', + '宁夏', + '新疆', + '北京', + '天津', + '上海', + '重庆', + '香港', + '澳门', + ]); +} + +export function genArr(arr: any[], count: number = 1): any { + if (count === 1) { + return arr[Random.natural(0, arr.length - 1)]; + } + return new Array(count <= -1 ? Random.natural(0, -count) : count).fill({}).map(() => { + return arr[Random.natural(0, arr.length - 1)]; + }); +} + +export function genColorName(): any { + return genArr(COLOR_NAMES); +} + +export function genLabel(): any { + return genArr([ + { + color: 'green', + text: 'Clients', + }, + { + color: 'red', + text: 'Important', + }, + { + color: 'blue', + text: 'Other', + }, + ]); +} + +/** 生成头像,`id` 只能0-8 */ +export function genMp(id?: number): string { + return `https://randomuser.me/api/portraits/lego/${typeof id === 'undefined' ? Random.natural(0, 8) : id}.jpg`; +} + +export function genBigMp(): string { + return `./assets/tmp/img-big/${Random.natural(1, 8)}.jpg`; +} + +export function genTag(num: number = -3): any { + return genArr(['Angular', 'Node', 'HTML5', 'Less', 'Db', 'Python', 'Go'], num); +} + +export function addDate(days: number): Date { + return addDays(new Date(), days); +} + +export function genData(days: number, dateFormat: string = 'yyyy-MM-dd'): string { + return format(addDate(days), dateFormat); +} + +export function rudeCopy(obj: any): string { + return JSON.parse(JSON.stringify(obj)); +} + +export function genContent(): string { + return ` +

主标题

+

次标题

+

段落,${Random.cparagraph(1, 1)}

+

段落,${Random.paragraph(1, 1)}

+

列表

+
    +
  1. +

    段落,${Random.paragraph(1, 1)}

    +

    +
  2. +
  3. +

    段落,${Random.paragraph(1, 1)}

    +

  4. +
  5. +

    段落,${Random.paragraph(1, 1)}

    +

  6. +
+

图像

+

+

表格

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ `; +} diff --git a/angular.json b/angular.json new file mode 100644 index 00000000..b04d04a7 --- /dev/null +++ b/angular.json @@ -0,0 +1,141 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "cli": { + "analytics": "0398a482-260e-4ce3-b33e-91ecf55f0703" + }, + "version": 1, + "newProjectRoot": "projects", + "projects": { + "ng-alain": { + "projectType": "application", + "root": "", + "sourceRoot": "src", + "prefix": "app", + "schematics": { + "@schematics/angular:component": { + "style": "less" + }, + "@schematics/angular:application": { + "strict": true + } + }, + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist", + "index": "src/index.html", + "main": "src/main.ts", + "tsConfig": "tsconfig.app.json", + "polyfills": "src/polyfills.ts", + "assets": [ + "src/assets", + "src/favicon.ico" + ], + "styles": [ + "node_modules/perfect-scrollbar/css/perfect-scrollbar.css", + "node_modules/quill/dist/quill.snow.css", + "src/styles.less" + ], + "scripts": [ + "node_modules/quill/dist/quill.min.js", + "node_modules/perfect-scrollbar/dist/perfect-scrollbar.js" + ], + "allowedCommonJsDependencies": [ + "ajv", + "ajv-formats" + ] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all", + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + } + ] + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "ng-alain:build", + "proxyConfig": "proxy.conf.js" + }, + "configurations": { + "production": { + "browserTarget": "ng-alain:build:production" + }, + "development": { + "browserTarget": "ng-alain:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "ng-alain:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "karmaConfig": "karma.conf.js", + "tsConfig": "tsconfig.spec.json", + "scripts": [ + "node_modules/quill/dist/quill.min.js", + "node_modules/perfect-scrollbar/dist/perfect-scrollbar.js" + ], + "styles": [], + "assets": [ + "src/assets" + ] + } + }, + "lint": { + "builder": "@angular-eslint/builder:lint", + "options": { + "lintFilePatterns": [ + "src/**/*.ts", + "src/**/*.html" + ] + } + }, + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "e2e/protractor.conf.js", + "devServerTarget": "ng-alain:serve" + }, + "configurations": { + "production": { + "devServerTarget": "ng-alain:serve:production" + } + } + } + } + } + }, + "defaultProject": "ng-alain" +} diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js new file mode 100644 index 00000000..73e4e680 --- /dev/null +++ b/e2e/protractor.conf.js @@ -0,0 +1,32 @@ +// @ts-check +// Protractor configuration file, see link for more information +// https://github.com/angular/protractor/blob/master/lib/config.ts + +const { SpecReporter } = require('jasmine-spec-reporter'); + +/** + * @type { import("protractor").Config } + */ +exports.config = { + allScriptsTimeout: 11000, + specs: [ + './src/**/*.e2e-spec.ts' + ], + capabilities: { + 'browserName': 'chrome' + }, + directConnect: true, + baseUrl: 'http://localhost:4200/', + framework: 'jasmine', + jasmineNodeOpts: { + showColors: true, + defaultTimeoutInterval: 30000, + print: function() {} + }, + onPrepare() { + require('ts-node').register({ + project: require('path').join(__dirname, './tsconfig.json') + }); + jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); + } +}; \ No newline at end of file diff --git a/e2e/src/app.e2e-spec.ts b/e2e/src/app.e2e-spec.ts new file mode 100644 index 00000000..df95215f --- /dev/null +++ b/e2e/src/app.e2e-spec.ts @@ -0,0 +1,28 @@ +import { browser, logging } from 'protractor'; +import { AppPage } from './app.po'; + +describe('workspace-project App', () => { + let page: AppPage; + + beforeEach(() => { + page = new AppPage(); + }); + + it('should display welcome message', () => { + page.navigateTo(); + expect(page.getTitleText()).toEqual('Welcome to ng8!'); + }); + + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser + .manage() + .logs() + .get(logging.Type.BROWSER); + expect(logs).not.toContain( + jasmine.objectContaining({ + level: logging.Level.SEVERE, + } as logging.Entry), + ); + }); +}); diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts new file mode 100644 index 00000000..08b20ffd --- /dev/null +++ b/e2e/src/app.po.ts @@ -0,0 +1,11 @@ +import { browser, by, element } from 'protractor'; + +export class AppPage { + navigateTo(): Promise { + return browser.get(browser.baseUrl) as Promise; + } + + getTitleText(): Promise { + return element(by.css('app-root h1')).getText() as Promise; + } +} diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json new file mode 100644 index 00000000..eddd492c --- /dev/null +++ b/e2e/tsconfig.json @@ -0,0 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/e2e", + "module": "commonjs", + "target": "es2018", + "types": ["jasmine", "jasminewd2", "node"] + } +} diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 00000000..224f06eb --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,38 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + coverageIstanbulReporter: { + dir: require('path').join(__dirname, './coverage'), + reports: ['html', 'lcovonly', 'text-summary'], + fixWebpackSourcePaths: true + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + customLaunchers: { + ChromeHeadlessCI: { + base: 'ChromeHeadless', + flags: ['--no-sandbox'] + } + }, + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/ng-alain.json b/ng-alain.json new file mode 100644 index 00000000..2aecd66e --- /dev/null +++ b/ng-alain.json @@ -0,0 +1,17 @@ +{ + "$schema": "./node_modules/ng-alain/schema.json", + "theme": { + "additionalThemeVars": [ + "./src/app/layout/pro/styles/theme-#NAME#.less", + "./src/styles/fix/theme-#NAME#.less" + ], + "list": [ + { + "theme": "dark" + }, + { + "theme": "compact" + } + ] + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..cf0055a0 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,24244 @@ +{ + "name": "ng-alain-pro", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@agm/core": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@agm/core/download/@agm/core-1.1.0.tgz", + "integrity": "sha1-b43LrAaPaB/k+psKDL9mBYgCWRE=", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=" + } + } + }, + "@ampproject/remapping": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@ampproject/remapping/download/@ampproject/remapping-1.0.1.tgz", + "integrity": "sha1-E5jnPlZ8KnmS32VUwVu5Som2i6I=", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "1.0.0", + "sourcemap-codec": "1.4.8" + } + }, + "@angular-devkit/architect": { + "version": "0.1202.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/architect/download/@angular-devkit/architect-0.1202.13.tgz", + "integrity": "sha1-ubiD1i9iimsxzgcdqR4mj2HaAO8=", + "dev": true, + "requires": { + "@angular-devkit/core": "12.2.13", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/build-angular": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/build-angular/download/@angular-devkit/build-angular-12.2.13.tgz", + "integrity": "sha1-9VZNPsnbEylWRzu5BLs1kEgvWzY=", + "dev": true, + "requires": { + "@ampproject/remapping": "1.0.1", + "@angular-devkit/architect": "0.1202.13", + "@angular-devkit/build-optimizer": "0.1202.13", + "@angular-devkit/build-webpack": "0.1202.13", + "@angular-devkit/core": "12.2.13", + "@babel/core": "7.14.8", + "@babel/generator": "7.14.8", + "@babel/helper-annotate-as-pure": "7.14.5", + "@babel/plugin-proposal-async-generator-functions": "7.14.7", + "@babel/plugin-transform-async-to-generator": "7.14.5", + "@babel/plugin-transform-runtime": "7.14.5", + "@babel/preset-env": "7.14.8", + "@babel/runtime": "7.14.8", + "@babel/template": "7.14.5", + "@discoveryjs/json-ext": "0.5.3", + "@jsdevtools/coverage-istanbul-loader": "3.0.5", + "@ngtools/webpack": "12.2.13", + "ansi-colors": "4.1.1", + "babel-loader": "8.2.2", + "browserslist": "^4.9.1", + "cacache": "15.2.0", + "caniuse-lite": "^1.0.30001032", + "circular-dependency-plugin": "5.2.2", + "copy-webpack-plugin": "9.0.1", + "core-js": "3.16.0", + "critters": "0.0.12", + "css-loader": "6.2.0", + "css-minimizer-webpack-plugin": "3.0.2", + "esbuild": "0.13.8", + "esbuild-wasm": "0.13.8", + "find-cache-dir": "3.3.1", + "glob": "7.1.7", + "https-proxy-agent": "5.0.0", + "inquirer": "8.1.2", + "karma-source-map-support": "1.4.0", + "less": "4.1.1", + "less-loader": "10.0.1", + "license-webpack-plugin": "2.3.20", + "loader-utils": "2.0.0", + "mini-css-extract-plugin": "2.4.2", + "minimatch": "3.0.4", + "open": "8.2.1", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "6.0.1", + "piscina": "3.1.0", + "postcss": "8.3.6", + "postcss-import": "14.0.2", + "postcss-loader": "6.1.1", + "postcss-preset-env": "6.7.0", + "regenerator-runtime": "0.13.9", + "resolve-url-loader": "4.0.0", + "rxjs": "6.6.7", + "sass": "1.36.0", + "sass-loader": "12.1.0", + "semver": "7.3.5", + "source-map-loader": "3.0.0", + "source-map-support": "0.5.19", + "style-loader": "3.2.1", + "stylus": "0.54.8", + "stylus-loader": "6.1.0", + "terser": "5.7.1", + "terser-webpack-plugin": "5.1.4", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.3.0", + "webpack": "5.50.0", + "webpack-dev-middleware": "5.0.0", + "webpack-dev-server": "3.11.2", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "1.5.2" + }, + "dependencies": { + "esbuild": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild/download/esbuild-0.13.8.tgz", + "integrity": "sha1-vXzFG4gasGd4n4jhe6ynRyTB7E8=", + "dev": true, + "optional": true, + "requires": { + "esbuild-android-arm64": "0.13.8", + "esbuild-darwin-64": "0.13.8", + "esbuild-darwin-arm64": "0.13.8", + "esbuild-freebsd-64": "0.13.8", + "esbuild-freebsd-arm64": "0.13.8", + "esbuild-linux-32": "0.13.8", + "esbuild-linux-64": "0.13.8", + "esbuild-linux-arm": "0.13.8", + "esbuild-linux-arm64": "0.13.8", + "esbuild-linux-mips64le": "0.13.8", + "esbuild-linux-ppc64le": "0.13.8", + "esbuild-netbsd-64": "0.13.8", + "esbuild-openbsd-64": "0.13.8", + "esbuild-sunos-64": "0.13.8", + "esbuild-windows-32": "0.13.8", + "esbuild-windows-64": "0.13.8", + "esbuild-windows-arm64": "0.13.8" + } + }, + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "@angular-devkit/build-optimizer": { + "version": "0.1202.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/build-optimizer/download/@angular-devkit/build-optimizer-0.1202.13.tgz", + "integrity": "sha1-fwsTNozCoIsfR4mrEpahYJ9QSeo=", + "dev": true, + "requires": { + "source-map": "0.7.3", + "tslib": "2.3.0", + "typescript": "4.3.5" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=", + "dev": true + } + } + }, + "@angular-devkit/build-webpack": { + "version": "0.1202.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/build-webpack/download/@angular-devkit/build-webpack-0.1202.13.tgz", + "integrity": "sha1-h1+flne7EAVrUiMJZdwvAL0wid0=", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1202.13", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/core": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/core/download/@angular-devkit/core-12.2.13.tgz", + "integrity": "sha1-2zkp0b/OcQELN/t8Tmwz74Ck818=", + "dev": true, + "requires": { + "ajv": "8.6.2", + "ajv-formats": "2.1.0", + "fast-json-stable-stringify": "2.1.0", + "magic-string": "0.25.7", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "dependencies": { + "ajv": { + "version": "8.6.2", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-8.6.2.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-8.6.2.tgz", + "integrity": "sha1-L7ReDl/LwIEzJsHD2lNdGIG7BXE=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/ajv-formats/download/ajv-formats-2.1.0.tgz", + "integrity": "sha1-lur4PjjTIQi2bYKpywz6JIhs3+s=", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + } + } + }, + "@angular-devkit/schematics": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular-devkit/schematics/download/@angular-devkit/schematics-12.2.13.tgz", + "integrity": "sha1-ZGTYb6PM0O+16tRseTzvnsRcd1g=", + "dev": true, + "requires": { + "@angular-devkit/core": "12.2.13", + "ora": "5.4.1", + "rxjs": "6.6.7" + } + }, + "@angular-eslint/builder": { + "version": "12.3.1", + "resolved": "https://registry.npmmirror.com/@angular-eslint/builder/download/@angular-eslint/builder-12.3.1.tgz", + "integrity": "sha1-4KZ2ipx+4jYjseNjoj5ZozO22r4=", + "dev": true, + "requires": { + "@nrwl/devkit": ">= 12.0.0 < 13.0.0" + } + }, + "@angular-eslint/eslint-plugin": { + "version": "12.3.1", + "resolved": "https://registry.npmmirror.com/@angular-eslint/eslint-plugin/download/@angular-eslint/eslint-plugin-12.3.1.tgz", + "integrity": "sha1-AKxE1ZhthhE9ZaU3N0bh/CL9hwI=", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.28.2" + } + }, + "@angular-eslint/eslint-plugin-template": { + "version": "12.3.1", + "resolved": "https://registry.npmmirror.com/@angular-eslint/eslint-plugin-template/download/@angular-eslint/eslint-plugin-template-12.3.1.tgz", + "integrity": "sha1-MyYM1TVt9dt+J3GUQ+q89sIU4y4=", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.28.2", + "aria-query": "^4.2.2", + "axobject-query": "^2.2.0" + } + }, + "@angular-eslint/schematics": { + "version": "12.3.1", + "resolved": "https://registry.npmmirror.com/@angular-eslint/schematics/download/@angular-eslint/schematics-12.3.1.tgz", + "integrity": "sha1-mQYKZP1t02/7TF4lS4VWL00BUNk=", + "dev": true, + "requires": { + "@angular-eslint/eslint-plugin": "12.3.1", + "@angular-eslint/eslint-plugin-template": "12.3.1", + "ignore": "5.1.8", + "strip-json-comments": "3.1.1", + "tmp": "0.2.1" + }, + "dependencies": { + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-5.1.8.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-5.1.8.tgz", + "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc=", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.2.1.tgz", + "integrity": "sha1-hFf8MDfc9HGcJRNnoa9lAO4czxQ=", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + } + } + }, + "@angular-eslint/template-parser": { + "version": "12.3.1", + "resolved": "https://registry.npmmirror.com/@angular-eslint/template-parser/download/@angular-eslint/template-parser-12.3.1.tgz", + "integrity": "sha1-Vh/hvT+0pNdcxVNm0ngYvKIiBMk=", + "dev": true, + "requires": { + "eslint-scope": "^5.1.0" + } + }, + "@angular/animations": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/animations/download/@angular/animations-12.2.13.tgz", + "integrity": "sha1-kJt5xWqFuzHAYF7UGYUDQLVYC+k=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/cdk": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/cdk/download/@angular/cdk-12.2.13.tgz", + "integrity": "sha512-zSKRhECyFqhingIeyRInIyTvYErt4gWo+x5DQr0b7YLUbU8DZSwWnG4w76Ke2s4U8T7ry1jpJBHoX/e8YBpGMg==", + "requires": { + "parse5": "^5.0.0", + "tslib": "^2.2.0" + } + }, + "@angular/cli": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/cli/download/@angular/cli-12.2.13.tgz", + "integrity": "sha1-ylhsFKb4O7Q5CHW+Cg+nCbmirik=", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1202.13", + "@angular-devkit/core": "12.2.13", + "@angular-devkit/schematics": "12.2.13", + "@schematics/angular": "12.2.13", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.1", + "debug": "4.3.2", + "ini": "2.0.0", + "inquirer": "8.1.2", + "jsonc-parser": "3.0.0", + "npm-package-arg": "8.1.5", + "npm-pick-manifest": "6.1.1", + "open": "8.2.1", + "ora": "5.4.1", + "pacote": "11.3.5", + "resolve": "1.20.0", + "semver": "7.3.5", + "symbol-observable": "4.0.0", + "uuid": "8.3.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmmirror.com/uuid/download/uuid-8.3.2.tgz", + "integrity": "sha1-gNW1ztJxu5r2xEXyGhoExgbO++I=", + "dev": true + } + } + }, + "@angular/common": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/common/download/@angular/common-12.2.13.tgz", + "integrity": "sha1-/lL/roZowd7EGybNw6dJEBOZ4f4=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/compiler": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/compiler/download/@angular/compiler-12.2.13.tgz", + "integrity": "sha1-fu9v24G53m/Q4s3aKtighMHZU1s=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/compiler-cli": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/compiler-cli/download/@angular/compiler-cli-12.2.13.tgz", + "integrity": "sha1-PORjJj6AqGHhSvLtO6gVmAYOPOA=", + "dev": true, + "requires": { + "@babel/core": "^7.8.6", + "@babel/types": "^7.8.6", + "canonical-path": "1.0.0", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.25.0", + "minimist": "^1.2.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "source-map": "^0.6.1", + "sourcemap-codec": "^1.4.8", + "tslib": "^2.2.0", + "yargs": "^17.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true + }, + "yargs": { + "version": "17.2.1", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-17.2.1.tgz", + "integrity": "sha1-4slbl5ag4ffzv0QnhjtC4EGBkeo=", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "@angular/core": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/core/download/@angular/core-12.2.13.tgz?cache=0&sync_timestamp=1637205149537&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40angular%2Fcore%2Fdownload%2F%40angular%2Fcore-12.2.13.tgz", + "integrity": "sha1-/ECsvc7lxYeL0kndwNZDvnJAdsM=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/forms": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/forms/download/@angular/forms-12.2.13.tgz", + "integrity": "sha1-TekOiJkcJ0tdXjqwMAJn4WG6ePI=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/language-service": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/language-service/download/@angular/language-service-12.2.13.tgz", + "integrity": "sha1-MmBFoyj4qWIocDfXqFvoEgB0Qhw=", + "dev": true + }, + "@angular/platform-browser": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/platform-browser/download/@angular/platform-browser-12.2.13.tgz", + "integrity": "sha1-dp+xSLIShmPWtAXSpBAj8s2qHJU=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/platform-browser-dynamic": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/platform-browser-dynamic/download/@angular/platform-browser-dynamic-12.2.13.tgz", + "integrity": "sha1-nuYwn1EdpBnV2AoagnmtyAbpLwQ=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@angular/router": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@angular/router/download/@angular/router-12.2.13.tgz", + "integrity": "sha1-5bk5qWdfnUg0/uPnXrjQQO9js7U=", + "requires": { + "tslib": "^2.2.0" + } + }, + "@ant-design/colors": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/@ant-design/colors/download/@ant-design/colors-5.1.1.tgz", + "integrity": "sha1-gAshhrHifmZDLmfQPtlq8+IdiUA=", + "requires": { + "@ctrl/tinycolor": "^3.3.1" + } + }, + "@ant-design/icons-angular": { + "version": "12.0.3", + "resolved": "https://registry.npmmirror.com/@ant-design/icons-angular/download/@ant-design/icons-angular-12.0.3.tgz", + "integrity": "sha1-Ppmqmc7ruXg4Sikm0G2hnAQ/xL0=", + "requires": { + "@ant-design/colors": "^5.0.0", + "tslib": "^2.0.0" + } + }, + "@antv/adjust": { + "version": "0.2.3", + "resolved": "https://registry.nlark.com/@antv/adjust/download/@antv/adjust-0.2.3.tgz", + "integrity": "sha1-w4hKaAwyZMwSXX8qtTmOihwLlAE=", + "requires": { + "@antv/util": "~2.0.0", + "tslib": "^1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=" + } + } + }, + "@antv/attr": { + "version": "0.3.2", + "resolved": "https://registry.nlark.com/@antv/attr/download/@antv/attr-0.3.2.tgz", + "integrity": "sha1-5YZrZIcMYvOpwluKYfZUuiv9oFE=", + "requires": { + "@antv/color-util": "^2.0.1", + "@antv/util": "~2.0.0", + "tslib": "^1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=" + } + } + }, + "@antv/color-util": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@antv/color-util/download/@antv/color-util-2.0.6.tgz", + "integrity": "sha1-XhKbuc4/K5MJtSECs9ySlDDMwBY=", + "requires": { + "@antv/util": "^2.0.9", + "tslib": "^2.0.3" + } + }, + "@antv/component": { + "version": "0.8.20", + "resolved": "https://registry.npmmirror.com/@antv/component/download/@antv/component-0.8.20.tgz", + "integrity": "sha1-l/Daoi83aKNd4zzQ2cWP8yzspBc=", + "requires": { + "@antv/color-util": "^2.0.3", + "@antv/dom-util": "~2.0.1", + "@antv/g-base": "0.5.6", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.7", + "@antv/scale": "~0.3.1", + "@antv/util": "~2.0.0", + "fecha": "~4.2.0", + "tslib": "^2.0.3" + }, + "dependencies": { + "@antv/g-base": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/@antv/g-base/download/@antv/g-base-0.5.6.tgz", + "integrity": "sha1-2W2l+/bF+LBzBydR4V5e7HCzk/w=", + "requires": { + "@antv/event-emitter": "^0.1.1", + "@antv/g-math": "^0.1.6", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.5", + "@antv/util": "~2.0.0", + "@types/d3-timer": "^2.0.0", + "d3-ease": "^1.0.5", + "d3-interpolate": "^1.3.2", + "d3-timer": "^1.0.9", + "detect-browser": "^5.1.0", + "tslib": "^2.0.3" + } + } + } + }, + "@antv/coord": { + "version": "0.3.1", + "resolved": "https://registry.nlark.com/@antv/coord/download/@antv/coord-0.3.1.tgz", + "integrity": "sha1-mC4mHYoeBqGY61GOp6zCDth1oBk=", + "requires": { + "@antv/matrix-util": "^3.1.0-beta.2", + "@antv/util": "~2.0.12", + "tslib": "^2.1.0" + } + }, + "@antv/data-set": { + "version": "0.11.8", + "resolved": "https://registry.npm.taobao.org/@antv/data-set/download/@antv/data-set-0.11.8.tgz", + "integrity": "sha1-dBPpAGJIY9Wl87RoQf0An8TypP8=", + "requires": { + "@antv/hierarchy": "^0.6.0", + "@antv/util": "^2.0.0", + "d3-composite-projections": "^1.2.0", + "d3-dsv": "^1.0.5", + "d3-geo": "~1.6.4", + "d3-geo-projection": "~2.1.2", + "d3-hexjson": "^1.0.1", + "d3-hierarchy": "^1.1.5", + "d3-sankey": "^0.9.1", + "d3-voronoi": "^1.1.2", + "dagre": "^0.8.2", + "point-at-length": "^1.0.2", + "regression": "^2.0.0", + "simple-statistics": "^6.1.0", + "topojson-client": "^3.0.0", + "wolfy87-eventemitter": "^5.1.0" + } + }, + "@antv/dom-util": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/@antv/dom-util/download/@antv/dom-util-2.0.3.tgz", + "integrity": "sha1-y9FYsciODopNhlhxpZabEZBVT/U=", + "requires": { + "tslib": "^2.0.3" + } + }, + "@antv/event-emitter": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/@antv/event-emitter/download/@antv/event-emitter-0.1.2.tgz", + "integrity": "sha1-oXt8uG5tBxiA3Gv7IydW+IYk7Lw=" + }, + "@antv/g-base": { + "version": "0.5.9", + "resolved": "https://registry.npmmirror.com/@antv/g-base/download/@antv/g-base-0.5.9.tgz", + "integrity": "sha1-WNDhHYUVetoUCPvfJPT0aPQOWc0=", + "requires": { + "@antv/event-emitter": "^0.1.1", + "@antv/g-math": "^0.1.6", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.5", + "@antv/util": "~2.0.0", + "@types/d3-timer": "^2.0.0", + "d3-ease": "^1.0.5", + "d3-interpolate": "^1.3.2", + "d3-timer": "^1.0.9", + "detect-browser": "^5.1.0", + "tslib": "^2.0.3" + } + }, + "@antv/g-canvas": { + "version": "0.5.12", + "resolved": "https://registry.npmmirror.com/@antv/g-canvas/download/@antv/g-canvas-0.5.12.tgz", + "integrity": "sha1-L8QNztaZTwdPIjQeZdVve71Sdfc=", + "requires": { + "@antv/g-base": "^0.5.3", + "@antv/g-math": "^0.1.6", + "@antv/matrix-util": "^3.1.0-beta.1", + "@antv/path-util": "~2.0.5", + "@antv/util": "~2.0.0", + "gl-matrix": "^3.0.0", + "tslib": "^2.0.3" + } + }, + "@antv/g-math": { + "version": "0.1.7", + "resolved": "https://registry.npmmirror.com/@antv/g-math/download/@antv/g-math-0.1.7.tgz", + "integrity": "sha1-bsJ2kmn3zLZ+WBQNVznfdARswE4=", + "requires": { + "@antv/util": "~2.0.0", + "gl-matrix": "^3.0.0" + } + }, + "@antv/g-svg": { + "version": "0.5.6", + "resolved": "https://registry.npmmirror.com/@antv/g-svg/download/@antv/g-svg-0.5.6.tgz", + "integrity": "sha1-cLL6mAxDGzmtPFtLU+NqHWCVfWU=", + "requires": { + "@antv/g-base": "^0.5.3", + "@antv/g-math": "^0.1.6", + "@antv/util": "~2.0.0", + "detect-browser": "^5.0.0", + "tslib": "^2.0.3" + } + }, + "@antv/g2": { + "version": "4.1.34", + "resolved": "https://registry.npmmirror.com/@antv/g2/download/@antv/g2-4.1.34.tgz", + "integrity": "sha1-aqcaCcJAuSkUvGZvESMQqrwOPhY=", + "requires": { + "@antv/adjust": "^0.2.1", + "@antv/attr": "^0.3.1", + "@antv/color-util": "^2.0.2", + "@antv/component": "^0.8.19", + "@antv/coord": "^0.3.0", + "@antv/dom-util": "^2.0.2", + "@antv/event-emitter": "~0.1.0", + "@antv/g-base": "~0.5.6", + "@antv/g-canvas": "~0.5.10", + "@antv/g-svg": "~0.5.6", + "@antv/matrix-util": "^3.1.0-beta.3", + "@antv/path-util": "^2.0.15", + "@antv/scale": "^0.3.14", + "@antv/util": "~2.0.5", + "tslib": "^2.0.0" + } + }, + "@antv/hierarchy": { + "version": "0.6.8", + "resolved": "https://registry.nlark.com/@antv/hierarchy/download/@antv/hierarchy-0.6.8.tgz", + "integrity": "sha1-t3xJCpwt1toYbLrO4OeIe4wbP6Q=", + "requires": { + "@antv/util": "^2.0.7" + } + }, + "@antv/matrix-util": { + "version": "3.1.0-beta.3", + "resolved": "https://registry.npmmirror.com/@antv/matrix-util/download/@antv/matrix-util-3.1.0-beta.3.tgz", + "integrity": "sha1-4GHej6e+BGBaFVxpzFzpCC7t3e4=", + "requires": { + "@antv/util": "^2.0.9", + "gl-matrix": "^3.4.3", + "tslib": "^2.0.3" + } + }, + "@antv/path-util": { + "version": "2.0.15", + "resolved": "https://registry.npmmirror.com/@antv/path-util/download/@antv/path-util-2.0.15.tgz", + "integrity": "sha1-pvaR38i3vOW+fwqrtb1hSWQyVjE=", + "requires": { + "@antv/matrix-util": "^3.0.4", + "@antv/util": "^2.0.9", + "tslib": "^2.0.3" + }, + "dependencies": { + "@antv/matrix-util": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@antv/matrix-util/download/@antv/matrix-util-3.0.4.tgz", + "integrity": "sha1-6hPxWKovtLovuNa2tWHsRn6jrCA=", + "requires": { + "@antv/util": "^2.0.9", + "gl-matrix": "^3.3.0", + "tslib": "^2.0.3" + } + } + } + }, + "@antv/scale": { + "version": "0.3.14", + "resolved": "https://registry.npmmirror.com/@antv/scale/download/@antv/scale-0.3.14.tgz", + "integrity": "sha1-Bxj4ZRNo5cmNtWEgZRMqjIu83kg=", + "requires": { + "@antv/util": "~2.0.3", + "fecha": "~4.2.0", + "tslib": "^2.0.0" + } + }, + "@antv/util": { + "version": "2.0.17", + "resolved": "https://registry.npmmirror.com/@antv/util/download/@antv/util-2.0.17.tgz", + "integrity": "sha1-6O9CrKeJKBWyKSafPdEMazx1l6k=", + "requires": { + "csstype": "^3.0.8", + "tslib": "^2.0.3" + } + }, + "@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmmirror.com/@assemblyscript/loader/download/@assemblyscript/loader-0.10.1.tgz", + "integrity": "sha1-cORWePBscvouNQ6FU+xKTXK5LgY=", + "dev": true + }, + "@babel/code-frame": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.16.0.tgz?cache=0&sync_timestamp=1635561808745&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.16.0.tgz", + "integrity": "sha1-DfyAMJvuyEEeZecGRhxAiwu5tDE=", + "dev": true, + "requires": { + "@babel/highlight": "^7.16.0" + } + }, + "@babel/compat-data": { + "version": "7.16.4", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.4.tgz", + "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==", + "dev": true + }, + "@babel/core": { + "version": "7.14.8", + "resolved": "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.14.8.tgz?cache=0&sync_timestamp=1635561804981&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.14.8.tgz", + "integrity": "sha1-IM33yEtdhtg/rIcQqLxgWnuj8BA=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/generator": "^7.14.8", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-module-transforms": "^7.14.8", + "@babel/helpers": "^7.14.8", + "@babel/parser": "^7.14.8", + "@babel/template": "^7.14.5", + "@babel/traverse": "^7.14.8", + "@babel/types": "^7.14.8", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.14.8", + "resolved": "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.14.8.tgz?cache=0&sync_timestamp=1635561809489&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.14.8.tgz", + "integrity": "sha1-v4b9avls87dDlajKQJUV+JQj4HA=", + "dev": true, + "requires": { + "@babel/types": "^7.14.8", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.14.5.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.14.5.tgz", + "integrity": "sha1-e/R47Dtxcm1WqMpXdbBG/CmHnmE=", + "dev": true, + "requires": { + "@babel/types": "^7.14.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz", + "integrity": "sha1-8aaGuS2nlAIMJlguuFLprM0NeII=", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.16.3", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.16.3.tgz?cache=0&sync_timestamp=1636495290322&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.16.3.tgz", + "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.17.5", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.16.0.tgz?cache=0&sync_timestamp=1635561800206&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.16.0.tgz", + "integrity": "sha1-CQ1NFms0KgOp/sN+9P1a65x8aks=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.16.0.tgz", + "integrity": "sha1-BrI0jON/zMT14Y3NjXUFPyp8RP8=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "regexpu-core": "^4.7.1" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.4.tgz", + "integrity": "sha1-iGeu150+psreQPgB77esXGaRaxA=", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.16.0.tgz?cache=0&sync_timestamp=1635567805771&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.16.0.tgz", + "integrity": "sha1-dTAXM3oV9G+cCfZ0z/EM7pudd3g=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-function-name": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/download/@babel/helper-function-name-7.16.0.tgz?cache=0&sync_timestamp=1635561947831&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.16.0.tgz", + "integrity": "sha1-t90Hl9ALv+5PB+nE6lsOMMi7FIE=", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "dependencies": { + "@babel/template": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz?cache=0&sync_timestamp=1635561799475&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.16.0.tgz", + "integrity": "sha1-0Wo16/TNdOICCDNW+rId2JNj3dY=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helper-get-function-arity": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.16.0.tgz?cache=0&sync_timestamp=1635561948623&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.16.0.tgz", + "integrity": "sha1-AIjHSGspqctdlIsaHeRttm4InPo=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.16.0.tgz?cache=0&sync_timestamp=1635561801635&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.16.0.tgz", + "integrity": "sha1-TJAjwvHe9+KP9G/B2802o5vqqBo=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.16.0.tgz?cache=0&sync_timestamp=1635561802435&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.16.0.tgz", + "integrity": "sha1-KShwQO/Rl8d2Nu91GI6B2ovM1aQ=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.16.0.tgz?cache=0&sync_timestamp=1635561800759&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.16.0.tgz", + "integrity": "sha1-kFOOYLZy7PG0SPX09UM9N+eaPsM=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.16.0.tgz?cache=0&sync_timestamp=1635561798763&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.16.0.tgz", + "integrity": "sha1-HIKo3UyzRXdQLr0pCWmbGUw+m7U=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-simple-access": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "dependencies": { + "@babel/template": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz?cache=0&sync_timestamp=1635561799475&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.16.0.tgz", + "integrity": "sha1-0Wo16/TNdOICCDNW+rId2JNj3dY=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.16.0.tgz?cache=0&sync_timestamp=1635561802051&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.16.0.tgz", + "integrity": "sha1-zs2xRdcMVAlrFWT46fEM19GTszg=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha1-WsgizpfuxGdBq3ClF5ceRDpwxak=", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.16.4", + "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.16.4.tgz", + "integrity": "sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-wrap-function": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helper-replace-supers": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.16.0.tgz?cache=0&sync_timestamp=1635561801283&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.16.0.tgz", + "integrity": "sha1-cwVejTz5vLqN21XK2T/tyGD2jxc=", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.16.0.tgz?cache=0&sync_timestamp=1635561801108&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.16.0.tgz", + "integrity": "sha1-IdaidiDjg+N1NM9sELugGab5BRc=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha1-DuM4gHAUfDrgUeSH7KPrsOLouwk=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.16.0.tgz?cache=0&sync_timestamp=1635561801459&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.16.0.tgz", + "integrity": "sha1-KWcvQ2Y+k23zcKrrIr7ds7rsdDg=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k=", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz", + "integrity": "sha1-bnKh//GNXfy4eOHmLxoCHEty1aM=", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.16.0.tgz", + "integrity": "sha1-s88xivzndN/nW4Z2fNbWjzSC5Xw=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "dependencies": { + "@babel/template": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz?cache=0&sync_timestamp=1635561799475&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.16.0.tgz", + "integrity": "sha1-0Wo16/TNdOICCDNW+rId2JNj3dY=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/helpers": { + "version": "7.16.3", + "resolved": "https://registry.npmmirror.com/@babel/helpers/download/@babel/helpers-7.16.3.tgz?cache=0&sync_timestamp=1636495281937&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.16.3.tgz", + "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==", + "dev": true, + "requires": { + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.3", + "@babel/types": "^7.16.0" + }, + "dependencies": { + "@babel/template": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.16.0.tgz?cache=0&sync_timestamp=1635561799475&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.16.0.tgz", + "integrity": "sha1-0Wo16/TNdOICCDNW+rId2JNj3dY=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/highlight": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/highlight/download/@babel/highlight-7.16.0.tgz?cache=0&sync_timestamp=1635562526459&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.16.0.tgz", + "integrity": "sha1-bOsysspLj182H7f9gh4/3fShclo=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.15.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.16.4", + "resolved": "https://registry.npmmirror.com/@babel/parser/download/@babel/parser-7.16.4.tgz", + "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "dev": true + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz", + "integrity": "sha1-NYly6qsAb16wgmGDsMk8vK8T4eI=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.14.7", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.14.7.tgz", + "integrity": "sha1-eEpIw9jtBz9lrc8wtXvL9sgRms4=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.16.0.tgz", + "integrity": "sha1-wClhgmfd68coD6KG4PjKKieKLRo=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.16.0.tgz", + "integrity": "sha1-UpaULFZNgUTIPuo0fQqooLiRcOc=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.16.0.tgz", + "integrity": "sha1-eD7KYdUFJiAvmylglUU5d+iGWfE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.16.0.tgz", + "integrity": "sha1-nAHe5Auda4R7ZWqvSjl2pxdA8iI=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.16.0.tgz", + "integrity": "sha1-yuNale0dKn+inE3EFUC4SnLpqyU=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.16.0.tgz", + "integrity": "sha1-pxG4zrP/3dPviNOknobb08x9s/0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz", + "integrity": "sha1-ROHM4I/iQnSCz0RqkbtFFSjtBZY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.16.0.tgz", + "integrity": "sha1-XUGOT7v4ubfQMSXTpScwQzo3NzQ=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.16.0.tgz", + "integrity": "sha1-X7MvbZJNbmcSgQNipg4SomCYcuY=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.0", + "@babel/helper-compilation-targets": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.16.0.tgz", + "integrity": "sha1-WRAIWBGrTCiwDW6/+kqwJ00eXxY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.16.0.tgz", + "integrity": "sha1-VtvDlwglaDYI6e+1XqgsKi1sjcA=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.16.0.tgz", + "integrity": "sha1-tNr7nHF+QwHFd2sw0IDWODyJr/Y=", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.16.0.tgz", + "integrity": "sha1-aek1ssXHnSSIES2IbwxOJ5D+528=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.16.0.tgz", + "integrity": "sha1-iQSC38XqN45C4Zpx5wlyjKvxhhI=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha1-GV34mxRrS3izv4l/16JXyEZZ1AY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha1-AolkqbqA28CUyRXEh618TnpmRlo=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha1-ypHvRjA1MESLkGZSusLp/plB9pk=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-private-property-in-object/download/@babel/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha1-DcZnHsDqIrbpShEU+FeXDNOd4a0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.nlark.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha1-wc/a3DWmRiQAAfBhOCR7dBw02Uw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.16.0.tgz", + "integrity": "sha1-lRcG+LRJyDTtB71HTAkkyUS5Wo4=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.14.5.tgz", + "integrity": "sha1-cseJCE2PIJSsuUVjOUPvhEPTnmc=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.16.0.tgz", + "integrity": "sha1-xhh2MjOtAoR4BavKxMNFzp3nFF0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.16.0.tgz", + "integrity": "sha1-vPQz+0gv6MPTtOimaxxKjnfTfBY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.16.0.tgz", + "integrity": "sha1-VM9f8LIkLGVz11PNS/xwd6iygvU=", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.16.0.tgz?cache=0&sync_timestamp=1635561802239&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fhelper-annotate-as-pure%2Fdownload%2F%40babel%2Fhelper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha1-mh8OvNpT2aLQAQjEzqzmpdXx8I0=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + } + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.16.0.tgz", + "integrity": "sha1-4MOFUH0h4bCwdtZr7W1SMbhRELc=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.16.0.tgz", + "integrity": "sha1-rT1+dFhK1epOrbHmZCFGxZDe4zw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.16.0.tgz", + "integrity": "sha1-ULqwDBCEthYtClioGAMc9XeY4G8=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.16.0.tgz", + "integrity": "sha1-i8LiGBPj6J5eW/O2CqX8RYV1oXY=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.16.0.tgz", + "integrity": "sha1-oYDNKIHjUzzvnTkB5I2tD77/S+Q=", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.16.0.tgz", + "integrity": "sha1-96us7RVSYOJGE1m7x8ckispea9I=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.16.0.tgz", + "integrity": "sha1-AuNpnChMYmIjZZn3UQZcXV8fQA4=", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.16.0.tgz", + "integrity": "sha1-eXEeZw/86zG9KYIp1Q82IfeYDKw=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.16.0.tgz", + "integrity": "sha1-UlG0zOAer4MUQD0hrtsmnXn15ks=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.16.0.tgz", + "integrity": "sha1-CavUHhjc9P1HnFmMHO97056xM34=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.16.0.tgz", + "integrity": "sha1-rdWOY4yN3Eh1vZqey1xZRhP2ySI=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.16.0", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.16.0.tgz", + "integrity": "sha1-qSzyQK/rYF9MoWZwRTAkQl5CHqQ=", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.15.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.16.0.tgz", + "integrity": "sha1-GV8mwq1tajkbcIgO/84YzmJeBqc=", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.16.0.tgz", + "integrity": "sha1-09thzF1bl5hlWZZ81eqD5cMglso=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.16.0.tgz", + "integrity": "sha1-r4I6tXb3UiFaSZN3eaQcplglqzU=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.16.0.tgz", + "integrity": "sha1-+yDVgG3GSRoGKWrBTqjo1v7dpys=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.16.0" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.16.3", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.16.3.tgz?cache=0&sync_timestamp=1636495301748&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fplugin-transform-parameters%2Fdownload%2F%40babel%2Fplugin-transform-parameters-7.16.3.tgz", + "integrity": "sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.16.0.tgz", + "integrity": "sha1-qVxVIYmpagAFn2d23E4A42kMeNE=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.16.0.tgz", + "integrity": "sha1-6u5CLISwIy0Drqfbmcl97q9hJaQ=", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.16.0.tgz", + "integrity": "sha1-//S53LGeEmGTlL2hctFPLQTAN5w=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.14.5.tgz", + "integrity": "sha1-MEkdrUnGBZ+Pj6XuiJagCJ6YdSM=", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.16.0.tgz", + "integrity": "sha1-CQNy4xQffMMk7XCz2vU3nfL6OE0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.16.0.tgz", + "integrity": "sha1-0hygmbvVOrMHqGIeAZp70PQM3Ps=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.16.0.tgz", + "integrity": "sha1-w16jGgLYa+SF9qpRAYS2d6kXOP0=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.16.0.tgz", + "integrity": "sha1-qOztOo57ji1A7E7EVIpFkSYw0wI=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.16.0.tgz", + "integrity": "sha1-ixmiRMb4ydZo3Kam91Stbq0RKPI=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.16.0.tgz", + "integrity": "sha1-GjVAZLTEVmOjIzT0b6DPYQC1sfM=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.16.0.tgz", + "integrity": "sha1-KTuAlQF3yMha7eh87ygCWfuZVAI=", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/preset-env": { + "version": "7.14.8", + "resolved": "https://registry.npmmirror.com/@babel/preset-env/download/@babel/preset-env-7.14.8.tgz", + "integrity": "sha1-JUlC9cqAzKvPuyqfUkx0vKV0AFs=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.14.7", + "@babel/helper-compilation-targets": "^7.14.5", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-async-generator-functions": "^7.14.7", + "@babel/plugin-proposal-class-properties": "^7.14.5", + "@babel/plugin-proposal-class-static-block": "^7.14.5", + "@babel/plugin-proposal-dynamic-import": "^7.14.5", + "@babel/plugin-proposal-export-namespace-from": "^7.14.5", + "@babel/plugin-proposal-json-strings": "^7.14.5", + "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", + "@babel/plugin-proposal-numeric-separator": "^7.14.5", + "@babel/plugin-proposal-object-rest-spread": "^7.14.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", + "@babel/plugin-proposal-optional-chaining": "^7.14.5", + "@babel/plugin-proposal-private-methods": "^7.14.5", + "@babel/plugin-proposal-private-property-in-object": "^7.14.5", + "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.14.5", + "@babel/plugin-transform-async-to-generator": "^7.14.5", + "@babel/plugin-transform-block-scoped-functions": "^7.14.5", + "@babel/plugin-transform-block-scoping": "^7.14.5", + "@babel/plugin-transform-classes": "^7.14.5", + "@babel/plugin-transform-computed-properties": "^7.14.5", + "@babel/plugin-transform-destructuring": "^7.14.7", + "@babel/plugin-transform-dotall-regex": "^7.14.5", + "@babel/plugin-transform-duplicate-keys": "^7.14.5", + "@babel/plugin-transform-exponentiation-operator": "^7.14.5", + "@babel/plugin-transform-for-of": "^7.14.5", + "@babel/plugin-transform-function-name": "^7.14.5", + "@babel/plugin-transform-literals": "^7.14.5", + "@babel/plugin-transform-member-expression-literals": "^7.14.5", + "@babel/plugin-transform-modules-amd": "^7.14.5", + "@babel/plugin-transform-modules-commonjs": "^7.14.5", + "@babel/plugin-transform-modules-systemjs": "^7.14.5", + "@babel/plugin-transform-modules-umd": "^7.14.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", + "@babel/plugin-transform-new-target": "^7.14.5", + "@babel/plugin-transform-object-super": "^7.14.5", + "@babel/plugin-transform-parameters": "^7.14.5", + "@babel/plugin-transform-property-literals": "^7.14.5", + "@babel/plugin-transform-regenerator": "^7.14.5", + "@babel/plugin-transform-reserved-words": "^7.14.5", + "@babel/plugin-transform-shorthand-properties": "^7.14.5", + "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-sticky-regex": "^7.14.5", + "@babel/plugin-transform-template-literals": "^7.14.5", + "@babel/plugin-transform-typeof-symbol": "^7.14.5", + "@babel/plugin-transform-unicode-escapes": "^7.14.5", + "@babel/plugin-transform-unicode-regex": "^7.14.5", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.14.8", + "babel-plugin-polyfill-corejs2": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-regenerator": "^0.2.2", + "core-js-compat": "^3.15.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/@babel/preset-modules/download/@babel/preset-modules-0.1.5.tgz", + "integrity": "sha1-75Odbn8miCfhhBY43G/5VRXhFdk=", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.14.8", + "resolved": "https://registry.npmmirror.com/@babel/runtime/download/@babel/runtime-7.14.8.tgz?cache=0&sync_timestamp=1636495277831&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.8.tgz", + "integrity": "sha1-cRmlb0IQGIUmlCkLn5FICXORtEY=", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.16.3", + "resolved": "https://registry.npmmirror.com/@babel/runtime-corejs3/download/@babel/runtime-corejs3-7.16.3.tgz?cache=0&sync_timestamp=1636495298551&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fruntime-corejs3%2Fdownload%2F%40babel%2Fruntime-corejs3-7.16.3.tgz", + "integrity": "sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ==", + "dev": true, + "requires": { + "core-js-pure": "^3.19.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.14.5", + "resolved": "https://registry.npmmirror.com/@babel/template/download/@babel/template-7.14.5.tgz?cache=0&sync_timestamp=1635561799475&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.14.5.tgz", + "integrity": "sha1-qbydizM1T/blWpxg0RCSAKaJdPQ=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.14.5", + "@babel/parser": "^7.14.5", + "@babel/types": "^7.14.5" + } + }, + "@babel/traverse": { + "version": "7.16.3", + "resolved": "https://registry.npmmirror.com/@babel/traverse/download/@babel/traverse-7.16.3.tgz?cache=0&sync_timestamp=1636495280926&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.16.3.tgz", + "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/parser": "^7.16.3", + "@babel/types": "^7.16.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/generator/download/@babel/generator-7.16.0.tgz?cache=0&sync_timestamp=1635561809489&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.16.0.tgz", + "integrity": "sha1-1A89HVB15i01ALzLZ/PaqKlSZbI=", + "dev": true, + "requires": { + "@babel/types": "^7.16.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.16.0", + "resolved": "https://registry.npmmirror.com/@babel/types/download/@babel/types-7.16.0.tgz?cache=0&sync_timestamp=1635561799958&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.16.0.tgz", + "integrity": "sha1-2zsxOAT5aq3Qt3bEgj4SetZyibo=", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.15.7", + "to-fast-properties": "^2.0.0" + } + }, + "@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/@csstools/convert-colors/download/@csstools/convert-colors-1.4.0.tgz", + "integrity": "sha1-rUldxBsS511YjG24uYNPCPoTHrc=", + "dev": true + }, + "@ctrl/tinycolor": { + "version": "3.4.0", + "resolved": "https://registry.nlark.com/@ctrl/tinycolor/download/@ctrl/tinycolor-3.4.0.tgz", + "integrity": "sha1-w8WuVDyJfKqcKmhjC+01W+X5mQ8=" + }, + "@delon/abc": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/abc/download/@delon/abc-12.4.2.tgz", + "integrity": "sha512-K38WW6n7Kp5hYNrPoDfblJcPb5XF4apvbHlR76FLtkCjSpvNzRIKXi0DJJzmRchBOSHPvUYFk5EUGbgQSDe75w==", + "requires": { + "@delon/acl": "^12.4.2", + "@delon/theme": "^12.4.2", + "@delon/util": "^12.4.2", + "file-saver": "^2.0.5", + "isutf8": "^3.1.1", + "jszip": "^3.7.1", + "ngx-countdown": "^12.0.1", + "tslib": "^2.2.0", + "xlsx": "^0.17.1" + } + }, + "@delon/acl": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/acl/download/@delon/acl-12.4.2.tgz", + "integrity": "sha512-EPGwYZjZV05xZR9tRg5i1G00Zyp/VH8nO3H+Kze8fCrQsfc5tAxYXAFzpV3s003rzYQrW1mWLEge73IDVjIs1Q==", + "requires": { + "@delon/util": "^12.4.2", + "tslib": "^2.2.0" + } + }, + "@delon/auth": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/auth/download/@delon/auth-12.4.2.tgz", + "integrity": "sha512-2g+rQXrebAn5qDjM++GloPqRxVgxfy+kFcRKnpC8nOwoyIb9vDDf0sqcFUioLqugmJ7d7fGdROWCBuBWB5NMJQ==", + "requires": { + "@delon/util": "^12.4.2", + "tslib": "^2.2.0" + } + }, + "@delon/cache": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/cache/download/@delon/cache-12.4.2.tgz", + "integrity": "sha512-n9iu6lg/jdaDqRN1J3CQNz9heigH/xrHQYsHkjOWbwASA6rssP12ThvIvcuEClhKpxQrdCx6rGdg26TP1JSOvA==", + "requires": { + "@delon/util": "^12.4.2", + "tslib": "^2.2.0" + } + }, + "@delon/chart": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/chart/download/@delon/chart-12.4.2.tgz", + "integrity": "sha512-Z4lzKqEJfhePFWPSL0s2DUedOLtNj/2kcAvBqTtGW+VAzs7bYC+izIrHFNR03Qr0+DJtFeZk6kuuD2jhpfszzQ==", + "requires": { + "@antv/data-set": "^0.11.8", + "@antv/g2": "^4.1.24", + "@delon/theme": "^12.4.2", + "@delon/util": "^12.4.2", + "echarts": "^5.1.2", + "tslib": "^2.2.0" + } + }, + "@delon/form": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/form/download/@delon/form-12.4.2.tgz", + "integrity": "sha512-8/YCWqBhAdI8jGpfMrwgLDvSLtmXar9Y6iRq7eHAgD1PhF12vB4x0tIZtwU2AVWp7VOCC5ySKX003N2LYQkHTw==", + "requires": { + "@delon/acl": "^12.4.2", + "@delon/theme": "^12.4.2", + "@delon/util": "^12.4.2", + "ajv": "^8.6.2", + "ajv-formats": "^2.1.1", + "tslib": "^2.2.0" + } + }, + "@delon/mock": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/mock/download/@delon/mock-12.4.2.tgz", + "integrity": "sha512-DF1cPvajHgg09dlvzsbjWGrs3+9imMZgvytWky7K2UNhWc8Yr1240Qhq1vyDNiJMp0ZfMCqTPk9B9PBH+kxp3Q==", + "requires": { + "@delon/util": "^12.4.2", + "@types/mockjs": "^1.0.4", + "mockjs": "^1.1.0", + "tslib": "^2.2.0" + } + }, + "@delon/testing": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/testing/download/@delon/testing-12.4.2.tgz", + "integrity": "sha512-3LiUmHZMZfH/EfiYC8D1OJrHhvyhqD5n1RWQ7Fhqn8RSk7lODRU9dehiVWzJXutHkPVjktdsiOGJvJSq7wfPaw==", + "dev": true, + "requires": { + "tslib": "^2.2.0" + } + }, + "@delon/theme": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/theme/download/@delon/theme-12.4.2.tgz", + "integrity": "sha512-SV2TnUMv1rHWEJ2w9SnFCryv5HHt2Bh0nL/YpqkFw3XzB/FaOXFvKsL/iM6G/vwC5/ms6E/81STSN6sVkPEfyQ==", + "requires": { + "@delon/acl": "^12.4.2", + "@delon/util": "^12.4.2", + "ng-zorro-antd": "^12.0.1", + "tslib": "^2.2.0" + } + }, + "@delon/util": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/@delon/util/download/@delon/util-12.4.2.tgz", + "integrity": "sha512-dIF2Gkgj/XkFaAe4MGzSM5M+fyVR3BGEDfragADb3/2DiMPqMiiUPgPVi3e/cqdRuBWdkj2yMtIbI3l5aM3AeQ==", + "requires": { + "extend": "^3.0.2", + "tslib": "^2.2.0" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.3", + "resolved": "https://registry.nlark.com/@discoveryjs/json-ext/download/@discoveryjs/json-ext-0.5.3.tgz", + "integrity": "sha1-kEIPn5xtOYfxdqGafY52QnGi9V0=", + "dev": true + }, + "@es-joy/jsdoccomment": { + "version": "0.10.8", + "resolved": "https://registry.npmmirror.com/@es-joy/jsdoccomment/download/@es-joy/jsdoccomment-0.10.8.tgz", + "integrity": "sha1-sxUoh+JSRkEO1OpWmlWSbsE7KwU=", + "dev": true, + "requires": { + "comment-parser": "1.2.4", + "esquery": "^1.4.0", + "jsdoc-type-pratt-parser": "1.1.1" + }, + "dependencies": { + "jsdoc-type-pratt-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/jsdoc-type-pratt-parser/download/jsdoc-type-pratt-parser-1.1.1.tgz", + "integrity": "sha1-EP5eQJujjeIqSLVVWYlVom/wFg8=", + "dev": true + } + } + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmmirror.com/@eslint/eslintrc/download/@eslint/eslintrc-0.4.3.tgz", + "integrity": "sha1-nkKYHvA1vrPdSa3ResuW6P9vOUw=", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "globals": { + "version": "13.12.0", + "resolved": "https://registry.npmmirror.com/globals/download/globals-13.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-13.12.0.tgz", + "integrity": "sha1-TXM3YDBCMKAILtluIeXFZfiYCJ4=", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.20.2.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.20.2.tgz", + "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=", + "dev": true + } + } + }, + "@exodus/schemasafe": { + "version": "1.0.0-rc.6", + "resolved": "https://registry.npmmirror.com/@exodus/schemasafe/download/@exodus/schemasafe-1.0.0-rc.6.tgz", + "integrity": "sha1-eYX2gVZM/0/667WJbrS+IK86rno=", + "dev": true + }, + "@fullcalendar/common": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/common/download/@fullcalendar/common-5.10.1.tgz", + "integrity": "sha1-oBmVF0OFInekCV5Tb9dxb2+Fuao=", + "requires": { + "tslib": "^2.1.0" + } + }, + "@fullcalendar/core": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/core/download/@fullcalendar/core-5.10.1.tgz", + "integrity": "sha1-BcdlPlAEFJpjvLA+nciwSRhspQs=", + "requires": { + "@fullcalendar/common": "~5.10.1", + "preact": "^10.0.5", + "tslib": "^2.1.0" + } + }, + "@fullcalendar/daygrid": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/daygrid/download/@fullcalendar/daygrid-5.10.1.tgz", + "integrity": "sha1-ve5PWDZP2rYxsqv4tWCUq1d28gM=", + "requires": { + "@fullcalendar/common": "~5.10.1", + "tslib": "^2.1.0" + } + }, + "@fullcalendar/interaction": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/interaction/download/@fullcalendar/interaction-5.10.1.tgz", + "integrity": "sha1-36dLXFC71WCOtQrqtuV5yNIMs2c=", + "requires": { + "@fullcalendar/common": "~5.10.1", + "tslib": "^2.1.0" + } + }, + "@fullcalendar/list": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/list/download/@fullcalendar/list-5.10.1.tgz", + "integrity": "sha1-hQWq4JhFuC9b22JRvaD51jQu+dk=", + "requires": { + "@fullcalendar/common": "~5.10.1", + "tslib": "^2.1.0" + } + }, + "@fullcalendar/timegrid": { + "version": "5.10.1", + "resolved": "https://registry.npmmirror.com/@fullcalendar/timegrid/download/@fullcalendar/timegrid-5.10.1.tgz", + "integrity": "sha1-+n/rkJv1merBRmuecMDVbODRrvw=", + "requires": { + "@fullcalendar/common": "~5.10.1", + "@fullcalendar/daygrid": "~5.10.1", + "tslib": "^2.1.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/download/@humanwhocodes/config-array-0.5.0.tgz", + "integrity": "sha1-FAeWfUxu7Nc4j4Os8er00Mbljvk=", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/@humanwhocodes/object-schema/download/@humanwhocodes/object-schema-1.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40humanwhocodes%2Fobject-schema%2Fdownload%2F%40humanwhocodes%2Fobject-schema-1.2.1.tgz", + "integrity": "sha1-tSBSnsIdjllFoYUd/Rwy6U45/0U=", + "dev": true + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/@istanbuljs/schema/download/@istanbuljs/schema-0.1.3.tgz", + "integrity": "sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg=", + "dev": true + }, + "@jridgewell/resolve-uri": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/download/@jridgewell/resolve-uri-1.0.0.tgz", + "integrity": "sha1-P99XmPC0npAVWJb2KR3xhurAbIM=", + "dev": true + }, + "@jsdevtools/coverage-istanbul-loader": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/@jsdevtools/coverage-istanbul-loader/download/@jsdevtools/coverage-istanbul-loader-3.0.5.tgz", + "integrity": "sha1-KkvGXQJx341ENZgttK812BdU7iY=", + "dev": true, + "requires": { + "convert-source-map": "^1.7.0", + "istanbul-lib-instrument": "^4.0.3", + "loader-utils": "^2.0.0", + "merge-source-map": "^1.1.0", + "schema-utils": "^2.7.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", + "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + }, + "dependencies": { + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + } + } + }, + "@ng-util/lazy": { + "version": "11.2.0", + "resolved": "https://registry.npmmirror.com/@ng-util/lazy/download/@ng-util/lazy-11.2.0.tgz", + "integrity": "sha1-bASRAM2HQyIdK05rpo8OWaRORqo=", + "requires": { + "tslib": "^2.0.0" + } + }, + "@ng-util/util": { + "version": "11.2.0", + "resolved": "https://registry.npmmirror.com/@ng-util/util/download/@ng-util/util-11.2.0.tgz", + "integrity": "sha1-cSnnS9aO51W82M1330b2MEKlY4g=", + "requires": { + "tslib": "^2.0.0" + } + }, + "@ngtools/webpack": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@ngtools/webpack/download/@ngtools/webpack-12.2.13.tgz", + "integrity": "sha1-RNcR7fo50XWi1lWqXG+ZaN/tzDU=", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz?cache=0&sync_timestamp=1622792655677&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.scandir%2Fdownload%2F%40nodelib%2Ffs.scandir-2.1.5.tgz", + "integrity": "sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.5.tgz", + "integrity": "sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.nlark.com/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.8.tgz?cache=0&sync_timestamp=1625795692378&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.walk%2Fdownload%2F%40nodelib%2Ffs.walk-1.2.8.tgz", + "integrity": "sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@npmcli/git": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/@npmcli/git/download/@npmcli/git-2.1.0.tgz", + "integrity": "sha1-L7134UdTAkfTfzJZMNRXs+volPY=", + "dev": true, + "requires": { + "@npmcli/promise-spawn": "^1.3.2", + "lru-cache": "^6.0.0", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^6.1.1", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/@npmcli/installed-package-contents/download/@npmcli/installed-package-contents-1.0.7.tgz", + "integrity": "sha1-q3QIxhR5EblwqKviYc5RIjKj9Po=", + "dev": true, + "requires": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@npmcli/move-file/download/@npmcli/move-file-1.1.2.tgz", + "integrity": "sha1-GoLD43L3yuklPrZtclQ9a4aFxnQ=", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "@npmcli/node-gyp": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@npmcli/node-gyp/download/@npmcli/node-gyp-1.0.3.tgz", + "integrity": "sha1-qRLmN0GP/F8ts3XpO4WDdpGkOjM=", + "dev": true + }, + "@npmcli/promise-spawn": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/@npmcli/promise-spawn/download/@npmcli/promise-spawn-1.3.2.tgz", + "integrity": "sha1-QtTlao6SdPuhgNq8CupuOPKSdPU=", + "dev": true, + "requires": { + "infer-owner": "^1.0.4" + } + }, + "@npmcli/run-script": { + "version": "1.8.6", + "resolved": "https://registry.npmmirror.com/@npmcli/run-script/download/@npmcli/run-script-1.8.6.tgz", + "integrity": "sha1-GDFIAqZmCw1Lqkw6/n8a052MKLc=", + "dev": true, + "requires": { + "@npmcli/node-gyp": "^1.0.2", + "@npmcli/promise-spawn": "^1.3.2", + "node-gyp": "^7.1.0", + "read-package-json-fast": "^2.0.1" + } + }, + "@nrwl/devkit": { + "version": "12.10.0", + "resolved": "https://registry.npmmirror.com/@nrwl/devkit/download/@nrwl/devkit-12.10.0.tgz", + "integrity": "sha1-z0od+xA2ISGFVI1oKWrCbkmKQcQ=", + "dev": true, + "requires": { + "@nrwl/tao": "12.10.0", + "ejs": "^3.1.5", + "ignore": "^5.0.4", + "rxjs": "^6.5.4", + "semver": "7.3.4", + "tslib": "^2.0.0" + }, + "dependencies": { + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.4.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.4.tgz", + "integrity": "sha1-J6qn0uTKdkUvmNOt0JOnLJQ+3Jc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@nrwl/tao": { + "version": "12.10.0", + "resolved": "https://registry.npmmirror.com/@nrwl/tao/download/@nrwl/tao-12.10.0.tgz", + "integrity": "sha1-KM+72mb18QpJF98OcLlNBDNOFig=", + "dev": true, + "requires": { + "chalk": "4.1.0", + "enquirer": "~2.3.6", + "fs-extra": "^9.1.0", + "jsonc-parser": "3.0.0", + "nx": "12.10.0", + "rxjs": "^6.5.4", + "rxjs-for-await": "0.0.2", + "semver": "7.3.4", + "tmp": "~0.2.1", + "tslib": "^2.0.0", + "yargs-parser": "20.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.4.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.4.tgz", + "integrity": "sha1-J6qn0uTKdkUvmNOt0JOnLJQ+3Jc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.2.1.tgz", + "integrity": "sha1-hFf8MDfc9HGcJRNnoa9lAO4czxQ=", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "yargs-parser": { + "version": "20.0.0", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.0.0.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.0.0.tgz", + "integrity": "sha1-xlodqql3rWPOvdUhWRR7eJpOGak=", + "dev": true + } + } + }, + "@schematics/angular": { + "version": "12.2.13", + "resolved": "https://registry.npmmirror.com/@schematics/angular/download/@schematics/angular-12.2.13.tgz", + "integrity": "sha1-W/PntpmkLX/X96oSu+RTTmcecgE=", + "dev": true, + "requires": { + "@angular-devkit/core": "12.2.13", + "@angular-devkit/schematics": "12.2.13", + "jsonc-parser": "3.0.0" + } + }, + "@stylelint/postcss-css-in-js": { + "version": "0.37.2", + "resolved": "https://registry.npm.taobao.org/@stylelint/postcss-css-in-js/download/@stylelint/postcss-css-in-js-0.37.2.tgz?cache=0&sync_timestamp=1599097529607&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40stylelint%2Fpostcss-css-in-js%2Fdownload%2F%40stylelint%2Fpostcss-css-in-js-0.37.2.tgz", + "integrity": "sha1-flqErRgfQjSiSAgDQipHuHSa89I=", + "dev": true, + "requires": { + "@babel/core": ">=7.9.0" + } + }, + "@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npmmirror.com/@stylelint/postcss-markdown/download/@stylelint/postcss-markdown-0.36.2.tgz", + "integrity": "sha1-ClQMRpL43N/BPI41LBfnv+4rs5E=", + "dev": true, + "requires": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + } + }, + "@swimlane/ngx-charts": { + "version": "18.0.1", + "resolved": "https://registry.npmmirror.com/@swimlane/ngx-charts/download/@swimlane/ngx-charts-18.0.1.tgz", + "integrity": "sha1-hMmZbVpmWQ2RHI4hj/snYYgMIs8=", + "requires": { + "@types/d3-shape": "^2.0.0", + "d3-array": "^2.9.1", + "d3-brush": "^2.1.0", + "d3-color": "^2.0.0", + "d3-format": "^2.0.0", + "d3-hierarchy": "^2.0.0", + "d3-interpolate": "^2.0.1", + "d3-scale": "^3.2.3", + "d3-selection": "^2.0.0", + "d3-shape": "^2.0.0", + "d3-time-format": "^3.0.0", + "d3-transition": "^2.0.0", + "tslib": "^2.0.0" + }, + "dependencies": { + "d3-color": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-color/download/d3-color-2.0.0.tgz?cache=0&sync_timestamp=1622917832534&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-color%2Fdownload%2Fd3-color-2.0.0.tgz", + "integrity": "sha1-jWJcq0Ltm49gGhdgo4n36pGJ1i4=" + }, + "d3-hierarchy": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-hierarchy/download/d3-hierarchy-2.0.0.tgz", + "integrity": "sha1-2riKWMo+ehvGyrOQ6JZn/MbSAhg=" + }, + "d3-interpolate": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/d3-interpolate/download/d3-interpolate-2.0.1.tgz", + "integrity": "sha1-mL5JnPuKO5TU/2FpAFAaZKvJEWM=", + "requires": { + "d3-color": "1 - 2" + } + }, + "d3-shape": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/d3-shape/download/d3-shape-2.1.0.tgz?cache=0&sync_timestamp=1622917833478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-shape%2Fdownload%2Fd3-shape-2.1.0.tgz", + "integrity": "sha1-O2qCzK+8Rd5VtX/PlWxYTe07Zm8=", + "requires": { + "d3-path": "1 - 2" + } + } + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@tootallnate/once/download/@tootallnate/once-1.1.2.tgz", + "integrity": "sha1-zLkURTYBeaBOf+av94wA/8Hur4I=", + "dev": true + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/@trysound/sax/download/@trysound/sax-0.2.0.tgz", + "integrity": "sha1-zMqrdYr1Z2Hre/N69vA/Mm3XmK0=", + "dev": true + }, + "@types/component-emitter": { + "version": "1.2.11", + "resolved": "https://registry.npmmirror.com/@types/component-emitter/download/@types/component-emitter-1.2.11.tgz", + "integrity": "sha1-UNR9QrNHJTgXo5cJ/vA85moQhQY=", + "dev": true + }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/@types/cookie/download/@types/cookie-0.4.1.tgz", + "integrity": "sha1-v9AsHyIkVnZ2wVRRmfh8OoYdh40=", + "dev": true + }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmmirror.com/@types/cors/download/@types/cors-2.8.12.tgz", + "integrity": "sha1-ayxRCnrXA56Y57jT1lmPQ1nlwIA=", + "dev": true + }, + "@types/d3-path": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/@types/d3-path/download/@types/d3-path-2.0.1.tgz", + "integrity": "sha1-ygPfqLlNit2XrQzZfpbiAGtHY8s=" + }, + "@types/d3-shape": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/@types/d3-shape/download/@types/d3-shape-2.1.3.tgz", + "integrity": "sha1-NdOXueaHq6oN6CNDslC5iXuMrPM=", + "requires": { + "@types/d3-path": "^2" + } + }, + "@types/d3-timer": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/@types/d3-timer/download/@types/d3-timer-2.0.1.tgz", + "integrity": "sha1-/7ZiDSkGJPNyaqNiwMiktEyNcgA=" + }, + "@types/eslint": { + "version": "8.2.0", + "resolved": "https://registry.npmmirror.com/@types/eslint/download/@types/eslint-8.2.0.tgz", + "integrity": "sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmmirror.com/@types/eslint-scope/download/@types/eslint-scope-3.7.1.tgz", + "integrity": "sha1-jcOQp7T53Z8ShGKe/OmC5BYSEW4=", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmmirror.com/@types/estree/download/@types/estree-0.0.50.tgz", + "integrity": "sha1-Hgyqk2TT/M0pMcPtlv2+ql1MyoM=", + "dev": true + }, + "@types/file-saver": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/@types/file-saver/download/@types/file-saver-2.0.4.tgz", + "integrity": "sha512-sPZYQEIF/SOnLAvaz9lTuydniP+afBMtElRTdYkeV1QtEgvtJ7qolCPjly6O32QI8CbEmP5O/fztMXEDWfEcrg==", + "dev": true + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/@types/glob/download/@types/glob-7.2.0.tgz?cache=0&sync_timestamp=1637267477186&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.2.0.tgz", + "integrity": "sha1-vBtb86qS8lvV3TnzXFc2G9zlsus=", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/jasmine": { + "version": "3.8.2", + "resolved": "https://registry.npmmirror.com/@types/jasmine/download/@types/jasmine-3.8.2.tgz", + "integrity": "sha1-J6sKqsKVgby95XdOGEP5Dfl3B44=", + "dev": true + }, + "@types/jasminewd2": { + "version": "2.0.10", + "resolved": "https://registry.npmmirror.com/@types/jasminewd2/download/@types/jasminewd2-2.0.10.tgz", + "integrity": "sha1-rjHCN6pkIb3jDxBYsdIPRXflREM=", + "dev": true, + "requires": { + "@types/jasmine": "*" + } + }, + "@types/js-base64": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/@types/js-base64/download/@types/js-base64-3.3.1.tgz", + "integrity": "sha1-NsLW3BJid+oopNBZnQyvv1R7UeY=", + "dev": true, + "requires": { + "js-base64": "*" + } + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmmirror.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz", + "integrity": "sha1-l+3JA36gw4WFMgsolk3eOznkZg0=", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npm.taobao.org/@types/json5/download/@types/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmmirror.com/@types/mdast/download/@types/mdast-3.0.10.tgz", + "integrity": "sha1-RyQkSoKkWYiEy76bz9c9/5J+6K8=", + "dev": true, + "requires": { + "@types/unist": "*" + } + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz", + "integrity": "sha1-EAHMXmo3BLg8I2An538vWOoBD0A=", + "dev": true + }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/@types/minimist/download/@types/minimist-1.2.2.tgz", + "integrity": "sha1-7nceK6Sz3Fs3KTXVSf2WF780W4w=", + "dev": true + }, + "@types/mockjs": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/@types/mockjs/download/@types/mockjs-1.0.4.tgz", + "integrity": "sha1-5waVHV4ztPCku3Ox+LEk4m8IHeA=" + }, + "@types/node": { + "version": "12.20.37", + "resolved": "https://registry.npmmirror.com/@types/node/download/@types/node-12.20.37.tgz", + "integrity": "sha512-i1KGxqcvJaLQali+WuypQnXwcplhtNtjs66eNsZpp2P2FL/trJJxx/VWsM0YCL2iMoIJrbXje48lvIQAQ4p2ZA==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.1.tgz", + "integrity": "sha1-0zV0eaD9/dWQf+Z+F+CoXJBuEwE=", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/@types/parse-json/download/@types/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1637284065529&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fparse-json%2Fdownload%2F%40types%2Fparse-json-4.0.0.tgz", + "integrity": "sha1-L4u0QUNNFjs1+4/9zNcTiSf/uMA=", + "dev": true + }, + "@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmmirror.com/@types/q/download/@types/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", + "dev": true + }, + "@types/selenium-webdriver": { + "version": "3.0.19", + "resolved": "https://registry.npmmirror.com/@types/selenium-webdriver/download/@types/selenium-webdriver-3.0.19.tgz", + "integrity": "sha1-KOzt528VsTVTtOhgdNTPmgu+ScQ=", + "dev": true + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmmirror.com/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz?cache=0&sync_timestamp=1637284095686&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Fsource-list-map%2Fdownload%2F%40types%2Fsource-list-map-0.1.2.tgz", + "integrity": "sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk=", + "dev": true + }, + "@types/swagger-schema-official": { + "version": "2.0.21", + "resolved": "https://registry.nlark.com/@types/swagger-schema-official/download/@types/swagger-schema-official-2.0.21.tgz", + "integrity": "sha1-VoEqhtzVe6YOXFFwXulqKy3Js3Q=", + "dev": true + }, + "@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/@types/unist/download/@types/unist-2.0.6.tgz?cache=0&sync_timestamp=1637284126736&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40types%2Funist%2Fdownload%2F%40types%2Funist-2.0.6.tgz", + "integrity": "sha1-JQp7FsO5H2cqJFUuxkZ47rHToI0=", + "dev": true + }, + "@types/vfile": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/@types/vfile/download/@types/vfile-3.0.2.tgz", + "integrity": "sha1-GcGM0jLfEc5vpq2AJZvIbDZrCbk=", + "dev": true, + "requires": { + "@types/node": "*", + "@types/unist": "*", + "@types/vfile-message": "*" + } + }, + "@types/vfile-message": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/@types/vfile-message/download/@types/vfile-message-2.0.0.tgz", + "integrity": "sha1-aQ5Grw/fwfn6rgDNBJzIiJV5J9U=", + "dev": true, + "requires": { + "vfile-message": "*" + } + }, + "@types/webpack-sources": { + "version": "0.1.9", + "resolved": "https://registry.nlark.com/@types/webpack-sources/download/@types/webpack-sources-0.1.9.tgz", + "integrity": "sha1-2mmwbrNPZDLmZYrLWmiTxV2YOSA=", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.29.3.tgz", + "integrity": "sha1-lcuAKai9i9nH9KuVB0p8shFa3vo=", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.29.3", + "@typescript-eslint/scope-manager": "4.29.3", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "dependencies": { + "@typescript-eslint/experimental-utils": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.29.3.tgz", + "integrity": "sha1-UuQ3ponM3vc+g8UQazQkCnBvFeE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/typescript-estree": "4.29.3", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.29.3.tgz", + "integrity": "sha1-SX3sZvOiLkWfbjBs8UAh5A7Ibhk=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/visitor-keys": "4.29.3" + } + }, + "@typescript-eslint/types": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-4.29.3.tgz", + "integrity": "sha1-15gMSa72Q9CviVTJ8U9la3/RYBc=", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.29.3.tgz", + "integrity": "sha1-G6+tYQAVxN7TXIWnC2Ii+q1Zi0A=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/visitor-keys": "4.29.3", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.29.3.tgz", + "integrity": "sha1-xpF2CgC9hr+DINKpCpPYbTIvGr8=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "eslint-visitor-keys": "^2.0.0" + } + } + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.28.2", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.28.2.tgz", + "integrity": "sha1-Tr3sBqEIiOkybh1R2BrVKjYb0LA=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.28.2", + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/typescript-estree": "4.28.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/parser/download/@typescript-eslint/parser-4.29.3.tgz", + "integrity": "sha1-KsJVNfNMDpj1DA5rKMZ5wjV9RfI=", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/typescript-estree": "4.29.3", + "debug": "^4.3.1" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.29.3.tgz", + "integrity": "sha1-SX3sZvOiLkWfbjBs8UAh5A7Ibhk=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/visitor-keys": "4.29.3" + } + }, + "@typescript-eslint/types": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-4.29.3.tgz", + "integrity": "sha1-15gMSa72Q9CviVTJ8U9la3/RYBc=", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.29.3.tgz", + "integrity": "sha1-G6+tYQAVxN7TXIWnC2Ii+q1Zi0A=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/visitor-keys": "4.29.3", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.29.3", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.29.3.tgz", + "integrity": "sha1-xpF2CgC9hr+DINKpCpPYbTIvGr8=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.29.3", + "eslint-visitor-keys": "^2.0.0" + } + } + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.28.2", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.28.2.tgz", + "integrity": "sha1-RR3OkDA6POKDdQERSV00ycIE5RA=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2" + } + }, + "@typescript-eslint/types": { + "version": "4.28.2", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/download/@typescript-eslint/types-4.28.2.tgz", + "integrity": "sha1-5rniNODppmxNJbq4gWYekUeCI7U=", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.28.2", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.28.2.tgz", + "integrity": "sha1-aAEpsqKFKJoV58YQjIRzmt86eYw=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "@typescript-eslint/visitor-keys": "4.28.2", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.28.2", + "resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.28.2.tgz", + "integrity": "sha1-v1akAIV7totZsxHm0KX771w7UTA=", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.28.2", + "eslint-visitor-keys": "^2.0.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.11.1.tgz", + "integrity": "sha1-K/12fq4aaZb0Mv9+jX/HVnnAtqc=", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.11.1.tgz?cache=0&sync_timestamp=1625473945010&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Ffloating-point-hex-parser%2Fdownload%2F%40webassemblyjs%2Ffloating-point-hex-parser-1.11.1.tgz", + "integrity": "sha1-9sYacF8P16auyqToGY8j2dwXnk8=", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.11.1.tgz?cache=0&sync_timestamp=1625473943740&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.11.1.tgz", + "integrity": "sha1-GmMZLYeI5cASgAump6RscFKI/RY=", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.11.1.tgz", + "integrity": "sha1-gyqQDrREiEzemnytRn+BUA9eWrU=", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-numbers/download/@webassemblyjs/helper-numbers-1.11.1.tgz", + "integrity": "sha1-ZNgdohn7u6HjvRv8dPboxOEKYq4=", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha1-8ygkHkHnsZnQsgwY6IQpxEMyleE=", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.11.1.tgz?cache=0&sync_timestamp=1625473968654&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.11.1.tgz", + "integrity": "sha1-Ie4GWntjXzGec48N1zv72igcCXo=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.11.1.tgz?cache=0&sync_timestamp=1625473943048&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.11.1.tgz", + "integrity": "sha1-ljkp6bvQVwnn4SJDoJkYCBKZJhQ=", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.11.1.tgz?cache=0&sync_timestamp=1625473945849&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.11.1.tgz", + "integrity": "sha1-zoFLRVdOk9drrh+yZEq5zdlSeqU=", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.11.1.tgz?cache=0&sync_timestamp=1625473943764&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.11.1.tgz", + "integrity": "sha1-0fi3ZDaefG5rrjUOhU3smlnwo/8=", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.11.1.tgz", + "integrity": "sha1-rSBuv0v5WgWM6YgKjAksXeyBk9Y=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.11.1.tgz", + "integrity": "sha1-hsXqMEhJdZt9iMR6MvTwOa48j3Y=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.11.1.tgz", + "integrity": "sha1-ZXtMIgL0zzs0X4pMZGHIwkGJhfI=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.11.1.tgz", + "integrity": "sha1-hspzRTT0F+m9PGfHocddi+QfsZk=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.nlark.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.11.1.tgz", + "integrity": "sha1-0Mc77ajuxUJvEK6O9VzuXnCEwvA=", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", + "dev": true + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/@yarnpkg/lockfile/download/@yarnpkg/lockfile-1.1.0.tgz", + "integrity": "sha1-53qX+9NFt22DJF7c0X05OxtB+zE=", + "dev": true + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/abab/download/abab-2.0.5.tgz", + "integrity": "sha1-wLZ4+zLWD8EhnHhNaoJv44Wut5o=", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/abbrev/download/abbrev-1.1.1.tgz", + "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", + "dev": true + }, + "abs-svg-path": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/abs-svg-path/download/abs-svg-path-0.1.1.tgz", + "integrity": "sha1-32Acjo0roQ1KdtYl4japo5wnI78=" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.nlark.com/accepts/download/accepts-1.3.7.tgz", + "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-8.6.0.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/acorn-import-assertions/download/acorn-import-assertions-1.8.0.tgz?cache=0&sync_timestamp=1633349660084&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn-import-assertions%2Fdownload%2Facorn-import-assertions-1.8.0.tgz", + "integrity": "sha1-uitZOc5iwjjbbZPYHJsRGym4Vek=", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz?cache=0&sync_timestamp=1625793240297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.2.tgz", + "integrity": "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=", + "dev": true + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/adjust-sourcemap-loader/download/adjust-sourcemap-loader-4.0.0.tgz?cache=0&sync_timestamp=1603701108010&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fadjust-sourcemap-loader%2Fdownload%2Fadjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha1-/EoP0ID30QRx8wpzIPJVYK3ijJk=", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "adler-32": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/adler-32/download/adler-32-1.2.0.tgz", + "integrity": "sha1-aj5r8KY5ALoVZSgIyxXGgT0aXyU=", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmmirror.com/adm-zip/download/adm-zip-0.4.16.tgz", + "integrity": "sha1-z0xQj9/6sCwmnLx/RxqHXwVXA2U=", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.nlark.com/agent-base/download/agent-base-6.0.2.tgz", + "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", + "dev": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.1.4", + "resolved": "https://registry.npm.taobao.org/agentkeepalive/download/agentkeepalive-4.1.4.tgz?cache=0&sync_timestamp=1612490497760&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fagentkeepalive%2Fdownload%2Fagentkeepalive-4.1.4.tgz", + "integrity": "sha1-2SgCikhiyxFxjlUieHLoQqRMlFs=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/aggregate-error/download/aggregate-error-3.1.0.tgz?cache=0&sync_timestamp=1622604530325&other_urls=https%3A%2F%2Fregistry.nlark.com%2Faggregate-error%2Fdownload%2Faggregate-error-3.1.0.tgz", + "integrity": "sha1-kmcP9Q9TWb23o+DUDQ7DDFc3aHo=", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.8.2", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-8.8.2.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/ajv-errors/download/ajv-errors-1.0.1.tgz", + "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", + "dev": true + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ajv-formats/download/ajv-formats-2.1.1.tgz", + "integrity": "sha1-bmaUAGWet0lzu/LjMycYCgmWtSA=", + "requires": { + "ajv": "^8.0.0" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz", + "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/alphanum-sort/download/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/amdefine/download/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "angular-baidu-maps": { + "version": "12.0.0", + "resolved": "https://registry.nlark.com/angular-baidu-maps/download/angular-baidu-maps-12.0.0.tgz", + "integrity": "sha1-I/Sn52ggJcLJRnGdIR6eNmt6sXQ=", + "requires": { + "tslib": "^2.1.0" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.nlark.com/ansi-colors/download/ansi-colors-4.1.1.tgz", + "integrity": "sha1-y7muJWv3UK8eqzRPIpqif+lLo0g=", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.nlark.com/ansi-escapes/download/ansi-escapes-4.3.2.tgz?cache=0&sync_timestamp=1618847144938&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-escapes%2Fdownload%2Fansi-escapes-4.3.2.tgz", + "integrity": "sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4=", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.nlark.com/ansi-html/download/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz?cache=0&sync_timestamp=1617747502795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-3.1.2.tgz", + "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/aproba/download/aproba-1.2.0.tgz", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.7", + "resolved": "https://registry.nlark.com/are-we-there-yet/download/are-we-there-yet-1.1.7.tgz", + "integrity": "sha1-sVR0qTKtq0/4pQ2a36fk6SbyEUY=", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.nlark.com/arg/download/arg-4.1.3.tgz?cache=0&sync_timestamp=1629166537485&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farg%2Fdownload%2Farg-4.1.3.tgz", + "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.nlark.com/argparse/download/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmmirror.com/aria-query/download/aria-query-4.2.2.tgz?cache=0&sync_timestamp=1633308188641&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Faria-query%2Fdownload%2Faria-query-4.2.2.tgz", + "integrity": "sha1-DSymyazrVriXfp/tau1+FbvS+Ds=", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/arr-flatten/download/arr-flatten-1.1.0.tgz?cache=0&sync_timestamp=1618846805394&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farr-flatten%2Fdownload%2Farr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/arr-union/download/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-find-index/download/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/array-flatten/download/array-flatten-2.1.2.tgz", + "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", + "dev": true + }, + "array-includes": { + "version": "3.1.4", + "resolved": "https://registry.npmmirror.com/array-includes/download/array-includes-3.1.4.tgz?cache=0&sync_timestamp=1633411556939&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Farray-includes%2Fdownload%2Farray-includes-3.1.4.tgz", + "integrity": "sha1-9bSTFix2DzU5Yx8AW6K7Rqy0W6k=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/array-union/download/array-union-2.1.0.tgz", + "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz?cache=0&sync_timestamp=1622605321175&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farray-uniq%2Fdownload%2Farray-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.nlark.com/array-unique/download/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "array.prototype.flat": { + "version": "1.2.5", + "resolved": "https://registry.npmmirror.com/array.prototype.flat/download/array.prototype.flat-1.2.5.tgz", + "integrity": "sha1-B+CXXYS7x8SM0YedYJ5oJZjTPhM=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/arrify/download/arrify-1.0.1.tgz?cache=0&sync_timestamp=1619599497996&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farrify%2Fdownload%2Farrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmmirror.com/asn1/download/asn1-0.2.6.tgz?cache=0&sync_timestamp=1635986760581&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fasn1%2Fdownload%2Fasn1-0.2.6.tgz", + "integrity": "sha1-DTp7tuZOAqkMAwOzHykoaOoJoI0=", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/assert-plus/download/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/astral-regex/download/astral-regex-2.0.0.tgz", + "integrity": "sha1-SDFDxWeu7UeFdZwIZXhtx319LjE=", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/async/download/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/async-limiter/download/async-limiter-1.0.1.tgz", + "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/at-least-node/download/at-least-node-1.0.0.tgz", + "integrity": "sha1-YCzUtG6EStTv/JKoARo8RuAjjcI=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", + "dev": true + }, + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmmirror.com/autoprefixer/download/autoprefixer-9.8.8.tgz?cache=0&sync_timestamp=1635421245353&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.8.tgz", + "integrity": "sha1-/UvUWVOF+m8GWZ3nSaTV96R0lXo=", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604101244098&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz", + "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=", + "dev": true + }, + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmmirror.com/axios/download/axios-0.21.4.tgz?cache=0&sync_timestamp=1635213960429&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Faxios%2Fdownload%2Faxios-0.21.4.tgz", + "integrity": "sha1-xnuQ3AVo5cHPKwuFjEO6KOLtpXU=", + "dev": true, + "requires": { + "follow-redirects": "^1.14.0" + } + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/axobject-query/download/axobject-query-2.2.0.tgz?cache=0&sync_timestamp=1633307441530&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Faxobject-query%2Fdownload%2Faxobject-query-2.2.0.tgz", + "integrity": "sha1-lD1H4QwLcEqkInXiDt83ImSJib4=", + "dev": true + }, + "babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npmmirror.com/babel-loader/download/babel-loader-8.2.2.tgz?cache=0&sync_timestamp=1634769717079&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.2.2.tgz", + "integrity": "sha1-k2POhMEMmkDmx1N0jhRBtgyKC4E=", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1636687869321&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.nlark.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz?cache=0&sync_timestamp=1618847141951&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-dynamic-import-node%2Fdownload%2Fbabel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.3.tgz?cache=0&sync_timestamp=1636799838015&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-corejs2%2Fdownload%2Fbabel-plugin-polyfill-corejs2-0.2.3.tgz", + "integrity": "sha1-btjjCYGwYvj+asqIc6N+vMjMHA8=", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.4", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.5", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.2.5.tgz?cache=0&sync_timestamp=1636799836766&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.2.5.tgz", + "integrity": "sha1-J3mEahahZSJEriaLHpBq2hB/r5I=", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.2", + "core-js-compat": "^3.16.2" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.3.tgz?cache=0&sync_timestamp=1636799764770&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-plugin-polyfill-regenerator%2Fdownload%2Fbabel-plugin-polyfill-regenerator-0.2.3.tgz", + "integrity": "sha1-LpgI9QJ8QzbJlJkrSKQmJYDLjW0=", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.4" + } + }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/bail/download/bail-1.0.5.tgz?cache=0&sync_timestamp=1636274515578&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbail%2Fdownload%2Fbail-1.0.5.tgz", + "integrity": "sha1-tvoTNASjksvB+MS/Y/WVM1Hnp3Y=", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.2.tgz", + "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/base64-arraybuffer/download/base64-arraybuffer-1.0.1.tgz?cache=0&sync_timestamp=1628588917496&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbase64-arraybuffer%2Fdownload%2Fbase64-arraybuffer-1.0.1.tgz", + "integrity": "sha1-h70TUlYm20qYOOAKUIwrc+/PNIw=", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz", + "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=", + "dev": true + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/base64id/download/base64id-2.0.0.tgz", + "integrity": "sha1-J3Csa8R9MSr5eov5pjQ0LgzSXLY=", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz", + "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/bl/download/bl-4.1.0.tgz?cache=0&sync_timestamp=1617381897308&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbl%2Fdownload%2Fbl-4.1.0.tgz", + "integrity": "sha1-RRU1JkGCvsL7vIOmKrmM8R2fezo=", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/blocking-proxy/download/blocking-proxy-1.0.1.tgz", + "integrity": "sha1-gdb9H+E6TA1pV99/kbdemNrEDLI=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.nlark.com/body-parser/download/body-parser-1.19.0.tgz", + "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/bytes/download/bytes-3.1.0.tgz?cache=0&sync_timestamp=1637015110760&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.nlark.com/bonjour/download/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/boolbase/download/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", + "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.18.1", + "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-4.18.1.tgz", + "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001280", + "electron-to-chromium": "^1.3.896", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + } + }, + "browserstack": { + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/browserstack/download/browserstack-1.6.1.tgz", + "integrity": "sha1-4FH5cz7DtQdlnzlcekdlobHjWLM=", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" + }, + "dependencies": { + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/agent-base/download/agent-base-4.3.0.tgz", + "integrity": "sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4=", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.nlark.com/https-proxy-agent/download/https-proxy-agent-2.2.4.tgz", + "integrity": "sha1-TuenN6vZJniik9mzShr00NCMeHs=", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + } + } + }, + "btoa": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/btoa/download/btoa-1.2.1.tgz", + "integrity": "sha1-AamQn4ssk/a/aAuiYTHrMPf6PXM=", + "dev": true + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.nlark.com/buffer/download/buffer-5.7.1.tgz", + "integrity": "sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA=", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz", + "integrity": "sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/buffer-indexof/download/buffer-indexof-1.1.1.tgz", + "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", + "dev": true + }, + "builtins": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/builtins/download/builtins-1.0.3.tgz", + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/bytes/download/bytes-3.0.0.tgz?cache=0&sync_timestamp=1637015110760&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbytes%2Fdownload%2Fbytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "15.2.0", + "resolved": "https://registry.nlark.com/cacache/download/cacache-15.2.0.tgz", + "integrity": "sha1-c69193xY5y2MYwp6KFjLGO9SM4k=", + "dev": true, + "requires": { + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/cache-base/download/cache-base-1.0.1.tgz?cache=0&sync_timestamp=1636237266442&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcache-base%2Fdownload%2Fcache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz", + "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/caller-callsite/download/caller-callsite-2.0.0.tgz?cache=0&sync_timestamp=1633617041481&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaller-callsite%2Fdownload%2Fcaller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/callsites/download/callsites-2.0.0.tgz?cache=0&sync_timestamp=1628464722297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcallsites%2Fdownload%2Fcallsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/caller-path/download/caller-path-2.0.0.tgz?cache=0&sync_timestamp=1633674209796&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaller-path%2Fdownload%2Fcaller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz?cache=0&sync_timestamp=1628464722297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcallsites%2Fdownload%2Fcallsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz?cache=0&sync_timestamp=1633332959770&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-6.2.2.tgz", + "integrity": "sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz", + "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001283", + "resolved": "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001283.tgz", + "integrity": "sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==", + "dev": true + }, + "canonical-path": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/canonical-path/download/canonical-path-1.0.0.tgz", + "integrity": "sha1-/LRwwjlY3vhQgYVr56hukE8YDR0=", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "ccount": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/ccount/download/ccount-1.1.0.tgz", + "integrity": "sha1-JGaH3rtgFHNRMb6KurLZOJj40EM=", + "dev": true + }, + "cfb": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/cfb/download/cfb-1.2.1.tgz", + "integrity": "sha1-IJQp5MaO/TBkH2/HSy1gKL0gJAI=", + "requires": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0", + "printj": "~1.3.0" + }, + "dependencies": { + "adler-32": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/adler-32/download/adler-32-1.3.0.tgz", + "integrity": "sha1-PK0bcc36afbIqR8+NhXTGk/e3HI=", + "requires": { + "printj": "~1.2.2" + }, + "dependencies": { + "printj": { + "version": "1.2.3", + "resolved": "https://registry.nlark.com/printj/download/printj-1.2.3.tgz", + "integrity": "sha1-LPsrGSoeU4XbvltGZYrDSqgoUIo=" + } + } + }, + "printj": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/printj/download/printj-1.3.0.tgz", + "integrity": "sha1-kBipGKeQ5DcH8QYl1uEBh6Nnz/Y=" + } + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/character-entities/download/character-entities-1.2.4.tgz?cache=0&sync_timestamp=1635869177182&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcharacter-entities%2Fdownload%2Fcharacter-entities-1.2.4.tgz", + "integrity": "sha1-4Sw5Obfq9OWxXnrUxeKOHUjFsWs=", + "dev": true + }, + "character-entities-html4": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/character-entities-html4/download/character-entities-html4-1.1.4.tgz", + "integrity": "sha1-DmSwo3U92/H9wETF/QHQGZoC4SU=", + "dev": true + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/character-entities-legacy/download/character-entities-legacy-1.1.4.tgz?cache=0&sync_timestamp=1635911795757&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcharacter-entities-legacy%2Fdownload%2Fcharacter-entities-legacy-1.1.4.tgz", + "integrity": "sha1-lLwYRdznClu50uzHSHJWYSk9j8E=", + "dev": true + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/character-reference-invalid/download/character-reference-invalid-1.1.4.tgz?cache=0&sync_timestamp=1636446246852&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcharacter-reference-invalid%2Fdownload%2Fcharacter-reference-invalid-1.1.4.tgz", + "integrity": "sha1-CDMpzaDq4nKrPbvzfpo4LBOvFWA=", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1634639141514&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz", + "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=", + "dev": true + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmmirror.com/chokidar/download/chokidar-3.5.2.tgz", + "integrity": "sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-2.0.0.tgz", + "integrity": "sha1-Fb++U9LqtM9w8YqM1o6+Wzyx3s4=", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz", + "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=", + "dev": true + }, + "circular-dependency-plugin": { + "version": "5.2.2", + "resolved": "https://registry.npm.taobao.org/circular-dependency-plugin/download/circular-dependency-plugin-5.2.2.tgz", + "integrity": "sha1-Oeg2B52x088vmI3EjFGIpEBYtgA=", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.nlark.com/class-utils/download/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "3.4.28", + "resolved": "https://registry.npmmirror.com/clean-css/download/clean-css-3.4.28.tgz?cache=0&sync_timestamp=1634992314911&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fclean-css%2Fdownload%2Fclean-css-3.4.28.tgz", + "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", + "dev": true, + "requires": { + "commander": "2.8.x", + "source-map": "0.4.x" + }, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/commander/download/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "dev": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/clean-stack/download/clean-stack-2.2.0.tgz?cache=0&sync_timestamp=1622605328444&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fclean-stack%2Fdownload%2Fclean-stack-2.2.0.tgz", + "integrity": "sha1-7oRy27Ep5yezHooQpCfe6d/kAIs=", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/cli-cursor/download/cli-cursor-3.1.0.tgz?cache=0&sync_timestamp=1629747506749&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcli-cursor%2Fdownload%2Fcli-cursor-3.1.0.tgz", + "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmmirror.com/cli-spinners/download/cli-spinners-2.6.1.tgz?cache=0&sync_timestamp=1633109609172&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcli-spinners%2Fdownload%2Fcli-spinners-2.6.1.tgz", + "integrity": "sha1-rclU6+KBw3pjGb+kAebdJIj/tw0=", + "dev": true + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/cli-truncate/download/cli-truncate-2.1.0.tgz", + "integrity": "sha1-w54ovwXtzeW+O5iZKiLe7Vork8c=", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-3.0.0.tgz", + "integrity": "sha1-Md3BCTCht+C2ewjJbC9Jt3p4l4c=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + } + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/cli-width/download/cli-width-3.0.0.tgz", + "integrity": "sha1-ovSEN6LKqaIkNueUvwceyeYc7fY=", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/cliui/download/cliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/clone-deep/download/clone-deep-4.0.1.tgz", + "integrity": "sha1-wZ/Zvbv4WUK0/ZechNz31fB8I4c=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/clone-regexp/download/clone-regexp-2.2.0.tgz?cache=0&sync_timestamp=1617892092032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclone-regexp%2Fdownload%2Fclone-regexp-2.2.0.tgz", + "integrity": "sha1-fWXgCIXNh5ZAXDWnN+eoa3Qp428=", + "dev": true, + "requires": { + "is-regexp": "^2.0.0" + }, + "dependencies": { + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-2.1.0.tgz", + "integrity": "sha1-zXNKVoZOI7lWv058ZsOWpMCyLC0=", + "dev": true + } + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/code-point-at/download/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "codepage": { + "version": "1.15.0", + "resolved": "https://registry.nlark.com/codepage/download/codepage-1.15.0.tgz?cache=0&sync_timestamp=1627596487574&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcodepage%2Fdownload%2Fcodepage-1.15.0.tgz", + "integrity": "sha1-LgBRkCSzlCTsZu6z7AcifmkmGKs=" + }, + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/collapse-white-space/download/collapse-white-space-1.0.6.tgz?cache=0&sync_timestamp=1615197514795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcollapse-white-space%2Fdownload%2Fcollapse-white-space-1.0.6.tgz", + "integrity": "sha1-5jYpwAFmZXkgYNu+t5xCI50sUoc=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/collection-visit/download/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colord": { + "version": "2.9.1", + "resolved": "https://registry.npmmirror.com/colord/download/colord-2.9.1.tgz?cache=0&sync_timestamp=1634659871445&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcolord%2Fdownload%2Fcolord-2.9.1.tgz", + "integrity": "sha1-yWHqDv61fJ8PSDRFjybLnMSj+Q4=", + "dev": true + }, + "colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/colorette/download/colorette-1.4.0.tgz", + "integrity": "sha1-UZD7uHJ2JZqGrXAL/yxtb6o/ykA=", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/colors/download/colors-1.4.0.tgz", + "integrity": "sha1-xQSRR51MG9rtLJztMs98fcI2D3g=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.nlark.com/combined-stream/download/combined-stream-1.0.8.tgz", + "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmmirror.com/commander/download/commander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" + }, + "comment-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/comment-parser/download/comment-parser-1.2.4.tgz?cache=0&sync_timestamp=1637132117502&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcomment-parser%2Fdownload%2Fcomment-parser-1.2.4.tgz", + "integrity": "sha1-SJ8+5V39GEpuS/+zG6uihEU8t2A=", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/component-emitter/download/component-emitter-1.3.0.tgz", + "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz", + "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz", + "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.nlark.com/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.nlark.com/connect/download/connect-3.7.0.tgz?cache=0&sync_timestamp=1618847040246&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconnect%2Fdownload%2Fconnect-3.7.0.tgz", + "integrity": "sha1-XUk0iRDKpeB6AYALAw0MNfIEhPg=", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.nlark.com/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz?cache=0&sync_timestamp=1618847040596&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconnect-history-api-fallback%2Fdownload%2Fconnect-history-api-fallback-1.6.0.tgz", + "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", + "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz?cache=0&sync_timestamp=1624045508580&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.8.0.tgz", + "integrity": "sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz", + "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.nlark.com/cookie-signature/download/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-anything": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/copy-anything/download/copy-anything-2.0.3.tgz", + "integrity": "sha1-hCQHugJGaw34RIGbvjuuu+XUXYc=", + "dev": true, + "requires": { + "is-what": "^3.12.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/copy-webpack-plugin/download/copy-webpack-plugin-9.0.1.tgz?cache=0&sync_timestamp=1637161330355&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-9.0.1.tgz", + "integrity": "sha1-tx0hmRWZ9hpO4AunkIe4uiebu1k=", + "dev": true, + "requires": { + "fast-glob": "^3.2.5", + "glob-parent": "^6.0.0", + "globby": "^11.0.3", + "normalize-path": "^3.0.0", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "core-js": { + "version": "3.16.0", + "resolved": "https://registry.npmmirror.com/core-js/download/core-js-3.16.0.tgz", + "integrity": "sha1-HUb7M3ILwfp/kNIEMfNqVUCFiYY=", + "dev": true + }, + "core-js-compat": { + "version": "3.19.1", + "resolved": "https://registry.npmmirror.com/core-js-compat/download/core-js-compat-3.19.1.tgz?cache=0&sync_timestamp=1635883123462&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcore-js-compat%2Fdownload%2Fcore-js-compat-3.19.1.tgz", + "integrity": "sha1-/lmPGpvzcxDXfDgTlo6ffHu5lHY=", + "dev": true, + "requires": { + "browserslist": "^4.17.6", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz", + "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44=", + "dev": true + } + } + }, + "core-js-pure": { + "version": "3.19.1", + "resolved": "https://registry.npmmirror.com/core-js-pure/download/core-js-pure-3.19.1.tgz?cache=0&sync_timestamp=1635883214117&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcore-js-pure%2Fdownload%2Fcore-js-pure-3.19.1.tgz", + "integrity": "sha1-7f/B/HY0AApVugXpWz8P6Vh6WqQ=", + "dev": true + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.3.tgz", + "integrity": "sha1-pgQtNjTCsn6TKPg3uWX6yDgI24U=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npm.taobao.org/cors/download/cors-2.8.5.tgz", + "integrity": "sha1-6sEdpRWS3Ya58G9uesKTs9+HXSk=", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.nlark.com/cosmiconfig/download/cosmiconfig-7.0.1.tgz", + "integrity": "sha1-cU11ZSLKzoZ4Z8y0R0xdAbuuXW0=", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "crc-32": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/crc-32/download/crc-32-1.2.0.tgz", + "integrity": "sha1-yy224puIUI4y2d0OwWk+e0Ghggg=", + "requires": { + "exit-on-epipe": "~1.0.1", + "printj": "~1.1.0" + } + }, + "critters": { + "version": "0.0.12", + "resolved": "https://registry.npmmirror.com/critters/download/critters-0.0.12.tgz", + "integrity": "sha1-MrqodSbgU6QbZ+GZIWc+2SJk4qs=", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "css-select": "^4.1.3", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.nlark.com/parse5/download/parse5-6.0.1.tgz", + "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", + "dev": true + }, + "postcss": { + "version": "8.4.1", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-8.4.1.tgz", + "integrity": "sha512-WqLs/TTzXdG+/A4ZOOK9WDZiikrRaiA+eoEb/jz2DT9KUhMNHgP7yKPO8vwi62ZCsb703Gwb7BMZwDzI54Y2Ag==", + "dev": true, + "requires": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/css/download/css-2.2.4.tgz", + "integrity": "sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/css-blank-pseudo/download/css-blank-pseudo-0.1.4.tgz?cache=0&sync_timestamp=1631804332345&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-blank-pseudo%2Fdownload%2Fcss-blank-pseudo-0.1.4.tgz", + "integrity": "sha1-3979MlS/ioICeZNnTM81SDv8s8U=", + "dev": true, + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-declaration-sorter": { + "version": "6.1.3", + "resolved": "https://registry.nlark.com/css-declaration-sorter/download/css-declaration-sorter-6.1.3.tgz", + "integrity": "sha1-6YUuTPlAunn1CdlCWxN9H5RDjcI=", + "dev": true, + "requires": { + "timsort": "^0.3.0" + } + }, + "css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.nlark.com/css-has-pseudo/download/css-has-pseudo-0.10.0.tgz", + "integrity": "sha1-PGQqs0yiQsWcQaEl35EFhB9pZu4=", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/cssesc/download/cssesc-2.0.0.tgz", + "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM=", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz", + "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/css-loader/download/css-loader-6.2.0.tgz?cache=0&sync_timestamp=1635967924209&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcss-loader%2Fdownload%2Fcss-loader-6.2.0.tgz", + "integrity": "sha1-lmPZRDhB3pV6PLm86i7aZbM3cHE=", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "semver": "^7.3.5" + } + }, + "css-minimizer-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/css-minimizer-webpack-plugin/download/css-minimizer-webpack-plugin-3.0.2.tgz", + "integrity": "sha1-j6298QEoy0Aie/8nWku0dBJTQkU=", + "dev": true, + "requires": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "p-limit": "^3.0.2", + "postcss": "^8.3.5", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-parse": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/css-parse/download/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true, + "requires": { + "css": "^2.0.0" + } + }, + "css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/css-prefers-color-scheme/download/css-prefers-color-scheme-3.1.1.tgz?cache=0&sync_timestamp=1631886210994&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-prefers-color-scheme%2Fdownload%2Fcss-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha1-b4MKJxQZnU8NDQu4onkW7WXP8fQ=", + "dev": true, + "requires": { + "postcss": "^7.0.5" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.nlark.com/css-select/download/css-select-4.1.3.tgz?cache=0&sync_timestamp=1622994276976&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-select%2Fdownload%2Fcss-select-4.1.3.tgz", + "integrity": "sha1-pwRA9wMX8maRGK10/xBeZYSccGc=", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/css-tree/download/css-tree-1.1.3.tgz", + "integrity": "sha1-60hw+2/XcHMn7JXC/yqwm16NuR0=", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/css-what/download/css-what-5.1.0.tgz", + "integrity": "sha1-P3tweq32M7r2LCzrhXm1RbtA9/4=", + "dev": true + }, + "cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npm.taobao.org/cssdb/download/cssdb-4.4.0.tgz", + "integrity": "sha1-O/LypowQ9cagir2SN4Mx7oA83bA=", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/cssesc/download/cssesc-3.0.0.tgz", + "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", + "dev": true + }, + "cssnano": { + "version": "5.0.11", + "resolved": "https://registry.npmmirror.com/cssnano/download/cssnano-5.0.11.tgz?cache=0&sync_timestamp=1637085734194&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcssnano%2Fdownload%2Fcssnano-5.0.11.tgz", + "integrity": "sha512-5SHM31NAAe29jvy0MJqK40zZ/8dGlnlzcfHKw00bWMVFp8LWqtuyPSFwbaoIoxvt71KWJOfg8HMRGrBR3PExCg==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.1.7", + "is-resolvable": "^1.1.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.1.7", + "resolved": "https://registry.npmmirror.com/cssnano-preset-default/download/cssnano-preset-default-5.1.7.tgz?cache=0&sync_timestamp=1637084922741&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcssnano-preset-default%2Fdownload%2Fcssnano-preset-default-5.1.7.tgz", + "integrity": "sha512-bWDjtTY+BOqrqBtsSQIbN0RLGD2Yr2CnecpP0ydHNafh9ZUEre8c8VYTaH9FEbyOt0eIfEUAYYk5zj92ioO8LA==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^2.0.1", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.2.1", + "postcss-convert-values": "^5.0.2", + "postcss-discard-comments": "^5.0.1", + "postcss-discard-duplicates": "^5.0.1", + "postcss-discard-empty": "^5.0.1", + "postcss-discard-overridden": "^5.0.1", + "postcss-merge-longhand": "^5.0.4", + "postcss-merge-rules": "^5.0.3", + "postcss-minify-font-values": "^5.0.1", + "postcss-minify-gradients": "^5.0.3", + "postcss-minify-params": "^5.0.2", + "postcss-minify-selectors": "^5.1.0", + "postcss-normalize-charset": "^5.0.1", + "postcss-normalize-display-values": "^5.0.1", + "postcss-normalize-positions": "^5.0.1", + "postcss-normalize-repeat-style": "^5.0.1", + "postcss-normalize-string": "^5.0.1", + "postcss-normalize-timing-functions": "^5.0.1", + "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-url": "^5.0.3", + "postcss-normalize-whitespace": "^5.0.1", + "postcss-ordered-values": "^5.0.2", + "postcss-reduce-initial": "^5.0.1", + "postcss-reduce-transforms": "^5.0.1", + "postcss-svgo": "^5.0.3", + "postcss-unique-selectors": "^5.0.2" + } + }, + "cssnano-utils": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/cssnano-utils/download/cssnano-utils-2.0.1.tgz", + "integrity": "sha1-hmCqKzfthp0uLyKRgZapqLZJjOI=", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.2.0.tgz?cache=0&sync_timestamp=1606408777341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.2.0.tgz", + "integrity": "sha1-6jpWE0bo3J9UbW/r7dUBh884lSk=", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "csstype": { + "version": "3.0.10", + "resolved": "https://registry.npmmirror.com/csstype/download/csstype-3.0.10.tgz?cache=0&sync_timestamp=1637224507298&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcsstype%2Fdownload%2Fcsstype-3.0.10.tgz", + "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/custom-event/download/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "dev": true + }, + "d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmmirror.com/d3-array/download/d3-array-2.12.1.tgz", + "integrity": "sha1-4gtBqvzf/fXVCSgATs7PgVpGXoE=", + "requires": { + "internmap": "^1.0.0" + } + }, + "d3-brush": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/d3-brush/download/d3-brush-2.1.0.tgz", + "integrity": "sha1-ra37sQTok3rxQumm4gKDJvBHEGU=", + "requires": { + "d3-dispatch": "1 - 2", + "d3-drag": "2", + "d3-interpolate": "1 - 2", + "d3-selection": "2", + "d3-transition": "2" + } + }, + "d3-collection": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/d3-collection/download/d3-collection-1.0.7.tgz", + "integrity": "sha1-NJvSqpl32wcQkcExRNXk8WtbMQ4=" + }, + "d3-color": { + "version": "1.4.1", + "resolved": "https://registry.nlark.com/d3-color/download/d3-color-1.4.1.tgz?cache=0&sync_timestamp=1622917832534&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-color%2Fdownload%2Fd3-color-1.4.1.tgz", + "integrity": "sha1-xSACv4hGraRCTVXZeYL+8m6zvIo=" + }, + "d3-composite-projections": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/d3-composite-projections/download/d3-composite-projections-1.4.0.tgz", + "integrity": "sha1-J7GC+mNaWGk0n+kRzgGAuXTRfxI=", + "requires": { + "d3-geo": "^2.0.1", + "d3-path": "^2.0.0" + }, + "dependencies": { + "d3-geo": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/d3-geo/download/d3-geo-2.0.2.tgz", + "integrity": "sha1-wGXBtx/oxfG+ZX5fQ9m90BA4PEA=", + "requires": { + "d3-array": "^2.5.0" + } + } + } + }, + "d3-dispatch": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-dispatch/download/d3-dispatch-2.0.0.tgz?cache=0&sync_timestamp=1622918261265&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-dispatch%2Fdownload%2Fd3-dispatch-2.0.0.tgz", + "integrity": "sha1-ihjhb3bdP8rvQhY8l7kmqptV588=" + }, + "d3-drag": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-drag/download/d3-drag-2.0.0.tgz", + "integrity": "sha1-nq8EbOntHCXIhmGRHB1aTY636m0=", + "requires": { + "d3-dispatch": "1 - 2", + "d3-selection": "2" + } + }, + "d3-dsv": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/d3-dsv/download/d3-dsv-1.2.0.tgz", + "integrity": "sha1-nV91w6X4q9YR900/WEew1DOLiFw=", + "requires": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + } + }, + "d3-ease": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/d3-ease/download/d3-ease-1.0.7.tgz", + "integrity": "sha1-moNIkO+LiujFWLL+Vb1X9Zk7heI=" + }, + "d3-format": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-format/download/d3-format-2.0.0.tgz", + "integrity": "sha1-oQvMD5hsNytym6RHOCQTqr9bB2c=" + }, + "d3-geo": { + "version": "1.6.4", + "resolved": "https://registry.nlark.com/d3-geo/download/d3-geo-1.6.4.tgz", + "integrity": "sha1-8g4eRhyxhF9ai+Vatvh2VCp+MZk=", + "requires": { + "d3-array": "1" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/download/d3-array-1.2.4.tgz", + "integrity": "sha1-Y1zk1e6nWfb2BYY9vPww7cc39x8=" + } + } + }, + "d3-geo-projection": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/d3-geo-projection/download/d3-geo-projection-2.1.2.tgz", + "integrity": "sha1-ffjh6dBG1jHGUJ9+UxNX1K3CSqM=", + "requires": { + "commander": "2", + "d3-array": "1", + "d3-geo": "^1.1.0" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/download/d3-array-1.2.4.tgz", + "integrity": "sha1-Y1zk1e6nWfb2BYY9vPww7cc39x8=" + } + } + }, + "d3-hexjson": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/d3-hexjson/download/d3-hexjson-1.1.1.tgz?cache=0&sync_timestamp=1605174916023&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fd3-hexjson%2Fdownload%2Fd3-hexjson-1.1.1.tgz", + "integrity": "sha1-oeJk/5A7sJuPj0vFnHJEepH0YP4=", + "requires": { + "d3-array": "1" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/download/d3-array-1.2.4.tgz", + "integrity": "sha1-Y1zk1e6nWfb2BYY9vPww7cc39x8=" + } + } + }, + "d3-hierarchy": { + "version": "1.1.9", + "resolved": "https://registry.nlark.com/d3-hierarchy/download/d3-hierarchy-1.1.9.tgz", + "integrity": "sha1-L2vuJMqupD+Nw3VF+gFihVlkeoM=" + }, + "d3-interpolate": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/d3-interpolate/download/d3-interpolate-1.4.0.tgz", + "integrity": "sha1-Um554tgNqjg/ngwcHH3MDwWD6Yc=", + "requires": { + "d3-color": "1" + } + }, + "d3-path": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-path/download/d3-path-2.0.0.tgz?cache=0&sync_timestamp=1622917833000&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-path%2Fdownload%2Fd3-path-2.0.0.tgz", + "integrity": "sha1-VdhqwTGgVIra4kHuv7VrRYLdCdg=" + }, + "d3-sankey": { + "version": "0.9.1", + "resolved": "https://registry.nlark.com/d3-sankey/download/d3-sankey-0.9.1.tgz", + "integrity": "sha1-uFAUWjKEERY23eyQ39qMZJGb7k4=", + "requires": { + "d3-array": "1", + "d3-collection": "1", + "d3-shape": "^1.2.0" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/download/d3-array-1.2.4.tgz", + "integrity": "sha1-Y1zk1e6nWfb2BYY9vPww7cc39x8=" + } + } + }, + "d3-scale": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/d3-scale/download/d3-scale-3.3.0.tgz", + "integrity": "sha1-KMYAsp9H5bnNLfl0nCBnJ5ZiA/M=", + "requires": { + "d3-array": "^2.3.0", + "d3-format": "1 - 2", + "d3-interpolate": "1.2.0 - 2", + "d3-time": "^2.1.1", + "d3-time-format": "2 - 3" + } + }, + "d3-selection": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-selection/download/d3-selection-2.0.0.tgz", + "integrity": "sha1-lKEWOOohQbdWX4g3gNq8fvamEGY=" + }, + "d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.nlark.com/d3-shape/download/d3-shape-1.3.7.tgz?cache=0&sync_timestamp=1622917833478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-shape%2Fdownload%2Fd3-shape-1.3.7.tgz", + "integrity": "sha1-32OAG+B7yYa8VPY3ibT+UCmStdc=", + "requires": { + "d3-path": "1" + }, + "dependencies": { + "d3-path": { + "version": "1.0.9", + "resolved": "https://registry.nlark.com/d3-path/download/d3-path-1.0.9.tgz?cache=0&sync_timestamp=1622917833000&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-path%2Fdownload%2Fd3-path-1.0.9.tgz", + "integrity": "sha1-SMBQux/owmJJOoyvVSTj6VkXAc8=" + } + } + }, + "d3-time": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/d3-time/download/d3-time-2.1.1.tgz?cache=0&sync_timestamp=1622916838153&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fd3-time%2Fdownload%2Fd3-time-2.1.1.tgz", + "integrity": "sha1-6dioqIaR9FSOaMoIXl/5VnJKZoI=", + "requires": { + "d3-array": "2" + } + }, + "d3-time-format": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/d3-time-format/download/d3-time-format-3.0.0.tgz", + "integrity": "sha1-34BWyDZZ4B8grF2l/ernwI1fG7Y=", + "requires": { + "d3-time": "1 - 2" + } + }, + "d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.nlark.com/d3-timer/download/d3-timer-1.0.10.tgz", + "integrity": "sha1-3+dripF0iDGxO22ceT/71QjdneU=" + }, + "d3-transition": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/d3-transition/download/d3-transition-2.0.0.tgz", + "integrity": "sha1-Nm73DCLviNHjQQX1B1FpkaKRyUw=", + "requires": { + "d3-color": "1 - 2", + "d3-dispatch": "1 - 2", + "d3-ease": "1 - 2", + "d3-interpolate": "1 - 2", + "d3-timer": "1 - 2" + } + }, + "d3-voronoi": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/d3-voronoi/download/d3-voronoi-1.1.4.tgz", + "integrity": "sha1-3Tx412U9K7NZKErkeGRdlZRMgpc=" + }, + "dagre": { + "version": "0.8.5", + "resolved": "https://registry.nlark.com/dagre/download/dagre-0.8.5.tgz", + "integrity": "sha1-ujCwBV2sErbB/MJHgXRCd30Gr+4=", + "requires": { + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073454623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-fns": { + "version": "2.26.0", + "resolved": "https://registry.npmmirror.com/date-fns/download/date-fns-2.26.0.tgz?cache=0&sync_timestamp=1637308994584&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdate-fns%2Fdownload%2Fdate-fns-2.26.0.tgz", + "integrity": "sha512-VQI812dRi3cusdY/fhoBKvc6l2W8BPWU1FNVnFH9Nttjx4AFBRzfSVb/Eyc7jBT6e9sg1XtAGsYpBQ6c/jygbg==" + }, + "date-format": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/date-format/download/date-format-3.0.0.tgz", + "integrity": "sha1-64eANlx9KxURB4+0keZHl4DzrZU=", + "dev": true + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmmirror.com/debug/download/debug-4.3.2.tgz", + "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1633055756574&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/decamelize-keys/download/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/map-obj/download/map-obj-1.0.1.tgz?cache=0&sync_timestamp=1634552719803&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmap-obj%2Fdownload%2Fmap-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/deep-equal/download/deep-equal-1.1.1.tgz", + "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/deep-is/download/deep-is-0.1.4.tgz", + "integrity": "sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=", + "dev": true + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/default-gateway/download/default-gateway-4.2.0.tgz", + "integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + } + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/define-lazy-prop/download/define-lazy-prop-2.0.0.tgz", + "integrity": "sha1-P3rkIRKbyqrJvHSQXJigAJ7J7n8=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz", + "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/globby/download/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/p-map/download/p-map-2.1.0.tgz?cache=0&sync_timestamp=1635931861684&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz", + "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/delegates/download/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.nlark.com/dependency-graph/download/dependency-graph-0.11.0.tgz", + "integrity": "sha1-rAzn7WilTaIhZahel6AdU/XrLic=", + "dev": true + }, + "desandro-matches-selector": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/desandro-matches-selector/download/desandro-matches-selector-2.0.2.tgz", + "integrity": "sha1-cXvu1NwT59jzdi9wem1YpndCGOE=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-browser": { + "version": "5.2.1", + "resolved": "https://registry.nlark.com/detect-browser/download/detect-browser-5.2.1.tgz?cache=0&sync_timestamp=1631836807281&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdetect-browser%2Fdownload%2Fdetect-browser-5.2.1.tgz", + "integrity": "sha1-uIT42E6PM7uHT/7RC0vuomEz/NE=" + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/detect-node/download/detect-node-2.1.0.tgz?cache=0&sync_timestamp=1621146954463&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdetect-node%2Fdownload%2Fdetect-node-2.1.0.tgz", + "integrity": "sha1-yccHdaScPQO8LAbZpzvlUPl4+LE=", + "dev": true + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/di/download/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/diff/download/diff-4.0.2.tgz", + "integrity": "sha1-YPOuy4nV+uUgwRqhnvwruYKq3n0=", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz", + "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.nlark.com/dns-packet/download/dns-packet-1.3.4.tgz", + "integrity": "sha1-40VQZYJKJQe6iGxVqJljuxB97G8=", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz", + "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/dom-serialize/download/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz?cache=0&sync_timestamp=1621256830355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-1.3.2.tgz", + "integrity": "sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&sync_timestamp=1617298545989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz", + "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", + "dev": true + }, + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.nlark.com/domhandler/download/domhandler-4.2.2.tgz?cache=0&sync_timestamp=1630246778110&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomhandler%2Fdownload%2Fdomhandler-4.2.2.tgz", + "integrity": "sha1-6CXXIdGahrjCAaNSZOImxnjudV8=", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.nlark.com/domutils/download/domutils-2.8.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-2.8.0.tgz", + "integrity": "sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU=", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.nlark.com/dot-prop/download/dot-prop-5.3.0.tgz", + "integrity": "sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog=", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz", + "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=", + "dev": true + } + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/duplexer/download/duplexer-0.1.2.tgz", + "integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "echarts": { + "version": "5.2.2", + "resolved": "https://registry.npmmirror.com/echarts/download/echarts-5.2.2.tgz", + "integrity": "sha1-7DyLKhUcu6cbo8LHz5svIEfOQ3A=", + "requires": { + "tslib": "2.3.0", + "zrender": "5.2.1" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=" + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "3.1.6", + "resolved": "https://registry.npmmirror.com/ejs/download/ejs-3.1.6.tgz", + "integrity": "sha1-W/0KBol0O7UmizVQzO7rvBcCgio=", + "dev": true, + "requires": { + "jake": "^10.6.1" + } + }, + "electron-to-chromium": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.4.3.tgz", + "integrity": "sha512-hfpppjYhqIZB8jrNb0rNceQRkSnBN7QJl3W26O1jUv3F3BkQknqy1YTqVXkFnIcFtBc3Qnv5M7r5Lez2iOLgZA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz", + "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmmirror.com/encoding/download/encoding-0.1.13.tgz", + "integrity": "sha1-VldK/deR9UqOmyeFwFgqLSYhD6k=", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.6.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.6.3.tgz", + "integrity": "sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE=", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/engine.io/download/engine.io-6.1.0.tgz?cache=0&sync_timestamp=1636357215103&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fengine.io%2Fdownload%2Fengine.io-6.1.0.tgz", + "integrity": "sha512-ErhZOVu2xweCjEfYcTdkCnEYUiZgkAcBBAhW4jbIvNG8SLU3orAqoJCiytZjYF7eTpVmmCrLDjLIEaPlUAs1uw==", + "dev": true, + "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.0", + "ws": "~8.2.3" + }, + "dependencies": { + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.1.tgz", + "integrity": "sha1-r9cT/ibr0hupXOth+agRblClN9E=", + "dev": true + }, + "ws": { + "version": "8.2.3", + "resolved": "https://registry.npmmirror.com/ws/download/ws-8.2.3.tgz", + "integrity": "sha1-Y6VkVtsbBDZ9C3IaC4DK5ti+y7o=", + "dev": true + } + } + }, + "engine.io-parser": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/engine.io-parser/download/engine.io-parser-5.0.2.tgz?cache=0&sync_timestamp=1636871351259&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fengine.io-parser%2Fdownload%2Fengine.io-parser-5.0.2.tgz", + "integrity": "sha512-wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g==", + "dev": true, + "requires": { + "base64-arraybuffer": "~1.0.1" + } + }, + "enhanced-resolve": { + "version": "5.8.3", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-5.8.3.tgz", + "integrity": "sha1-bVUtRlzOBCP1s9cYUR6lOCansvA=", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npm.taobao.org/enquirer/download/enquirer-2.3.6.tgz", + "integrity": "sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00=", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/ent/download/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508189267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", + "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", + "dev": true + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/env-paths/download/env-paths-2.2.1.tgz?cache=0&sync_timestamp=1630095479786&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fenv-paths%2Fdownload%2Fenv-paths-2.2.1.tgz", + "integrity": "sha1-QgOZ1BbOH76bwKB8Yvpo1n/Q+PI=", + "dev": true + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/err-code/download/err-code-2.0.3.tgz", + "integrity": "sha1-I8Lzt1b/38YI0w4nyalBAkgH5/k=", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.nlark.com/errno/download/errno-0.1.8.tgz", + "integrity": "sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.1.tgz?cache=0&sync_timestamp=1633234313248&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.19.1.tgz", + "integrity": "sha1-1IhXlodpFpWd547aoN9FZicRXsM=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-module-lexer": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/es-module-lexer/download/es-module-lexer-0.7.1.tgz?cache=0&sync_timestamp=1633645560577&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-module-lexer%2Fdownload%2Fes-module-lexer-0.7.1.tgz", + "integrity": "sha1-wsjg9G8t8GJ0za8N0/OzPgoLJn0=", + "dev": true + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/es6-promise/download/es6-promise-3.3.1.tgz", + "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/es6-promisify/download/es6-promisify-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fes6-promisify%2Fdownload%2Fes6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npm.taobao.org/es6-promise/download/es6-promise-4.2.8.tgz", + "integrity": "sha1-TrIVlMlyvEBVPSduUQU5FD21Pgo=", + "dev": true + } + } + }, + "esbuild-android-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-android-arm64/download/esbuild-android-arm64-0.13.8.tgz?cache=0&sync_timestamp=1637462928775&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-android-arm64%2Fdownload%2Fesbuild-android-arm64-0.13.8.tgz", + "integrity": "sha1-wg6HXDyYFksf+6myhje9+W9ennw=", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-64/download/esbuild-darwin-64-0.13.8.tgz", + "integrity": "sha1-9G5rRx3b9iJlI0gIpqGqkd8YpBc=", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/download/esbuild-darwin-arm64-0.13.8.tgz", + "integrity": "sha1-qZEVemAT+s1PLhQVm32lJibJAVQ=", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/download/esbuild-freebsd-64-0.13.8.tgz", + "integrity": "sha1-MBYB0uRDrUWJYONZtAKhfZUAvp0=", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/download/esbuild-freebsd-arm64-0.13.8.tgz", + "integrity": "sha1-A5pjrMEuwIkgBsFH6iIeVfkSWp8=", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-32/download/esbuild-linux-32-0.13.8.tgz", + "integrity": "sha1-xTe2fX5pS2C/onhlgUEoOMa6AoQ=", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-64/download/esbuild-linux-64-0.13.8.tgz", + "integrity": "sha1-AJL8igZAAad3v6DjtCW7i+j5bmo=", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm/download/esbuild-linux-arm-0.13.8.tgz", + "integrity": "sha1-rWNPlr8pdVNpB665/bdaMZT03c4=", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/download/esbuild-linux-arm64-0.13.8.tgz?cache=0&sync_timestamp=1637498766925&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-linux-arm64%2Fdownload%2Fesbuild-linux-arm64-0.13.8.tgz", + "integrity": "sha1-XNPyu5JCEpcUgujbwlxK/QmygRA=", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/download/esbuild-linux-mips64le-0.13.8.tgz", + "integrity": "sha1-V4V+3+v5v2V2bci+FjfyF5yZBXI=", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/download/esbuild-linux-ppc64le-0.13.8.tgz?cache=0&sync_timestamp=1637462927819&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-linux-ppc64le%2Fdownload%2Fesbuild-linux-ppc64le-0.13.8.tgz", + "integrity": "sha1-/bgqBZpbhrsQ+0IJG0689Ii5zUY=", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/download/esbuild-netbsd-64-0.13.8.tgz", + "integrity": "sha1-14eecSPTssBHVOzovQYapoZt7v8=", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/download/esbuild-openbsd-64-0.13.8.tgz?cache=0&sync_timestamp=1637462928360&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-openbsd-64%2Fdownload%2Fesbuild-openbsd-64-0.13.8.tgz", + "integrity": "sha1-iLKAtssKP2rbYKvyf8UGxQajXPA=", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-sunos-64/download/esbuild-sunos-64-0.13.8.tgz?cache=0&sync_timestamp=1637498783394&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-sunos-64%2Fdownload%2Fesbuild-sunos-64-0.13.8.tgz", + "integrity": "sha1-Iprnx3AxlqWKzQ8Cka2b69qBXWM=", + "dev": true, + "optional": true + }, + "esbuild-wasm": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-wasm/download/esbuild-wasm-0.13.8.tgz", + "integrity": "sha1-80E0wYf/z8ItR26SWRf3C6tA+LA=", + "dev": true + }, + "esbuild-windows-32": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-32/download/esbuild-windows-32-0.13.8.tgz", + "integrity": "sha1-iS0JPjKiHAyRNeWg/9w4Cutw52M=", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-64/download/esbuild-windows-64-0.13.8.tgz?cache=0&sync_timestamp=1637462927131&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-windows-64%2Fdownload%2Fesbuild-windows-64-0.13.8.tgz", + "integrity": "sha1-fe/Y15rju35vU7ZacZC+fa+QFoY=", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.13.8", + "resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/download/esbuild-windows-arm64-0.13.8.tgz", + "integrity": "sha1-5ZrgBElv2KWrZ7/HlFouR0gNb7k=", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/escalade/download/escalade-3.1.1.tgz", + "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmmirror.com/eslint/download/eslint-7.32.0.tgz?cache=0&sync_timestamp=1637475730061&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint%2Fdownload%2Feslint-7.32.0.tgz", + "integrity": "sha1-xtMooUvj+wjI0dIeEsAv23oqgS0=", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/download/@babel/code-frame-7.12.11.tgz?cache=0&sync_timestamp=1635561808745&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.12.11.tgz", + "integrity": "sha1-9K1DWqJj25NbjxDyxVLSP7cWpj8=", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-4.0.0.tgz", + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", + "dev": true + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-2.1.0.tgz?cache=0&sync_timestamp=1620975524854&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-2.1.0.tgz", + "integrity": "sha1-0t5eA0JOcH3BDHQGjd7a5wh0Gyc=", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + } + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "13.12.0", + "resolved": "https://registry.npmmirror.com/globals/download/globals-13.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-13.12.0.tgz", + "integrity": "sha1-TXM3YDBCMKAILtluIeXFZfiYCJ4=", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1617971632960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1628896299850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.20.2.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.20.2.tgz", + "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.nlark.com/eslint-config-prettier/download/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha1-90cbILb+ipqSVMxoRFQgKIai3Xo=", + "dev": true + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.nlark.com/eslint-import-resolver-node/download/eslint-import-resolver-node-0.3.6.tgz?cache=0&sync_timestamp=1629046642917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-import-resolver-node%2Fdownload%2Feslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha1-QEi5WDldqJZoJSAB29nsprg7rL0=", + "dev": true, + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/eslint-module-utils/download/eslint-module-utils-2.7.1.tgz?cache=0&sync_timestamp=1634151608499&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-module-utils%2Fdownload%2Feslint-module-utils-2.7.1.tgz", + "integrity": "sha1-tDUAHJ+N1Kt/bQ78rkuWltTCS3w=", + "dev": true, + "requires": { + "debug": "^3.2.7", + "find-up": "^2.1.0", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-2.0.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.24.2", + "resolved": "https://registry.npmmirror.com/eslint-plugin-import/download/eslint-plugin-import-2.24.2.tgz?cache=0&sync_timestamp=1636529205526&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.24.2.tgz", + "integrity": "sha1-LIzS40HziFkY7ifRhHmRCt57tNo=", + "dev": true, + "requires": { + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.6.2", + "find-up": "^2.0.0", + "has": "^1.0.3", + "is-core-module": "^2.6.0", + "minimatch": "^3.0.4", + "object.values": "^1.1.4", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.11.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz", + "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "eslint-plugin-jsdoc": { + "version": "36.0.8", + "resolved": "https://registry.npmmirror.com/eslint-plugin-jsdoc/download/eslint-plugin-jsdoc-36.0.8.tgz", + "integrity": "sha1-zXL3ZZPI+zNiN0sAUtTUmycRQIo=", + "dev": true, + "requires": { + "@es-joy/jsdoccomment": "0.10.8", + "comment-parser": "1.2.4", + "debug": "^4.3.2", + "esquery": "^1.4.0", + "jsdoc-type-pratt-parser": "^1.1.1", + "lodash": "^4.17.21", + "regextras": "^0.8.0", + "semver": "^7.3.5", + "spdx-expression-parse": "^3.0.1" + } + }, + "eslint-plugin-prefer-arrow": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/eslint-plugin-prefer-arrow/download/eslint-plugin-prefer-arrow-1.2.3.tgz?cache=0&sync_timestamp=1611628691162&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-prefer-arrow%2Fdownload%2Feslint-plugin-prefer-arrow-1.2.3.tgz", + "integrity": "sha1-5/uz+kzYT/EBW5xRrYZVDlUEEEE=", + "dev": true + }, + "eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/eslint-plugin-prettier/download/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha1-6d2yAO+289Bf/oOxZlpxavSjh+U=", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/eslint-scope/download/eslint-scope-5.1.1.tgz?cache=0&sync_timestamp=1637466929956&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-scope%2Fdownload%2Feslint-scope-5.1.1.tgz", + "integrity": "sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw=", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/eslint-utils/download/eslint-utils-3.0.0.tgz?cache=0&sync_timestamp=1620975524854&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-utils%2Fdownload%2Feslint-utils-3.0.0.tgz", + "integrity": "sha1-iuuvrOc0W7M1WdsKHxOh0tSMNnI=", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha1-9lMoJZMFknOSyTjtROsKXJsr0wM=", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmmirror.com/espree/download/espree-7.3.1.tgz?cache=0&sync_timestamp=1637466456948&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fespree%2Fdownload%2Fespree-7.3.1.tgz", + "integrity": "sha1-8t8zC3Usb1UBn4vYm3ZgA5wbu7Y=", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz", + "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", + "dev": true + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/esquery/download/esquery-1.4.0.tgz", + "integrity": "sha1-IUj/w4uC6McFff7UhCWz5h8PJKU=", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz", + "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz", + "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-5.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-5.3.0.tgz", + "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/esutils/download/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", + "dev": true + }, + "eta": { + "version": "1.12.3", + "resolved": "https://registry.nlark.com/eta/download/eta-1.12.3.tgz", + "integrity": "sha1-KYLQit++85+fpQ4vvULXM35zOLE=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.nlark.com/etag/download/etag-1.8.1.tgz?cache=0&sync_timestamp=1618847044821&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fetag%2Fdownload%2Fetag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "ev-emitter": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/ev-emitter/download/ev-emitter-1.1.1.tgz", + "integrity": "sha1-jxiwzlx2pdGAF/ccCnlcZbkTjyo=" + }, + "eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/eventemitter-asyncresource/download/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha1-c0/y5Ev0SOYn93SPkF1r3Ve9tls=", + "dev": true + }, + "eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-2.0.3.tgz", + "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/events/download/events-3.3.0.tgz", + "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=", + "dev": true + }, + "eventsource": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/eventsource/download/eventsource-1.1.0.tgz", + "integrity": "sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68=", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1637147245057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "execall": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/execall/download/execall-2.0.0.tgz?cache=0&sync_timestamp=1617892843041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexecall%2Fdownload%2Fexecall-2.0.0.tgz", + "integrity": "sha1-FqBrX+UJnffQC+XZwG7s3tFmO0U=", + "dev": true, + "requires": { + "clone-regexp": "^2.1.0" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "exit-on-epipe": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/exit-on-epipe/download/exit-on-epipe-1.0.1.tgz", + "integrity": "sha1-C92S6H1ShdJn2qgXHQ6wYVlolpI=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz", + "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/array-flatten/download/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/external-editor/download/external-editor-3.1.0.tgz", + "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/extglob/download/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/extsprintf/download/extsprintf-1.3.0.tgz?cache=0&sync_timestamp=1635889740043&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fextsprintf%2Fdownload%2Fextsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", + "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=" + }, + "fast-diff": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/fast-diff/download/fast-diff-1.1.2.tgz", + "integrity": "sha1-S2LEK44D3j+EhGC2OQeZIGldAVQ=" + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.nlark.com/fast-glob/download/fast-glob-3.2.7.tgz?cache=0&sync_timestamp=1625773305786&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.7.tgz", + "integrity": "sha1-/Wy3otfpqnp4RhEehaGW1rL3ZqE=", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-5.1.2.tgz", + "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/fast-safe-stringify/download/fast-safe-stringify-2.1.1.tgz?cache=0&sync_timestamp=1631085668938&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-safe-stringify%2Fdownload%2Ffast-safe-stringify-2.1.1.tgz", + "integrity": "sha1-xAaoO25w2eNc47MKgRQd8wrrqIQ=", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npm.taobao.org/fastest-levenshtein/download/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha1-mZD306iMxan/0fF0V0UlFwDUl+I=", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.nlark.com/fastq/download/fastq-1.13.0.tgz", + "integrity": "sha1-YWdg+Ip1Jr38WWt8q4wYk4w2uYw=", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.nlark.com/faye-websocket/download/faye-websocket-0.11.4.tgz", + "integrity": "sha1-fw2Sdc/dhqHJY9yLZfzEUe3Lsdo=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fecha": { + "version": "4.2.1", + "resolved": "https://registry.nlark.com/fecha/download/fecha-4.2.1.tgz", + "integrity": "sha1-CoOtj4bvYqCR4iu1oDnNA9I+7M4=" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/figures/download/figures-3.2.0.tgz?cache=0&sync_timestamp=1625254307578&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz", + "integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-6.0.1.tgz?cache=0&sync_timestamp=1613794272556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-6.0.1.tgz", + "integrity": "sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/file-saver/download/file-saver-2.0.5.tgz", + "integrity": "sha1-1hz+LOBZ9BTYmendbUEH7iVnDDg=" + }, + "filelist": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/filelist/download/filelist-1.0.2.tgz", + "integrity": "sha1-gCAvIUYtTRwuIUEZsYB8G8A4Dls=", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-7.0.1.tgz", + "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", + "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-3.3.1.tgz?cache=0&sync_timestamp=1630260009898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.1.tgz", + "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz", + "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fizzy-ui-utils": { + "version": "2.0.7", + "resolved": "https://registry.npm.taobao.org/fizzy-ui-utils/download/fizzy-ui-utils-2.0.7.tgz", + "integrity": "sha1-ffRdzE6zdKCLZdObuaS+7fczBQU=", + "requires": { + "desandro-matches-selector": "^2.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-3.0.4.tgz", + "integrity": "sha1-YbAzgwKy/p+Vfcwy/CqH8cMEixE=", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/flatted/download/flatted-3.2.4.tgz?cache=0&sync_timestamp=1636473847692&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "dev": true + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/flatten/download/flatten-1.0.3.tgz", + "integrity": "sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs=", + "dev": true + }, + "follow-redirects": { + "version": "1.14.5", + "resolved": "https://registry.npmmirror.com/follow-redirects/download/follow-redirects-1.14.5.tgz?cache=0&sync_timestamp=1635857764332&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.14.5.tgz", + "integrity": "sha1-8JpYSJgdPHcrU5Iwl3hSP42Fw4E=", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.nlark.com/form-data/download/form-data-2.3.3.tgz", + "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/forwarded/download/forwarded-0.2.0.tgz?cache=0&sync_timestamp=1622503408398&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fforwarded%2Fdownload%2Fforwarded-0.2.0.tgz", + "integrity": "sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE=", + "dev": true + }, + "frac": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/frac/download/frac-1.1.2.tgz", + "integrity": "sha1-PXT39keMiKG1AgMG10fcYxPHTQs=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-9.1.0.tgz", + "integrity": "sha1-WVRGDHZKjaIJS6NVS/g55rmnyG0=", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz", + "integrity": "sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/fs-monkey/download/fs-monkey-1.0.3.tgz?cache=0&sync_timestamp=1617593290175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-monkey%2Fdownload%2Ffs-monkey-1.0.3.tgz", + "integrity": "sha1-rjrJLVO7Mo7+DpodlUH2rY1I4tM=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/fsevents/download/fsevents-2.3.2.tgz", + "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmmirror.com/gauge/download/gauge-2.7.4.tgz?cache=0&sync_timestamp=1636989373302&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fgauge%2Fdownload%2Fgauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.2.tgz", + "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA=", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz", + "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha1-tf3nfyLL4185C04ImSLFC85u9mQ=", + "dev": true + }, + "get-size": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/get-size/download/get-size-2.0.3.tgz", + "integrity": "sha1-VKHQJWsg6nrGRlFnViAnaZQa0u8=" + }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.nlark.com/get-stdin/download/get-stdin-8.0.0.tgz", + "integrity": "sha1-y61qc/63X27rIrqeAfiaooqpelM=", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz", + "integrity": "sha1-f9uByQAQH71WTdXxowr1qtweWNY=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.nlark.com/get-value/download/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.nlark.com/getpass/download/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "gl-matrix": { + "version": "3.4.3", + "resolved": "https://registry.npmmirror.com/gl-matrix/download/gl-matrix-3.4.3.tgz", + "integrity": "sha1-/BGR6DIACf1NIOkzlZXGBB3cIsk=" + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmmirror.com/glob/download/glob-7.1.7.tgz", + "integrity": "sha1-Oxk+kjPwHULQs/eClLvutBj5SpA=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-6.0.2.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-6.0.2.tgz", + "integrity": "sha1-bSN9mQg5UMeSkPJMdkKj3poo+eM=", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/glob-to-regexp/download/glob-to-regexp-0.4.1.tgz", + "integrity": "sha1-x1KXCHyFG5pXi9IX3VmpL1n+VG4=", + "dev": true + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/global-modules/download/global-modules-2.0.0.tgz", + "integrity": "sha1-mXYFrSNF8n9RU5vqJldEISFcd4A=", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/global-prefix/download/global-prefix-3.0.0.tgz", + "integrity": "sha1-/IX3MGTfafUEIfR/iD/luRO6m5c=", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "dev": true + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", + "dev": true + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.nlark.com/globby/download/globby-11.0.4.tgz", + "integrity": "sha1-LLr/d8Lypi5x6bKBOme5ejowAaU=", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/globjoin/download/globjoin-0.1.4.tgz", + "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", + "dev": true + }, + "gonzales-pe": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/gonzales-pe/download/gonzales-pe-4.3.0.tgz", + "integrity": "sha1-/p3sXzxVfurQn/hoxlgmvlTQZ7M=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.2.8.tgz", + "integrity": "sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo=", + "dev": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "dev": true + }, + "graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npm.taobao.org/graphlib/download/graphlib-2.1.8.tgz", + "integrity": "sha1-V2HUFHN4cAhMkux7XbywWSydNdo=", + "requires": { + "lodash": "^4.17.15" + } + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/gzip-size/download/gzip-size-6.0.0.tgz", + "integrity": "sha1-BlNn/VDCOcBnHLy61b4+LusQ5GI=", + "dev": true, + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz", + "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/har-schema/download/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmmirror.com/har-validator/download/har-validator-5.1.5.tgz", + "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + } + } + }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/hard-rejection/download/hard-rejection-2.1.0.tgz", + "integrity": "sha1-HG7aXBaFxjlCdm15u0Cudzzs2IM=", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/has-bigints/download/has-bigints-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-bigints%2Fdownload%2Fhas-bigints-1.0.1.tgz", + "integrity": "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/has-symbols/download/has-symbols-1.0.2.tgz", + "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz?cache=0&sync_timestamp=1628196402801&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-tostringtag%2Fdownload%2Fhas-tostringtag-1.0.0.tgz", + "integrity": "sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/has-unicode/download/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-value/download/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.nlark.com/hash.js/download/hash.js-1.1.7.tgz?cache=0&sync_timestamp=1622643346539&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhash.js%2Fdownload%2Fhash.js-1.1.7.tgz", + "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hdr-histogram-js": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/hdr-histogram-js/download/hdr-histogram-js-2.0.1.tgz", + "integrity": "sha1-7LH/K8thgcPpP/SvlHLCjH6XKE4=", + "dev": true, + "requires": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" + } + }, + "hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/hdr-histogram-percentiles-obj/download/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha1-lAn03gwt2njmHeLZ14senzy6KDw=", + "dev": true + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-4.0.2.tgz", + "integrity": "sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.nlark.com/hpack.js/download/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.4.0.tgz?cache=0&sync_timestamp=1617031468383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-entities%2Fdownload%2Fhtml-entities-1.4.0.tgz", + "integrity": "sha1-z70bAdKvr5rcobEK59/6uYxx0tw=", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/html-escaper/download/html-escaper-2.0.2.tgz?cache=0&sync_timestamp=1613643546928&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-escaper%2Fdownload%2Fhtml-escaper-2.0.2.tgz", + "integrity": "sha1-39YAJ9o2o238viNiYsAKWCJoFFM=", + "dev": true + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-3.1.0.tgz", + "integrity": "sha1-e15vfmZen7QfMAB+2eDUHpf7IUA=", + "dev": true + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmmirror.com/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1636640940074&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz", + "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1621256830355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", + "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.2.0.tgz?cache=0&sync_timestamp=1617298545989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.2.0.tgz", + "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508189267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", + "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&sync_timestamp=1617298545989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.nlark.com/domhandler/download/domhandler-2.4.2.tgz?cache=0&sync_timestamp=1630246778110&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomhandler%2Fdownload%2Fdomhandler-2.4.2.tgz", + "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.nlark.com/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz", + "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1628508189267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-1.1.2.tgz", + "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-4.1.0.tgz", + "integrity": "sha1-SekcXL82yblLz81xwj1SSex045A=", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmmirror.com/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1636932182141&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz", + "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.3.tgz", + "integrity": "sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k=", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz", + "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz", + "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", + "dev": true + } + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/http-proxy-agent/download/http-proxy-agent-4.0.1.tgz", + "integrity": "sha1-ioyO9/WTLM+VPClsqCkblap0qjo=", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.nlark.com/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1637178646601&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "http2-client": { + "version": "1.3.5", + "resolved": "https://registry.nlark.com/http2-client/download/http2-client-1.3.5.tgz", + "integrity": "sha1-IMnckJ48yYKE3SCvJDLFJAht8YE=", + "dev": true + }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/https-proxy-agent/download/https-proxy-agent-5.0.0.tgz", + "integrity": "sha1-4qkFQqu2inYuCghQ9sntrf2FBrI=", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/human-signals/download/human-signals-2.1.0.tgz?cache=0&sync_timestamp=1624364695595&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhuman-signals%2Fdownload%2Fhuman-signals-2.1.0.tgz", + "integrity": "sha1-3JH8ukLk0G5Kuu0zs+ejwC9RTqA=", + "dev": true + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/humanize-ms/download/humanize-ms-1.2.1.tgz", + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "husky": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/husky/download/husky-6.0.0.tgz", + "integrity": "sha1-gQ8RhprfUWBMMupXftvDd9f5MZ4=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-5.1.0.tgz", + "integrity": "sha1-xr5oWKvQE9do6YNmrkfiXViHsa4=", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/ieee754/download/ieee754-1.2.1.tgz", + "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=", + "dev": true + }, + "ignore": { + "version": "5.1.9", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-5.1.9.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-5.1.9.tgz", + "integrity": "sha1-nsGly+jhRG7GDUQgBg1Dqm5zgvs=", + "dev": true + }, + "ignore-walk": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/ignore-walk/download/ignore-walk-3.0.4.tgz", + "integrity": "sha1-yaCfabfHtHml10rBo8DUI20qYzU=", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz?cache=0&sync_timestamp=1618422657851&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimage-size%2Fdownload%2Fimage-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.nlark.com/immediate/download/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-3.3.0.tgz?cache=0&sync_timestamp=1608469532269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-3.3.0.tgz", + "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/import-lazy/download/import-lazy-4.0.0.tgz", + "integrity": "sha1-6OtidIOgpD2jwD8+NVSL5csMwVM=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/import-local/download/import-local-2.0.0.tgz", + "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1622604582006&other_urls=https%3A%2F%2Fregistry.nlark.com%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz", + "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE=", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz", + "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/ini/download/ini-2.0.0.tgz", + "integrity": "sha1-5f1Vbs3VcmvpePoQAYYurLCpS8U=", + "dev": true + }, + "inquirer": { + "version": "8.1.2", + "resolved": "https://registry.npmmirror.com/inquirer/download/inquirer-8.1.2.tgz?cache=0&sync_timestamp=1633472964335&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Finquirer%2Fdownload%2Finquirer-8.1.2.tgz", + "integrity": "sha1-ZbIE0s1/tjQA7dkl3+Qouv1CLj0=", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.3.0", + "run-async": "^2.4.0", + "rxjs": "^7.2.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "rxjs": { + "version": "7.4.0", + "resolved": "https://registry.npmmirror.com/rxjs/download/rxjs-7.4.0.tgz?cache=0&sync_timestamp=1633554235070&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frxjs%2Fdownload%2Frxjs-7.4.0.tgz", + "integrity": "sha1-oSpE1+6/AW9f8kQbh/KMmlHOvGg=", + "dev": true, + "requires": { + "tslib": "~2.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.1.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.1.0.tgz", + "integrity": "sha1-2mCGDxwuyqVwOrfTm8Bba/mIuXo=", + "dev": true + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/internal-ip/download/internal-ip-4.3.0.tgz", + "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/internal-slot/download/internal-slot-1.0.3.tgz", + "integrity": "sha1-c0fjB97uovqsKsYgXUvH00ln9Zw=", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "internmap": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/internmap/download/internmap-1.0.1.tgz?cache=0&sync_timestamp=1632108258638&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finternmap%2Fdownload%2Finternmap-1.0.1.tgz", + "integrity": "sha1-ABfMijuZYF8DAvKxmNJy4BXl35U=" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.nlark.com/ip/download/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/ip-regex/download/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.nlark.com/ipaddr.js/download/ipaddr.js-1.9.1.tgz", + "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.nlark.com/is-absolute-url/download/is-absolute-url-3.0.3.tgz", + "integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-alphabetical/download/is-alphabetical-1.0.4.tgz", + "integrity": "sha1-nn1rlJFr4iFTdF0YTCmMv5hqaG0=", + "dev": true + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-alphanumeric/download/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=", + "dev": true + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-alphanumerical/download/is-alphanumerical-1.0.4.tgz?cache=0&sync_timestamp=1636009316820&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-alphanumerical%2Fdownload%2Fis-alphanumerical-1.0.4.tgz", + "integrity": "sha1-frmiQx+FX2se8aeOMm31FWlsTb8=", + "dev": true, + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/is-arguments/download/is-arguments-1.1.1.tgz?cache=0&sync_timestamp=1628201919104&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-arguments%2Fdownload%2Fis-arguments-1.1.1.tgz", + "integrity": "sha1-FbP4j9oB8ql/7ITKdhpWDxI++ps=", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.4.tgz?cache=0&sync_timestamp=1628747504782&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-bigint%2Fdownload%2Fis-bigint-1.0.4.tgz", + "integrity": "sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM=", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", + "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz", + "integrity": "sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", + "dev": true + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.nlark.com/is-callable/download/is-callable-1.2.4.tgz", + "integrity": "sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU=", + "dev": true + }, + "is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.8.0.tgz?cache=0&sync_timestamp=1634237061095&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.8.0.tgz", + "integrity": "sha1-AyEzbD0JJeSX/Zf12VyxFKXM1Ug=", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.5.tgz", + "integrity": "sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8=", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-decimal/download/is-decimal-1.0.4.tgz?cache=0&sync_timestamp=1636008973005&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-decimal%2Fdownload%2Fis-decimal-1.0.4.tgz", + "integrity": "sha1-ZaOllYocW2OnBuGzM9fNn2MNP6U=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/is-docker/download/is-docker-2.2.1.tgz?cache=0&sync_timestamp=1630451108035&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-docker%2Fdownload%2Fis-docker-2.2.1.tgz", + "integrity": "sha1-M+6r4jz+hvFL3kQIoCwM+4U6zao=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/is-extglob/download/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz", + "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-hexadecimal/download/is-hexadecimal-1.0.4.tgz?cache=0&sync_timestamp=1636011536406&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-hexadecimal%2Fdownload%2Fis-hexadecimal-1.0.4.tgz", + "integrity": "sha1-zDXJdYjaS9Saju3WvECC1E3LI6c=", + "dev": true + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-interactive/download/is-interactive-1.0.0.tgz", + "integrity": "sha1-zqbmrlyHCnsKAAQHC3tYfgJSkS4=", + "dev": true + }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-lambda/download/is-lambda-1.0.1.tgz", + "integrity": "sha1-PZh3iZ5qU+/AFgUEzeFfgubwYdU=", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/is-negative-zero/download/is-negative-zero-2.0.1.tgz", + "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", + "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", + "dev": true + }, + "is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.6.tgz", + "integrity": "sha1-anqvg4x/BoalC0VT9+VKlklOifA=", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1628686555851&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz", + "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz?cache=0&sync_timestamp=1620047389319&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-in-cwd%2Fdownload%2Fis-path-in-cwd-2.1.0.tgz", + "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-2.1.0.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-2.1.0.tgz", + "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz?cache=0&sync_timestamp=1618601044820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1618846974259&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz?cache=0&sync_timestamp=1628221905423&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.4.tgz", + "integrity": "sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", + "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha1-l7DIX72stZycRG/mU7gs8rW3z+Y=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/is-string/download/is-string-1.0.7.tgz", + "integrity": "sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0=", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-supported-regexp-flag": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-supported-regexp-flag/download/is-supported-regexp-flag-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-supported-regexp-flag%2Fdownload%2Fis-supported-regexp-flag-1.0.1.tgz", + "integrity": "sha1-Ie4WUY0sHdPt0+mg1X5QIHrDZMo=", + "dev": true + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz?cache=0&sync_timestamp=1620501174327&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.4.tgz", + "integrity": "sha1-ptrJO2NbBjymhyI23oiRClevE5w=", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/is-unicode-supported/download/is-unicode-supported-0.1.0.tgz?cache=0&sync_timestamp=1625294161966&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-unicode-supported%2Fdownload%2Fis-unicode-supported-0.1.0.tgz", + "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", + "dev": true + }, + "is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-weakref/download/is-weakref-1.0.1.tgz", + "integrity": "sha1-hC26TsF/qayYUN8tbvvBc3J08qI=", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/is-what/download/is-what-3.14.1.tgz?cache=0&sync_timestamp=1634283360064&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-what%2Fdownload%2Fis-what-3.14.1.tgz", + "integrity": "sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE=", + "dev": true + }, + "is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-whitespace-character/download/is-whitespace-character-1.0.4.tgz", + "integrity": "sha1-CFjt2UqVWUx8ndC1wXTsbkXuSqc=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", + "dev": true + }, + "is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/is-word-character/download/is-word-character-1.0.4.tgz", + "integrity": "sha1-zg5zIW+YWZBgWS9i/zE1TdvrAjA=", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.nlark.com/is-wsl/download/is-wsl-2.2.0.tgz", + "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isbinaryfile": { + "version": "4.0.8", + "resolved": "https://registry.nlark.com/isbinaryfile/download/isbinaryfile-4.0.8.tgz", + "integrity": "sha1-XTS5SGW9SUZjPsx4oCb8dsWxH88=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/isstream/download/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/download/istanbul-lib-coverage-3.2.0.tgz?cache=0&sync_timestamp=1634527189737&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fistanbul-lib-coverage%2Fdownload%2Fistanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha1-GJ55CdCjn6Wj361bA/cZR3cBkdM=", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/istanbul-lib-instrument/download/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha1-hzxv/4l0UBGCIndGlqPyiQLXfB0=", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/istanbul-lib-report/download/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha1-dRj+UupE3jcvRgp2tezan/tz2KY=", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/download/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha1-iV86cJ/PujTG3lpCk5Ai8+Q1hVE=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.0.5", + "resolved": "https://registry.npmmirror.com/istanbul-reports/download/istanbul-reports-3.0.5.tgz?cache=0&sync_timestamp=1634144713451&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fistanbul-reports%2Fdownload%2Fistanbul-reports-3.0.5.tgz", + "integrity": "sha1-olgBB+cSeeptZh3e3pKf/G1pM4Q=", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "isutf8": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/isutf8/download/isutf8-3.1.1.tgz", + "integrity": "sha1-PyrHf0mv+yOuVIE9oaSrRKrfHXs=" + }, + "jake": { + "version": "10.8.2", + "resolved": "https://registry.nlark.com/jake/download/jake-10.8.2.tgz", + "integrity": "sha1-68nehVgWCmbYLQ6txqLlj7xQCns=", + "dev": true, + "requires": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmmirror.com/async/download/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + } + } + }, + "jasmine": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/jasmine/download/jasmine-2.8.0.tgz", + "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "dev": true, + "requires": { + "exit": "^0.1.2", + "glob": "^7.0.6", + "jasmine-core": "~2.8.0" + }, + "dependencies": { + "jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/jasmine-core/download/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true + } + } + }, + "jasmine-core": { + "version": "3.8.0", + "resolved": "https://registry.npmmirror.com/jasmine-core/download/jasmine-core-3.8.0.tgz", + "integrity": "sha1-gVOZquWqXZvusSYoBfmBuZ/8m/A=", + "dev": true + }, + "jasmine-spec-reporter": { + "version": "5.0.2", + "resolved": "https://registry.nlark.com/jasmine-spec-reporter/download/jasmine-spec-reporter-5.0.2.tgz", + "integrity": "sha1-thKIqwdK1EDcJHfE1ChAsOdKa5U=", + "dev": true, + "requires": { + "colors": "1.4.0" + } + }, + "jasminewd2": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/jasminewd2/download/jasminewd2-2.2.0.tgz", + "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", + "dev": true + }, + "jest-worker": { + "version": "27.3.1", + "resolved": "https://registry.npmmirror.com/jest-worker/download/jest-worker-27.3.1.tgz?cache=0&sync_timestamp=1634626737887&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjest-worker%2Fdownload%2Fjest-worker-27.3.1.tgz", + "integrity": "sha1-De9/6uW4BCvjhHl5mut7X6ysJLI=", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-base64": { + "version": "3.7.2", + "resolved": "https://registry.npmmirror.com/js-base64/download/js-base64-3.7.2.tgz", + "integrity": "sha1-gW0R2BqK/yQWA9Gc5XYeE+Qdd0U=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618435004368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", + "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/jsbn/download/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsdoc-type-pratt-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/jsdoc-type-pratt-parser/download/jsdoc-type-pratt-parser-1.2.0.tgz", + "integrity": "sha1-NIKjgzt0qIyVprpyU/DA3jt3ufU=", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.nlark.com/jsesc/download/jsesc-2.5.2.tgz", + "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.nlark.com/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1636423494254&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-1.0.0.tgz", + "integrity": "sha1-rnvLNlard6c7pcSb9lTzjmtoYOI=" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmmirror.com/json3/download/json3-3.3.3.tgz", + "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz", + "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/jsonc-parser/download/jsonc-parser-3.0.0.tgz?cache=0&sync_timestamp=1605281904422&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonc-parser%2Fdownload%2Fjsonc-parser-3.0.0.tgz", + "integrity": "sha1-q914VwHH5+rKip7IzwcMpRp0WiI=", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/jsonfile/download/jsonfile-6.1.0.tgz", + "integrity": "sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/jsonparse/download/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/jsprim/download/jsprim-1.4.1.tgz?cache=0&sync_timestamp=1637110674471&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjsprim%2Fdownload%2Fjsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jszip": { + "version": "3.7.1", + "resolved": "https://registry.nlark.com/jszip/download/jszip-3.7.1.tgz", + "integrity": "sha1-vWNAEiHBViWhIoxVbKimjab9o9k=", + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "karma": { + "version": "6.3.9", + "resolved": "https://registry.npmmirror.com/karma/download/karma-6.3.9.tgz?cache=0&sync_timestamp=1637099037935&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fkarma%2Fdownload%2Fkarma-6.3.9.tgz", + "integrity": "sha512-E/MqdLM9uVIhfuyVnrhlGBu4miafBdXEAEqCmwdEMh3n17C7UWC/8Kvm3AYKr91gc7scutekZ0xv6rxRaUCtnw==", + "dev": true, + "requires": { + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "colors": "^1.4.0", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.3.0", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.2.0", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/mime/download/mime-2.6.0.tgz", + "integrity": "sha1-oqaCqVzU0MsdYlfij4PafjWAA2c=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.2.1.tgz", + "integrity": "sha1-hFf8MDfc9HGcJRNnoa9lAO4czxQ=", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "karma-chrome-launcher": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/karma-chrome-launcher/download/karma-chrome-launcher-3.1.0.tgz", + "integrity": "sha1-gFpYZ5mk0F9OVPcqIEl58/MGZzg=", + "dev": true, + "requires": { + "which": "^1.2.1" + } + }, + "karma-coverage": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/karma-coverage/download/karma-coverage-2.0.3.tgz", + "integrity": "sha1-wQ9HEfTPXKqqZosdb2QufaEi2XM=", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.1", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.0", + "minimatch": "^3.0.4" + } + }, + "karma-coverage-istanbul-reporter": { + "version": "3.0.3", + "resolved": "https://registry.nlark.com/karma-coverage-istanbul-reporter/download/karma-coverage-istanbul-reporter-3.0.3.tgz?cache=0&sync_timestamp=1626199377702&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fkarma-coverage-istanbul-reporter%2Fdownload%2Fkarma-coverage-istanbul-reporter-3.0.3.tgz", + "integrity": "sha1-87UwNVOq3I5oHUDTYN/cGbx+n+k=", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^3.0.2", + "minimatch": "^3.0.4" + }, + "dependencies": { + "istanbul-lib-source-maps": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/download/istanbul-lib-source-maps-3.0.6.tgz", + "integrity": "sha1-KEmXxIIRdS7EhiU9qX44ed77qMg=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^2.0.5", + "make-dir": "^2.1.0", + "rimraf": "^2.6.3", + "source-map": "^0.6.1" + }, + "dependencies": { + "istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/download/istanbul-lib-coverage-2.0.5.tgz?cache=0&sync_timestamp=1634527189737&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fistanbul-lib-coverage%2Fdownload%2Fistanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha1-Z18KtpUD+tSx2En3NrqsqAM0T0k=", + "dev": true + } + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "karma-jasmine": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/karma-jasmine/download/karma-jasmine-4.0.1.tgz", + "integrity": "sha1-uZ4HO22ZpRlvxL/8EhuJMTsKvYI=", + "dev": true, + "requires": { + "jasmine-core": "^3.6.0" + } + }, + "karma-jasmine-html-reporter": { + "version": "1.7.0", + "resolved": "https://registry.nlark.com/karma-jasmine-html-reporter/download/karma-jasmine-html-reporter-1.7.0.tgz", + "integrity": "sha1-UsSJp012CTShCJv6XqSo/LhMwos=", + "dev": true + }, + "karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/karma-source-map-support/download/karma-source-map-support-1.4.0.tgz", + "integrity": "sha1-WFJs7M9+hzDlbv/Zek3o1xKsDWs=", + "dev": true, + "requires": { + "source-map-support": "^0.5.5" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/killable/download/killable-1.0.1.tgz", + "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", + "dev": true + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmmirror.com/klona/download/klona-2.0.5.tgz?cache=0&sync_timestamp=1635385383825&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fklona%2Fdownload%2Fklona-2.0.5.tgz", + "integrity": "sha1-0WZXTZAHY5XZljqnqSj6u412r7w=", + "dev": true + }, + "known-css-properties": { + "version": "0.21.0", + "resolved": "https://registry.nlark.com/known-css-properties/download/known-css-properties-0.21.0.tgz", + "integrity": "sha1-FfvQu7g0R/POCdivJH7UfGjt6A0=", + "dev": true + }, + "less": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/less/download/less-4.1.1.tgz", + "integrity": "sha1-Fb8lOpk5eR3GkIiMP/Qk8+bH7bo=", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^2.5.2", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^1.10.0" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true, + "optional": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", + "dev": true + } + } + }, + "less-loader": { + "version": "10.0.1", + "resolved": "https://registry.npmmirror.com/less-loader/download/less-loader-10.0.1.tgz", + "integrity": "sha1-wFqrpo0AQAggJ18hwq2Hy5+pkj8=", + "dev": true, + "requires": { + "klona": "^2.0.4" + } + }, + "less-plugin-clean-css": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/less-plugin-clean-css/download/less-plugin-clean-css-1.5.1.tgz", + "integrity": "sha1-zFeveqM5iVflbezr5jy2DCNClwM=", + "dev": true, + "requires": { + "clean-css": "^3.0.1" + } + }, + "less-plugin-npm-import": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/less-plugin-npm-import/download/less-plugin-npm-import-2.1.0.tgz", + "integrity": "sha1-gj5phskzGKmBccqFiEi2vq1Vvz4=", + "dev": true, + "requires": { + "promise": "~7.0.1", + "resolve": "~1.1.6" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "less-vars-to-js": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/less-vars-to-js/download/less-vars-to-js-1.3.0.tgz", + "integrity": "sha1-wyLPQ6PI/D+rZV2j5RoUwUmatXE=", + "dev": true, + "requires": { + "strip-json-comments": "^2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + } + } + }, + "leven": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/leven/download/leven-2.1.0.tgz?cache=0&sync_timestamp=1628598084975&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fleven%2Fdownload%2Fleven-2.1.0.tgz", + "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.4.1.tgz", + "integrity": "sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "license-webpack-plugin": { + "version": "2.3.20", + "resolved": "https://registry.npmmirror.com/license-webpack-plugin/download/license-webpack-plugin-2.3.20.tgz?cache=0&sync_timestamp=1636693292671&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flicense-webpack-plugin%2Fdownload%2Flicense-webpack-plugin-2.3.20.tgz", + "integrity": "sha1-9R+2dMoxUZ2+2+HHqrwDblp/KFg=", + "dev": true, + "requires": { + "@types/webpack-sources": "^0.1.5", + "webpack-sources": "^1.2.0" + } + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/lie/download/lie-3.3.0.tgz", + "integrity": "sha1-3Pgt7lRfRgdNryAMfBxaCOD0D2o=", + "requires": { + "immediate": "~3.0.5" + } + }, + "lilconfig": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/lilconfig/download/lilconfig-2.0.4.tgz?cache=0&sync_timestamp=1636150747257&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flilconfig%2Fdownload%2Flilconfig-2.0.4.tgz", + "integrity": "sha1-9FB9BD1wWLOAtqj1y3vNSzTO4II=", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/download/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "lint-staged": { + "version": "11.2.6", + "resolved": "https://registry.npmmirror.com/lint-staged/download/lint-staged-11.2.6.tgz?cache=0&sync_timestamp=1637566864097&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flint-staged%2Fdownload%2Flint-staged-11.2.6.tgz", + "integrity": "sha1-9HexrwKU2wVOWTfxcWed9juqTEM=", + "dev": true, + "requires": { + "cli-truncate": "2.1.0", + "colorette": "^1.4.0", + "commander": "^8.2.0", + "cosmiconfig": "^7.0.1", + "debug": "^4.3.2", + "enquirer": "^2.3.6", + "execa": "^5.1.1", + "listr2": "^3.12.2", + "micromatch": "^4.0.4", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "3.3.0", + "supports-color": "8.1.1" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/commander/download/commander-8.3.0.tgz", + "integrity": "sha1-SDfqGy2me5xhamevuw+v7lZ7ymY=", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", + "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/execa/download/execa-5.1.1.tgz?cache=0&sync_timestamp=1637147245057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fexeca%2Fdownload%2Fexeca-5.1.1.tgz", + "integrity": "sha1-+ArZy/Qpj3vR1MlVXCHpN0HEEd0=", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-6.0.1.tgz", + "integrity": "sha1-omLY7vZ6ztV8KFKtYWdSakPL97c=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/is-stream/download/is-stream-2.0.1.tgz", + "integrity": "sha1-+sHj1TuXrVqdCunO8jifWBClwHc=", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-4.0.1.tgz", + "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1617971632960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz", + "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", + "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1628896299850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz", + "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "listr2": { + "version": "3.13.5", + "resolved": "https://registry.npmmirror.com/listr2/download/listr2-3.13.5.tgz", + "integrity": "sha512-3n8heFQDSk+NcwBn3CgxEibZGaRzx+pC64n3YjpMD1qguV4nWus3Al+Oo3KooqFKTQEJ1v7MmnbnyyNspgx3NA==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.4.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmmirror.com/colorette/download/colorette-2.0.16.tgz", + "integrity": "sha1-cTua+E/bAAE58EVGvUqT9ipQhdo=", + "dev": true + }, + "rxjs": { + "version": "7.4.0", + "resolved": "https://registry.npmmirror.com/rxjs/download/rxjs-7.4.0.tgz?cache=0&sync_timestamp=1633554235070&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frxjs%2Fdownload%2Frxjs-7.4.0.tgz", + "integrity": "sha1-oSpE1+6/AW9f8kQbh/KMmlHOvGg=", + "dev": true, + "requires": { + "tslib": "~2.1.0" + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.1.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.1.0.tgz", + "integrity": "sha1-2mCGDxwuyqVwOrfTm8Bba/mIuXo=", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/load-json-file/download/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-json/download/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-4.2.0.tgz?cache=0&sync_timestamp=1610027943366&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-4.2.0.tgz", + "integrity": "sha1-1wIjgNZtFMX7HUlriYZOvP1Hg4Q=", + "dev": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-2.0.0.tgz?cache=0&sync_timestamp=1636687869321&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-2.0.0.tgz", + "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-5.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-5.0.0.tgz", + "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.nlark.com/lodash/download/lodash-4.17.21.tgz", + "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/lodash.memoize/download/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npm.taobao.org/lodash.merge/download/lodash.merge-4.6.2.tgz", + "integrity": "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npm.taobao.org/lodash.truncate/download/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.nlark.com/lodash.uniq/download/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-4.1.0.tgz", + "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/log-update/download/log-update-4.0.0.tgz?cache=0&sync_timestamp=1634542359448&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flog-update%2Fdownload%2Flog-update-4.0.0.tgz", + "integrity": "sha1-WJ7NNSRx8qHAxXAodUOmTf0g4KE=", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-6.2.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "log4js": { + "version": "6.3.0", + "resolved": "https://registry.nlark.com/log4js/download/log4js-6.3.0.tgz", + "integrity": "sha1-EN+vu0NDUaPjAnegC5h5RG9xW8s=", + "dev": true, + "requires": { + "date-format": "^3.0.0", + "debug": "^4.1.1", + "flatted": "^2.0.1", + "rfdc": "^1.1.4", + "streamroller": "^2.2.4" + }, + "dependencies": { + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1636473847692&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz", + "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=", + "dev": true + } + } + }, + "loglevel": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/loglevel/download/loglevel-1.8.0.tgz?cache=0&sync_timestamp=1637240410022&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floglevel%2Fdownload%2Floglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", + "dev": true + }, + "longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/longest-streak/download/longest-streak-2.0.4.tgz?cache=0&sync_timestamp=1636446222992&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Flongest-streak%2Fdownload%2Flongest-streak-2.0.4.tgz", + "integrity": "sha1-uFmZV9pbXatk3uP+MW+ndFl9kOQ=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz", + "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.nlark.com/magic-string/download/magic-string-0.25.7.tgz?cache=0&sync_timestamp=1618847046304&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmagic-string%2Fdownload%2Fmagic-string-0.25.7.tgz", + "integrity": "sha1-P0l9b9NMZpxnmNy4IfLvMfVEUFE=", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz", + "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npm.taobao.org/make-error/download/make-error-1.3.6.tgz", + "integrity": "sha1-LrLjfqm2fEiR9oShOUeZr0hM96I=", + "dev": true + }, + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.nlark.com/make-fetch-happen/download/make-fetch-happen-9.1.0.tgz?cache=0&sync_timestamp=1629820656927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmake-fetch-happen%2Fdownload%2Fmake-fetch-happen-9.1.0.tgz", + "integrity": "sha1-UwhaCeeXFDPmdl95cb9j9OBcuWg=", + "dev": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.nlark.com/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz?cache=0&sync_timestamp=1629751304151&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmap-age-cleaner%2Fdownload%2Fmap-age-cleaner-0.1.3.tgz", + "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.nlark.com/map-cache/download/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/map-obj/download/map-obj-4.3.0.tgz?cache=0&sync_timestamp=1634552719803&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmap-obj%2Fdownload%2Fmap-obj-4.3.0.tgz", + "integrity": "sha1-kwT5Buk/qucIgNoQKp8d8OqLsFo=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/map-visit/download/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/markdown-escapes/download/markdown-escapes-1.0.4.tgz?cache=0&sync_timestamp=1635887464232&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmarkdown-escapes%2Fdownload%2Fmarkdown-escapes-1.0.4.tgz", + "integrity": "sha1-yVQV70UUmddgK5EJXzyOiXX3hTU=", + "dev": true + }, + "markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/markdown-table/download/markdown-table-1.1.3.tgz", + "integrity": "sha1-n8tpvP24cXv9A5jG7C2TA2743mA=", + "dev": true + }, + "masonry-layout": { + "version": "4.2.2", + "resolved": "https://registry.npm.taobao.org/masonry-layout/download/masonry-layout-4.2.2.tgz", + "integrity": "sha1-1XtErxPmAb/NxCPx3YNItVJN40g=", + "requires": { + "get-size": "^2.0.2", + "outlayer": "^2.1.0" + } + }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/mathml-tag-names/download/mathml-tag-names-2.1.3.tgz", + "integrity": "sha1-TdrdZzCOeAzxakdoWHjuJ7c2oKM=", + "dev": true + }, + "mdast-util-compact": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/mdast-util-compact/download/mdast-util-compact-1.0.4.tgz?cache=0&sync_timestamp=1627635894673&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmdast-util-compact%2Fdownload%2Fmdast-util-compact-1.0.4.tgz", + "integrity": "sha1-1TG7dme1Ejq/IIWb4IbE0GyJRZM=", + "dev": true, + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmmirror.com/mdast-util-from-markdown/download/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha1-0e8spCvDd+ywRjqYeRDa6JvZoow=", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmmirror.com/mdast-util-to-markdown/download/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha1-sz9nyoINaebMUnqT1AOSSbUEvr4=", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/mdast-util-to-string/download/mdast-util-to-string-2.0.0.tgz?cache=0&sync_timestamp=1619426294961&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmdast-util-to-string%2Fdownload%2Fmdast-util-to-string-2.0.0.tgz", + "integrity": "sha1-uM/mpxPhCRy1tyj8SIhaR2f4uXs=", + "dev": true + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmmirror.com/mdn-data/download/mdn-data-2.0.14.tgz", + "integrity": "sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA=", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/media-typer/download/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "8.1.1", + "resolved": "https://registry.nlark.com/mem/download/mem-8.1.1.tgz?cache=0&sync_timestamp=1626534352883&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmem%2Fdownload%2Fmem-8.1.1.tgz", + "integrity": "sha1-zxGLNXxlq3t+CBe98AyAYil8ASI=", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^3.1.0" + }, + "dependencies": { + "mimic-fn": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-3.1.0.tgz", + "integrity": "sha1-ZXVRRbvz42lUuUnBZFBCdFHVynQ=", + "dev": true + } + } + }, + "memfs": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/memfs/download/memfs-3.4.0.tgz", + "integrity": "sha512-o/RfP0J1d03YwsAxyHxAYs2kyJp55AFkMazlFAZFR2I2IXkxiUTXRabJ6RmNNCQ83LAD2jy52Khj0m3OffpNdA==", + "dev": true, + "requires": { + "fs-monkey": "1.0.3" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/meow/download/meow-7.1.1.tgz?cache=0&sync_timestamp=1637477569022&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-7.1.1.tgz", + "integrity": "sha1-fAFZXj0zf8sOxOju0WZuqVkD0wY=", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^2.5.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.13.1", + "yargs-parser": "^18.1.3" + }, + "dependencies": { + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-5.2.0.tgz", + "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz", + "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-7.0.1.tgz", + "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", + "dev": true + } + } + }, + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.13.1.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.13.1.tgz", + "integrity": "sha1-AXLLW86AsL1ULqNI21DH4hg02TQ=", + "dev": true + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz", + "integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/merge-descriptors/download/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/merge-source-map/download/merge-source-map-1.1.0.tgz", + "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", + "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz", + "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmmirror.com/micromark/download/micromark-2.11.4.tgz", + "integrity": "sha1-0TQ2E47qgmOD6CJEnJpcUO5EZlo=", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-4.0.4.tgz", + "integrity": "sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/download/mime-1.6.0.tgz", + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", + "dev": true + }, + "mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmmirror.com/mime-db/download/mime-db-1.51.0.tgz?cache=0&sync_timestamp=1636425951030&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-db%2Fdownload%2Fmime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true + }, + "mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmmirror.com/mime-types/download/mime-types-2.1.34.tgz?cache=0&sync_timestamp=1636432302620&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dev": true, + "requires": { + "mime-db": "1.51.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/min-indent/download/min-indent-1.0.1.tgz", + "integrity": "sha1-pj9oFnOzBXH76LwlaGrnRu76mGk=", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/mini-css-extract-plugin/download/mini-css-extract-plugin-2.4.2.tgz", + "integrity": "sha1-s1CBkepHk4ikcVAYyZ3T5t1A0tI=", + "dev": true, + "requires": { + "schema-utils": "^3.1.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", + "dev": true + }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/minimist-options/download/minimist-options-4.1.0.tgz", + "integrity": "sha1-wGVXE8U6ii69d/+iR9NCxA8BBhk=", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + } + }, + "minipass": { + "version": "3.1.5", + "resolved": "https://registry.nlark.com/minipass/download/minipass-3.1.5.tgz?cache=0&sync_timestamp=1631656314228&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminipass%2Fdownload%2Fminipass-3.1.5.tgz", + "integrity": "sha1-cfYlGwozpJwBs8+X/3ftoDDf9zI=", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/minipass-collect/download/minipass-collect-1.0.2.tgz", + "integrity": "sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/minipass-fetch/download/minipass-fetch-1.4.1.tgz", + "integrity": "sha1-114AkdqsGw/9fp1BYp+v99DB8bY=", + "dev": true, + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/minipass-flush/download/minipass-flush-1.0.5.tgz", + "integrity": "sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/minipass-json-stream/download/minipass-json-stream-1.0.1.tgz", + "integrity": "sha1-ftu5JYj7/C/x2y/BA5est7a0Sqc=", + "dev": true, + "requires": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.nlark.com/minipass-pipeline/download/minipass-pipeline-1.2.4.tgz", + "integrity": "sha1-aEcveXEcCEZXwGfFxq2Tzd6oIUw=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/minipass-sized/download/minipass-sized-1.0.3.tgz", + "integrity": "sha1-cO5afFBSBwr6z7wil36nne81O3A=", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/minizlib/download/minizlib-2.1.2.tgz", + "integrity": "sha1-6Q00Zrogm5MkUVCKEc49NjIUWTE=", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-1.0.4.tgz", + "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=", + "dev": true + }, + "mockjs": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/mockjs/download/mockjs-1.1.0.tgz", + "integrity": "sha1-5qDDeOkZBtuv8gkRzAJzs8fXWwY=", + "requires": { + "commander": "*" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmmirror.com/multicast-dns/download/multicast-dns-6.2.3.tgz?cache=0&sync_timestamp=1633354821467&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmulticast-dns%2Fdownload%2Fmulticast-dns-6.2.3.tgz", + "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.nlark.com/mute-stream/download/mute-stream-0.0.8.tgz", + "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0=", + "dev": true + }, + "nanoid": { + "version": "3.1.30", + "resolved": "https://registry.npmmirror.com/nanoid/download/nanoid-3.1.30.tgz?cache=0&sync_timestamp=1634166192601&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnanoid%2Fdownload%2Fnanoid-3.1.30.tgz", + "integrity": "sha1-Y/k8xUjSoRPcXfvGO/oJ4rm2Q2I=", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.nlark.com/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "native-request": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/native-request/download/native-request-1.1.0.tgz?cache=0&sync_timestamp=1630540604934&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnative-request%2Fdownload%2Fnative-request-1.1.0.tgz", + "integrity": "sha1-rNsw/i7vo+G8jFSzpoUunFwNPLA=", + "dev": true, + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "needle": { + "version": "2.9.1", + "resolved": "https://registry.nlark.com/needle/download/needle-2.9.1.tgz?cache=0&sync_timestamp=1630674995929&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fneedle%2Fdownload%2Fneedle-2.9.1.tgz", + "integrity": "sha1-ItHf++NJDCuD4wH3cJtnNs2PJoQ=", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", + "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz", + "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", + "dev": true + }, + "ng-alain": { + "version": "12.4.2", + "resolved": "https://registry.npmmirror.com/ng-alain/download/ng-alain-12.4.2.tgz", + "integrity": "sha512-BqKIqeHKbSu9VRgJCN8JelCYdelKFl7dIhQyG0lps1wWDJhhEBLVBdOmzITaC8kowKvL6DBJtOZf8SZJ687WYw==", + "dev": true, + "requires": { + "swagger-typescript-api": "^9.3.1" + } + }, + "ng-alain-plugin-theme": { + "version": "12.0.0", + "resolved": "https://registry.nlark.com/ng-alain-plugin-theme/download/ng-alain-plugin-theme-12.0.0.tgz?cache=0&sync_timestamp=1626077688559&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fng-alain-plugin-theme%2Fdownload%2Fng-alain-plugin-theme-12.0.0.tgz", + "integrity": "sha1-F5FVp/NG39v4fJTvUCNQprlETmA=", + "dev": true, + "requires": { + "@angular-devkit/build-angular": "^12.0.0", + "hash.js": "^1.0.0", + "less": "^3.12.0", + "less-plugin-clean-css": "^1.5.1", + "less-plugin-npm-import": "^2.1.0", + "less-vars-to-js": "^1.3.0", + "meow": "^7.1.0", + "postcss": "^7.0.0", + "strip-css-comments": "^4.1.0" + }, + "dependencies": { + "less": { + "version": "3.13.1", + "resolved": "https://registry.npmmirror.com/less/download/less-3.13.1.tgz", + "integrity": "sha1-DryR0qDpwMZzW4PUlrCrBYMHeQk=", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "native-request": "^1.0.5", + "source-map": "~0.6.0", + "tslib": "^1.10.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", + "dev": true + } + } + }, + "ng-alain-sts": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/ng-alain-sts/download/ng-alain-sts-0.0.1.tgz", + "integrity": "sha1-Fmm8TXj7U3TdmlFgeYShR5j6Qn0=", + "dev": true, + "requires": { + "@types/swagger-schema-official": "^2.0.15", + "extend": "^3.0.2", + "meow": "^5.0.0", + "request": "^2.88.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-4.1.0.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-4.2.0.tgz?cache=0&sync_timestamp=1633332959770&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/indent-string/download/indent-string-3.2.0.tgz?cache=0&sync_timestamp=1622604582006&other_urls=https%3A%2F%2Fregistry.nlark.com%2Findent-string%2Fdownload%2Findent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/map-obj/download/map-obj-2.0.0.tgz?cache=0&sync_timestamp=1634552719803&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmap-obj%2Fdownload%2Fmap-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/meow/download/meow-5.0.0.tgz?cache=0&sync_timestamp=1637477569022&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-5.0.0.tgz", + "integrity": "sha1-38c9Y6mvxxSl43F2DrXIi5EHiqQ=", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" + } + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/minimist-options/download/minimist-options-3.0.2.tgz", + "integrity": "sha1-+6TIGRM54T7PTWG+sD8HAQPz2VQ=", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/quick-lru/download/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/redent/download/redent-2.0.0.tgz?cache=0&sync_timestamp=1620070119923&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fredent%2Fdownload%2Fredent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-2.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-2.0.0.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-10.1.0.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-10.1.0.tgz", + "integrity": "sha1-cgImW4n36eny5XZeD+c1qQXtuqg=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "ng-gallery": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/ng-gallery/download/ng-gallery-5.1.1.tgz", + "integrity": "sha1-KtAgJ9WJ55817PcJIiLaIQzHvgE=", + "requires": { + "tslib": "^2.0.0" + } + }, + "ng-zorro-antd": { + "version": "12.0.2", + "resolved": "https://registry.npmmirror.com/ng-zorro-antd/download/ng-zorro-antd-12.0.2.tgz", + "integrity": "sha1-ih1BLid7lT35tYDNNmdEidfmTgM=", + "requires": { + "@angular/cdk": "^12.1.0", + "@ant-design/icons-angular": "^12.0.3", + "date-fns": "^2.10.0", + "tslib": "^2.2.0" + } + }, + "ngx-countdown": { + "version": "12.0.1", + "resolved": "https://registry.nlark.com/ngx-countdown/download/ngx-countdown-12.0.1.tgz", + "integrity": "sha1-C9au9MqDuvy8Pdk2bIRJTSuTzic=", + "requires": { + "tslib": "^2.1.0" + } + }, + "ngx-tinymce": { + "version": "12.0.0", + "resolved": "https://registry.nlark.com/ngx-tinymce/download/ngx-tinymce-12.0.0.tgz", + "integrity": "sha1-xTxfFUnLssOmoU4pBP3ZDa5xLzw=", + "requires": { + "@ng-util/lazy": "^11.1.0", + "@ng-util/util": "^11.1.0", + "tslib": "^2.1.0" + } + }, + "ngx-trend": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/ngx-trend/download/ngx-trend-7.0.0.tgz", + "integrity": "sha1-m6hRCd7EU+chOvO4gOJokkhG0ys=", + "requires": { + "tslib": "^2.1.0" + } + }, + "nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/nice-napi/download/nice-napi-1.0.2.tgz", + "integrity": "sha1-3Aq1oerCDOVIgC/FaG6qa8ZUkns=", + "dev": true, + "optional": true, + "requires": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz?cache=0&sync_timestamp=1614510016909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnice-try%2Fdownload%2Fnice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", + "dev": true + }, + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.nlark.com/node-addon-api/download/node-addon-api-3.2.1.tgz", + "integrity": "sha1-gTJeCiEXeJwBKNq2Xn448HzroWE=", + "dev": true, + "optional": true + }, + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.nlark.com/node-emoji/download/node-emoji-1.11.0.tgz", + "integrity": "sha1-aaAVDmlG4vEV6dfqTfeXHiYoMBw=", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, + "node-fetch": { + "version": "2.6.6", + "resolved": "https://registry.npmmirror.com/node-fetch/download/node-fetch-2.6.6.tgz?cache=0&sync_timestamp=1636395469986&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.6.tgz", + "integrity": "sha1-F1GnwBg06OFpd1hzLp77burfr4k=", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/node-fetch-h2/download/node-fetch-h2-2.3.0.tgz", + "integrity": "sha1-xhiDJfm9PYNAIL8PLW3BfO0iQaw=", + "dev": true, + "requires": { + "http2-client": "^1.2.5" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.nlark.com/node-forge/download/node-forge-0.10.0.tgz", + "integrity": "sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=", + "dev": true + }, + "node-gyp": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/node-gyp/download/node-gyp-7.1.2.tgz?cache=0&sync_timestamp=1637570177658&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-gyp%2Fdownload%2Fnode-gyp-7.1.2.tgz", + "integrity": "sha1-IagQrrsYcSAlHDvOyXmvFYexiK4=", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.3", + "nopt": "^5.0.0", + "npmlog": "^4.1.2", + "request": "^2.88.2", + "rimraf": "^3.0.2", + "semver": "^7.3.2", + "tar": "^6.0.2", + "which": "^2.0.2" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", + "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "node-gyp-build": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/node-gyp-build/download/node-gyp-build-4.3.0.tgz?cache=0&sync_timestamp=1631436711963&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-gyp-build%2Fdownload%2Fnode-gyp-build-4.3.0.tgz", + "integrity": "sha1-nyVrA+WCYVC+Ocdkv1Hpk5RtcaM=", + "dev": true, + "optional": true + }, + "node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/node-readfiles/download/node-readfiles-0.2.0.tgz", + "integrity": "sha1-271K8SE04uY1wkXvk//Pb2BnOl0=", + "dev": true, + "requires": { + "es6-promise": "^3.2.1" + } + }, + "node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/node-releases/download/node-releases-2.0.1.tgz?cache=0&sync_timestamp=1634806914912&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnode-releases%2Fdownload%2Fnode-releases-2.0.1.tgz", + "integrity": "sha1-PR05XyBPHy8ppUNYuftnh2WtL8U=", + "dev": true + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/nopt/download/nopt-5.0.0.tgz", + "integrity": "sha1-UwlCu1ilEvzK/lP+IQ8TolNV3Ig=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz", + "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/normalize-range/download/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-selector": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/normalize-selector/download/normalize-selector-0.2.0.tgz", + "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.nlark.com/normalize-url/download/normalize-url-6.1.0.tgz", + "integrity": "sha1-QNCIW1Nd7/4/MUe+yHfQX+TFZoo=", + "dev": true + }, + "npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/npm-bundled/download/npm-bundled-1.1.2.tgz", + "integrity": "sha1-lEx4eJvXOQNbcLqiylzDK42GC8E=", + "dev": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-install-checks": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/npm-install-checks/download/npm-install-checks-4.0.0.tgz", + "integrity": "sha1-o3+sx2Oi/eBJfvLG0Kx8P74A17Q=", + "dev": true, + "requires": { + "semver": "^7.1.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/npm-normalize-package-bin/download/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha1-bnmkHyP9I1wGIyGCKNp9nCO49uI=", + "dev": true + }, + "npm-package-arg": { + "version": "8.1.5", + "resolved": "https://registry.nlark.com/npm-package-arg/download/npm-package-arg-8.1.5.tgz?cache=0&sync_timestamp=1623784505093&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnpm-package-arg%2Fdownload%2Fnpm-package-arg-8.1.5.tgz", + "integrity": "sha1-M2my1f6P3GdLqn8XhlFN3BVGbkQ=", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "semver": "^7.3.4", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-packlist": { + "version": "2.2.2", + "resolved": "https://registry.nlark.com/npm-packlist/download/npm-packlist-2.2.2.tgz?cache=0&sync_timestamp=1629740697962&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnpm-packlist%2Fdownload%2Fnpm-packlist-2.2.2.tgz", + "integrity": "sha1-B2uXKT+mIPYygzGGp6j2WqphSMg=", + "dev": true, + "requires": { + "glob": "^7.1.6", + "ignore-walk": "^3.0.3", + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "6.1.1", + "resolved": "https://registry.npm.taobao.org/npm-pick-manifest/download/npm-pick-manifest-6.1.1.tgz", + "integrity": "sha1-e1SEyiyQhWX0O38nZE82u4FvUUg=", + "dev": true, + "requires": { + "npm-install-checks": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^8.1.2", + "semver": "^7.3.4" + } + }, + "npm-registry-fetch": { + "version": "11.0.0", + "resolved": "https://registry.npmmirror.com/npm-registry-fetch/download/npm-registry-fetch-11.0.0.tgz", + "integrity": "sha1-aMG7gQxGVCdg1ipqll+FpwLUOnY=", + "dev": true, + "requires": { + "make-fetch-happen": "^9.0.1", + "minipass": "^3.1.3", + "minipass-fetch": "^1.3.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.0.0", + "npm-package-arg": "^8.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/npm-run-path/download/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmmirror.com/npmlog/download/npmlog-4.1.2.tgz", + "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/nth-check/download/nth-check-2.0.1.tgz", + "integrity": "sha1-Lv4WL1w9oGoolZ+9PbddvuqfD8I=", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.nlark.com/num2fraction/download/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "nx": { + "version": "12.10.0", + "resolved": "https://registry.npmmirror.com/nx/download/nx-12.10.0.tgz", + "integrity": "sha1-pOj7pyVFKd5p/lTltLAH6KQyo/s=", + "dev": true, + "requires": { + "@nrwl/cli": "*" + }, + "dependencies": { + "@nrwl/cli": { + "version": "13.2.2", + "resolved": "https://registry.npmmirror.com/@nrwl/cli/download/@nrwl/cli-13.2.2.tgz", + "integrity": "sha512-iqWwULCgYV3r+sKA/jrh4Di5buesPDcmdG0vi4kFnMgNF3Pg+8Coa7qKXJXdTr1gugBfGPFFmHORmH1pE3CMYA==", + "dev": true, + "requires": { + "@nrwl/tao": "13.2.2", + "chalk": "4.1.0", + "enquirer": "~2.3.6", + "v8-compile-cache": "2.3.0", + "yargs": "15.4.1", + "yargs-parser": "20.0.0" + } + }, + "@nrwl/tao": { + "version": "13.2.2", + "resolved": "https://registry.npmmirror.com/@nrwl/tao/download/@nrwl/tao-13.2.2.tgz", + "integrity": "sha512-IQtiTuouagSYpxztJvxD1XYha1eLagFoJV/2Y7bu6jUx5KTT5chLzXbz18WUeKhkuZAHhhb2UeOmL9ggQpWnZQ==", + "dev": true, + "requires": { + "chalk": "4.1.0", + "enquirer": "~2.3.6", + "fs-extra": "^9.1.0", + "jsonc-parser": "3.0.0", + "nx": "13.2.2", + "rxjs": "^6.5.4", + "rxjs-for-await": "0.0.2", + "semver": "7.3.4", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "20.0.0" + }, + "dependencies": { + "nx": { + "version": "13.2.2", + "resolved": "https://registry.npmmirror.com/nx/download/nx-13.2.2.tgz", + "integrity": "sha512-d13Xb3pswItWS9sP4+ed4JarkTzo6+gCBNWSgxuO6MMkmKZPXH3yM3an9KlA5jCyFygcsny7CIgwwxJhz1SJCg==", + "dev": true, + "requires": { + "@nrwl/cli": "*" + } + } + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.0.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.0.tgz", + "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/cliui/download/cliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.4.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.4.tgz", + "integrity": "sha1-J6qn0uTKdkUvmNOt0JOnLJQ+3Jc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.2.1.tgz", + "integrity": "sha1-hFf8MDfc9HGcJRNnoa9lAO4czxQ=", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-6.2.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-15.4.1.tgz", + "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.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": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "dependencies": { + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz", + "integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "yargs-parser": { + "version": "20.0.0", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.0.0.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.0.0.tgz", + "integrity": "sha1-xlodqql3rWPOvdUhWRR7eJpOGak=", + "dev": true + } + } + }, + "oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/oas-kit-common/download/oas-kit-common-1.0.8.tgz", + "integrity": "sha1-bYys9ukJeWekx+qLy8vXcBjh9TU=", + "dev": true, + "requires": { + "fast-safe-stringify": "^2.0.7" + } + }, + "oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/oas-linter/download/oas-linter-3.2.2.tgz", + "integrity": "sha1-q2ozc2MTSQZZA1ymgC3Es11Iqh4=", + "dev": true, + "requires": { + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" + } + }, + "oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.nlark.com/oas-resolver/download/oas-resolver-2.5.6.tgz", + "integrity": "sha1-EEMFact9rKVhFckV5hHrxVFcVhs=", + "dev": true, + "requires": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true + }, + "yargs": { + "version": "17.2.1", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-17.2.1.tgz", + "integrity": "sha1-4slbl5ag4ffzv0QnhjtC4EGBkeo=", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/oas-schema-walker/download/oas-schema-walker-1.1.5.tgz", + "integrity": "sha1-dMPNR7cP+OCxmtraFEVbXTrDiiI=", + "dev": true + }, + "oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.nlark.com/oas-validator/download/oas-validator-5.0.8.tgz", + "integrity": "sha1-OH6Q33yvotP/yDtfuXYFK4fnPCg=", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", + "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1618846992533&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/object-copy/download/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.nlark.com/object-inspect/download/object-inspect-1.11.0.tgz?cache=0&sync_timestamp=1626120241132&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.11.0.tgz", + "integrity": "sha1-nc6xRs7dQUig2eUauI00z1CZIrE=", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613857698573&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz", + "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/object-visit/download/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115183005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz", + "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/object.values/download/object.values-1.1.5.tgz?cache=0&sync_timestamp=1633326983597&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fobject.values%2Fdownload%2Fobject.values-1.1.5.tgz", + "integrity": "sha1-lZ9j486e8QhyAzMIITHkpFm3Fqw=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/obuf/download/obuf-1.1.2.tgz", + "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz?cache=0&sync_timestamp=1614930634590&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fon-finished%2Fdownload%2Fon-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/on-headers/download/on-headers-1.0.2.tgz", + "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz", + "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.2.1", + "resolved": "https://registry.npmmirror.com/open/download/open-8.2.1.tgz", + "integrity": "sha1-gt5C2gzL9Cm8EtCZ2tLgl14U6K8=", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/opn/download/opn-5.5.0.tgz", + "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/is-wsl/download/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + } + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.9.1.tgz", + "integrity": "sha1-TyNqY3Pa4FZqbUPhMmZ09QwpFJk=", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.nlark.com/ora/download/ora-5.4.1.tgz?cache=0&sync_timestamp=1631556658795&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fora%2Fdownload%2Fora-5.4.1.tgz", + "integrity": "sha1-GyZ4Qmr0rEpQkAjl5KyemVnbnhg=", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz", + "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "outlayer": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/outlayer/download/outlayer-2.1.1.tgz", + "integrity": "sha1-KYY7beEOpdrf/8rfoNcokHOH6aI=", + "requires": { + "ev-emitter": "^1.0.0", + "fizzy-ui-utils": "^2.0.0", + "get-size": "^2.0.2" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-defer%2Fdownload%2Fp-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz", + "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/p-map/download/p-map-4.0.0.tgz?cache=0&sync_timestamp=1635931861684&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-map%2Fdownload%2Fp-map-4.0.0.tgz", + "integrity": "sha1-uy+Vpe2i7BaOySdOBqdHw+KQTSs=", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/p-retry/download/p-retry-3.0.1.tgz?cache=0&sync_timestamp=1635966813736&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-retry%2Fdownload%2Fp-retry-3.0.1.tgz", + "integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-2.2.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", + "dev": true + }, + "pacote": { + "version": "11.3.5", + "resolved": "https://registry.npmmirror.com/pacote/download/pacote-11.3.5.tgz?cache=0&sync_timestamp=1634076714071&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpacote%2Fdownload%2Fpacote-11.3.5.tgz", + "integrity": "sha1-c88fw3crUz9XXjnvqWxQvow9ydI=", + "dev": true, + "requires": { + "@npmcli/git": "^2.1.0", + "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/promise-spawn": "^1.2.0", + "@npmcli/run-script": "^1.8.2", + "cacache": "^15.0.5", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.3", + "mkdirp": "^1.0.3", + "npm-package-arg": "^8.0.1", + "npm-packlist": "^2.1.4", + "npm-pick-manifest": "^6.0.0", + "npm-registry-fetch": "^11.0.0", + "promise-retry": "^2.0.1", + "read-package-json-fast": "^2.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.1.0" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.nlark.com/pako/download/pako-1.0.11.tgz", + "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=" + }, + "parchment": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/parchment/download/parchment-1.1.4.tgz", + "integrity": "sha1-rt7Xq5OP6SHUw0vDOc4RaLwv/eU=" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parent-module/download/parent-module-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fparent-module%2Fdownload%2Fparent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/parse-entities/download/parse-entities-2.0.0.tgz", + "integrity": "sha1-U8brW5MUofTsmfoP33zgHs2gy+g=", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/download/parse-json-5.2.0.tgz", + "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parse-node-version/download/parse-node-version-1.0.1.tgz", + "integrity": "sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs=", + "dev": true + }, + "parse-svg-path": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/parse-svg-path/download/parse-svg-path-0.1.2.tgz", + "integrity": "sha1-en7A0esG+lMlx9PgCbhZoJtdSes=" + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.nlark.com/parse5/download/parse5-5.1.1.tgz", + "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=", + "optional": true + }, + "parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/parse5-html-rewriting-stream/download/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha1-3hggVZMXq05FHqctugX939kUSAs=", + "dev": true, + "requires": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.nlark.com/parse5/download/parse5-6.0.1.tgz", + "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", + "dev": true + } + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha1-LN+a2CMyEUA3DU2/XT6Sx8jdxuY=", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.nlark.com/parse5/download/parse5-6.0.1.tgz", + "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", + "dev": true + } + } + }, + "parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/parse5-sax-parser/download/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha1-mLTTZrWyZqfNkLS1iQZmeviC2ro=", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.nlark.com/parse5/download/parse5-6.0.1.tgz", + "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz", + "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/path-is-inside/download/path-is-inside-1.0.2.tgz?cache=0&sync_timestamp=1622604553837&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-is-inside%2Fdownload%2Fpath-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1617971632960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz?cache=0&sync_timestamp=1621947783503&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-parse%2Fdownload%2Fpath-parse-1.0.7.tgz", + "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/path-type/download/path-type-4.0.0.tgz", + "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=", + "dev": true + }, + "perfect-scrollbar": { + "version": "1.5.3", + "resolved": "https://registry.npmmirror.com/perfect-scrollbar/download/perfect-scrollbar-1.5.3.tgz?cache=0&sync_timestamp=1635159385205&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fperfect-scrollbar%2Fdownload%2Fperfect-scrollbar-1.5.3.tgz", + "integrity": "sha1-292EBx+EYNuf+JMhTtUBWWrZ3Fo=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-1.0.0.tgz", + "integrity": "sha1-y1vcdP8/UYkiNur3nWi8RFZKuBw=", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz?cache=0&sync_timestamp=1621648305056&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpicomatch%2Fdownload%2Fpicomatch-2.3.0.tgz", + "integrity": "sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "piscina": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/piscina/download/piscina-3.1.0.tgz", + "integrity": "sha1-IzNjaGW2y2nFo3C7xJmpjKvPPgQ=", + "dev": true, + "requires": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0", + "nice-napi": "^1.0.2" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz", + "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/pkg-up/download/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/please-upgrade-node/download/please-upgrade-node-3.2.0.tgz", + "integrity": "sha1-rt3T+ZTJM+StmLmdmlVu+g4v6UI=", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, + "point-at-length": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/point-at-length/download/point-at-length-1.1.0.tgz", + "integrity": "sha1-CtcuvQmA1/WhqxIpbAVfnrazDlc=", + "requires": { + "abs-svg-path": "~0.1.1", + "isarray": "~0.0.1", + "parse-svg-path": "~0.1.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz", + "integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "8.3.6", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-8.3.6.tgz", + "integrity": "sha1-JzDddql5afN/U7mmCWGXvjEcxOo=", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + }, + "dependencies": { + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmmirror.com/source-map-js/download/source-map-js-0.6.2.tgz?cache=0&sync_timestamp=1636400772640&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsource-map-js%2Fdownload%2Fsource-map-js-0.6.2.tgz", + "integrity": "sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=", + "dev": true + } + } + }, + "postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/postcss-attribute-case-insensitive/download/postcss-attribute-case-insensitive-4.0.2.tgz?cache=0&sync_timestamp=1600194210360&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-attribute-case-insensitive%2Fdownload%2Fpostcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha1-2T5GtQRYnpSscnewRjImxoBBqIA=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-calc": { + "version": "8.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-8.0.0.tgz?cache=0&sync_timestamp=1609689191682&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-8.0.0.tgz", + "integrity": "sha1-oFuHqs0TJ0Cl2wlGKjYSRT5d+Qo=", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/postcss-color-functional-notation/download/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha1-Xv03qI+6vrAKKWbR5T2Yztk/dOA=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-color-gray/download/postcss-color-gray-5.0.0.tgz", + "integrity": "sha1-Uyox65CfjaiYzv/ilv3B+GS+hUc=", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/postcss-color-hex-alpha/download/postcss-color-hex-alpha-5.0.3.tgz?cache=0&sync_timestamp=1632320902580&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-color-hex-alpha%2Fdownload%2Fpostcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha1-qNnKTDnUl8lmHjdLnFGJnvD4c4g=", + "dev": true, + "requires": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/postcss-color-mod-function/download/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha1-gWuhRawRzDy2uqkFp1pJ+QPk0x0=", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/postcss-color-rebeccapurple/download/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha1-x6ib6HK7dORbHjAiv+V0iCPm3nc=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-colormin": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/postcss-colormin/download/postcss-colormin-5.2.1.tgz", + "integrity": "sha1-bkRKgG/TxXiCfbrQInYt8ZM0QU0=", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-convert-values": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/postcss-convert-values/download/postcss-convert-values-5.0.2.tgz?cache=0&sync_timestamp=1635857664165&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-convert-values%2Fdownload%2Fpostcss-convert-values-5.0.2.tgz", + "integrity": "sha1-h5uEncNnfH1ryUtqLBo/CAh5gFk=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.nlark.com/postcss-custom-media/download/postcss-custom-media-7.0.8.tgz", + "integrity": "sha1-//0T/+/61zYhvl84cHaiiwApTgw=", + "dev": true, + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.nlark.com/postcss-custom-properties/download/postcss-custom-properties-8.0.11.tgz?cache=0&sync_timestamp=1631899559309&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-custom-properties%2Fdownload%2Fpostcss-custom-properties-8.0.11.tgz", + "integrity": "sha1-LWF3LW6S8i9eDVJgLfj65G+jDZc=", + "dev": true, + "requires": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/postcss-custom-selectors/download/postcss-custom-selectors-5.1.2.tgz?cache=0&sync_timestamp=1610469257838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-custom-selectors%2Fdownload%2Fpostcss-custom-selectors-5.1.2.tgz", + "integrity": "sha1-ZIWMbrLs/y+0HQsoyd17PbTef7o=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/cssesc/download/cssesc-2.0.0.tgz", + "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM=", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz", + "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/postcss-dir-pseudo-class/download/postcss-dir-pseudo-class-5.0.0.tgz?cache=0&sync_timestamp=1631886211698&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-dir-pseudo-class%2Fdownload%2Fpostcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha1-bjpBd9Dts6vMhf22+7HCbauuq6I=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/cssesc/download/cssesc-2.0.0.tgz", + "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM=", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz", + "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-discard-comments/download/postcss-discard-comments-5.0.1.tgz", + "integrity": "sha1-nq5LdHz3YNMfJEfCfwYZ1XGJAf4=", + "dev": true + }, + "postcss-discard-duplicates": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-discard-duplicates/download/postcss-discard-duplicates-5.0.1.tgz", + "integrity": "sha1-aPfMZFj+a6suRsn1WuUoafaA5m0=", + "dev": true + }, + "postcss-discard-empty": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-discard-empty/download/postcss-discard-empty-5.0.1.tgz", + "integrity": "sha1-7hNsOeJ9XS7U2g7l7QK8ip+L9tg=", + "dev": true + }, + "postcss-discard-overridden": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-discard-overridden/download/postcss-discard-overridden-5.0.1.tgz", + "integrity": "sha1-RUtB9wcwC5gQmnUAXKSrD/J0OsY=", + "dev": true + }, + "postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/postcss-double-position-gradients/download/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha1-/JJ9Uv3ciWyzooEuvF3xR+EQUi4=", + "dev": true, + "requires": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/postcss-env-function/download/postcss-env-function-2.0.2.tgz?cache=0&sync_timestamp=1637256010098&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-env-function%2Fdownload%2Fpostcss-env-function-2.0.2.tgz", + "integrity": "sha1-Dz49PFfwlKksK69LYkHwsNpTZdc=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/postcss-focus-visible/download/postcss-focus-visible-4.0.0.tgz?cache=0&sync_timestamp=1632317515654&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-focus-visible%2Fdownload%2Fpostcss-focus-visible-4.0.0.tgz", + "integrity": "sha1-R30QcROt5gJLFBKDF63ivR4XBG4=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/postcss-focus-within/download/postcss-focus-within-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-focus-within%2Fdownload%2Fpostcss-focus-within-3.0.0.tgz", + "integrity": "sha1-djuHiFls7puHTJmSAc3egGWe9oA=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-font-variant/download/postcss-font-variant-4.0.1.tgz", + "integrity": "sha1-QtTAqzCJT2D5ixdWHrXAMh9QJkE=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/postcss-gap-properties/download/postcss-gap-properties-2.0.0.tgz?cache=0&sync_timestamp=1631886207918&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-gap-properties%2Fdownload%2Fpostcss-gap-properties-2.0.0.tgz", + "integrity": "sha1-QxwZKrPtlqPD0J8v9hWWD5AsFxU=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-html": { + "version": "0.36.0", + "resolved": "https://registry.npmmirror.com/postcss-html/download/postcss-html-0.36.0.tgz", + "integrity": "sha1-tAkT+U6qzCRT/TChMnrW7h+IsgQ=", + "dev": true, + "requires": { + "htmlparser2": "^3.10.0" + } + }, + "postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/postcss-image-set-function/download/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha1-KJIKLymUW+1MMZjX32SW1BDT8og=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-import": { + "version": "14.0.2", + "resolved": "https://registry.nlark.com/postcss-import/download/postcss-import-14.0.2.tgz", + "integrity": "sha1-YO/3fmvpLntn/kaex5fZQkyuGqE=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-initial": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/postcss-initial/download/postcss-initial-3.0.4.tgz", + "integrity": "sha1-nTIGmhBTH+Lsr6C2rHUO4Lx+/FM=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-jsx": { + "version": "0.36.4", + "resolved": "https://registry.npm.taobao.org/postcss-jsx/download/postcss-jsx-0.36.4.tgz", + "integrity": "sha1-N6aPMAo55XSNVH8Zp0ezJXJAvVA=", + "dev": true, + "requires": { + "@babel/core": ">=7.2.2" + } + }, + "postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/postcss-lab-function/download/postcss-lab-function-2.0.1.tgz?cache=0&sync_timestamp=1637260919901&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-lab-function%2Fdownload%2Fpostcss-lab-function-2.0.1.tgz", + "integrity": "sha1-u1GmhWzRIomrSuINseOCHvE9fS4=", + "dev": true, + "requires": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-less": { + "version": "3.1.4", + "resolved": "https://registry.nlark.com/postcss-less/download/postcss-less-3.1.4.tgz?cache=0&sync_timestamp=1627347193371&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-less%2Fdownload%2Fpostcss-less-3.1.4.tgz", + "integrity": "sha1-Np9YZCtZKO+Jj/vBpuk8lYMExa0=", + "dev": true, + "requires": { + "postcss": "^7.0.14" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-loader": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/postcss-loader/download/postcss-loader-6.1.1.tgz", + "integrity": "sha1-WN0KOszZvIfMUu/3UkTbV40RMBo=", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "semver": "^7.3.5" + } + }, + "postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/postcss-logical/download/postcss-logical-3.0.0.tgz", + "integrity": "sha1-JJXQ+LgunyYnJfdflAGzTntF1bU=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-markdown": { + "version": "0.36.0", + "resolved": "https://registry.npmmirror.com/postcss-markdown/download/postcss-markdown-0.36.0.tgz", + "integrity": "sha1-fyKEmuDj2xiCC3sNXngz8TpEdWA=", + "dev": true, + "requires": { + "remark": "^10.0.1", + "unist-util-find-all-after": "^1.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-2.0.5.tgz", + "integrity": "sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=", + "dev": true + }, + "parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/parse-entities/download/parse-entities-1.2.2.tgz", + "integrity": "sha1-wxvw9lO2ZhNU+Jc1WcuG3R1e31A=", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "remark": { + "version": "10.0.1", + "resolved": "https://registry.npmmirror.com/remark/download/remark-10.0.1.tgz?cache=0&sync_timestamp=1637258856657&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fremark%2Fdownload%2Fremark-10.0.1.tgz", + "integrity": "sha1-MFgHbcQXgb9QXYl4wpFIX+R2Z98=", + "dev": true, + "requires": { + "remark-parse": "^6.0.0", + "remark-stringify": "^6.0.0", + "unified": "^7.0.0" + } + }, + "remark-parse": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/remark-parse/download/remark-parse-6.0.3.tgz", + "integrity": "sha1-yZExBSgJ2kghCEE/h7Duf1IYCjo=", + "dev": true, + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "remark-stringify": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/remark-stringify/download/remark-stringify-6.0.4.tgz", + "integrity": "sha1-FqwinU0VkySQGGY8e93yiq/E4Ig=", + "dev": true, + "requires": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^1.1.0", + "mdast-util-compact": "^1.0.0", + "parse-entities": "^1.0.2", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^1.0.1", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + } + }, + "unified": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/unified/download/unified-7.1.0.tgz", + "integrity": "sha1-UDLxwe4zZL0J2hLif91KdVPHvhM=", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "@types/vfile": "^3.0.0", + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^3.0.0", + "x-is-string": "^0.1.0" + } + }, + "unist-util-find-all-after": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/unist-util-find-all-after/download/unist-util-find-all-after-1.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-find-all-after%2Fdownload%2Funist-util-find-all-after-1.0.5.tgz", + "integrity": "sha1-V1GoYIg09B0RetnFd3cMXy8bKJk=", + "dev": true, + "requires": { + "unist-util-is": "^3.0.0" + } + }, + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/unist-util-is/download/unist-util-is-3.0.0.tgz?cache=0&sync_timestamp=1626874922677&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-is%2Fdownload%2Funist-util-is-3.0.0.tgz", + "integrity": "sha1-2ehDgcJGjoJinkpb6dfQWi3TJM0=", + "dev": true + }, + "unist-util-stringify-position": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/unist-util-stringify-position/download/unist-util-stringify-position-1.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-stringify-position%2Fdownload%2Funist-util-stringify-position-1.1.2.tgz", + "integrity": "sha1-Pzf881EnncvKdICrWIm7ioMu4cY=", + "dev": true + }, + "vfile": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/vfile/download/vfile-3.0.1.tgz", + "integrity": "sha1-RzMdKr4ygkJPSku2rNIKRMQSGAM=", + "dev": true, + "requires": { + "is-buffer": "^2.0.0", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + } + }, + "vfile-message": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/vfile-message/download/vfile-message-1.1.1.tgz?cache=0&sync_timestamp=1628780833868&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvfile-message%2Fdownload%2Fvfile-message-1.1.1.tgz", + "integrity": "sha1-WDOuB4od+i2W6WR4hs0ymTqzE+E=", + "dev": true, + "requires": { + "unist-util-stringify-position": "^1.1.1" + } + } + } + }, + "postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-media-minmax/download/postcss-media-minmax-4.0.0.tgz?cache=0&sync_timestamp=1610466264580&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-media-minmax%2Fdownload%2Fpostcss-media-minmax-4.0.0.tgz", + "integrity": "sha1-t1u2y8IXyKxJQz4S8iBIgUpPXtU=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/postcss-media-query-parser/download/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", + "dev": true + }, + "postcss-merge-longhand": { + "version": "5.0.4", + "resolved": "https://registry.npmmirror.com/postcss-merge-longhand/download/postcss-merge-longhand-5.0.4.tgz?cache=0&sync_timestamp=1637084982494&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-5.0.4.tgz", + "integrity": "sha512-2lZrOVD+d81aoYkZDpWu6+3dTAAGkCKbV5DoRhnIR7KOULVrI/R7bcMjhrH9KTRy6iiHKqmtG+n/MMj1WmqHFw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.1" + } + }, + "postcss-merge-rules": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/postcss-merge-rules/download/postcss-merge-rules-5.0.3.tgz?cache=0&sync_timestamp=1637085799347&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-5.0.3.tgz", + "integrity": "sha512-cEKTMEbWazVa5NXd8deLdCnXl+6cYG7m2am+1HzqH0EnTdy8fRysatkaXb2dEnR+fdaDxTvuZ5zoBdv6efF6hg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^2.0.1", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-minify-font-values/download/postcss-minify-font-values-5.0.1.tgz", + "integrity": "sha1-qQzvv9qgdb09uqGzNYi7TcJord8=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-gradients": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/postcss-minify-gradients/download/postcss-minify-gradients-5.0.3.tgz?cache=0&sync_timestamp=1635856917388&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-minify-gradients-5.0.3.tgz", + "integrity": "sha1-+XChHMceCOkJXnjsOms0uRwZVQ4=", + "dev": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-params": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/postcss-minify-params/download/postcss-minify-params-5.0.2.tgz?cache=0&sync_timestamp=1637084983019&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-5.0.2.tgz", + "integrity": "sha512-qJAPuBzxO1yhLad7h2Dzk/F7n1vPyfHfCCh5grjGfjhi1ttCnq4ZXGIW77GSrEbh9Hus9Lc/e/+tB4vh3/GpDg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.6", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-selectors": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/postcss-minify-selectors/download/postcss-minify-selectors-5.1.0.tgz", + "integrity": "sha1-Q4XIRdOXn/FgKRd0Uj/6VOr9WlQ=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/postcss-modules-extract-imports/download/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha1-zaHwR8CugMl9vijD52pDuIAldB0=", + "dev": true + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-4.0.0.tgz?cache=0&sync_timestamp=1602587625149&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha1-67tU+uFZjuz99pGgKz/zs5ClpRw=", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha1-nvMVFFbTu/oSDKRImN/Kby+gHwY=", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-4.0.0.tgz?cache=0&sync_timestamp=1602586215124&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-4.0.0.tgz", + "integrity": "sha1-18Xn5ow7s8myfL9Iyguz/7RgLJw=", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/postcss-nesting/download/postcss-nesting-7.0.1.tgz?cache=0&sync_timestamp=1637236305822&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-nesting%2Fdownload%2Fpostcss-nesting-7.0.1.tgz", + "integrity": "sha1-tQrXt/AXPlteOIDDUBNEcD4EwFI=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-normalize-charset": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-charset/download/postcss-normalize-charset-5.0.1.tgz", + "integrity": "sha1-EhVZ0b68VayNJK839nvU2p79kdA=", + "dev": true + }, + "postcss-normalize-display-values": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-display-values/download/postcss-normalize-display-values-5.0.1.tgz?cache=0&sync_timestamp=1621449652268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-normalize-display-values%2Fdownload%2Fpostcss-normalize-display-values-5.0.1.tgz", + "integrity": "sha1-YmULllmBqVXf/ugzY0U9uC9q0f0=", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-positions": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-positions/download/postcss-normalize-positions-5.0.1.tgz", + "integrity": "sha1-ho9q8Xlf36hvu+lg3OtH5flJL+U=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-5.0.1.tgz", + "integrity": "sha1-y8DeE4O1f1u2Hd1qhGU7XoZlsrU=", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-string": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-string/download/postcss-normalize-string-5.0.1.tgz", + "integrity": "sha1-2er6pN94x6O5c640bvDkfFVJhbA=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-5.0.1.tgz", + "integrity": "sha1-juQRA7kTBCnGy7pzaTK3XF4ssIw=", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-unicode/download/postcss-normalize-unicode-5.0.1.tgz", + "integrity": "sha1-gtZy1kikEYFKpb865WU3nM2fXjc=", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-url": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/postcss-normalize-url/download/postcss-normalize-url-5.0.3.tgz?cache=0&sync_timestamp=1637084983535&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-5.0.3.tgz", + "integrity": "sha512-qWiUMbvkRx3kc1Dp5opzUwc7MBWZcSDK2yofCmdvFBCpx+zFPkxBC1FASQ59Pt+flYfj/nTZSkmF56+XG5elSg==", + "dev": true, + "requires": { + "is-absolute-url": "^3.0.3", + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-normalize-whitespace/download/postcss-normalize-whitespace-5.0.1.tgz", + "integrity": "sha1-sLQLW8rINYX/B+rS2vLc++7vjpo=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-ordered-values": { + "version": "5.0.2", + "resolved": "https://registry.nlark.com/postcss-ordered-values/download/postcss-ordered-values-5.0.2.tgz?cache=0&sync_timestamp=1623330460500&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-ordered-values%2Fdownload%2Fpostcss-ordered-values-5.0.2.tgz", + "integrity": "sha1-HzUUJpd74A4PdlsxZK11PayO0EQ=", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/postcss-overflow-shorthand/download/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha1-MezzUOnG9t3CUKePDD4RHzLdTDA=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/postcss-page-break/download/postcss-page-break-2.0.0.tgz", + "integrity": "sha1-rdUtDgpSjKvmr+6LRuKrsnffRr8=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/postcss-place/download/postcss-place-4.0.1.tgz?cache=0&sync_timestamp=1637322613194&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-place%2Fdownload%2Fpostcss-place-4.0.1.tgz", + "integrity": "sha1-6fOdM9LcWE5G7h20Wtt3yp0dzGI=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmmirror.com/postcss-preset-env/download/postcss-preset-env-6.7.0.tgz?cache=0&sync_timestamp=1637321343139&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-preset-env%2Fdownload%2Fpostcss-preset-env-6.7.0.tgz", + "integrity": "sha1-w03az4+QI4OzWtHgMPF49M3xGKU=", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/postcss-pseudo-class-any-link/download/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha1-LtPu05OzcCh53sSocDKyENrrBNE=", + "dev": true, + "requires": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/cssesc/download/cssesc-2.0.0.tgz", + "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM=", + "dev": true + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz", + "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=", + "dev": true, + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-reduce-initial/download/postcss-reduce-initial-5.0.1.tgz", + "integrity": "sha1-nWNphlsPb29rFloO9dwaSFbH6UY=", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/postcss-reduce-transforms/download/postcss-reduce-transforms-5.0.1.tgz?cache=0&sync_timestamp=1621449730895&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-reduce-transforms-5.0.1.tgz", + "integrity": "sha1-k8EvahWUdKpxHVJpkj4jg87c9kA=", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-replace-overflow-wrap/download/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha1-YbNg/9rtyoTHyRjSsPDQ6lWasBw=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-reporter": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/postcss-reporter/download/postcss-reporter-6.0.1.tgz", + "integrity": "sha1-fAVRIAYKl8iDe05IIVZhqvt0JF8=", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "lodash": "^4.17.11", + "log-symbols": "^2.2.0", + "postcss": "^7.0.7" + }, + "dependencies": { + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz", + "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/postcss-resolve-nested-selector/download/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", + "dev": true + }, + "postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.nlark.com/postcss-safe-parser/download/postcss-safe-parser-4.0.2.tgz", + "integrity": "sha1-ptTkjw832ffBGypYG/APi6SHC5Y=", + "dev": true, + "requires": { + "postcss": "^7.0.26" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-sass": { + "version": "0.4.4", + "resolved": "https://registry.nlark.com/postcss-sass/download/postcss-sass-0.4.4.tgz", + "integrity": "sha1-kfDzRHtFzjcyJ6mLYfjY8HhShaM=", + "dev": true, + "requires": { + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-scss": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/postcss-scss/download/postcss-scss-2.1.1.tgz?cache=0&sync_timestamp=1635496103823&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-scss%2Fdownload%2Fpostcss-scss-2.1.1.tgz", + "integrity": "sha1-7Dp1+imlXgFrkL8yaQJsU8HSs4M=", + "dev": true, + "requires": { + "postcss": "^7.0.6" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/postcss-selector-matches/download/postcss-selector-matches-4.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-matches%2Fdownload%2Fpostcss-selector-matches-4.0.0.tgz", + "integrity": "sha1-ccgkj5F7osyTA3yWN+4JxkQ2/P8=", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/postcss-selector-not/download/postcss-selector-not-4.0.1.tgz?cache=0&sync_timestamp=1612096191464&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-not%2Fdownload%2Fpostcss-selector-not-4.0.1.tgz", + "integrity": "sha1-JjAW7vHPIZ4K3pqRN4D8H0ggTL8=", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.6.tgz", + "integrity": "sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-sorting": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/postcss-sorting/download/postcss-sorting-4.1.0.tgz", + "integrity": "sha1-oQfwvzhSl3+mTkRCvDQMiNWqzbM=", + "dev": true, + "requires": { + "lodash": "^4.17.4", + "postcss": "^7.0.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "postcss-svgo": { + "version": "5.0.3", + "resolved": "https://registry.npmmirror.com/postcss-svgo/download/postcss-svgo-5.0.3.tgz", + "integrity": "sha1-2UUYV1bl36rgf57bDTyuf/efmzA=", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0", + "svgo": "^2.7.0" + } + }, + "postcss-syntax": { + "version": "0.36.2", + "resolved": "https://registry.npm.taobao.org/postcss-syntax/download/postcss-syntax-0.36.2.tgz", + "integrity": "sha1-8IV4x9lYNFdOVZOoLfv6ivrjtRw=", + "dev": true + }, + "postcss-unique-selectors": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/postcss-unique-selectors/download/postcss-unique-selectors-5.0.2.tgz?cache=0&sync_timestamp=1637084982907&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-5.0.2.tgz", + "integrity": "sha512-w3zBVlrtZm7loQWRPVC0yjUwwpty7OM6DnEHkxcSQXO1bMS3RJ+JUS5LFMSDZHJcvGsRwhZinCWVqn8Kej4EDA==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz", + "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", + "dev": true + }, + "postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/postcss-values-parser/download/postcss-values-parser-2.0.1.tgz", + "integrity": "sha1-2otHLZAdoeIFtHvcmGN7np5VDl8=", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "preact": { + "version": "10.6.1", + "resolved": "https://registry.npmmirror.com/preact/download/preact-10.6.1.tgz", + "integrity": "sha512-ydCg+ISIq70vqiThvNWStZWLRjR9U2awP/JAmGdWUKm9+Tyuy+MqVdAIyEByeIspAVtD4GWC/SJtxO8XD4knVA==" + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/prelude-ls/download/prelude-ls-1.2.1.tgz", + "integrity": "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=", + "dev": true + }, + "prettier": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/prettier/download/prettier-2.5.0.tgz", + "integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/prettier-linter-helpers/download/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha1-0j1B/hN1ZG3i0BBNNFSjAIgCz3s=", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.6.0.tgz", + "integrity": "sha1-NWJW9kOAR3PIL2RyP+eMksYr6us=", + "dev": true + }, + "printj": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/printj/download/printj-1.1.2.tgz", + "integrity": "sha1-2Q3rKXWoufYA+zoclOP0xTx4oiI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=", + "dev": true + }, + "promise": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/promise/download/promise-7.0.4.tgz", + "integrity": "sha1-Nj6EpMNsg1a4kP7WLJHOhdAu1Tk=", + "dev": true, + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/promise-retry/download/promise-retry-2.0.1.tgz", + "integrity": "sha1-/3R6E2IKtXumiPX8Z4VUEMNw2iI=", + "dev": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "protractor": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/protractor/download/protractor-7.0.0.tgz", + "integrity": "sha1-w+JjYIvXLiwtyAKxGncnEaR5LQM=", + "dev": true, + "requires": { + "@types/q": "^0.0.32", + "@types/selenium-webdriver": "^3.0.0", + "blocking-proxy": "^1.0.0", + "browserstack": "^1.5.1", + "chalk": "^1.1.3", + "glob": "^7.0.3", + "jasmine": "2.8.0", + "jasminewd2": "^2.1.0", + "q": "1.4.1", + "saucelabs": "^1.5.0", + "selenium-webdriver": "3.6.0", + "source-map-support": "~0.4.0", + "webdriver-js-extender": "2.1.0", + "webdriver-manager": "^12.1.7", + "yargs": "^15.3.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/cliui/download/cliui-6.0.0.tgz", + "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/del/download/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + } + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/globby/download/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz", + "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw=", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-1.0.0.tgz?cache=0&sync_timestamp=1628686555851&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz?cache=0&sync_timestamp=1620047389319&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-in-cwd%2Fdownload%2Fis-path-in-cwd-1.0.1.tgz", + "integrity": "sha1-WsSLNF72dTOb1sekipEhELJBz1I=", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-1.0.1.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmmirror.com/source-map-support/download/source-map-support-0.4.18.tgz", + "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "webdriver-manager": { + "version": "12.1.8", + "resolved": "https://registry.nlark.com/webdriver-manager/download/webdriver-manager-12.1.8.tgz", + "integrity": "sha1-XnDnPqr1Ogdn1XRScK3a+8WQX9Q=", + "dev": true, + "requires": { + "adm-zip": "^0.4.9", + "chalk": "^1.1.1", + "del": "^2.2.0", + "glob": "^7.0.3", + "ini": "^1.3.4", + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.87.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-6.2.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-6.2.0.tgz", + "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-15.4.1.tgz", + "integrity": "sha1-DYehbeAa7p2L7Cv7909nhRcw9Pg=", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.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": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-18.1.3.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-18.1.3.tgz", + "integrity": "sha1-vmjEl1xrKr9GkjawyHA2L6sJp7A=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.nlark.com/proxy-addr/download/proxy-addr-2.0.7.tgz", + "integrity": "sha1-8Z/mnOqzEe65S0LnDowgcPm6ECU=", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/prr/download/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz", + "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" + }, + "q": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/q/download/q-1.4.1.tgz?cache=0&sync_timestamp=1599054212574&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fq%2Fdownload%2Fq-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true + }, + "qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/qjobs/download/qjobs-1.2.0.tgz", + "integrity": "sha1-xF6cYYAL0IfviNfiVkI73Unl0HE=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.nlark.com/qs/download/qs-6.7.0.tgz", + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/querystring/download/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz", + "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.nlark.com/queue-microtask/download/queue-microtask-1.2.3.tgz", + "integrity": "sha1-SSkii7xyTfrEPg77BYyve2z7YkM=", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/quick-lru/download/quick-lru-4.0.1.tgz", + "integrity": "sha1-W4h48ROlgheEjGSCAmxz4bpXcn8=", + "dev": true + }, + "quill": { + "version": "1.3.7", + "resolved": "https://registry.npm.taobao.org/quill/download/quill-1.3.7.tgz", + "integrity": "sha1-2lsvOixHDpMjQM2/NmjJ8h+Shug=", + "requires": { + "clone": "^2.1.1", + "deep-equal": "^1.0.1", + "eventemitter3": "^2.0.3", + "extend": "^3.0.2", + "parchment": "^1.1.4", + "quill-delta": "^3.6.2" + } + }, + "quill-delta": { + "version": "3.6.3", + "resolved": "https://registry.nlark.com/quill-delta/download/quill-delta-3.6.3.tgz", + "integrity": "sha1-sZ/SuJQSMBxg4f8hPY2GDqwPEDI=", + "requires": { + "deep-equal": "^1.0.1", + "extend": "^3.0.2", + "fast-diff": "1.1.2" + } + }, + "quill-image-resize-module": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/quill-image-resize-module/download/quill-image-resize-module-3.0.0.tgz", + "integrity": "sha1-D9k3Rqg3M22VsvU2FAQWpiPHF3E=", + "requires": { + "lodash": "^4.17.4", + "quill": "^1.2.2", + "raw-loader": "^0.5.1" + }, + "dependencies": { + "acorn": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-5.0.2.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-5.0.2.tgz", + "integrity": "sha1-3ByPuQf2TbKrVz3iMmtzUnwk3jY=" + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "requires": { + "acorn": "^4.0.3" + }, + "dependencies": { + "acorn": { + "version": "4.0.11", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-4.0.11.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-4.0.11.tgz", + "integrity": "sha1-7c2jvZN+dVZBDULtWGD2c5nHlMA=" + } + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-3.0.1.tgz?cache=0&sync_timestamp=1625793240297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-jsx%2Fdownload%2Facorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-3.3.0.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" + } + } + }, + "ajv": { + "version": "4.11.5", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-4.11.5.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-4.11.5.tgz", + "integrity": "sha1-tu50ZXuZOgHc5Et5RNVvSFgo1b0=", + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmmirror.com/ajv-keywords/download/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=" + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/align-text/download/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "ansi-escapes": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/ansi-escapes/download/ansi-escapes-1.4.0.tgz?cache=0&sync_timestamp=1618847144938&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-escapes%2Fdownload%2Fansi-escapes-1.4.0.tgz", + "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "anymatch": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-1.3.0.tgz?cache=0&sync_timestamp=1617747502795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-1.3.0.tgz", + "integrity": "sha1-o+Uvo5FoyCX/V7AkgSbOWo/5VQc=", + "requires": { + "arrify": "^1.0.0", + "micromatch": "^2.1.5" + } + }, + "argparse": { + "version": "1.0.9", + "resolved": "https://registry.nlark.com/argparse/download/argparse-1.0.9.tgz", + "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/aria-query/download/aria-query-0.3.0.tgz?cache=0&sync_timestamp=1633308188641&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Faria-query%2Fdownload%2Faria-query-0.3.0.tgz", + "integrity": "sha1-y4qZhOKGJxHIPICt5bj1yg3itGc=", + "requires": { + "ast-types-flow": "0.0.7" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "arr-flatten": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/arr-flatten/download/arr-flatten-1.0.1.tgz?cache=0&sync_timestamp=1618846805394&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farr-flatten%2Fdownload%2Farr-flatten-1.0.1.tgz", + "integrity": "sha1-5f/lTUXhnzLyFukeuZyM6JK7YEs=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz?cache=0&sync_timestamp=1622605321175&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farray-uniq%2Fdownload%2Farray-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/array-unique/download/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "array.prototype.find": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/array.prototype.find/download/array.prototype.find-2.0.4.tgz", + "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/arrify/download/arrify-1.0.1.tgz?cache=0&sync_timestamp=1619599497996&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farrify%2Fdownload%2Farrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asn1.js": { + "version": "4.9.1", + "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.9.1.tgz", + "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "requires": { + "util": "0.10.3" + } + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npm.taobao.org/ast-types-flow/download/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" + }, + "async": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/async/download/async-2.3.0.tgz", + "integrity": "sha1-EBPRBRBH3TIP4k5JTVxm7K9hR9k=", + "requires": { + "lodash": "^4.14.0" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + }, + "babel-cli": { + "version": "6.24.0", + "resolved": "https://registry.npm.taobao.org/babel-cli/download/babel-cli-6.24.0.tgz", + "integrity": "sha1-oF/9IQ3KDCiKJtUxnFrIZpomWtA=", + "requires": { + "babel-core": "^6.24.0", + "babel-polyfill": "^6.23.0", + "babel-register": "^6.24.0", + "babel-runtime": "^6.22.0", + "chokidar": "^1.6.1", + "commander": "^2.8.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.0.0", + "glob": "^7.0.0", + "lodash": "^4.2.0", + "output-file-sync": "^1.1.0", + "path-is-absolute": "^1.0.0", + "slash": "^1.0.0", + "source-map": "^0.5.0", + "v8flags": "^2.0.10" + } + }, + "babel-code-frame": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-code-frame/download/babel-code-frame-6.22.0.tgz", + "integrity": "sha1-AnYgvuVnqIwyVhV05/0IAdMxGOQ=", + "requires": { + "chalk": "^1.1.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" + } + }, + "babel-core": { + "version": "6.24.0", + "resolved": "https://registry.npm.taobao.org/babel-core/download/babel-core-6.24.0.tgz", + "integrity": "sha1-jzagp39cFVrtb5ILhE0julZ0KgI=", + "requires": { + "babel-code-frame": "^6.22.0", + "babel-generator": "^6.24.0", + "babel-helpers": "^6.23.0", + "babel-messages": "^6.23.0", + "babel-register": "^6.24.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.1", + "babel-types": "^6.23.0", + "babylon": "^6.11.0", + "convert-source-map": "^1.1.0", + "debug": "^2.1.1", + "json5": "^0.5.0", + "lodash": "^4.2.0", + "minimatch": "^3.0.2", + "path-is-absolute": "^1.0.0", + "private": "^0.1.6", + "slash": "^1.0.0", + "source-map": "^0.5.0" + } + }, + "babel-eslint": { + "version": "7.2.1", + "resolved": "https://registry.npmmirror.com/babel-eslint/download/babel-eslint-7.2.1.tgz", + "integrity": "sha1-B5Qi63O6gR48oIZc6Hrykyf4xS8=", + "requires": { + "babel-code-frame": "^6.22.0", + "babel-traverse": "^6.23.1", + "babel-types": "^6.23.0", + "babylon": "^6.16.1" + } + }, + "babel-generator": { + "version": "6.24.0", + "resolved": "https://registry.npm.taobao.org/babel-generator/download/babel-generator-6.24.0.tgz", + "integrity": "sha1-66JwqMxM5uCaYb5DRl18YsH4fFY=", + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.23.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.2.0", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz", + "integrity": "sha1-Kd9WvhRNgb3qwIJiv6QdLF6Rzc0=", + "requires": { + "babel-helper-explode-assignable-expression": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-call-delegate": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.22.0.tgz", + "integrity": "sha1-EZkhtWEg8X6drj90tPXMe8wbN+8=", + "requires": { + "babel-helper-hoist-variables": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-define-map": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-helper-define-map/download/babel-helper-define-map-6.23.0.tgz", + "integrity": "sha1-FET5YMlpHWmiztaiBTFfj9AIBOc=", + "requires": { + "babel-helper-function-name": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.23.0", + "lodash": "^4.2.0" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.22.0.tgz", + "integrity": "sha1-yXv3bu0+C65ASBIfK52uGk59BHg=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-function-name": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-helper-function-name/download/babel-helper-function-name-6.23.0.tgz", + "integrity": "sha1-JXQtZxdciQPb5LbLnZ4fy43PI6Y=", + "requires": { + "babel-helper-get-function-arity": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.22.0.tgz", + "integrity": "sha1-C+tGStadxzR0EKxq3p8DpQY09c4=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.22.0.tgz", + "integrity": "sha1-Pqy/cx2AcFhF3S6XGPYAz7m0unI=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.23.0", + "resolved": "https://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.23.0.tgz", + "integrity": "sha1-8+5+7TVbQoITizPQK3g2nkcGIvU=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.23.0" + } + }, + "babel-helper-regex": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-helper-regex/download/babel-helper-regex-6.22.0.tgz", + "integrity": "sha1-efUyvhZHsfDuNHS19cPaWAAdJH0=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0", + "lodash": "^4.2.0" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.22.0.tgz", + "integrity": "sha1-IYaucyeO0DuLFc7QiWCdqYEFM4M=", + "requires": { + "babel-helper-function-name": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.22.0", + "babel-traverse": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-helper-replace-supers/download/babel-helper-replace-supers-6.23.0.tgz", + "integrity": "sha1-7q+K2bWOxDN8qUIjus3KH42bS/0=", + "requires": { + "babel-helper-optimise-call-expression": "^6.23.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0" + } + }, + "babel-helpers": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-helpers/download/babel-helpers-6.23.0.tgz", + "integrity": "sha1-T48uCS0LaogIpL3nnCfx4uzw2ZI=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0" + } + }, + "babel-loader": { + "version": "6.4.1", + "resolved": "https://registry.npmmirror.com/babel-loader/download/babel-loader-6.4.1.tgz?cache=0&sync_timestamp=1634769717079&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbabel-loader%2Fdownload%2Fbabel-loader-6.4.1.tgz", + "integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=", + "requires": { + "find-cache-dir": "^0.1.1", + "loader-utils": "^0.2.16", + "mkdirp": "^0.5.1", + "object-assign": "^4.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-messages/download/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-class-properties/download/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.nlark.com/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.22.0.tgz", + "integrity": "sha1-GUtpOOwZWtNu/EwzqXGs8A2M014=", + "requires": { + "babel-helper-remap-async-to-generator": "^6.22.0", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-class-properties/download/babel-plugin-transform-class-properties-6.23.0.tgz", + "integrity": "sha1-GHt0fuQEOZATVjyZPbA480dUrDs=", + "requires": { + "babel-helper-function-name": "^6.23.0", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.23.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz", + "integrity": "sha1-5IiVzws3W+FIzXyIebQicHoFO1E=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0", + "lodash": "^4.2.0" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.23.0.tgz", + "integrity": "sha1-SbU/MmICov0bO7ql4u3YpPeGQ8E=", + "requires": { + "babel-helper-define-map": "^6.23.0", + "babel-helper-function-name": "^6.23.0", + "babel-helper-optimise-call-expression": "^6.23.0", + "babel-helper-replace-supers": "^6.23.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz", + "integrity": "sha1-fDg+lim7pIIMEbBCW91ikPfwV+c=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz", + "integrity": "sha1-ZyOXAxwhYQ1y3Su7C6n7Ynfhw2s=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.22.0.tgz", + "integrity": "sha1-9fzIsJCT+aI8dqw9njksPsS3cQQ=", + "requires": { + "babel-helper-function-name": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.0.tgz", + "integrity": "sha1-oZEfubfsfgWkOmPFmVAHVXvPai4=", + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.24.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz", + "integrity": "sha1-6SGu+3LCzCbLA9EHYmFWQTIiE08=", + "requires": { + "babel-plugin-transform-strict-mode": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-types": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.23.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz", + "integrity": "sha1-rjRpIn/6w5sDENkP7HO/3E9jF7A=", + "requires": { + "babel-helper-hoist-variables": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.0.tgz", + "integrity": "sha1-/V+mNSHK6NJzknw5WK/XwGdzNFA=", + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.22.0.tgz", + "integrity": "sha1-2qYOEUoELqdp3VP+Uo/IIxHrmPw=", + "requires": { + "babel-helper-replace-supers": "^6.22.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.23.0.tgz", + "integrity": "sha1-OiqrtwyK+UXVzjhvGkJQYlqDrjs=", + "requires": { + "babel-helper-call-delegate": "^6.22.0", + "babel-helper-get-function-arity": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.23.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz", + "integrity": "sha1-i6d24K/6pgv/IekhQDuKZSov9yM=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz", + "integrity": "sha1-qzFoKehm7j9LnrlpOXV9GaW8RZM=", + "requires": { + "babel-helper-regex": "^6.22.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz", + "integrity": "sha1-jZzCfn7h3s/mVFT7mGRSoEphPSA=", + "requires": { + "babel-helper-regex": "^6.22.0", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.22.0.tgz", + "integrity": "sha1-1XyDNSgZGOVO8FMRjObrEIRoCE0=", + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.22.0", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.22.0.tgz", + "integrity": "sha1-ZXQFk6MZxEUiFXU41pC4QJRhfqY=", + "requires": { + "regenerator-transform": "0.9.8" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.22.0", + "resolved": "https://registry.nlark.com/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.22.0.tgz", + "integrity": "sha1-4AjfATQP3IfpWdplmRt+BZcMjHw=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.22.0" + } + }, + "babel-polyfill": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-polyfill/download/babel-polyfill-6.23.0.tgz", + "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=", + "requires": { + "babel-runtime": "^6.22.0", + "core-js": "^2.4.0", + "regenerator-runtime": "^0.10.0" + } + }, + "babel-preset-env": { + "version": "1.3.2", + "resolved": "https://registry.nlark.com/babel-preset-env/download/babel-preset-env-1.3.2.tgz", + "integrity": "sha1-COq9K/gQw2eAaffgUjI0GfFEh0k=", + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^1.4.0", + "invariant": "^2.2.2" + } + }, + "babel-preset-es2015": { + "version": "6.24.0", + "resolved": "https://registry.npmmirror.com/babel-preset-es2015/download/babel-preset-es2015-6.24.0.tgz", + "integrity": "sha1-wWLWixkyaW4DbNMRDcHM0wPSZzo=", + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.22.0", + "babel-plugin-transform-es2015-classes": "^6.22.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.22.0", + "babel-plugin-transform-es2015-modules-umd": "^6.24.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.22.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0" + } + }, + "babel-register": { + "version": "6.24.0", + "resolved": "https://registry.npm.taobao.org/babel-register/download/babel-register-6.24.0.tgz", + "integrity": "sha1-Xon4RjuplwNW0C6wfavjMIsIDP0=", + "requires": { + "babel-core": "^6.24.0", + "babel-runtime": "^6.22.0", + "core-js": "^2.4.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.2" + } + }, + "babel-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.23.0.tgz", + "integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.10.0" + } + }, + "babel-template": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-template/download/babel-template-6.23.0.tgz", + "integrity": "sha1-BNTycK27OqcEqBQ64m+qUpI45jg=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.23.0", + "babel-types": "^6.23.0", + "babylon": "^6.11.0", + "lodash": "^4.2.0" + } + }, + "babel-traverse": { + "version": "6.23.1", + "resolved": "https://registry.nlark.com/babel-traverse/download/babel-traverse-6.23.1.tgz", + "integrity": "sha1-08tZAQ7NBql9gTEAZflmtpnhT0g=", + "requires": { + "babel-code-frame": "^6.22.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-types": "^6.23.0", + "babylon": "^6.15.0", + "debug": "^2.2.0", + "globals": "^9.0.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" + } + }, + "babel-types": { + "version": "6.23.0", + "resolved": "https://registry.nlark.com/babel-types/download/babel-types-6.23.0.tgz", + "integrity": "sha1-uxcXnXU4utOM0MnhFdNA935+ms8=", + "requires": { + "babel-runtime": "^6.22.0", + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^1.0.1" + } + }, + "babylon": { + "version": "6.16.1", + "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-6.16.1.tgz", + "integrity": "sha1-MMWiL0gZeKnn+M399JaxHZS0BNM=" + }, + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + }, + "base64-js": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.2.0.tgz", + "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=" + }, + "big.js": { + "version": "3.1.3", + "resolved": "https://registry.nlark.com/big.js/download/big.js-3.1.3.tgz", + "integrity": "sha1-TK2iGTZS6zyp7I5VyQFWacmAaXg=" + }, + "binary-extensions": { + "version": "1.8.0", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-1.8.0.tgz", + "integrity": "sha1-SOyNFt9Dd+rl+liEaCSAr02Vx3Q=" + }, + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + }, + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/brorand/download/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browserify-aes": { + "version": "1.0.6", + "resolved": "https://registry.nlark.com/browserify-aes/download/browserify-aes-1.0.6.tgz", + "integrity": "sha1-Xncl297x/Vkw1OurSFZ85FHEigo=", + "requires": { + "buffer-xor": "^1.0.2", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/browserify-cipher/download/browserify-cipher-1.0.0.tgz", + "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/browserify-des/download/browserify-des-1.0.0.tgz", + "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.nlark.com/browserify-rsa/download/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.nlark.com/browserify-sign/download/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/browserify-zlib/download/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "requires": { + "pako": "~0.2.0" + } + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.nlark.com/buffer/download/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/buffer-shims/download/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/caller-path/download/caller-path-0.1.0.tgz?cache=0&sync_timestamp=1633674209796&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaller-path%2Fdownload%2Fcaller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/callsites/download/callsites-0.2.0.tgz?cache=0&sync_timestamp=1628464722297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcallsites%2Fdownload%2Fcallsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=" + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-1.2.1.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "caniuse-db": { + "version": "1.0.30000646", + "resolved": "https://registry.npmmirror.com/caniuse-db/download/caniuse-db-1.0.30000646.tgz", + "integrity": "sha1-xyS5DWHfJChuAV/FKNBiBzwA3vQ=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "chokidar": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/chokidar/download/chokidar-1.6.1.tgz", + "integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI=", + "requires": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + } + }, + "cipher-base": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/cipher-base/download/cipher-base-1.0.3.tgz", + "integrity": "sha1-7qvxlEGc6QDaMBjCB9IS8qbfCgc=", + "requires": { + "inherits": "^2.0.1" + } + }, + "circular-json": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/circular-json/download/circular-json-0.3.1.tgz", + "integrity": "sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0=" + }, + "cli-cursor": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/cli-cursor/download/cli-cursor-1.0.2.tgz?cache=0&sync_timestamp=1629747506749&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcli-cursor%2Fdownload%2Fcli-cursor-1.0.2.tgz", + "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", + "requires": { + "restore-cursor": "^1.0.1" + } + }, + "cli-width": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/cli-width/download/cli-width-2.1.0.tgz", + "integrity": "sha1-sjTKIJsp72b8UY2bmNWEewDt8Ao=" + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/cliui/download/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "clone": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.1.tgz", + "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/code-point-at/download/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/commander/download/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.nlark.com/concat-map/download/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.nlark.com/concat-stream/download/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/console-browserify/download/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/constants-browserify/download/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/contains-path/download/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=" + }, + "convert-source-map": { + "version": "1.5.0", + "resolved": "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.5.0.tgz?cache=0&sync_timestamp=1624045508580&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.5.0.tgz", + "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=" + }, + "core-js": { + "version": "2.4.1", + "resolved": "https://registry.npmmirror.com/core-js/download/core-js-2.4.1.tgz", + "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "create-ecdh": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/create-ecdh/download/create-ecdh-4.0.0.tgz", + "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/create-hash/download/create-hash-1.1.2.tgz", + "integrity": "sha1-USEAYte7dHn2xlu0GpIgix1hq60=", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^1.0.0", + "sha.js": "^2.3.6" + } + }, + "create-hmac": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/create-hmac/download/create-hmac-1.1.4.tgz", + "integrity": "sha1-0/tLolPriz9W456i+8uK90e9MXA=", + "requires": { + "create-hash": "^1.1.0", + "inherits": "^2.0.1" + } + }, + "crypto-browserify": { + "version": "3.11.0", + "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.11.0.tgz", + "integrity": "sha1-NlKgkGq5sqfgw85mpAjpV6JIVSI=", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "d": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/d/download/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "requires": { + "es5-ext": "^0.10.9" + } + }, + "damerau-levenshtein": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/damerau-levenshtein/download/damerau-levenshtein-1.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdamerau-levenshtein%2Fdownload%2Fdamerau-levenshtein-1.0.4.tgz", + "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=" + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/date-now/download/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, + "debug": { + "version": "2.6.3", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.3.tgz", + "integrity": "sha1-D364wwll7AjHKsz6ATDIt5mEFB0=", + "requires": { + "ms": "0.7.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1633055756574&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/deep-equal/download/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.nlark.com/deep-is/download/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/define-properties/download/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "requires": { + "foreach": "^2.0.5", + "object-keys": "^1.0.8" + } + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/del/download/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "requires": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + } + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/detect-indent/download/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "^2.0.0" + } + }, + "diffie-hellman": { + "version": "5.0.2", + "resolved": "https://registry.nlark.com/diffie-hellman/download/diffie-hellman-5.0.2.tgz", + "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "doctrine": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-2.0.0.tgz", + "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "domain-browser": { + "version": "1.1.7", + "resolved": "https://registry.nlark.com/domain-browser/download/domain-browser-1.1.7.tgz?cache=0&sync_timestamp=1627591557212&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.1.7.tgz", + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + }, + "electron-to-chromium": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.3.2.tgz", + "integrity": "sha1-uM5ck7MI2w6S9tBDXEbd7I9jY6s=" + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "requires": { + "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": { + "version": "6.4.1", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-6.4.1.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-6.4.1.tgz", + "integrity": "sha1-d0hv6c1FQh0mCmI4uI1yHi+tIFA=" + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "enhanced-resolve": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-3.1.0.tgz", + "integrity": "sha1-n0tib1dyRe3PSyrYPYbhf09CHew=", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.5" + } + }, + "errno": { + "version": "0.1.4", + "resolved": "https://registry.nlark.com/errno/download/errno-0.1.4.tgz", + "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "requires": { + "prr": "~0.0.0" + } + }, + "error-ex": { + "version": "1.3.1", + "resolved": "https://registry.nlark.com/error-ex/download/error-ex-1.3.1.tgz", + "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.7.0.tgz?cache=0&sync_timestamp=1633234313248&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.7.0.tgz", + "integrity": "sha1-363ndOAb/Nl/lhgCmMRJyGI/uUw=", + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.0", + "is-callable": "^1.1.3", + "is-regex": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/es-to-primitive/download/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "requires": { + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" + } + }, + "es5-ext": { + "version": "0.10.15", + "resolved": "https://registry.nlark.com/es5-ext/download/es5-ext-0.10.15.tgz", + "integrity": "sha1-wzClk0we4hKEp8CBqG5f2TfJHqY=", + "requires": { + "es6-iterator": "2", + "es6-symbol": "~3.1" + } + }, + "es6-iterator": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/es6-iterator/download/es6-iterator-2.0.1.tgz", + "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "requires": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-symbol": "^3.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.nlark.com/es6-map/download/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/es6-weak-map/download/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "requires": { + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz?cache=0&sync_timestamp=1618677243201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint": { + "version": "3.19.0", + "resolved": "https://registry.npmmirror.com/eslint/download/eslint-3.19.0.tgz?cache=0&sync_timestamp=1637475730061&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint%2Fdownload%2Feslint-3.19.0.tgz", + "integrity": "sha1-yPxiAcf0DdCJQbh8CFdnOGpnmsw=", + "requires": { + "babel-code-frame": "^6.16.0", + "chalk": "^1.1.3", + "concat-stream": "^1.5.2", + "debug": "^2.1.1", + "doctrine": "^2.0.0", + "escope": "^3.6.0", + "espree": "^3.4.0", + "esquery": "^1.0.0", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "glob": "^7.0.3", + "globals": "^9.14.0", + "ignore": "^3.2.0", + "imurmurhash": "^0.1.4", + "inquirer": "^0.12.0", + "is-my-json-valid": "^2.10.0", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.5.1", + "json-stable-stringify": "^1.0.0", + "levn": "^0.3.0", + "lodash": "^4.0.0", + "mkdirp": "^0.5.0", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.1", + "pluralize": "^1.2.1", + "progress": "^1.1.8", + "require-uncached": "^1.0.2", + "shelljs": "^0.7.5", + "strip-bom": "^3.0.0", + "strip-json-comments": "~2.0.1", + "table": "^3.7.8", + "text-table": "~0.2.0", + "user-home": "^2.0.0" + }, + "dependencies": { + "user-home": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/user-home/download/user-home-2.0.0.tgz", + "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", + "requires": { + "os-homedir": "^1.0.0" + } + } + } + }, + "eslint-config-airbnb": { + "version": "14.1.0", + "resolved": "https://registry.npmmirror.com/eslint-config-airbnb/download/eslint-config-airbnb-14.1.0.tgz", + "integrity": "sha1-NV0pAEC7+OAL+LSxn0twy+fCMX8=", + "requires": { + "eslint-config-airbnb-base": "^11.1.0" + } + }, + "eslint-config-airbnb-base": { + "version": "11.1.2", + "resolved": "https://registry.npmmirror.com/eslint-config-airbnb-base/download/eslint-config-airbnb-base-11.1.2.tgz?cache=0&sync_timestamp=1636442475199&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-config-airbnb-base%2Fdownload%2Feslint-config-airbnb-base-11.1.2.tgz", + "integrity": "sha1-JZIJp2eL9pPjHL6PlT8ga2qnzMM=" + }, + "eslint-import-resolver-node": { + "version": "0.2.3", + "resolved": "https://registry.nlark.com/eslint-import-resolver-node/download/eslint-import-resolver-node-0.2.3.tgz?cache=0&sync_timestamp=1629046642917&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-import-resolver-node%2Fdownload%2Feslint-import-resolver-node-0.2.3.tgz", + "integrity": "sha1-Wt2BBujJKNssuiMrzZ76hG49oWw=", + "requires": { + "debug": "^2.2.0", + "object-assign": "^4.0.1", + "resolve": "^1.1.6" + } + }, + "eslint-module-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/eslint-module-utils/download/eslint-module-utils-2.0.0.tgz?cache=0&sync_timestamp=1634151608499&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-module-utils%2Fdownload%2Feslint-module-utils-2.0.0.tgz", + "integrity": "sha1-pvjCHZATWHWc3DXbrBmCrh7li84=", + "requires": { + "debug": "2.2.0", + "pkg-dir": "^1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/ms/download/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + } + } + }, + "eslint-plugin-import": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-import/download/eslint-plugin-import-2.2.0.tgz?cache=0&sync_timestamp=1636529205526&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.2.0.tgz", + "integrity": "sha1-crowb60wXWfEgWNIpGmaQimsi04=", + "requires": { + "builtin-modules": "^1.1.1", + "contains-path": "^0.1.0", + "debug": "^2.2.0", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.2.0", + "eslint-module-utils": "^2.0.0", + "has": "^1.0.1", + "lodash.cond": "^4.3.0", + "minimatch": "^3.0.3", + "pkg-up": "^1.0.0" + }, + "dependencies": { + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/eslint-plugin-jsx-a11y/download/eslint-plugin-jsx-a11y-4.0.0.tgz?cache=0&sync_timestamp=1636698418809&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-plugin-jsx-a11y%2Fdownload%2Feslint-plugin-jsx-a11y-4.0.0.tgz", + "integrity": "sha1-d5uw/nsI2lZKQiYkkR3hAGHgSO4=", + "requires": { + "aria-query": "^0.3.0", + "ast-types-flow": "0.0.7", + "damerau-levenshtein": "^1.0.0", + "emoji-regex": "^6.1.0", + "jsx-ast-utils": "^1.0.0", + "object-assign": "^4.0.1" + } + }, + "eslint-plugin-react": { + "version": "6.10.3", + "resolved": "https://registry.npmmirror.com/eslint-plugin-react/download/eslint-plugin-react-6.10.3.tgz", + "integrity": "sha1-xUNb6wZ3ThLH2y9qut3L+QDNP3g=", + "requires": { + "array.prototype.find": "^2.0.1", + "doctrine": "^1.2.2", + "has": "^1.0.1", + "jsx-ast-utils": "^1.3.4", + "object.assign": "^4.0.4" + }, + "dependencies": { + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + } + } + }, + "espree": { + "version": "3.4.1", + "resolved": "https://registry.npmmirror.com/espree/download/espree-3.4.1.tgz?cache=0&sync_timestamp=1637466456948&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fespree%2Fdownload%2Fespree-3.4.1.tgz", + "integrity": "sha1-KKg6tKrtce2P4PXv5ht2oFwTxNI=", + "requires": { + "acorn": "^5.0.1", + "acorn-jsx": "^3.0.0" + } + }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, + "esquery": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/esquery/download/esquery-1.0.0.tgz", + "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.1.0.tgz", + "integrity": "sha1-RxO2U2rffyrE8yfVWed1a/9kgiA=", + "requires": { + "estraverse": "~4.1.0", + "object-assign": "^4.0.1" + }, + "dependencies": { + "estraverse": { + "version": "4.1.1", + "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-4.1.1.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-4.1.1.tgz", + "integrity": "sha1-9srKcokzqFDvkGYdDheYK6RxEaI=" + } + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/estraverse/download/estraverse-4.2.0.tgz?cache=0&sync_timestamp=1635237716974&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Festraverse%2Fdownload%2Festraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/esutils/download/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.nlark.com/event-emitter/download/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "eventemitter3": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-2.0.3.tgz", + "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/events/download/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "evp_bytestokey": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/evp_bytestokey/download/evp_bytestokey-1.0.0.tgz", + "integrity": "sha1-SXtmrZ/vZc18CKYYCCS6FHa2blM=", + "requires": { + "create-hash": "^1.1.1" + } + }, + "exit-hook": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/exit-hook/download/exit-hook-1.1.1.tgz", + "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=" + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.nlark.com/expand-range/download/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "^2.1.0" + } + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/extend/download/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=" + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.nlark.com/extglob/download/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "fast-diff": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/fast-diff/download/fast-diff-1.1.1.tgz", + "integrity": "sha1-CuoOTmBbaiGJ8Ok21Lf7rxt8/Zs=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.nlark.com/figures/download/figures-1.7.0.tgz?cache=0&sync_timestamp=1625254307578&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffigures%2Fdownload%2Ffigures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-2.0.0.tgz?cache=0&sync_timestamp=1613794272556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "filename-regex": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/filename-regex/download/filename-regex-2.0.0.tgz", + "integrity": "sha1-mW4+gEebmLmJfxWopYs9CE6SZ3U=" + }, + "fill-range": { + "version": "2.2.3", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-2.2.3.tgz", + "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-0.1.1.tgz?cache=0&sync_timestamp=1630260009898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "flat-cache": { + "version": "1.2.2", + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-1.2.2.tgz", + "integrity": "sha1-+oZxTnLCHbiGAXYezy9VXRq8a5Y=", + "requires": { + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.nlark.com/for-own/download/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "^1.0.1" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/foreach/download/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, + "fs-readdir-recursive": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/fs-readdir-recursive/download/fs-readdir-recursive-1.0.0.tgz", + "integrity": "sha1-jNF0XItPiinIyuw5JHaSG6GV9WA=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/fsevents/download/fsevents-1.1.1.tgz", + "integrity": "sha1-8Z/Sj0Pur3YWgOUZogPE0LPTGv8=", + "optional": true, + "requires": { + "nan": "^2.3.0", + "node-pre-gyp": "^0.6.29" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", + "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "optional": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "optional": true + }, + "aproba": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", + "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz", + "integrity": "sha1-gORw6VoIR5T+GJkmLFZnxuiN4bM=", + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.0 || ^1.1.13" + } + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "optional": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "optional": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "optional": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "brace-expansion": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", + "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", + "optional": true, + "requires": { + "balanced-match": "^0.4.1", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "optional": true + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "optional": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "optional": true + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "optional": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", + "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", + "optional": true, + "requires": { + "graceful-readlink": ">= 1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "optional": true + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "optional": true, + "requires": { + "boom": "2.x.x" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "optional": true + } + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "optional": true, + "requires": { + "ms": "0.7.1" + } + }, + "deep-extend": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz", + "integrity": "sha1-7+QRPQgIX05vlod1mBD4B0aeIlM=", + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "optional": true + }, + "extend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", + "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=", + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "optional": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "optional": true + }, + "form-data": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz", + "integrity": "sha1-icNTQAi5fq2ky7FX1Y9vXfAl6uQ=", + "optional": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "optional": true + }, + "fstream": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.10.tgz", + "integrity": "sha1-YE6Kkv4m/9n2+uMDmdSYThqyKCI=", + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "optional": true, + "requires": { + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^3.0.0" + } + }, + "gauge": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.3.tgz", + "integrity": "sha1-HCOFX5YvF7OtPQ3HRD8wRULt/gk=", + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "optional": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "optional": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "getpass": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", + "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=", + "optional": true, + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "optional": true + } + } + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "optional": true + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", + "optional": true + }, + "har-validator": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "optional": true, + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "optional": true + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "optional": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "optional": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "optional": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "optional": true + }, + "ini": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-my-json-valid": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", + "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs=", + "optional": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "optional": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "optional": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", + "optional": true, + "requires": { + "jsbn": "~0.1.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "optional": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "optional": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "optional": true + }, + "jsprim": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz", + "integrity": "sha1-KnJW9wQSop7jZwqspiWZTE3P8lI=", + "optional": true, + "requires": { + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + } + }, + "mime-db": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz", + "integrity": "sha1-6v/NDk/Gk1z4E02iRuLmw1MFrf8=", + "optional": true + }, + "mime-types": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz", + "integrity": "sha1-9+99l1g/yvO30oK2+LVnnaselO4=", + "optional": true, + "requires": { + "mime-db": "~1.26.0" + } + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "optional": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "optional": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.33", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz", + "integrity": "sha1-ZArFUZj2qSWXLgwWxKwmoDTV7Mk=", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "nopt": "~3.0.6", + "npmlog": "^4.0.1", + "rc": "~1.1.6", + "request": "^2.79.0", + "rimraf": "~2.5.4", + "semver": "~5.3.0", + "tar": "~2.2.1", + "tar-pack": "~3.3.0" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "optional": true, + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.0.2.tgz", + "integrity": "sha1-0DlQ4OeM4VJ7om0qdZLpNIrD518=", + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.1", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "optional": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "optional": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "optional": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "optional": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "optional": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "optional": true + }, + "qs": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz", + "integrity": "sha1-kYwLO802Z5dyuvE1say0wWUe150=", + "optional": true + }, + "rc": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz", + "integrity": "sha1-xepWS7B6/5/TpbMukGwdOmWUD+o=", + "optional": true, + "requires": { + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz", + "integrity": "sha1-qeb+w8fdqF+LsbO6cChgRVb8gl4=", + "optional": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "request": { + "version": "2.79.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", + "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", + "optional": true, + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "qs": "~6.3.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1", + "uuid": "^3.0.0" + } + }, + "rimraf": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz", + "integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=", + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "optional": true + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "optional": true, + "requires": { + "hoek": "2.x.x" + } + }, + "sshpk": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz", + "integrity": "sha1-1agEziJpVRVjjnmNviMnPeBwpfo=", + "optional": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jodid25519": "^1.0.0", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "optional": true + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "optional": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "optional": true + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "optional": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "tar-pack": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.3.0.tgz", + "integrity": "sha1-MJMYFkGPVa/E0hd1r91nIM7kXa4=", + "optional": true, + "requires": { + "debug": "~2.2.0", + "fstream": "~1.0.10", + "fstream-ignore": "~1.0.5", + "once": "~1.3.3", + "readable-stream": "~2.1.4", + "rimraf": "~2.5.1", + "tar": "~2.2.1", + "uid-number": "~0.0.6" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "optional": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "tough-cookie": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "optional": true, + "requires": { + "punycode": "^1.4.1" + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "optional": true + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "optional": true + }, + "uuid": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", + "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", + "optional": true + }, + "verror": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz", + "integrity": "sha1-QO3egCpx/qHwcNo+YtzaLnrdlq0=", + "optional": true, + "requires": { + "string-width": "^1.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "optional": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "optional": true + } + } + }, + "function-bind": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.0.tgz", + "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E=" + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/generate-function/download/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=" + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/generate-object-property/download/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "requires": { + "is-property": "^1.0.0" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/get-caller-file/download/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + }, + "glob": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/glob/download/glob-7.1.1.tgz", + "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/glob-base/download/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-2.0.0.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "requires": { + "is-glob": "^2.0.0" + } + }, + "globals": { + "version": "9.17.0", + "resolved": "https://registry.npmmirror.com/globals/download/globals-9.17.0.tgz?cache=0&sync_timestamp=1635390798667&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglobals%2Fdownload%2Fglobals-9.17.0.tgz", + "integrity": "sha1-DAymltm5u2lNLlRwvTd3fKrVAoY=" + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.nlark.com/globby/download/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "requires": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/download/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "has": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "requires": { + "function-bind": "^1.0.2" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/has-ansi/download/has-ansi-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-ansi%2Fdownload%2Fhas-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-1.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "hash.js": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/hash.js/download/hash.js-1.0.3.tgz?cache=0&sync_timestamp=1622643346539&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhash.js%2Fdownload%2Fhash.js-1.0.3.tgz", + "integrity": "sha1-EzL/ABVsCg/92CNgE9B7d6BFFXM=", + "requires": { + "inherits": "^2.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/hmac-drbg/download/hmac-drbg-1.0.0.tgz", + "integrity": "sha1-PbRx9FquSplKBogyIXH1G4uRvuU=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz?cache=0&sync_timestamp=1618599551277&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhome-or-tmp%2Fdownload%2Fhome-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.4.1", + "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.4.1.tgz", + "integrity": "sha1-SwRF5BwASovRM3dzpP95DKQDGMg=" + }, + "https-browserify": { + "version": "0.0.1", + "resolved": "https://registry.nlark.com/https-browserify/download/https-browserify-0.0.1.tgz", + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" + }, + "ieee754": { + "version": "1.1.8", + "resolved": "https://registry.nlark.com/ieee754/download/ieee754-1.1.8.tgz", + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + }, + "ignore": { + "version": "3.2.6", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-3.2.6.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-3.2.6.tgz", + "integrity": "sha1-JujaBkS+C7TLOVFvbHnw4PT/5Iw=" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "inquirer": { + "version": "0.12.0", + "resolved": "https://registry.npmmirror.com/inquirer/download/inquirer-0.12.0.tgz?cache=0&sync_timestamp=1633472964335&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Finquirer%2Fdownload%2Finquirer-0.12.0.tgz", + "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", + "requires": { + "ansi-escapes": "^1.1.0", + "ansi-regex": "^2.0.0", + "chalk": "^1.0.0", + "cli-cursor": "^1.0.1", + "cli-width": "^2.0.0", + "figures": "^1.3.5", + "lodash": "^4.3.0", + "readline2": "^1.0.1", + "run-async": "^0.1.0", + "rx-lite": "^3.1.2", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.0", + "through": "^2.3.6" + } + }, + "interpret": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.0.2.tgz", + "integrity": "sha1-9PYj8LtxIvFfVxfI4lS4FhtcWy0=" + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/invert-kv/download/invert-kv-1.0.0.tgz?cache=0&sync_timestamp=1630996775723&other_urls=https%3A%2F%2Fregistry.nlark.com%2Finvert-kv%2Fdownload%2Finvert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.5", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-1.1.5.tgz", + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=" + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-builtin-module/download/is-builtin-module-1.0.0.tgz?cache=0&sync_timestamp=1618995546759&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-builtin-module%2Fdownload%2Fis-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-callable": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/is-callable/download/is-callable-1.1.3.tgz", + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=" + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-dotfile": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/is-dotfile/download/is-dotfile-1.0.2.tgz", + "integrity": "sha1-LBMjg/ORmfjtwmjKAbmwB9IFzE0=" + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.nlark.com/is-equal-shallow/download/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-extglob/download/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/is-finite/download/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-my-json-valid": { + "version": "2.16.0", + "resolved": "https://registry.npmmirror.com/is-my-json-valid/download/is-my-json-valid-2.16.0.tgz?cache=0&sync_timestamp=1636548715824&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fis-my-json-valid%2Fdownload%2Fis-my-json-valid-2.16.0.tgz", + "integrity": "sha1-8Hndm/2uZe4gOKrorLyGqxCeNpM=", + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-1.0.0.tgz?cache=0&sync_timestamp=1628686555851&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + }, + "is-path-in-cwd": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-1.0.0.tgz?cache=0&sync_timestamp=1620047389319&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-in-cwd%2Fdownload%2Fis-path-in-cwd-1.0.0.tgz", + "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-1.0.0.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-1.0.0.tgz", + "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.nlark.com/is-posix-bracket/download/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/is-primitive/download/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-property/download/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.0.4.tgz?cache=0&sync_timestamp=1628221905423&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "^1.0.1" + } + }, + "is-resolvable": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.0.0.tgz", + "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", + "requires": { + "tryit": "^1.0.1" + } + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.1.tgz?cache=0&sync_timestamp=1620501174327&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + }, + "js-tokens": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-3.0.1.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-3.0.1.tgz", + "integrity": "sha1-COnxMkhKLEWjCQfp3E1VZ7fxFNc=" + }, + "js-yaml": { + "version": "3.8.2", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.8.2.tgz?cache=0&sync_timestamp=1618435004368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.8.2.tgz", + "integrity": "sha1-AtPiwPa+qyAkjUEsNSIDgn14ZyE=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^3.1.1" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/jsesc/download/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + }, + "json-loader": { + "version": "0.5.4", + "resolved": "https://registry.nlark.com/json-loader/download/json-loader-0.5.4.tgz", + "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.nlark.com/jsonify/download/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/jsonpointer/download/jsonpointer-4.0.1.tgz?cache=0&sync_timestamp=1636550164046&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fjsonpointer%2Fdownload%2Fjsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=" + }, + "jsx-ast-utils": { + "version": "1.4.0", + "resolved": "https://registry.nlark.com/jsx-ast-utils/download/jsx-ast-utils-1.4.0.tgz?cache=0&sync_timestamp=1631856184359&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjsx-ast-utils%2Fdownload%2Fjsx-ast-utils-1.4.0.tgz", + "integrity": "sha1-Wv44ho9WvIzHrq7wEAuox1vRJZE=", + "requires": { + "object-assign": "^4.1.0" + } + }, + "kind-of": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.1.0.tgz", + "integrity": "sha1-R11pil5J/15T0U4+cyQp3Iv0z0c=", + "requires": { + "is-buffer": "^1.0.2" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/lazy-cache/download/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/lcid/download/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/load-json-file/download/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz?cache=0&sync_timestamp=1618599642133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-bom%2Fdownload%2Fstrip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.3.0.tgz?cache=0&sync_timestamp=1610027943366&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmmirror.com/loader-utils/download/loader-utils-0.2.17.tgz?cache=0&sync_timestamp=1636687869321&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Floader-utils%2Fdownload%2Floader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.nlark.com/lodash/download/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, + "lodash.cond": { + "version": "4.5.2", + "resolved": "https://registry.npm.taobao.org/lodash.cond/download/lodash.cond-4.5.2.tgz", + "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/longest/download/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.nlark.com/loose-envify/download/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "requires": { + "js-tokens": "^3.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "miller-rabin": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/miller-rabin/download/miller-rabin-4.0.0.tgz", + "integrity": "sha1-SmL7HUKTPAVYOYL0xxb2+55sbT0=", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "minimalistic-assert": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/minimalistic-assert/download/minimalistic-assert-1.0.0.tgz", + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.nlark.com/minimist/download/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "0.7.2", + "resolved": "https://registry.npmmirror.com/ms/download/ms-0.7.2.tgz", + "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=" + }, + "mute-stream": { + "version": "0.0.5", + "resolved": "https://registry.nlark.com/mute-stream/download/mute-stream-0.0.5.tgz", + "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=" + }, + "nan": { + "version": "2.5.1", + "resolved": "https://registry.nlark.com/nan/download/nan-2.5.1.tgz?cache=0&sync_timestamp=1628093719696&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnan%2Fdownload%2Fnan-2.5.1.tgz", + "integrity": "sha1-1bAWkSUzJql6K77p5hxV2NYDUeI=", + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "node-libs-browser": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/node-libs-browser/download/node-libs-browser-2.0.0.tgz", + "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.1.4", + "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": "^1.0.0", + "https-browserify": "0.0.1", + "os-browserify": "^0.2.0", + "path-browserify": "0.0.0", + "process": "^0.11.0", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.0.5", + "stream-browserify": "^2.0.1", + "stream-http": "^2.3.1", + "string_decoder": "^0.10.25", + "timers-browserify": "^2.0.2", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.10.3", + "vm-browserify": "0.0.4" + } + }, + "normalize-package-data": { + "version": "2.3.6", + "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.3.6.tgz", + "integrity": "sha1-SY+kIMlkAfeHQCuiHmAN75+YH/8=", + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/number-is-nan/download/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz?cache=0&sync_timestamp=1618846992533&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-assign%2Fdownload%2Fobject-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-keys": { + "version": "1.0.11", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.0.11.tgz", + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" + }, + "object.assign": { + "version": "4.0.4", + "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.0.4.tgz?cache=0&sync_timestamp=1604115183005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.0.4.tgz", + "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.0", + "object-keys": "^1.0.10" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/object.omit/download/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + }, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/wordwrap/download/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + } + } + }, + "os-browserify": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.2.1.tgz", + "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/os-locale/download/os-locale-1.4.0.tgz?cache=0&sync_timestamp=1633618260196&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fos-locale%2Fdownload%2Fos-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/output-file-sync/download/output-file-sync-1.1.2.tgz", + "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", + "requires": { + "graceful-fs": "^4.1.4", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.0" + } + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.nlark.com/pako/download/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + }, + "parchment": { + "version": "1.0.8", + "resolved": "https://registry.npm.taobao.org/parchment/download/parchment-1.0.8.tgz", + "integrity": "sha1-E+xr7M5sFnSB8Xcr1RpZBt51oDg=" + }, + "parse-asn1": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/parse-asn1/download/parse-asn1-5.1.0.tgz", + "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/parse-glob/download/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/parse-json/download/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/path-is-inside/download/path-is-inside-1.0.2.tgz?cache=0&sync_timestamp=1622604553837&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-is-inside%2Fdownload%2Fpath-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.5.tgz?cache=0&sync_timestamp=1621947783503&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpath-parse%2Fdownload%2Fpath-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/path-type/download/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pbkdf2": { + "version": "3.0.9", + "resolved": "https://registry.nlark.com/pbkdf2/download/pbkdf2-3.0.9.tgz", + "integrity": "sha1-8sSyWmAAWLPDdzwIbDfbvuH/5pM=", + "requires": { + "create-hmac": "^1.1.2" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/pkg-dir/download/pkg-dir-1.0.0.tgz?cache=0&sync_timestamp=1633498116014&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpkg-dir%2Fdownload%2Fpkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "requires": { + "find-up": "^1.0.0" + } + }, + "pkg-up": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/pkg-up/download/pkg-up-1.0.0.tgz", + "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=", + "requires": { + "find-up": "^1.0.0" + } + }, + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/pluralize/download/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.nlark.com/prelude-ls/download/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.nlark.com/preserve/download/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + }, + "private": { + "version": "0.1.7", + "resolved": "https://registry.nlark.com/private/download/private-0.1.7.tgz", + "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=" + }, + "process": { + "version": "0.11.9", + "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.9.tgz", + "integrity": "sha1-e9WtIapiU+fahoImTx4R0RwDGME=" + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npm.taobao.org/progress/download/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" + }, + "prr": { + "version": "0.0.0", + "resolved": "https://registry.nlark.com/prr/download/prr-0.0.0.tgz", + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=" + }, + "public-encrypt": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.0.tgz", + "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/querystring/download/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/querystring-es3/download/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "quill": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/quill/download/quill-1.2.3.tgz", + "integrity": "sha1-j8Yu1m2Bc+35vB2ft3fddOsGMu4=", + "requires": { + "clone": "~2.1.1", + "deep-equal": "~1.0.1", + "eventemitter3": "~2.0.2", + "extend": "~3.0.0", + "parchment": "1.0.8", + "quill-delta": "3.5.0" + } + }, + "quill-delta": { + "version": "3.5.0", + "resolved": "https://registry.nlark.com/quill-delta/download/quill-delta-3.5.0.tgz", + "integrity": "sha1-W2fmhdpgw06r7URJxBbHSquJFXs=", + "requires": { + "deep-equal": "^1.0.1", + "extend": "^3.0.0", + "fast-diff": "1.1.1" + } + }, + "randomatic": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/randomatic/download/randomatic-1.1.6.tgz", + "integrity": "sha1-EQ3Kv/OX6dz/fAeJzMCkmt8exbs=", + "requires": { + "is-number": "^2.0.2", + "kind-of": "^3.0.2" + } + }, + "randombytes": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.0.3.tgz", + "integrity": "sha1-Z0yZdgkBw8QRJ3GjHlIdw0nMCew=" + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npm.taobao.org/raw-loader/download/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.2.6", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.2.6.tgz", + "integrity": "sha1-i0Ou125xSDk40SqNRsbPGgCx+BY=", + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + } + }, + "readline2": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/readline2/download/readline2-1.0.1.tgz", + "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "mute-stream": "0.0.5" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.nlark.com/rechoir/download/rechoir-0.6.2.tgz?cache=0&sync_timestamp=1627101702123&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frechoir%2Fdownload%2Frechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" + } + }, + "regenerate": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.3.2.tgz?cache=0&sync_timestamp=1604218353677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate%2Fdownload%2Fregenerate-1.3.2.tgz", + "integrity": "sha1-0ZQcZ7rUN+G+dkM63Vs4X5WxkmA=" + }, + "regenerator-runtime": { + "version": "0.10.3", + "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.10.3.tgz?cache=0&sync_timestamp=1626992969133&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.10.3.tgz", + "integrity": "sha1-jENnqQS1HqYqkIrDEL+Z/5CoKj4=" + }, + "regenerator-transform": { + "version": "0.9.8", + "resolved": "https://registry.nlark.com/regenerator-transform/download/regenerator-transform-0.9.8.tgz?cache=0&sync_timestamp=1627057533376&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.9.8.tgz", + "integrity": "sha1-D4i7K8A5Mt23trcxLmgHjwECbWw=", + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-cache": { + "version": "0.4.3", + "resolved": "https://registry.nlark.com/regex-cache/download/regex-cache-0.4.3.tgz", + "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", + "requires": { + "is-equal-shallow": "^0.1.3", + "is-primitive": "^2.0.0" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/regexpu-core/download/regexpu-core-2.0.0.tgz?cache=0&sync_timestamp=1631619113277&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpu-core%2Fdownload%2Fregexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/regjsgen/download/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.nlark.com/regjsparser/download/regjsparser-0.1.5.tgz?cache=0&sync_timestamp=1630946816794&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregjsparser%2Fdownload%2Fregjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.nlark.com/jsesc/download/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "remove-trailing-separator": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/remove-trailing-separator/download/remove-trailing-separator-1.0.1.tgz", + "integrity": "sha1-YV67lq9VlVLUv0BXyENtSGq2PMQ=" + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/repeating/download/repeating-2.0.1.tgz?cache=0&sync_timestamp=1622605325095&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frepeating%2Fdownload%2Frepeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/require-uncached/download/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "resolve": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.3.2.tgz", + "integrity": "sha1-HwRCyeDLuBNuh7kwX5MvRsfygjU=", + "requires": { + "path-parse": "^1.0.5" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" + }, + "restore-cursor": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/restore-cursor/download/restore-cursor-1.0.1.tgz?cache=0&sync_timestamp=1629746923086&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frestore-cursor%2Fdownload%2Frestore-cursor-1.0.1.tgz", + "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", + "requires": { + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.nlark.com/right-align/download/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.6.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "requires": { + "glob": "^7.0.5" + } + }, + "ripemd160": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/ripemd160/download/ripemd160-1.0.1.tgz", + "integrity": "sha1-k6S71JQrxXS2mo+lfHHeEOzKfW4=" + }, + "run-async": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/run-async/download/run-async-0.1.0.tgz", + "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", + "requires": { + "once": "^1.3.0" + } + }, + "rx-lite": { + "version": "3.1.2", + "resolved": "https://registry.nlark.com/rx-lite/download/rx-lite-3.1.2.tgz", + "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=" + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "sha.js": { + "version": "2.4.8", + "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.8.tgz", + "integrity": "sha1-NwaMLEdra69ALRSknGf1l5IfY08=", + "requires": { + "inherits": "^2.0.1" + } + }, + "shelljs": { + "version": "0.7.7", + "resolved": "https://registry.nlark.com/shelljs/download/shelljs-0.7.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshelljs%2Fdownload%2Fshelljs-0.7.7.tgz", + "integrity": "sha1-svXHfvlxSPS09uImguELuoZnz/E=", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "0.0.4", + "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-0.0.4.tgz", + "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=" + }, + "source-list-map": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/source-list-map/download/source-list-map-1.1.1.tgz", + "integrity": "sha1-GjOsIQyhRNHlYfkG68yrVmn/TLQ=" + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" + }, + "source-map-support": { + "version": "0.4.14", + "resolved": "https://registry.npmmirror.com/source-map-support/download/source-map-support-0.4.14.tgz", + "integrity": "sha1-nURjdyWYuGJxtPUj9sH04Cp9au8=", + "requires": { + "source-map": "^0.5.6" + } + }, + "spdx-correct": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-1.0.2.tgz", + "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "requires": { + "spdx-license-ids": "^1.0.2" + } + }, + "spdx-expression-parse": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-1.0.4.tgz", + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" + }, + "spdx-license-ids": { + "version": "1.2.2", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/download/spdx-license-ids-1.2.2.tgz?cache=0&sync_timestamp=1636978474315&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-1.2.2.tgz", + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&sync_timestamp=1618847174560&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-http": { + "version": "2.7.0", + "resolved": "https://registry.nlark.com/stream-http/download/stream-http-2.7.0.tgz", + "integrity": "sha1-zsH047SUvEqBtFGAiXD4sgtO1fY=", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.2.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-1.0.2.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz?cache=0&sync_timestamp=1618599642133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-bom%2Fdownload%2Fstrip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "table": { + "version": "3.8.3", + "resolved": "https://registry.npmmirror.com/table/download/table-3.8.3.tgz?cache=0&sync_timestamp=1636037112686&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftable%2Fdownload%2Ftable-3.8.3.tgz", + "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", + "requires": { + "ajv": "^4.7.0", + "ajv-keywords": "^1.0.0", + "chalk": "^1.1.1", + "lodash": "^4.0.0", + "slice-ansi": "0.0.4", + "string-width": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-2.0.0.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-2.0.0.tgz", + "integrity": "sha1-Y1xUNsxypuDDh87KJ41OLuxSaH4=", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "tapable": { + "version": "0.2.6", + "resolved": "https://registry.nlark.com/tapable/download/tapable-0.2.6.tgz", + "integrity": "sha1-IGvo4YiGC1FEJTdebxrom/sB/Y0=" + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "timers-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.2.tgz", + "integrity": "sha1-q0iDz1l9zVCvIRNJoA+8pWrIa4Y=", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-fast-properties": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-1.0.2.tgz", + "integrity": "sha1-8/XAw7pymafvmUJ+RGMyV63kMyA=" + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/trim-right/download/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "tryit": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/tryit/download/tryit-1.0.3.tgz", + "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.nlark.com/tty-browserify/download/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.nlark.com/typedarray/download/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "uglify-js": { + "version": "2.8.20", + "resolved": "https://registry.npmmirror.com/uglify-js/download/uglify-js-2.8.20.tgz", + "integrity": "sha1-vocQD7wY3jh27WBunSS0VoMRzs8=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.nlark.com/url/download/url-0.11.0.tgz?cache=0&sync_timestamp=1618847135337&other_urls=https%3A%2F%2Fregistry.nlark.com%2Furl%2Fdownload%2Furl-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/user-home/download/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.nlark.com/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1622212984161&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futil%2Fdownload%2Futil-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "v8flags": { + "version": "2.0.12", + "resolved": "https://registry.npmmirror.com/v8flags/download/v8flags-2.0.12.tgz?cache=0&sync_timestamp=1636336418259&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fv8flags%2Fdownload%2Fv8flags-2.0.12.tgz", + "integrity": "sha1-cyNdn3F2+OiDP7KGeVRF95ONhOU=", + "requires": { + "user-home": "^1.1.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/validate-npm-package-license/download/validate-npm-package-license-3.0.1.tgz", + "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "requires": { + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.nlark.com/vm-browserify/download/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "requires": { + "indexof": "0.0.1" + } + }, + "watchpack": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/watchpack/download/watchpack-1.3.1.tgz", + "integrity": "sha1-fYaTkHsozmAT5/NhCqKhrPB9rYc=", + "requires": { + "async": "^2.1.2", + "chokidar": "^1.4.3", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/webpack/download/webpack-2.3.3.tgz", + "integrity": "sha1-7swIPBj7e/lY6k9AtXpmQMWgzHg=", + "requires": { + "acorn": "^4.0.4", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^4.7.0", + "ajv-keywords": "^1.1.1", + "async": "^2.1.2", + "enhanced-resolve": "^3.0.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "loader-runner": "^2.3.0", + "loader-utils": "^0.2.16", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^3.1.0", + "tapable": "~0.2.5", + "uglify-js": "^2.8.5", + "watchpack": "^1.3.1", + "webpack-sources": "^0.2.3", + "yargs": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "4.0.11", + "resolved": "https://registry.npmmirror.com/acorn/download/acorn-4.0.11.tgz?cache=0&sync_timestamp=1637225522161&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Facorn%2Fdownload%2Facorn-4.0.11.tgz", + "integrity": "sha1-7c2jvZN+dVZBDULtWGD2c5nHlMA=" + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-3.0.0.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/cliui/download/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^4.2.0" + } + } + } + }, + "webpack-sources": { + "version": "0.2.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/download/webpack-sources-0.2.3.tgz?cache=0&sync_timestamp=1636982731420&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-0.2.3.tgz", + "integrity": "sha1-F8Yr+vE8cH+dAsR54Nzd6DgGl/s=", + "requires": { + "source-list-map": "^1.1.1", + "source-map": "~0.5.3" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/window-size/download/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.nlark.com/wordwrap/download/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-2.1.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.nlark.com/write/download/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-4.2.1.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-3.0.0.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + } + } + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.nlark.com/range-parser/download/range-parser-1.2.1.tgz", + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmmirror.com/raw-body/download/raw-body-2.4.0.tgz?cache=0&sync_timestamp=1637116848060&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fraw-body%2Fdownload%2Fraw-body-2.4.0.tgz", + "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/bytes/download/bytes-3.1.0.tgz?cache=0&sync_timestamp=1637015110760&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", + "dev": true + } + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/read-cache/download/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "^2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/read-package-json-fast/download/read-package-json-fast-2.0.3.tgz", + "integrity": "sha1-MjylKWMNqCyzSzbMC5lmk8mMK4M=", + "dev": true, + "requires": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-2.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/p-try/download/p-try-1.0.0.tgz?cache=0&sync_timestamp=1633364462890&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fp-try%2Fdownload%2Fp-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz", + "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/redent/download/redent-3.0.0.tgz?cache=0&sync_timestamp=1620070119923&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fredent%2Fdownload%2Fredent-3.0.0.tgz", + "integrity": "sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npm.taobao.org/reflect-metadata/download/reflect-metadata-0.1.13.tgz", + "integrity": "sha1-Z648pXyXKiqhZCsQ/jY/4y1J3Ag=", + "dev": true + }, + "reftools": { + "version": "1.1.9", + "resolved": "https://registry.nlark.com/reftools/download/reftools-1.1.9.tgz", + "integrity": "sha1-4W4Z9mLM1GSGBTEsBtNOXaOit34=", + "dev": true + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.2.tgz?cache=0&sync_timestamp=1604218353677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate%2Fdownload%2Fregenerate-1.4.2.tgz", + "integrity": "sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "9.0.0", + "resolved": "https://registry.nlark.com/regenerate-unicode-properties/download/regenerate-unicode-properties-9.0.0.tgz?cache=0&sync_timestamp=1631617161322&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerate-unicode-properties%2Fdownload%2Fregenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha1-VNCccRXh9T3CMUqXSzLBw0Tv4yY=", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz?cache=0&sync_timestamp=1626992969133&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.9.tgz", + "integrity": "sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I=", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.nlark.com/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1627057533376&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.14.5.tgz", + "integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/regex-not/download/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.nlark.com/regex-parser/download/regex-parser-2.2.11.tgz", + "integrity": "sha1-OzfskEnhlHmAboeMq+fByoPM/lg=", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.nlark.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/regexpp/download/regexpp-3.2.0.tgz?cache=0&sync_timestamp=1623669331185&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpp%2Fdownload%2Fregexpp-3.2.0.tgz", + "integrity": "sha1-BCWido2PI7rXDKS5BGH6LxIT4bI=", + "dev": true + }, + "regexpu-core": { + "version": "4.8.0", + "resolved": "https://registry.nlark.com/regexpu-core/download/regexpu-core-4.8.0.tgz?cache=0&sync_timestamp=1631619113277&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregexpu-core%2Fdownload%2Fregexpu-core-4.8.0.tgz", + "integrity": "sha1-5WBbo2G2excYR4UBMnUC9EeamPA=", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regextras": { + "version": "0.8.0", + "resolved": "https://registry.nlark.com/regextras/download/regextras-0.8.0.tgz?cache=0&sync_timestamp=1621860451154&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregextras%2Fdownload%2Fregextras-0.8.0.tgz", + "integrity": "sha1-7A+ZhT1JEoOTIRcvYItUSBSwIhc=", + "dev": true + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/regjsgen/download/regjsgen-0.5.2.tgz", + "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM=", + "dev": true + }, + "regjsparser": { + "version": "0.7.0", + "resolved": "https://registry.nlark.com/regjsparser/download/regjsparser-0.7.0.tgz?cache=0&sync_timestamp=1630946816794&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregjsparser%2Fdownload%2Fregjsparser-0.7.0.tgz", + "integrity": "sha1-prZntUyIXhi1JVTLSWDvcRh+mWg=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.nlark.com/jsesc/download/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "regression": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/regression/download/regression-2.0.1.tgz", + "integrity": "sha1-jSnD6CJKEIUMNeM36FqLL6w7DIc=" + }, + "remark": { + "version": "13.0.0", + "resolved": "https://registry.npmmirror.com/remark/download/remark-13.0.0.tgz?cache=0&sync_timestamp=1637258856657&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fremark%2Fdownload%2Fremark-13.0.0.tgz", + "integrity": "sha1-0V2b9xpAL0Aofr42Bntm1Uho5CU=", + "dev": true, + "requires": { + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" + } + }, + "remark-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/remark-parse/download/remark-parse-9.0.0.tgz", + "integrity": "sha1-TSCimWZYgOT0r12Qt8e4qTWFNkA=", + "dev": true, + "requires": { + "mdast-util-from-markdown": "^0.8.0" + } + }, + "remark-stringify": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/remark-stringify/download/remark-stringify-9.0.1.tgz", + "integrity": "sha1-V20G6RBUiwpxkacfJ7M/EhiGKJQ=", + "dev": true, + "requires": { + "mdast-util-to-markdown": "^0.6.0" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.4.tgz", + "integrity": "sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek=", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/replace-ext/download/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmmirror.com/request/download/request-2.88.2.tgz", + "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.nlark.com/qs/download/qs-6.5.2.tgz", + "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/require-from-string/download/require-from-string-2.0.2.tgz", + "integrity": "sha1-iaf92TgmEmcxjq/hT5wy5ZjDaQk=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/requires-port/download/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz", + "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-4.0.0.tgz", + "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/resolve-url/download/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/resolve-url-loader/download/resolve-url-loader-4.0.0.tgz", + "integrity": "sha1-1Q1N3HRrsQRoRDFnrPgA3NbDrVc=", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/restore-cursor/download/restore-cursor-3.1.0.tgz?cache=0&sync_timestamp=1629746923086&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frestore-cursor%2Fdownload%2Frestore-cursor-3.1.0.tgz", + "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.nlark.com/retry/download/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.nlark.com/reusify/download/reusify-1.0.4.tgz", + "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=", + "dev": true + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/rfdc/download/rfdc-1.3.0.tgz", + "integrity": "sha1-0LfEQasnINBdxM8m4ByJYx2doIs=", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz", + "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.nlark.com/run-async/download/run-async-2.4.1.tgz", + "integrity": "sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU=", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.2.0.tgz?cache=0&sync_timestamp=1612925943325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frun-parallel%2Fdownload%2Frun-parallel-1.2.0.tgz", + "integrity": "sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/rw/download/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmmirror.com/rxjs/download/rxjs-6.6.7.tgz?cache=0&sync_timestamp=1633554235070&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frxjs%2Fdownload%2Frxjs-6.6.7.tgz", + "integrity": "sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk=", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=" + } + } + }, + "rxjs-for-await": { + "version": "0.0.2", + "resolved": "https://registry.npmmirror.com/rxjs-for-await/download/rxjs-for-await-0.0.2.tgz", + "integrity": "sha1-JlmKHWFnFHzBkhcpcOfu1OYgOEs=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/safe-regex/download/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" + }, + "sass": { + "version": "1.36.0", + "resolved": "https://registry.npmmirror.com/sass/download/sass-1.36.0.tgz", + "integrity": "sha1-WRLvnV0WcUFxuhHLF+2ydMS7wH4=", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" + } + }, + "sass-loader": { + "version": "12.1.0", + "resolved": "https://registry.npmmirror.com/sass-loader/download/sass-loader-12.1.0.tgz?cache=0&sync_timestamp=1635385383233&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsass-loader%2Fdownload%2Fsass-loader-12.1.0.tgz", + "integrity": "sha1-tzMkYiIxAJ2m+6Yat2ATJWOA0gE=", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "saucelabs": { + "version": "1.5.0", + "resolved": "https://registry.npmmirror.com/saucelabs/download/saucelabs-1.5.0.tgz", + "integrity": "sha1-lAWnPDYNRJsjKDmRmobDltN5/Z0=", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" + }, + "dependencies": { + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/agent-base/download/agent-base-4.3.0.tgz", + "integrity": "sha1-gWXwHENgCbzK0LHRIvBe13Dvxu4=", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.nlark.com/https-proxy-agent/download/https-proxy-agent-2.2.4.tgz", + "integrity": "sha1-TuenN6vZJniik9mzShr00NCMeHs=", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", + "dev": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-2.7.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-2.7.1.tgz", + "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + } + } + }, + "screenfull": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/screenfull/download/screenfull-5.2.0.tgz", + "integrity": "sha1-ZTPVJNMGIfwSg7lpIUbz8TqT0bo=" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selenium-webdriver": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/selenium-webdriver/download/selenium-webdriver-3.6.0.tgz", + "integrity": "sha1-K6h6FmLAILiYjJga5iyyoBKY6vw=", + "dev": true, + "requires": { + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "tmp": { + "version": "0.0.30", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.1" + } + } + } + }, + "selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.nlark.com/selfsigned/download/selfsigned-1.10.11.tgz?cache=0&sync_timestamp=1620160245612&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.11.tgz", + "integrity": "sha1-JJKc2Qb+D0S20B+yOZmnOVN6y+k=", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", + "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/semver-compare/download/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", + "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.1.tgz", + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-6.0.0.tgz?cache=0&sync_timestamp=1624284098038&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-6.0.0.tgz", + "integrity": "sha1-765diPRdeSQUHai1w6en5mP+/rg=", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmmirror.com/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1636932182141&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", + "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/set-immediate-shim/download/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz?cache=0&sync_timestamp=1631437857327&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fset-value%2Fdownload%2Fset-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz", + "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", + "dev": true + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/shallow-clone/download/shallow-clone-3.0.1.tgz", + "integrity": "sha1-jymBrZJTH1UDWwH7IwdppA4C76M=", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-1.0.0.tgz?cache=0&sync_timestamp=1628896299850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "should": { + "version": "13.2.3", + "resolved": "https://registry.nlark.com/should/download/should-13.2.3.tgz", + "integrity": "sha1-ltjlrPPpe0nYm1H+qlro0H71jxA=", + "dev": true, + "requires": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/should-equal/download/should-equal-2.0.0.tgz", + "integrity": "sha1-YHLPgwRzYIZ+aOmLCdcRQ9BO4MM=", + "dev": true, + "requires": { + "should-type": "^1.4.0" + } + }, + "should-format": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/should-format/download/should-format-3.0.3.tgz", + "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", + "dev": true, + "requires": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "should-type": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/should-type/download/should-type-1.4.0.tgz", + "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", + "dev": true + }, + "should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/should-type-adaptors/download/should-type-adaptors-1.1.0.tgz", + "integrity": "sha1-QB5/M7VTMDOUTVzYvytlAneS4no=", + "dev": true, + "requires": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "should-util": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/should-util/download/should-util-1.0.1.tgz", + "integrity": "sha1-+w1xM49TKjoUkhNjni0yy+qLyyg=", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/side-channel/download/side-channel-1.0.4.tgz", + "integrity": "sha1-785cj9wQTudRslxY1CkAEfpeos8=", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "dev": true + }, + "simple-statistics": { + "version": "6.1.1", + "resolved": "https://registry.npm.taobao.org/simple-statistics/download/simple-statistics-6.1.1.tgz", + "integrity": "sha1-46B5n/xJkU1vQhxaSsWF9qE+K60=" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz", + "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-4.0.0.tgz", + "integrity": "sha1-UA6N0P1VsFgVCGJVsxla3ypF/ms=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + } + } + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.nlark.com/smart-buffer/download/smart-buffer-4.2.0.tgz?cache=0&sync_timestamp=1628317244992&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsmart-buffer%2Fdownload%2Fsmart-buffer-4.2.0.tgz", + "integrity": "sha1-bh1x+k8YwF99D/IW3RakgdDo2a4=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmmirror.com/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socket.io": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/socket.io/download/socket.io-4.4.0.tgz?cache=0&sync_timestamp=1637252559928&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsocket.io%2Fdownload%2Fsocket.io-4.4.0.tgz", + "integrity": "sha512-bnpJxswR9ov0Bw6ilhCvO38/1WPtE3eA2dtxi2Iq4/sFebiDJQzgKNYA7AuVVdGW09nrESXd90NbZqtDd9dzRQ==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.1.0", + "socket.io-adapter": "~2.3.3", + "socket.io-parser": "~4.0.4" + } + }, + "socket.io-adapter": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/socket.io-adapter/download/socket.io-adapter-2.3.3.tgz?cache=0&sync_timestamp=1637252559030&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsocket.io-adapter%2Fdownload%2Fsocket.io-adapter-2.3.3.tgz", + "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==", + "dev": true + }, + "socket.io-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/socket.io-parser/download/socket.io-parser-4.0.4.tgz", + "integrity": "sha1-nqIbDWFQjRgZbvBKLGuatjD0wrA=", + "dev": true, + "requires": { + "@types/component-emitter": "^1.2.10", + "component-emitter": "~1.3.0", + "debug": "~4.3.1" + } + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.nlark.com/sockjs/download/sockjs-0.3.21.tgz", + "integrity": "sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc=", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "sockjs-client": { + "version": "1.5.2", + "resolved": "https://registry.nlark.com/sockjs-client/download/sockjs-client-1.5.2.tgz", + "integrity": "sha1-S8SMLanOR2nxnccjOWtQ9cEjMKM=", + "dev": true, + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.5.3" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.2.7.tgz", + "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "socks": { + "version": "2.6.1", + "resolved": "https://registry.nlark.com/socks/download/socks-2.6.1.tgz", + "integrity": "sha1-mJ5lNKB88zfesbHJSqpEKWUg0w4=", + "dev": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/socks-proxy-agent/download/socks-proxy-agent-6.1.1.tgz", + "integrity": "sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.1", + "socks": "^2.6.1" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/source-list-map/download/source-list-map-2.0.1.tgz", + "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", + "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", + "dev": true + }, + "source-map-explorer": { + "version": "2.5.2", + "resolved": "https://registry.npm.taobao.org/source-map-explorer/download/source-map-explorer-2.5.2.tgz", + "integrity": "sha1-hXyrXdnR1xdenFwnOdycz7mfLcU=", + "dev": true, + "requires": { + "btoa": "^1.2.1", + "chalk": "^4.1.0", + "convert-source-map": "^1.7.0", + "ejs": "^3.1.5", + "escape-html": "^1.0.3", + "glob": "^7.1.6", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "open": "^7.3.1", + "source-map": "^0.7.3", + "temp": "^0.9.4", + "yargs": "^16.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmmirror.com/open/download/open-7.4.2.tgz", + "integrity": "sha1-uBR+Jtzz5CYxbHMAif1x7dKcIyE=", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "source-map-js": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/source-map-js/download/source-map-js-1.0.1.tgz?cache=0&sync_timestamp=1636400772640&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsource-map-js%2Fdownload%2Fsource-map-js-1.0.1.tgz", + "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==", + "dev": true + }, + "source-map-loader": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/source-map-loader/download/source-map-loader-3.0.0.tgz", + "integrity": "sha1-8qBO4oCK0Bx3TeprfSY5g587MEk=", + "dev": true, + "requires": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.2", + "source-map-js": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.6.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.6.3.tgz", + "integrity": "sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE=", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmmirror.com/source-map-js/download/source-map-js-0.6.2.tgz?cache=0&sync_timestamp=1636400772640&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsource-map-js%2Fdownload%2Fsource-map-js-0.6.2.tgz", + "integrity": "sha1-C7XeYxtBz72mz7qL0FqA79/SOF4=", + "dev": true + } + } + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.nlark.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz", + "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmmirror.com/source-map-support/download/source-map-support-0.5.19.tgz", + "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.nlark.com/source-map-url/download/source-map-url-0.4.1.tgz", + "integrity": "sha1-CvZmBadFpaL5HPG7+KevvCg97FY=", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.nlark.com/sourcemap-codec/download/sourcemap-codec-1.4.8.tgz", + "integrity": "sha1-6oBL2UhXQC5pktBaOO8a41qatMQ=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz", + "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz", + "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/download/spdx-license-ids-3.0.11.tgz?cache=0&sync_timestamp=1636978474315&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.nlark.com/spdy/download/spdy-4.0.2.tgz", + "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz", + "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/specificity/download/specificity-0.4.1.tgz", + "integrity": "sha1-qrXmRQEtsIuhguFRFlc40AiHsBk=", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&sync_timestamp=1618847174560&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "ssf": { + "version": "0.11.2", + "resolved": "https://registry.npm.taobao.org/ssf/download/ssf-0.11.2.tgz", + "integrity": "sha1-C5lpiyN1SNCI/EPN8rcMGnUSwGw=", + "requires": { + "frac": "~1.1.2" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", + "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.nlark.com/ssri/download/ssri-8.0.1.tgz?cache=0&sync_timestamp=1621364918494&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fssri%2Fdownload%2Fssri-8.0.1.tgz", + "integrity": "sha1-Y45OQ54v+9LNKJd21cpFfE9Roq8=", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/stable/download/stable-0.1.8.tgz", + "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=", + "dev": true + }, + "state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npm.taobao.org/state-toggle/download/state-toggle-1.0.3.tgz", + "integrity": "sha1-4SOxaojhQxObCcaFIiG8mBWRff4=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1609654066899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "streamroller": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/streamroller/download/streamroller-2.2.4.tgz", + "integrity": "sha1-wZjO1C25QIamGTYIGHzoCl8rDlM=", + "dev": true, + "requires": { + "date-format": "^2.1.0", + "debug": "^4.1.1", + "fs-extra": "^8.1.0" + }, + "dependencies": { + "date-format": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/date-format/download/date-format-2.1.0.tgz", + "integrity": "sha1-MdW16iEc9f12TNOLr50DPffhJc8=", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/jsonfile/download/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.nlark.com/universalify/download/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true + } + } + }, + "string-argv": { + "version": "0.3.1", + "resolved": "https://registry.nlark.com/string-argv/download/string-argv-0.3.1.tgz", + "integrity": "sha1-leL77AQnrhkYSTX4FtdKqkxcGdo=", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz?cache=0&sync_timestamp=1614127461586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.4.tgz", + "integrity": "sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz?cache=0&sync_timestamp=1614127357785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.4.tgz", + "integrity": "sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-entities": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/stringify-entities/download/stringify-entities-1.3.2.tgz?cache=0&sync_timestamp=1636445763931&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstringify-entities%2Fdownload%2Fstringify-entities-1.3.2.tgz", + "integrity": "sha1-qYQX5Ucf0iez5F09sYYcEcr2aPc=", + "dev": true, + "requires": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.nlark.com/stringify-object/download/stringify-object-3.3.0.tgz", + "integrity": "sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz?cache=0&sync_timestamp=1618599642133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-bom%2Fdownload%2Fstrip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-css-comments": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/strip-css-comments/download/strip-css-comments-4.1.0.tgz", + "integrity": "sha1-ynmOPmtxkp8LNU4L1y53WbLqF+A=", + "dev": true, + "requires": { + "is-regexp": "^2.1.0" + }, + "dependencies": { + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-2.1.0.tgz", + "integrity": "sha1-zXNKVoZOI7lWv058ZsOWpMCyLC0=", + "dev": true + } + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/strip-eof/download/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz", + "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=", + "dev": true + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-3.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-3.0.0.tgz", + "integrity": "sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz", + "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", + "dev": true + }, + "style-loader": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/style-loader/download/style-loader-3.2.1.tgz?cache=0&sync_timestamp=1634872439692&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstyle-loader%2Fdownload%2Fstyle-loader-3.2.1.tgz", + "integrity": "sha1-Y8uSDsFFyGaemlDpKWFFKh713N4=", + "dev": true + }, + "style-search": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/style-search/download/style-search-0.1.0.tgz", + "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", + "dev": true + }, + "stylehacks": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/stylehacks/download/stylehacks-5.0.1.tgz?cache=0&sync_timestamp=1621449652268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstylehacks%2Fdownload%2Fstylehacks-5.0.1.tgz", + "integrity": "sha1-Mj7FVBmFIJhoBjiMf9rrw40sBvs=", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "postcss-selector-parser": "^6.0.4" + } + }, + "stylelint": { + "version": "13.13.1", + "resolved": "https://registry.npmmirror.com/stylelint/download/stylelint-13.13.1.tgz", + "integrity": "sha1-/KnJ9d55kKsmoA8We4l48IOhjzw=", + "dev": true, + "requires": { + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", + "balanced-match": "^2.0.0", + "chalk": "^4.1.1", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.0.3", + "globjoin": "^0.1.4", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.1.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.4", + "normalize-selector": "^0.2.0", + "postcss": "^7.0.35", + "postcss-html": "^0.36.0", + "postcss-less": "^3.1.4", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.5", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", + "specificity": "^0.4.1", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^6.6.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^3.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-2.0.0.tgz", + "integrity": "sha1-3HD5INeNuLhYU1eVhnv0j4IGM9k=", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", + "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", + "dev": true + }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.npmmirror.com/meow/download/meow-9.0.0.tgz?cache=0&sync_timestamp=1637477569022&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-9.0.0.tgz", + "integrity": "sha1-zZUQvFysne59A8c+4fmtlZ9Oo2Q=", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-3.0.3.tgz", + "integrity": "sha1-28w+LaWVCaCYNCKITNFy7v36Ul4=", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-5.2.0.tgz", + "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz", + "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz", + "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/read-pkg-up/download/read-pkg-up-7.0.1.tgz", + "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", + "dev": true + } + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-5.0.0.tgz", + "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-7.2.0.tgz", + "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.18.1.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.18.1.tgz", + "integrity": "sha1-20vBUaSiz07r+a3V23VQjbbMhB8=", + "dev": true + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "stylelint-config-prettier": { + "version": "8.0.2", + "resolved": "https://registry.npmmirror.com/stylelint-config-prettier/download/stylelint-config-prettier-8.0.2.tgz", + "integrity": "sha1-2p3jPaTFaJPL5+Jt8jmnN0BF4U4=", + "dev": true + }, + "stylelint-config-rational-order": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/stylelint-config-rational-order/download/stylelint-config-rational-order-0.1.2.tgz", + "integrity": "sha1-TpjjkHg9Q38OxB+3O8QZkueNAqA=", + "dev": true, + "requires": { + "stylelint": "^9.10.1", + "stylelint-order": "^2.2.1" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz", + "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/astral-regex/download/astral-regex-1.0.0.tgz", + "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/camelcase/download/camelcase-4.1.0.tgz?cache=0&sync_timestamp=1636945205805&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase%2Fdownload%2Fcamelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/camelcase-keys/download/camelcase-keys-4.2.0.tgz?cache=0&sync_timestamp=1633332959770&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcamelcase-keys%2Fdownload%2Fcamelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "clone-regexp": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/clone-regexp/download/clone-regexp-1.0.1.tgz?cache=0&sync_timestamp=1617892092032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclone-regexp%2Fdownload%2Fclone-regexp-1.0.1.tgz", + "integrity": "sha1-BRgFzTMXM3XYIRj8CRhgbaOf1g8=", + "dev": true, + "requires": { + "is-regexp": "^1.0.0", + "is-supported-regexp-flag": "^1.0.0" + } + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.nlark.com/cosmiconfig/download/cosmiconfig-5.2.1.tgz", + "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz", + "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "execall": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/execall/download/execall-1.0.0.tgz?cache=0&sync_timestamp=1617892843041&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexecall%2Fdownload%2Fexecall-1.0.0.tgz", + "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=", + "dev": true, + "requires": { + "clone-regexp": "^1.0.0" + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.nlark.com/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1625773305786&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz", + "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "file-entry-cache": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-4.0.0.tgz?cache=0&sync_timestamp=1613794272556&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-entry-cache%2Fdownload%2Ffile-entry-cache-4.0.0.tgz", + "integrity": "sha1-YzVn0VNkrv4LKZ4eIXc16POp9ug=", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-2.0.1.tgz", + "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/flatted/download/flatted-2.0.2.tgz?cache=0&sync_timestamp=1636473847692&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fflatted%2Fdownload%2Fflatted-2.0.2.tgz", + "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=", + "dev": true + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.nlark.com/get-stdin/download/get-stdin-6.0.0.tgz", + "integrity": "sha1-ngm/cSs2CrkiXoEgSPcf3pyJZXs=", + "dev": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.nlark.com/globby/download/globby-9.2.0.tgz", + "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1635926632542&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fignore%2Fdownload%2Fignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", + "dev": true + } + } + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1608469532269&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "import-lazy": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/import-lazy/download/import-lazy-3.1.0.tgz", + "integrity": "sha1-iRJ5ICyKIoD9vWZ029jaGh38Z8w=", + "dev": true + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.nlark.com/indent-string/download/indent-string-3.2.0.tgz?cache=0&sync_timestamp=1622604582006&other_urls=https%3A%2F%2Fregistry.nlark.com%2Findent-string%2Fdownload%2Findent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "known-css-properties": { + "version": "0.11.0", + "resolved": "https://registry.nlark.com/known-css-properties/download/known-css-properties-0.11.0.tgz", + "integrity": "sha1-DaeE8RXqd8drgVNtcFLpDubIaoo=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz", + "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/map-obj/download/map-obj-2.0.0.tgz?cache=0&sync_timestamp=1634552719803&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmap-obj%2Fdownload%2Fmap-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "meow": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/meow/download/meow-5.0.0.tgz?cache=0&sync_timestamp=1637477569022&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fmeow%2Fdownload%2Fmeow-5.0.0.tgz", + "integrity": "sha1-38c9Y6mvxxSl43F2DrXIi5EHiqQ=", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0", + "yargs-parser": "^10.0.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/minimist-options/download/minimist-options-3.0.2.tgz", + "integrity": "sha1-+6TIGRM54T7PTWG+sD8HAQPz2VQ=", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-json/download/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-sass": { + "version": "0.3.5", + "resolved": "https://registry.nlark.com/postcss-sass/download/postcss-sass-0.3.5.tgz", + "integrity": "sha1-bT458QGlPS76CR+VNJMRbTK+tow=", + "dev": true, + "requires": { + "gonzales-pe": "^4.2.3", + "postcss": "^7.0.1" + } + }, + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1620752939806&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz", + "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", + "dev": true + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/quick-lru/download/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/redent/download/redent-2.0.0.tgz?cache=0&sync_timestamp=1620070119923&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fredent%2Fdownload%2Fredent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz", + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz", + "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/slice-ansi/download/slice-ansi-2.1.0.tgz", + "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-2.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "stylelint": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/stylelint/download/stylelint-9.10.1.tgz", + "integrity": "sha1-Xw7jcBRh3/HWgoThOG7+jwZ3p10=", + "dev": true, + "requires": { + "autoprefixer": "^9.0.0", + "balanced-match": "^1.0.0", + "chalk": "^2.4.1", + "cosmiconfig": "^5.0.0", + "debug": "^4.0.0", + "execall": "^1.0.0", + "file-entry-cache": "^4.0.0", + "get-stdin": "^6.0.0", + "global-modules": "^2.0.0", + "globby": "^9.0.0", + "globjoin": "^0.1.4", + "html-tags": "^2.0.0", + "ignore": "^5.0.4", + "import-lazy": "^3.1.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.11.0", + "leven": "^2.1.0", + "lodash": "^4.17.4", + "log-symbols": "^2.0.0", + "mathml-tag-names": "^2.0.1", + "meow": "^5.0.0", + "micromatch": "^3.1.10", + "normalize-selector": "^0.2.0", + "pify": "^4.0.0", + "postcss": "^7.0.13", + "postcss-html": "^0.36.0", + "postcss-jsx": "^0.36.0", + "postcss-less": "^3.1.0", + "postcss-markdown": "^0.36.0", + "postcss-media-query-parser": "^0.2.3", + "postcss-reporter": "^6.0.0", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.0", + "postcss-sass": "^0.3.5", + "postcss-scss": "^2.0.0", + "postcss-selector-parser": "^3.1.0", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^3.3.0", + "resolve-from": "^4.0.0", + "signal-exit": "^3.0.2", + "slash": "^2.0.0", + "specificity": "^0.4.1", + "string-width": "^3.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^5.0.0" + } + }, + "stylelint-order": { + "version": "2.2.1", + "resolved": "https://registry.npmmirror.com/stylelint-order/download/stylelint-order-2.2.1.tgz", + "integrity": "sha1-zS1KDYHZHHBfHSdaWEh+WtWqWCg=", + "dev": true, + "requires": { + "lodash": "^4.17.10", + "postcss": "^7.0.2", + "postcss-sorting": "^4.1.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmmirror.com/table/download/table-5.4.6.tgz?cache=0&sync_timestamp=1636037112686&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftable%2Fdownload%2Ftable-5.4.6.tgz", + "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-2.0.0.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-10.1.0.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-10.1.0.tgz", + "integrity": "sha1-cgImW4n36eny5XZeD+c1qQXtuqg=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "stylelint-config-recommended": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/stylelint-config-recommended/download/stylelint-config-recommended-5.0.0.tgz", + "integrity": "sha1-+1ZT9JWmC0k48q0+d3EtnhA5rng=", + "dev": true + }, + "stylelint-config-standard": { + "version": "22.0.0", + "resolved": "https://registry.npmmirror.com/stylelint-config-standard/download/stylelint-config-standard-22.0.0.tgz", + "integrity": "sha1-yGC+mhPrvBsIRFb6EFJ78TpErd8=", + "dev": true, + "requires": { + "stylelint-config-recommended": "^5.0.0" + } + }, + "stylelint-declaration-block-no-ignored-properties": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/stylelint-declaration-block-no-ignored-properties/download/stylelint-declaration-block-no-ignored-properties-2.5.0.tgz?cache=0&sync_timestamp=1636703410304&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstylelint-declaration-block-no-ignored-properties%2Fdownload%2Fstylelint-declaration-block-no-ignored-properties-2.5.0.tgz", + "integrity": "sha512-UNz5nUC5GMgMb6GPc/pHUTC0+ydxTdj2mUn7XcKRdwQoiUzzUmWWdSf1aFv2UzrW4x8JYNReE1u5JOj7g0ThJw==", + "dev": true + }, + "stylelint-order": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/stylelint-order/download/stylelint-order-4.1.0.tgz", + "integrity": "sha1-aS0Ft9DCNaxm/PXqHZ5fCKdnR/Y=", + "dev": true, + "requires": { + "lodash": "^4.17.15", + "postcss": "^7.0.31", + "postcss-sorting": "^5.0.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "postcss-sorting": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/postcss-sorting/download/postcss-sorting-5.0.1.tgz", + "integrity": "sha1-ENXQBZ7qgzTazIIMASGGQDW8PxE=", + "dev": true, + "requires": { + "lodash": "^4.17.14", + "postcss": "^7.0.17" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "stylus": { + "version": "0.54.8", + "resolved": "https://registry.nlark.com/stylus/download/stylus-0.54.8.tgz", + "integrity": "sha1-PaPmWWa8Vnp7BEv+DuzmU+CZ0Uc=", + "dev": true, + "requires": { + "css-parse": "~2.0.0", + "debug": "~3.1.0", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "semver": "^6.3.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "stylus-loader": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/stylus-loader/download/stylus-loader-6.1.0.tgz?cache=0&sync_timestamp=1634037061456&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstylus-loader%2Fdownload%2Fstylus-loader-6.1.0.tgz", + "integrity": "sha1-ejpxmifLK5YXiW1too/alMPtl2I=", + "dev": true, + "requires": { + "fast-glob": "^3.2.5", + "klona": "^2.0.4", + "normalize-path": "^3.0.0" + } + }, + "sugarss": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/sugarss/download/sugarss-2.0.0.tgz", + "integrity": "sha1-3dduASSyl9QL88yjHIsi7LQ7xh0=", + "dev": true, + "requires": { + "postcss": "^7.0.2" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/picocolors/download/picocolors-0.2.1.tgz", + "integrity": "sha1-VwZw95NkaFHRuhNZlpYqutWHhZ8=", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.39.tgz", + "integrity": "sha1-liQ3XZZWMOLh8sAqk1yCpZy0gwk=", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmmirror.com/svgo/download/svgo-2.8.0.tgz", + "integrity": "sha1-T/gMzmcQ3CeV8MfHQQHmdkz8zSQ=", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/commander/download/commander-7.2.0.tgz", + "integrity": "sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc=", + "dev": true + } + } + }, + "swagger-schema-official": { + "version": "2.0.0-bab6bed", + "resolved": "https://registry.npm.taobao.org/swagger-schema-official/download/swagger-schema-official-2.0.0-bab6bed.tgz", + "integrity": "sha1-cAcEaNbSl3ylI3suUZyn0Gouo/0=", + "dev": true + }, + "swagger-typescript-api": { + "version": "9.3.1", + "resolved": "https://registry.npmmirror.com/swagger-typescript-api/download/swagger-typescript-api-9.3.1.tgz", + "integrity": "sha1-B986qOg6OJc1am6CDoi4NIgwqms=", + "dev": true, + "requires": { + "@types/swagger-schema-official": "2.0.21", + "axios": "^0.21.4", + "commander": "^6.2.1", + "cosmiconfig": "^7.0.0", + "eta": "^1.12.1", + "js-yaml": "^4.0.0", + "lodash": "^4.17.21", + "make-dir": "^3.1.0", + "nanoid": "^3.1.22", + "node-emoji": "^1.10.0", + "prettier": "^2.2.1", + "swagger-schema-official": "2.0.0-bab6bed", + "swagger2openapi": "^7.0.5", + "typescript": "^4.2.4" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/argparse/download/argparse-2.0.1.tgz", + "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", + "dev": true + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/commander/download/commander-6.2.1.tgz", + "integrity": "sha1-B5LraC37wyWZm7K4T93duhEKxzw=", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-4.1.0.tgz?cache=0&sync_timestamp=1618435004368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-4.1.0.tgz", + "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + } + } + }, + "swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.nlark.com/swagger2openapi/download/swagger2openapi-7.0.8.tgz", + "integrity": "sha1-EsiNXed2yxy7p1iZSTD0CtCvrFk=", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true + }, + "yargs": { + "version": "17.2.1", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-17.2.1.tgz", + "integrity": "sha1-4slbl5ag4ffzv0QnhjtC4EGBkeo=", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-20.2.9.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true + } + } + }, + "symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/symbol-observable/download/symbol-observable-4.0.0.tgz?cache=0&sync_timestamp=1618451954701&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsymbol-observable%2Fdownload%2Fsymbol-observable-4.0.0.tgz", + "integrity": "sha1-W0JfGSJ56H8vm5N6yFQNGYSzkgU=", + "dev": true + }, + "table": { + "version": "6.7.3", + "resolved": "https://registry.npmmirror.com/table/download/table-6.7.3.tgz?cache=0&sync_timestamp=1636037112686&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftable%2Fdownload%2Ftable-6.7.3.tgz", + "integrity": "sha1-JVOIQ5cVpzg5G9LuTLyomk0Fqbc=", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/tapable/download/tapable-2.2.1.tgz", + "integrity": "sha1-GWenPvQGCoLxKrlq+G1S/bdu7KA=", + "dev": true + }, + "tar": { + "version": "6.1.11", + "resolved": "https://registry.nlark.com/tar/download/tar-6.1.11.tgz", + "integrity": "sha1-Z2CjjwA6+hsv/Q/+npq70Oqz1iE=", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "temp": { + "version": "0.9.4", + "resolved": "https://registry.npm.taobao.org/temp/download/temp-0.9.4.tgz", + "integrity": "sha1-zSCoWAy2NjXQ5OnUvZidRChudiA=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz", + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "terser": { + "version": "5.7.1", + "resolved": "https://registry.npmmirror.com/terser/download/terser-5.7.1.tgz?cache=0&sync_timestamp=1636988182324&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fterser%2Fdownload%2Fterser-5.7.1.tgz", + "integrity": "sha1-LcemEAm2a7Y4MFyyqCR2OxFr94Q=", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + } + }, + "terser-webpack-plugin": { + "version": "5.1.4", + "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/download/terser-webpack-plugin-5.1.4.tgz?cache=0&sync_timestamp=1636385901001&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-5.1.4.tgz", + "integrity": "sha1-w2nPikeqmSK9DYqU/j09oRp2eKE=", + "dev": true, + "requires": { + "jest-worker": "^27.0.2", + "p-limit": "^3.1.0", + "schema-utils": "^3.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz?cache=0&sync_timestamp=1628812766275&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-3.1.0.tgz", + "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.nlark.com/thunky/download/thunky-1.1.0.tgz", + "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=", + "dev": true + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/timsort/download/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.nlark.com/tmp/download/tmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/to-object-path/download/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz", + "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/toidentifier/download/toidentifier-1.0.0.tgz?cache=0&sync_timestamp=1636938489272&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftoidentifier%2Fdownload%2Ftoidentifier-1.0.0.tgz", + "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", + "dev": true + }, + "topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.nlark.com/topojson-client/download/topojson-client-3.1.0.tgz", + "integrity": "sha1-Iuix7QiiuSL+60r29Ttu8JpGe5k=", + "requires": { + "commander": "2" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz", + "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmmirror.com/tr46/download/tr46-0.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftr46%2Fdownload%2Ftr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "dev": true + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.nlark.com/tree-kill/download/tree-kill-1.2.2.tgz", + "integrity": "sha1-TKCakJLIi3OnzcXooBtQeweQoMw=", + "dev": true + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npm.taobao.org/trim/download/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", + "dev": true + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-3.0.1.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-3.0.1.tgz", + "integrity": "sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ=", + "dev": true + }, + "trim-trailing-lines": { + "version": "1.1.4", + "resolved": "https://registry.npm.taobao.org/trim-trailing-lines/download/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha1-vUq77HzIgEYvELLItc4djR7HwsA=", + "dev": true + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.nlark.com/trough/download/trough-1.0.5.tgz?cache=0&sync_timestamp=1625401006146&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrough%2Fdownload%2Ftrough-1.0.5.tgz", + "integrity": "sha1-uLY5zvrX0LsqvTfUM/+Ck++l9AY=", + "dev": true + }, + "ts-node": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/ts-node/download/ts-node-8.3.0.tgz", + "integrity": "sha1-5AWWGEETcZJKH7XzsSWRXzJO+1c=", + "dev": true, + "requires": { + "arg": "^4.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "source-map-support": "^0.5.6", + "yn": "^3.0.0" + } + }, + "tsconfig-paths": { + "version": "3.12.0", + "resolved": "https://registry.npmmirror.com/tsconfig-paths/download/tsconfig-paths-3.12.0.tgz", + "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.1.tgz", + "integrity": "sha1-6KM1rdXOrlGqJh0ypJAVjvBC7wE=" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npm.taobao.org/tsutils/download/tsutils-3.21.0.tgz?cache=0&sync_timestamp=1615138426726&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftsutils%2Fdownload%2Ftsutils-3.21.0.tgz", + "integrity": "sha1-tIcX05TOpsHglpg+7Vjp1hcVtiM=", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz", + "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=", + "dev": true + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.4.0.tgz", + "integrity": "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmmirror.com/type-fest/download/type-fest-0.21.3.tgz?cache=0&sync_timestamp=1637149878210&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.21.3.tgz", + "integrity": "sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc=", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", + "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.nlark.com/typedarray-to-buffer/download/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha1-qX7nqf9CaRufeD/xvFES/j/KkIA=", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.3.5", + "resolved": "https://registry.npmmirror.com/typescript/download/typescript-4.3.5.tgz", + "integrity": "sha1-TRw3zBbok5c8RaBohrcRMjTxGfQ=", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.31", + "resolved": "https://registry.npmmirror.com/ua-parser-js/download/ua-parser-js-0.7.31.tgz", + "integrity": "sha1-ZJplaxkd/6tPIdXgU+J8oXy/9cY=", + "dev": true + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/unbox-primitive/download/unbox-primitive-1.0.1.tgz", + "integrity": "sha1-CF4hViXsMWJXTciFmr7nilmxRHE=", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "unherit": { + "version": "1.1.3", + "resolved": "https://registry.nlark.com/unherit/download/unherit-1.1.3.tgz?cache=0&sync_timestamp=1626423513229&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funherit%2Fdownload%2Funherit-1.1.3.tgz", + "integrity": "sha1-bJtQPytBsmIzDIDpHIYUq9qmnCI=", + "dev": true, + "requires": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha1-MBrNxSVjFnDTn2FG4Od/9rvevdw=", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631618696521&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-match-property-ecmascript%2Fdownload%2Funicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha1-VP0W4OyxZ88Ezx91a9zJLrp5dsM=", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha1-GgGqVyR8FMVouJd1pUk4eIGJpxQ=", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-2.0.0.tgz?cache=0&sync_timestamp=1631609457921&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha1-CjbLmlhcT2q9Ua0d7dsoXBZSl8g=", + "dev": true + }, + "unified": { + "version": "9.2.2", + "resolved": "https://registry.npmmirror.com/unified/download/unified-9.2.2.tgz", + "integrity": "sha1-Z2SaGr/Dq4XSlpUCkCd16wMUaXU=", + "dev": true, + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-2.0.5.tgz", + "integrity": "sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-2.1.0.tgz?cache=0&sync_timestamp=1618601044820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-2.1.0.tgz", + "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", + "dev": true + } + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/union-value/download/union-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/uniq/download/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.nlark.com/unique-filename/download/unique-filename-1.1.1.tgz", + "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.nlark.com/unique-slug/download/unique-slug-2.0.2.tgz", + "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unist-util-find-all-after": { + "version": "3.0.2", + "resolved": "https://registry.nlark.com/unist-util-find-all-after/download/unist-util-find-all-after-3.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-find-all-after%2Fdownload%2Funist-util-find-all-after-3.0.2.tgz", + "integrity": "sha1-/f7NFMW3rqXp7zjV4NX3dO61YfY=", + "dev": true, + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/unist-util-is/download/unist-util-is-4.1.0.tgz?cache=0&sync_timestamp=1626874922677&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-is%2Fdownload%2Funist-util-is-4.1.0.tgz", + "integrity": "sha1-l25fRip6Xec9lLcGusG5BnG1d5c=", + "dev": true + }, + "unist-util-remove-position": { + "version": "1.1.4", + "resolved": "https://registry.nlark.com/unist-util-remove-position/download/unist-util-remove-position-1.1.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-remove-position%2Fdownload%2Funist-util-remove-position-1.1.4.tgz", + "integrity": "sha1-7ANzSLYQLIl3A+7m0ClMpHVaICA=", + "dev": true, + "requires": { + "unist-util-visit": "^1.1.0" + } + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.nlark.com/unist-util-stringify-position/download/unist-util-stringify-position-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-stringify-position%2Fdownload%2Funist-util-stringify-position-2.0.3.tgz", + "integrity": "sha1-zOO/oc34W6c3XR1bF73Eytqb2do=", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" + } + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/unist-util-visit/download/unist-util-visit-1.4.1.tgz?cache=0&sync_timestamp=1632405298952&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Funist-util-visit%2Fdownload%2Funist-util-visit-1.4.1.tgz", + "integrity": "sha1-RySqqEhububibX/zyGhZYNVgseM=", + "dev": true, + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + }, + "unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.nlark.com/unist-util-visit-parents/download/unist-util-visit-parents-2.1.2.tgz?cache=0&sync_timestamp=1632208991791&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-visit-parents%2Fdownload%2Funist-util-visit-parents-2.1.2.tgz", + "integrity": "sha1-JeQ+VTEhZvM0jK5nQ1iHgdESwek=", + "dev": true, + "requires": { + "unist-util-is": "^3.0.0" + }, + "dependencies": { + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/unist-util-is/download/unist-util-is-3.0.0.tgz?cache=0&sync_timestamp=1626874922677&other_urls=https%3A%2F%2Fregistry.nlark.com%2Funist-util-is%2Fdownload%2Funist-util-is-3.0.0.tgz", + "integrity": "sha1-2ehDgcJGjoJinkpb6dfQWi3TJM0=", + "dev": true + } + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.nlark.com/universalify/download/universalify-2.0.0.tgz", + "integrity": "sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc=", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/unpipe/download/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.nlark.com/unset-value/download/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.nlark.com/has-value/download/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.nlark.com/upath/download/upath-1.2.0.tgz", + "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz", + "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/urix/download/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.nlark.com/url/download/url-0.11.0.tgz?cache=0&sync_timestamp=1618847135337&other_urls=https%3A%2F%2Fregistry.nlark.com%2Furl%2Fdownload%2Furl-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-parse": { + "version": "1.5.3", + "resolved": "https://registry.nlark.com/url-parse/download/url-parse-1.5.3.tgz", + "integrity": "sha1-ccEwPTj7Zjmt4YPCmSyMwGht+GI=", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmmirror.com/uuid/download/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", + "dev": true + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz?cache=0&sync_timestamp=1614993639567&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fv8-compile-cache%2Fdownload%2Fv8-compile-cache-2.3.0.tgz", + "integrity": "sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.nlark.com/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/validate-npm-package-name/download/validate-npm-package-name-3.0.0.tgz", + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmmirror.com/verror/download/verror-1.10.0.tgz?cache=0&sync_timestamp=1635885078723&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fverror%2Fdownload%2Fverror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + } + } + }, + "vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmmirror.com/vfile/download/vfile-4.2.1.tgz", + "integrity": "sha1-A/Hc4o/GJcYlvGUUNQ+9sA+p5iQ=", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.nlark.com/is-buffer/download/is-buffer-2.0.5.tgz", + "integrity": "sha1-68JS5ADSL/jXf6CYiIIaJKZYwZE=", + "dev": true + } + } + }, + "vfile-location": { + "version": "2.0.6", + "resolved": "https://registry.nlark.com/vfile-location/download/vfile-location-2.0.6.tgz", + "integrity": "sha1-iidPOUEbhxnqVyiALhDZ4N/xUZ4=", + "dev": true + }, + "vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.nlark.com/vfile-message/download/vfile-message-2.0.4.tgz?cache=0&sync_timestamp=1628780833868&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvfile-message%2Fdownload%2Fvfile-message-2.0.4.tgz", + "integrity": "sha1-W0O4gXHUCerlhHfRPyPdQdUsNxo=", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/void-elements/download/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "watchpack": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/watchpack/download/watchpack-2.3.0.tgz", + "integrity": "sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", + "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.nlark.com/wcwidth/download/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webdriver-js-extender": { + "version": "2.1.0", + "resolved": "https://registry.nlark.com/webdriver-js-extender/download/webdriver-js-extender-2.1.0.tgz", + "integrity": "sha1-V9epPADbTMjVVuTT20tdsKgMO7c=", + "dev": true, + "requires": { + "@types/selenium-webdriver": "^3.0.0", + "selenium-webdriver": "^3.0.1" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.nlark.com/webidl-conversions/download/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", + "dev": true + }, + "webpack": { + "version": "5.50.0", + "resolved": "https://registry.npmmirror.com/webpack/download/webpack-5.50.0.tgz", + "integrity": "sha1-VWLXWQKnSetNdRMfVifqw6MZJSc=", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.0", + "es-module-lexer": "^0.7.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "webpack-sources": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/webpack-sources/download/webpack-sources-3.2.2.tgz?cache=0&sync_timestamp=1636982731420&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-3.2.2.tgz", + "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/download/webpack-dev-middleware-5.0.0.tgz?cache=0&sync_timestamp=1637165508298&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-5.0.0.tgz", + "integrity": "sha1-Cr6CUnVyDgozmXiupfCwOxQMFYQ=", + "dev": true, + "requires": { + "colorette": "^1.2.2", + "mem": "^8.1.1", + "memfs": "^3.2.2", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", + "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npmmirror.com/webpack-dev-server/download/webpack-dev-server-3.11.2.tgz", + "integrity": "sha1-aV687Xakkp8NXef9c/r+GF/jNwg=", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmmirror.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1637522259668&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", + "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz?cache=0&sync_timestamp=1617747502795&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fanymatch%2Fdownload%2Fanymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/normalize-path/download/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.nlark.com/binary-extensions/download/binary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmmirror.com/chokidar/download/chokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.nlark.com/fill-range/download/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmmirror.com/fsevents/download/fsevents-1.2.13.tgz", + "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-3.1.0.tgz?cache=0&sync_timestamp=1632953810778&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob-parent%2Fdownload%2Fglob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.nlark.com/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmmirror.com/mime/download/mime-2.6.0.tgz", + "integrity": "sha1-oqaCqVzU0MsdYlfij4PafjWAA2c=", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.nlark.com/readdirp/download/readdirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1637075888461&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463540350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/supports-color/download/supports-color-6.1.0.tgz", + "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.nlark.com/to-regex-range/download/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz?cache=0&sync_timestamp=1637165508298&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.3.tgz", + "integrity": "sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU=", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz?cache=0&sync_timestamp=1615477439589&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-log%2Fdownload%2Fwebpack-log-2.0.0.tgz", + "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.nlark.com/ansi-colors/download/ansi-colors-3.2.4.tgz", + "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=", + "dev": true + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.nlark.com/webpack-merge/download/webpack-merge-5.8.0.tgz", + "integrity": "sha1-Kznb8ir4d3atdEw5AiNzHTCmj2E=", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmmirror.com/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1636982731420&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz", + "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", + "dev": true + } + } + }, + "webpack-subresource-integrity": { + "version": "1.5.2", + "resolved": "https://registry.npmmirror.com/webpack-subresource-integrity/download/webpack-subresource-integrity-1.5.2.tgz", + "integrity": "sha1-5AtleNMHLi0kEEl1JJxSxm6adD4=", + "dev": true, + "requires": { + "webpack-sources": "^1.3.0" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz", + "integrity": "sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz", + "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/whatwg-url/download/whatwg-url-5.0.0.tgz?cache=0&sync_timestamp=1634673646149&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fwhatwg-url%2Fdownload%2Fwhatwg-url-5.0.0.tgz", + "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmmirror.com/wide-align/download/wide-align-1.1.5.tgz", + "integrity": "sha1-3x1MIGhUNp7PPJpImPGyP72dFdM=", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/wildcard/download/wildcard-2.0.0.tgz", + "integrity": "sha1-p30g5SAMb6qsl55LOq3Hs91/j+w=", + "dev": true + }, + "wmf": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/wmf/download/wmf-1.0.2.tgz", + "integrity": "sha1-fRnWIQcaCMK9xrfmiKnENSmMwto=" + }, + "wolfy87-eventemitter": { + "version": "5.2.9", + "resolved": "https://registry.nlark.com/wolfy87-eventemitter/download/wolfy87-eventemitter-5.2.9.tgz", + "integrity": "sha1-6Hn3cLMPu2USqK+7Mww4hZEJnCo=" + }, + "word": { + "version": "0.3.0", + "resolved": "https://registry.nlark.com/word/download/word-0.3.0.tgz", + "integrity": "sha1-hUIVfk+OhJ9KNjooiZLUdhLbmWE=" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz?cache=0&sync_timestamp=1631557327268&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.nlark.com/write/download/write-1.0.3.tgz", + "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + }, + "dependencies": { + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.nlark.com/write-file-atomic/download/write-file-atomic-3.0.3.tgz?cache=0&sync_timestamp=1618847057132&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrite-file-atomic%2Fdownload%2Fwrite-file-atomic-3.0.3.tgz", + "integrity": "sha1-Vr1cWlxwSBzRnFcb05q5ZaXeVug=", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmmirror.com/ws/download/ws-6.2.2.tgz", + "integrity": "sha1-3Vzb1XqZeZFgl2UtePHMX66gwy4=", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "x-is-string": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/x-is-string/download/x-is-string-0.1.0.tgz", + "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=", + "dev": true + }, + "xlsx": { + "version": "0.17.4", + "resolved": "https://registry.npmmirror.com/xlsx/download/xlsx-0.17.4.tgz", + "integrity": "sha512-9aKt8g9ZLP0CUdBX8L5xnoMDFwSiLI997eQnDThCaqQMYB9AEBIRzblSSNN/ICMGLYIHUO3VKaItcedZJ3ijIg==", + "requires": { + "adler-32": "~1.2.0", + "cfb": "^1.1.4", + "codepage": "~1.15.0", + "crc-32": "~1.2.0", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + } + }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npm.taobao.org/xml2js/download/xml2js-0.4.23.tgz", + "integrity": "sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY=", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.nlark.com/xmlbuilder/download/xmlbuilder-11.0.1.tgz", + "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.3.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.3.tgz", + "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmmirror.com/yaml/download/yaml-1.10.2.tgz?cache=0&sync_timestamp=1636797216143&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyaml%2Fdownload%2Fyaml-1.10.2.tgz", + "integrity": "sha1-IwHF/78StGfejaIzOkWeKeeSDks=", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmmirror.com/yargs/download/yargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1632751333727&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1633618766404&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1629895724478&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz?cache=0&sync_timestamp=1632421013520&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1632420562057&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmmirror.com/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1637031053426&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.nlark.com/yn/download/yn-3.1.1.tgz", + "integrity": "sha1-HodAGgnXZ8HV6rJqbkwYUYLS61A=", + "dev": true + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz", + "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", + "dev": true + }, + "zone.js": { + "version": "0.11.4", + "resolved": "https://registry.npmmirror.com/zone.js/download/zone.js-0.11.4.tgz", + "integrity": "sha1-D3Dc9quoD2mK9XNcuyV5aTlugCU=", + "requires": { + "tslib": "^2.0.0" + } + }, + "zrender": { + "version": "5.2.1", + "resolved": "https://registry.nlark.com/zrender/download/zrender-5.2.1.tgz", + "integrity": "sha1-X0u9qRW6bUErCxncJDG+qtBUF7s=", + "requires": { + "tslib": "2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.3.0", + "resolved": "https://registry.nlark.com/tslib/download/tslib-2.3.0.tgz?cache=0&sync_timestamp=1628722556410&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-2.3.0.tgz", + "integrity": "sha1-gDuM2rPhK6WBpMpByIObuw2ssJ4=" + } + } + }, + "zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npm.taobao.org/zwitch/download/zwitch-1.0.5.tgz?cache=0&sync_timestamp=1617357623494&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fzwitch%2Fdownload%2Fzwitch-1.0.5.tgz", + "integrity": "sha1-0R1zgf/tFrdC9q97PyI9XNn+mSA=", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..9f030bab --- /dev/null +++ b/package.json @@ -0,0 +1,135 @@ +{ + "name": "ng-alain-pro", + "version": "0.0.0", + "description": "Ng-alain business theme, ng-zorro-antd admin panel front-end framework", + "author": "cipchk ", + "repository": { + "type": "git", + "url": "git+https://github.com/ng-alain/ng-alain.git" + }, + "homepage": "https://e.ng-alain.com/theme/pro", + "scripts": { + "ng-high-memory": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng", + "ng": "ng", + "start": "ng s -o", + "hmr": "ng s -o --hmr", + "build": "npm run ng-high-memory build", + "analyze": "npm run ng-high-memory build -- --source-map", + "analyze:view": "source-map-explorer dist/**/*.js", + "lint": "npm run lint:ts && npm run lint:style", + "lint:ts": "ng lint --fix", + "lint:style": "stylelint \"src/**/*.less\" --syntax less --fix", + "e2e": "ng e2e", + "test": "ng test --watch", + "test-coverage": "ng test --code-coverage --watch=false", + "color-less": "ng-alain-plugin-theme -t=colorLess", + "theme": "ng-alain-plugin-theme -t=themeCss", + "icon": "ng g ng-alain:plugin icon", + "prepare": "husky install" + }, + "dependencies": { + "@agm/core": "^1.1.0", + "@angular/animations": "~12.2.0", + "@angular/common": "~12.2.0", + "@angular/compiler": "~12.2.0", + "@angular/core": "~12.2.0", + "@angular/forms": "~12.2.0", + "@angular/platform-browser": "~12.2.0", + "@angular/platform-browser-dynamic": "~12.2.0", + "@angular/router": "~12.2.0", + "@delon/abc": "^12.3.0", + "@delon/acl": "^12.3.0", + "@delon/auth": "^12.3.0", + "@delon/cache": "^12.3.0", + "@delon/chart": "^12.3.0", + "@delon/form": "^12.3.0", + "@delon/mock": "^12.3.0", + "@delon/theme": "^12.3.0", + "@delon/util": "^12.3.0", + "@fullcalendar/core": "^5.9.0", + "@fullcalendar/daygrid": "^5.9.0", + "@fullcalendar/interaction": "^5.9.0", + "@fullcalendar/list": "^5.9.0", + "@fullcalendar/timegrid": "^5.9.0", + "@swimlane/ngx-charts": "^18.0.1", + "ajv": "^8.6.2", + "angular-baidu-maps": "^12.0.0", + "file-saver": "^2.0.5", + "js-base64": "^3.6.1", + "masonry-layout": "^4.2.2", + "ng-gallery": "^5.0.0", + "ng-zorro-antd": "^12.0.1", + "ngx-tinymce": "^12.0.0", + "ngx-trend": "^7.0.0", + "perfect-scrollbar": "^1.5.2", + "quill": "^1.3.7", + "quill-image-resize-module": "^3.0.0", + "rxjs": "~6.6.0", + "screenfull": "^5.1.0", + "tslib": "^2.3.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~12.2.0", + "@angular/cli": "~12.2.0", + "@angular/compiler-cli": "~12.2.0", + "@types/jasmine": "~3.8.0", + "@types/node": "^12.11.1", + "jasmine-core": "~3.8.0", + "karma": "~6.3.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.0.3", + "karma-jasmine": "~4.0.0", + "karma-jasmine-html-reporter": "~1.7.0", + "typescript": "~4.3.5", + "@angular-eslint/builder": "~12.3.1", + "@angular-eslint/eslint-plugin": "~12.3.1", + "@angular-eslint/eslint-plugin-template": "~12.3.1", + "@angular-eslint/schematics": "~12.3.1", + "@angular-eslint/template-parser": "~12.3.1", + "@typescript-eslint/eslint-plugin": "~4.29.2", + "@typescript-eslint/parser": "~4.29.2", + "eslint": "^7.32.0", + "eslint-config-prettier": "~8.3.0", + "eslint-plugin-import": "~2.24.1", + "eslint-plugin-jsdoc": "~36.0.7", + "eslint-plugin-prefer-arrow": "~1.2.3", + "eslint-plugin-prettier": "~3.4.1", + "@angular/language-service": "~12.2.0", + "source-map-explorer": "^2.5.2", + "prettier": "^2.2.1", + "stylelint": "^13.13.1", + "stylelint-config-prettier": "^8.0.2", + "stylelint-config-rational-order": "^0.1.2", + "stylelint-config-standard": "^22.0.0", + "stylelint-declaration-block-no-ignored-properties": "^2.4.0", + "stylelint-order": "^4.1.0", + "@delon/testing": "^12.3.0", + "ng-alain": "^12.3.0", + "ng-alain-plugin-theme": "^12.0.0", + "ng-alain-sts": "^0.0.1", + "@types/jasminewd2": "~2.0.3", + "jasmine-spec-reporter": "~5.0.0", + "karma-coverage-istanbul-reporter": "~3.0.2", + "protractor": "~7.0.0", + "ts-node": "~8.3.0", + "node-fetch": "^2.6.1", + "husky": "^6.0.0", + "lint-staged": "^11.1.2", + "@types/file-saver": "^2.0.3", + "@types/js-base64": "^3.0.0" + }, + "lint-staged": { + "(src)/**/*.{html,ts}": [ + "eslint --fix" + ], + "(src)/**/*.less": [ + "stylelint --syntax less --fix" + ] + }, + "private": true, + "theme": { + "name": "pro", + "version": "12.0.0" + } +} diff --git a/proxy.conf.js b/proxy.conf.js new file mode 100644 index 00000000..50258c5a --- /dev/null +++ b/proxy.conf.js @@ -0,0 +1,17 @@ +/** + * For more configuration, please refer to https://angular.io/guide/build#proxying-to-a-backend-server + * + * 更多配置描述请参考 https://angular.cn/guide/build#proxying-to-a-backend-server + * + * Note: The proxy is only valid for real requests, Mock does not actually generate requests, so the priority of Mock will be higher than the proxy + */ +module.exports = { + /** + * The following means that all requests are directed to the backend `https://localhost:9000/` + */ + // '/': { + // target: 'https://localhost:9000/', + // secure: false, // Ignore invalid SSL certificates + // changeOrigin: true + // } +}; diff --git a/src/app/app.component.ts b/src/app/app.component.ts new file mode 100644 index 00000000..e91655e8 --- /dev/null +++ b/src/app/app.component.ts @@ -0,0 +1,46 @@ +import { Component, ElementRef, OnInit, Renderer2 } from '@angular/core'; +import { NavigationEnd, NavigationError, RouteConfigLoadStart, Router } from '@angular/router'; +import { TitleService, VERSION as VERSION_ALAIN } from '@delon/theme'; +import { environment } from '@env/environment'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { VERSION as VERSION_ZORRO } from 'ng-zorro-antd/version'; + +@Component({ + selector: 'app-root', + template: ` ` +}) +export class AppComponent implements OnInit { + constructor( + el: ElementRef, + renderer: Renderer2, + private router: Router, + private titleSrv: TitleService, + private modalSrv: NzModalService + ) { + renderer.setAttribute(el.nativeElement, 'ng-alain-version', VERSION_ALAIN.full); + renderer.setAttribute(el.nativeElement, 'ng-zorro-version', VERSION_ZORRO.full); + } + + ngOnInit(): void { + let configLoad = false; + this.router.events.subscribe(ev => { + if (ev instanceof RouteConfigLoadStart) { + configLoad = true; + } + if (configLoad && ev instanceof NavigationError) { + this.modalSrv.confirm({ + nzTitle: `提醒`, + nzContent: environment.production ? `应用可能已发布新版本,请点击刷新才能生效。` : `无法加载路由:${ev.url}`, + nzCancelDisabled: false, + nzOkText: '刷新', + nzCancelText: '忽略', + nzOnOk: () => location.reload() + }); + } + if (ev instanceof NavigationEnd) { + this.titleSrv.setTitle(); + this.modalSrv.closeAll(); + } + }); + } +} diff --git a/src/app/app.module.ts b/src/app/app.module.ts new file mode 100644 index 00000000..4fa434d8 --- /dev/null +++ b/src/app/app.module.ts @@ -0,0 +1,72 @@ +/* eslint-disable import/order */ +/* eslint-disable import/no-duplicates */ +import { HttpClientModule } from '@angular/common/http'; +import { default as ngLang } from '@angular/common/locales/zh'; +import { APP_INITIALIZER, LOCALE_ID, NgModule, Type } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { SimpleInterceptor } from '@delon/auth'; +import { NzNotificationModule } from 'ng-zorro-antd/notification'; + +// #region global third module + +import { BidiModule } from '@angular/cdk/bidi'; +const GLOBAL_THIRD_MODULES: Array> = [BidiModule]; + +// #endregion + +// #region Http Interceptors +import { HTTP_INTERCEPTORS } from '@angular/common/http'; + +import { DefaultInterceptor } from '@core'; + +const INTERCEPTOR_PROVIDES = [ + { provide: HTTP_INTERCEPTORS, useClass: SimpleInterceptor, multi: true }, + { provide: HTTP_INTERCEPTORS, useClass: DefaultInterceptor, multi: true } +]; +// #endregion + +// #region Startup Service +import { StartupService } from '@core'; +export function StartupServiceFactory(startupService: StartupService): () => Promise { + return () => startupService.load(); +} +const APPINIT_PROVIDES = [ + StartupService, + { + provide: APP_INITIALIZER, + useFactory: StartupServiceFactory, + deps: [StartupService], + multi: true + } +]; +// #endregion + +import { AppComponent } from './app.component'; +import { CoreModule } from './core/core.module'; +import { GlobalConfigModule } from './global-config.module'; +import { LayoutModule } from './layout/layout.module'; +import { RoutesModule } from './routes/routes.module'; +import { SharedModule } from './shared/shared.module'; +import { STWidgetModule } from './shared/widget/st-widget.module'; +import { Observable } from 'rxjs'; + +@NgModule({ + declarations: [AppComponent], + imports: [ + BrowserModule, + BrowserAnimationsModule, + HttpClientModule, + GlobalConfigModule.forRoot(), + CoreModule, + SharedModule, + LayoutModule, + RoutesModule, + STWidgetModule, + NzNotificationModule, + ...GLOBAL_THIRD_MODULES + ], + providers: [...INTERCEPTOR_PROVIDES, ...APPINIT_PROVIDES], + bootstrap: [AppComponent] +}) +export class AppModule {} diff --git a/src/app/core/README.md b/src/app/core/README.md new file mode 100644 index 00000000..2d98e129 --- /dev/null +++ b/src/app/core/README.md @@ -0,0 +1,5 @@ +### CoreModule + +**应** 仅只留 `providers` 属性。 + +**作用:** 一些通用服务,例如:用户消息、HTTP数据访问。 diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts new file mode 100644 index 00000000..58522fc1 --- /dev/null +++ b/src/app/core/core.module.ts @@ -0,0 +1,12 @@ +import { NgModule, Optional, SkipSelf } from '@angular/core'; + +import { throwIfAlreadyLoaded } from './module-import-guard'; + +@NgModule({ + providers: [] +}) +export class CoreModule { + constructor(@Optional() @SkipSelf() parentModule: CoreModule) { + throwIfAlreadyLoaded(parentModule, 'CoreModule'); + } +} diff --git a/src/app/core/core.service.ts b/src/app/core/core.service.ts new file mode 100644 index 00000000..ab9b87dc --- /dev/null +++ b/src/app/core/core.service.ts @@ -0,0 +1,90 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-05-27 14:06:18 + * @Description: 全局核心服务 + */ +import { Injectable, Injector } from '@angular/core'; +import { Router } from '@angular/router'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { CacheService } from '@delon/cache'; +import { SettingsService } from '@delon/theme'; +import { EnvironmentService } from '@env/environment.service'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Injectable({ + providedIn: 'root', +}) +export class CoreService { + // 获取当前登录用户信息 + public $api_get_current_user_info = `/scm/cuc/cuc/user/getUserDetail`; + + // 获取当前用户所拥有的菜单 + public $api_get_current_user_menus = `/scm/cuc/cuc/functionInfo/getUserHaveFunctionsList`; + + constructor(private injector: Injector) {} + // 注入路由 + public get router(): Router { + return this.injector.get(Router); + } + + // 注入全局设置服务 + public get settingSrv(): SettingsService { + return this.injector.get(SettingsService); + } + + // 注入缓存服务 + public get cacheSrv(): CacheService { + return this.injector.get(CacheService); + } + + // 注入令牌服务 + public get tokenSrv(): ITokenService { + return this.injector.get(DA_SERVICE_TOKEN); + } + + // 注入消息服务 + public get msgSrv(): NzMessageService { + return this.injector.get(NzMessageService); + } + + // 注入环境服务 + public get envSrv(): EnvironmentService { + return this.injector.get(EnvironmentService); + } + + // 注入路由复用服务 + private get reuseTabService(): ReuseTabService { + return this.injector.get(ReuseTabService); + } + + // 登录状态 + public get loginStatus(): boolean { + try { + return !!this.tokenSrv.get()?.token; + } catch (error) { + return false; + } + } + + // 权限认证凭据(TOKEN) + public get token(): string { + return this.tokenSrv.get()?.token || ''; + } + + /** + * 登出系统 + * @param showMsg 是否显示登录过期弹窗 + */ + logout(showMsg: boolean = false): void { + if (showMsg) { + this.msgSrv.warning('未登录或登录信息已过期,请重新登录!'); + } + this.settingSrv.setUser({}); + this.tokenSrv.clear(); + this.cacheSrv.clear(); + this.router.navigate([this.tokenSrv.login_url]); + } +} diff --git a/src/app/core/index.ts b/src/app/core/index.ts new file mode 100644 index 00000000..c7024606 --- /dev/null +++ b/src/app/core/index.ts @@ -0,0 +1,6 @@ +export * from './module-import-guard'; +export * from './net/default.interceptor'; + +// Services +export * from './core.service'; +export * from './startup/startup.service'; diff --git a/src/app/core/module-import-guard.ts b/src/app/core/module-import-guard.ts new file mode 100644 index 00000000..ad3d795a --- /dev/null +++ b/src/app/core/module-import-guard.ts @@ -0,0 +1,6 @@ +// https://angular.io/guide/styleguide#style-04-12 +export function throwIfAlreadyLoaded(parentModule: any, moduleName: string): void { + if (parentModule) { + throw new Error(`${moduleName} has already been loaded. Import Core modules in the AppModule only.`); + } +} diff --git a/src/app/core/net/default.interceptor.ts b/src/app/core/net/default.interceptor.ts new file mode 100644 index 00000000..8f5892aa --- /dev/null +++ b/src/app/core/net/default.interceptor.ts @@ -0,0 +1,261 @@ +import { + HttpErrorResponse, + HttpEvent, + HttpHandler, + HttpHeaders, + HttpInterceptor, + HttpRequest, + HttpResponseBase +} from '@angular/common/http'; +import { Injectable, Injector } from '@angular/core'; +import { Router } from '@angular/router'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { _HttpClient } from '@delon/theme'; +import { environment } from '@env/environment'; +import { NzNotificationService } from 'ng-zorro-antd/notification'; +import { BehaviorSubject, Observable, of, throwError } from 'rxjs'; +import { catchError, filter, mergeMap, switchMap, take } from 'rxjs/operators'; + +const CODEMESSAGE: { [key: number]: string } = { + 200: '服务器成功返回请求的数据。', + 201: '新建或修改数据成功。', + 202: '一个请求已经进入后台排队(异步任务)。', + 204: '删除数据成功。', + 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', + 401: '用户没有权限(令牌、用户名、密码错误)。', + 403: '用户得到授权,但是访问是被禁止的。', + 404: '发出的请求针对的是不存在的记录,服务器没有进行操作。', + 406: '请求的格式不可得。', + 410: '请求的资源被永久删除,且不会再得到的。', + 422: '当创建一个对象时,发生一个验证错误。', + 500: '服务器发生错误,请检查服务器。', + 502: '网关错误。', + 503: '服务不可用,服务器暂时过载或维护。', + 504: '网关超时。' +}; + +/** + * 默认HTTP拦截器,其注册细节见 `app.module.ts` + */ +@Injectable() +export class DefaultInterceptor implements HttpInterceptor { + private refreshTokenEnabled = environment.api.refreshTokenEnabled; + private refreshTokenType: 're-request' | 'auth-refresh' = environment.api.refreshTokenType; + private refreshToking = false; + private refreshToken$: BehaviorSubject = new BehaviorSubject(null); + + constructor(private injector: Injector) { + if (this.refreshTokenType === 'auth-refresh') { + this.buildAuthRefresh(); + } + } + + private get notification(): NzNotificationService { + return this.injector.get(NzNotificationService); + } + + private get tokenSrv(): ITokenService { + return this.injector.get(DA_SERVICE_TOKEN); + } + + private get http(): _HttpClient { + return this.injector.get(_HttpClient); + } + + private goTo(url: string): void { + setTimeout(() => this.injector.get(Router).navigateByUrl(url)); + } + + private checkStatus(ev: HttpResponseBase): void { + if ((ev.status >= 200 && ev.status < 300) || ev.status === 401) { + return; + } + + const errortext = CODEMESSAGE[ev.status] || ev.statusText; + this.notification.error(`请求错误 ${ev.status}: ${ev.url}`, errortext); + } + + /** + * 刷新 Token 请求 + */ + private refreshTokenRequest(): Observable { + const model = this.tokenSrv.get(); + return this.http.post(`/api/auth/refresh`, null, null, { headers: { refresh_token: model?.refresh_token || '' } }); + } + + // #region 刷新Token方式一:使用 401 重新刷新 Token + + private tryRefreshToken(ev: HttpResponseBase, req: HttpRequest, next: HttpHandler): Observable { + // 1、若请求为刷新Token请求,表示来自刷新Token可以直接跳转登录页 + if ([`/api/auth/refresh`].some(url => req.url.includes(url))) { + this.toLogin(); + return throwError(ev); + } + // 2、如果 `refreshToking` 为 `true` 表示已经在请求刷新 Token 中,后续所有请求转入等待状态,直至结果返回后再重新发起请求 + if (this.refreshToking) { + return this.refreshToken$.pipe( + filter(v => !!v), + take(1), + switchMap(() => next.handle(this.reAttachToken(req))) + ); + } + // 3、尝试调用刷新 Token + this.refreshToking = true; + this.refreshToken$.next(null); + + return this.refreshTokenRequest().pipe( + switchMap(res => { + // 通知后续请求继续执行 + this.refreshToking = false; + this.refreshToken$.next(res); + // 重新保存新 token + this.tokenSrv.set(res); + // 重新发起请求 + return next.handle(this.reAttachToken(req)); + }), + catchError(err => { + this.refreshToking = false; + this.toLogin(); + return throwError(err); + }) + ); + } + + /** + * 重新附加新 Token 信息 + * + * > 由于已经发起的请求,不会再走一遍 `@delon/auth` 因此需要结合业务情况重新附加新的 Token + */ + private reAttachToken(req: HttpRequest): HttpRequest { + // 以下示例是以 NG-ALAIN 默认使用 `SimpleInterceptor` + const token = this.tokenSrv.get()?.token; + return req.clone({ + setHeaders: { + token: `Bearer ${token}` + } + }); + } + + // #endregion + + // #region 刷新Token方式二:使用 `@delon/auth` 的 `refresh` 接口 + + private buildAuthRefresh(): void { + if (!this.refreshTokenEnabled) { + return; + } + this.tokenSrv.refresh + .pipe( + filter(() => !this.refreshToking), + switchMap(res => { + console.log(res); + this.refreshToking = true; + return this.refreshTokenRequest(); + }) + ) + .subscribe( + res => { + // TODO: Mock expired value + res.expired = +new Date() + 1000 * 60 * 5; + this.refreshToking = false; + this.tokenSrv.set(res); + }, + () => this.toLogin() + ); + } + + // #endregion + + private toLogin(): void { + this.notification.error(`未登录或登录已过期,请重新登录。`, ``); + this.goTo(this.tokenSrv.login_url!); + } + + private handleData(ev: HttpResponseBase, req: HttpRequest, next: HttpHandler): Observable { + this.checkStatus(ev); + // 业务处理:一些通用操作 + switch (ev.status) { + case 200: + // 业务层级错误处理,以下是假定restful有一套统一输出格式(指不管成功与否都有相应的数据格式)情况下进行处理 + // 例如响应内容: + // 错误内容:{ status: 1, msg: '非法参数' } + // 正确内容:{ status: 0, response: { } } + // 则以下代码片断可直接适用 + // if (ev instanceof HttpResponse) { + // const body = ev.body; + // if (body && body.status !== 0) { + // this.injector.get(NzMessageService).error(body.msg); + // // 注意:这里如果继续抛出错误会被行254的 catchError 二次拦截,导致外部实现的 Pipe、subscribe 操作被中断,例如:this.http.get('/').subscribe() 不会触发 + // // 如果你希望外部实现,需要手动移除行254 + // return throwError({}); + // } else { + // // 忽略 Blob 文件体 + // if (ev.body instanceof Blob) { + // return of(ev); + // } + // // 重新修改 `body` 内容为 `response` 内容,对于绝大多数场景已经无须再关心业务状态码 + // return of(new HttpResponse(Object.assign(ev, { body: body.response }))); + // // 或者依然保持完整的格式 + // return of(ev); + // } + // } + break; + case 401: + if (this.refreshTokenEnabled && this.refreshTokenType === 're-request') { + return this.tryRefreshToken(ev, req, next); + } + this.toLogin(); + break; + case 403: + case 404: + case 500: + this.goTo(`/exception/${ev.status}`); + break; + default: + if (ev instanceof HttpErrorResponse) { + console.warn( + '未可知错误,大部分是由于后端不支持跨域CORS或无效配置引起,请参考 https://ng-alain.com/docs/server 解决跨域问题', + ev + ); + } + break; + } + if (ev instanceof HttpErrorResponse) { + return throwError(ev); + } else { + return of(ev); + } + } + + private getAdditionalHeaders(headers?: HttpHeaders): { [name: string]: string } { + const res: { [name: string]: string } = {}; + // const lang = this.injector.get(ALAIN_I18N_TOKEN).currentLang; + // if (!headers?.has('Accept-Language') && lang) { + // res['Accept-Language'] = lang; + // } + + return res; + } + + intercept(req: HttpRequest, next: HttpHandler): Observable> { + // 统一加上服务端前缀 + let url = req.url; + if (!url.startsWith('https://') && !url.startsWith('http://')) { + const { baseUrl } = environment.api; + url = baseUrl + (baseUrl.endsWith('/') && url.startsWith('/') ? url.substring(1) : url); + } + + const newReq = req.clone({ url, setHeaders: this.getAdditionalHeaders(req.headers) }); + return next.handle(newReq).pipe( + mergeMap(ev => { + // 允许统一对请求错误处理 + if (ev instanceof HttpResponseBase) { + return this.handleData(ev, newReq, next); + } + // 若一切都正常,则后续操作 + return of(ev); + }), + catchError((err: HttpErrorResponse) => this.handleData(err, newReq, next)) + ); + } +} diff --git a/src/app/core/startup/startup.service.ts b/src/app/core/startup/startup.service.ts new file mode 100644 index 00000000..b331af95 --- /dev/null +++ b/src/app/core/startup/startup.service.ts @@ -0,0 +1,158 @@ +import { HttpClient } from '@angular/common/http'; +import { Inject, Injectable } from '@angular/core'; +import { ACLService } from '@delon/acl'; +import { MenuService, SettingsService, TitleService, _HttpClient } from '@delon/theme'; +import { NzSafeAny } from 'ng-zorro-antd/core/types'; +import { NzIconService } from 'ng-zorro-antd/icon'; +import { Observable, zip } from 'rxjs'; +import { catchError, map } from 'rxjs/operators'; + +import { ICONS } from '../../../style-icons'; +import { ICONS_AUTO } from '../../../style-icons-auto'; +import { CoreService } from '../core.service'; + +/** + * Used for application startup + * Generally used to get the basic data of the application, like: Menu Data, User Data, etc. + */ +@Injectable() +export class StartupService { + constructor( + iconSrv: NzIconService, + private menuService: MenuService, + private settingService: SettingsService, + private aclService: ACLService, + private titleService: TitleService, + private httpClient: _HttpClient, + private coreSrv: CoreService + ) { + iconSrv.addIcon(...ICONS_AUTO, ...ICONS); + } + + // TODO: 退出登录时需要清理用户信息 + + load(): Promise { + return new Promise(resolve => { + let data; + if (this.coreSrv.loginStatus) { + // 本地菜单 + // data = this.loadMockData(); + // 远程菜单 + data = this.loadRemoteData(); + } else { + data = this.loadMockData(); + } + + data + .pipe( + catchError(res => { + console.warn(`StartupService.load: Network request failed`, res); + resolve(); + return []; + }) + ) + .subscribe( + ([appData, userData, menuData]) => this.initSystem(appData, userData, menuData), + err => { + console.log(err); + }, + () => resolve() + ); + }); + } + + /** + * 系统初始化 + * + * @param langData 翻译数据 + * @param appData App应用数据 + * @param userData 用户数据 + * @param menuData 菜单数据 + */ + private initSystem(appData: NzSafeAny, userData: NzSafeAny, menuData: NzSafeAny): void { + // 应用信息:包括站点名、描述、年份 + this.settingService.setApp(appData); + // 用户信息:包括姓名、头像、邮箱地址 + this.settingService.setUser(userData); + // ACL:设置权限为全量 + this.aclService.setFull(true); + // 初始化菜单 + this.menuService.add(menuData); + // 设置页面标题的后缀 + this.titleService.default = ''; + this.titleService.suffix = appData.name; + } + + /** + * @description 加载本地模拟数据 + * @returns 程序初始化数据 + */ + loadMockData(): Observable<[object, object, object]> { + // 登录时调用远程数据, 非登录状态下调用Mock数据 + + // App数据 + const appData = this.httpClient.get(`assets/mocks/app-data.json`).pipe(map((res: any) => res.app)); + + // 用户数据 + const userData = this.coreSrv.loginStatus + ? this.httpClient.post(this.coreSrv.$api_get_current_user_info, {}).pipe(map((res: any) => res.data)) + : this.httpClient.get('assets/mocks/user-data.json').pipe(map((res: any) => res.user)); + + // 菜单数据 + const menuData = this.httpClient.get('assets/mocks/menu-data.json').pipe(map((res: any) => res.menu)); + + return zip(appData, userData, menuData); + } + + /** + * @description 加载远程数据 + * @returns 程序初始化数据 + */ + loadRemoteData(): Observable<[object, object, object]> { + // 登录时调用远程数据, 非登录状态下调用Mock数据 + + // App数据 + const appData = this.httpClient.get(`assets/mocks/app-data.json`).pipe(map((res: any) => res.app)); + + // 用户数据 + const userData = this.coreSrv.loginStatus + ? this.httpClient.post(this.coreSrv.$api_get_current_user_info, {}).pipe(map((res: any) => res.data)) + : this.httpClient.get('assets/mocks/user-data.json').pipe(map((res: any) => res.user)); + + // 菜单数据 + const menuData = this.httpClient + .post(this.coreSrv.$api_get_current_user_menus, { + appId: this.coreSrv.envSrv.getEnvironment().appId + }) + .pipe(map((res: any) => res.data)); + + return zip(appData, userData, menuData); + } + + // load(): Observable { + // const defaultLang = this.i18n.defaultLang; + // return zip(this.i18n.loadLangData(defaultLang), this.httpClient.get('assets/tmp/app-data.json')).pipe( + // // 接收其他拦截器后产生的异常消息 + // catchError(res => { + // console.warn(`StartupService.load: Network request failed`, res); + // return []; + // }), + // map(([langData, appData]: [Record, NzSafeAny]) => { + // // setting language data + // this.i18n.use(defaultLang, langData); + + // // 应用信息:包括站点名、描述、年份 + // this.settingService.setApp(appData.app); + // // 用户信息:包括姓名、头像、邮箱地址 + // this.settingService.setUser(appData.user); + // // ACL:设置权限为全量 + // this.aclService.setFull(true); + // // 初始化菜单 + // this.menuService.add(appData.menu); + // // 设置页面标题的后缀 + // this.titleService.default = ''; + // this.titleService.suffix = appData.app.name; + // }) + // ); + // } +} diff --git a/src/app/global-config.module.ts b/src/app/global-config.module.ts new file mode 100644 index 00000000..a09fa770 --- /dev/null +++ b/src/app/global-config.module.ts @@ -0,0 +1,65 @@ +/* eslint-disable import/order */ +import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core'; +import { throwIfAlreadyLoaded } from '@core'; +import { ReuseTabMatchMode, ReuseTabService, ReuseTabStrategy } from '@delon/abc/reuse-tab'; +import { DelonACLModule } from '@delon/acl'; +import { AlainThemeModule } from '@delon/theme'; +import { AlainConfig, ALAIN_CONFIG } from '@delon/util'; +import { environment } from '@env/environment'; + +// Please refer to: https://ng-alain.com/docs/global-config +// #region NG-ALAIN Config + +const alainConfig: AlainConfig = { + st: { modal: { size: 'lg' } }, + pageHeader: { homeI18n: 'home', recursiveBreadcrumb: true }, + auth: { login_url: '/passport/login' } +}; + +const alainModules = [AlainThemeModule.forRoot(), DelonACLModule.forRoot()]; +const alainProvides = [{ provide: ALAIN_CONFIG, useValue: alainConfig }]; + +// #region reuse-tab + +import { RouteReuseStrategy } from '@angular/router'; +alainProvides.push({ + provide: RouteReuseStrategy, + useClass: ReuseTabStrategy, + deps: [ReuseTabService] +} as any); + +// #endregion + +// #endregion + +// Please refer to: https://ng.ant.design/docs/global-config/en#how-to-use +// #region NG-ZORRO Config + +import { NzConfig, NZ_CONFIG } from 'ng-zorro-antd/core/config'; + +const ngZorroConfig: NzConfig = {}; + +const zorroProvides = [{ provide: NZ_CONFIG, useValue: ngZorroConfig }]; + +// #endregion + +@NgModule({ + imports: [...alainModules, ...(environment.modules || [])] +}) +export class GlobalConfigModule { + constructor(@Optional() @SkipSelf() parentModule: GlobalConfigModule, reuseTabService: ReuseTabService) { + throwIfAlreadyLoaded(parentModule, 'GlobalConfigModule'); + // NOTICE: Only valid for menus with reuse property + // Pls refer to the E-Mail demo effect + reuseTabService.mode = ReuseTabMatchMode.MenuForce; + // Shouled be trigger init, you can ingore when used `reuse-tab` component in layout component + reuseTabService.init(); + } + + static forRoot(): ModuleWithProviders { + return { + ngModule: GlobalConfigModule, + providers: [...alainProvides, ...zorroProvides] + }; + } +} diff --git a/src/app/layout/layout.module.ts b/src/app/layout/layout.module.ts new file mode 100644 index 00000000..5c0eac3c --- /dev/null +++ b/src/app/layout/layout.module.ts @@ -0,0 +1,64 @@ +import { LayoutModule as CDKLayoutModule } from '@angular/cdk/layout'; +import { CommonModule } from '@angular/common'; +import { NgModule, Type } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { RouterModule } from '@angular/router'; +import { GlobalFooterModule } from '@delon/abc/global-footer'; +import { NoticeIconModule } from '@delon/abc/notice-icon'; +import { AlainThemeModule } from '@delon/theme'; +import { ThemeBtnModule } from '@delon/theme/theme-btn'; +import { ScrollbarModule } from '@shared'; +import { NzAlertModule } from 'ng-zorro-antd/alert'; +import { NzAutocompleteModule } from 'ng-zorro-antd/auto-complete'; +import { NzAvatarModule } from 'ng-zorro-antd/avatar'; +import { NzBadgeModule } from 'ng-zorro-antd/badge'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzDividerModule } from 'ng-zorro-antd/divider'; +import { NzDrawerModule } from 'ng-zorro-antd/drawer'; +import { NzDropDownModule } from 'ng-zorro-antd/dropdown'; +import { NzIconModule } from 'ng-zorro-antd/icon'; +import { NzLayoutModule } from 'ng-zorro-antd/layout'; +import { NzMessageModule } from 'ng-zorro-antd/message'; +import { NzSelectModule } from 'ng-zorro-antd/select'; +import { NzSpinModule } from 'ng-zorro-antd/spin'; +import { NzSwitchModule } from 'ng-zorro-antd/switch'; +import { NzTimelineModule } from 'ng-zorro-antd/timeline'; +import { NzToolTipModule } from 'ng-zorro-antd/tooltip'; + +import { LayoutPassportComponent } from './passport/passport.component'; +import { PRO_COMPONENTS } from './pro/index'; + +const COMPONENTS: Array> = [...PRO_COMPONENTS, LayoutPassportComponent]; + +@NgModule({ + imports: [ + CommonModule, + RouterModule, + FormsModule, + AlainThemeModule, + GlobalFooterModule, + CDKLayoutModule, + NzSpinModule, + NzDropDownModule, + NzIconModule, + NzDrawerModule, + NzAutocompleteModule, + NzAvatarModule, + NzSwitchModule, + NzToolTipModule, + NzSelectModule, + NzDividerModule, + NzAlertModule, + NzLayoutModule, + NzButtonModule, + NzBadgeModule, + NzTimelineModule, + NoticeIconModule, + ThemeBtnModule, + ScrollbarModule, + NzMessageModule + ], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class LayoutModule {} diff --git a/src/app/layout/passport/passport.component.html b/src/app/layout/passport/passport.component.html new file mode 100644 index 00000000..e9beaece --- /dev/null +++ b/src/app/layout/passport/passport.component.html @@ -0,0 +1,13 @@ +
+ +
+
+
+ + ng-alain pro +
+
武林中最有影响力的《葵花宝典》;欲练神功,挥刀自宫
+
+ +
+
\ No newline at end of file diff --git a/src/app/layout/passport/passport.component.less b/src/app/layout/passport/passport.component.less new file mode 100644 index 00000000..a17b975f --- /dev/null +++ b/src/app/layout/passport/passport.component.less @@ -0,0 +1,74 @@ +@import '~@delon/theme/index'; +:host { + ::ng-deep { + .container { + display: flex; + flex-direction: column; + min-height: 100%; + background: #f0f2f5; + } + .langs { + width: 100%; + height: 40px; + line-height: 44px; + text-align: right; + .ant-dropdown-trigger { + display: inline-block; + } + .anticon { + margin-top: 24px; + margin-right: 24px; + font-size: 14px; + vertical-align: top; + cursor: pointer; + } + } + .wrap { + flex: 1; + padding: 32px 0; + } + .ant-form-item { + margin-bottom: 24px; + } + + @media (min-width: @screen-md-min) { + .container { + background-image: url('https://gw.alipayobjects.com/zos/rmsportal/TVYTbAXWheQpRcWDaDMu.svg'); + background-repeat: no-repeat; + background-position: center 110px; + background-size: 100%; + } + .wrap { + padding: 32px 0 24px; + } + } + .top { + text-align: center; + } + .header { + height: 44px; + line-height: 44px; + a { + text-decoration: none; + } + } + .logo { + height: 44px; + margin-right: 16px; + } + .title { + position: relative; + color: @heading-color; + font-weight: 600; + font-size: 33px; + font-family: 'Myriad Pro', 'Helvetica Neue', Arial, Helvetica, sans-serif; + vertical-align: middle; + } + .desc { + margin-top: 12px; + margin-bottom: 40px; + color: @text-color-secondary; + font-size: @font-size-base; + } + } +} diff --git a/src/app/layout/passport/passport.component.ts b/src/app/layout/passport/passport.component.ts new file mode 100644 index 00000000..c48bb161 --- /dev/null +++ b/src/app/layout/passport/passport.component.ts @@ -0,0 +1,30 @@ +import { Component, Inject, OnInit } from '@angular/core'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; + +@Component({ + selector: 'layout-passport', + templateUrl: './passport.component.html', + styleUrls: ['./passport.component.less'] +}) +export class LayoutPassportComponent implements OnInit { + links = [ + { + title: '帮助', + href: '' + }, + { + title: '隐私', + href: '' + }, + { + title: '条款', + href: '' + } + ]; + + constructor(@Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {} + + ngOnInit(): void { + this.tokenService.clear(); + } +} diff --git a/src/app/layout/pro/components/footer/footer.component.html b/src/app/layout/pro/components/footer/footer.component.html new file mode 100644 index 00000000..59588807 --- /dev/null +++ b/src/app/layout/pro/components/footer/footer.component.html @@ -0,0 +1,16 @@ + + + Pro 首页 + + + + + + Alain Pro + + Copyright + + {{ year }} + 卡色 + 出品 + \ No newline at end of file diff --git a/src/app/layout/pro/components/footer/footer.component.ts b/src/app/layout/pro/components/footer/footer.component.ts new file mode 100644 index 00000000..0d23aebc --- /dev/null +++ b/src/app/layout/pro/components/footer/footer.component.ts @@ -0,0 +1,15 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { SettingsService } from '@delon/theme'; + +@Component({ + selector: 'layout-pro-footer', + templateUrl: './footer.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProFooterComponent { + get year(): number { + return this.setting.app.year; + } + + constructor(private setting: SettingsService) {} +} diff --git a/src/app/layout/pro/components/header/header.component.html b/src/app/layout/pro/components/header/header.component.html new file mode 100644 index 00000000..eee9c54f --- /dev/null +++ b/src/app/layout/pro/components/header/header.component.html @@ -0,0 +1,25 @@ +
+
+
+ +
+
+
+
+
+
+
+
+
+ + +
+
+
+ +
+
+
+
diff --git a/src/app/layout/pro/components/header/header.component.ts b/src/app/layout/pro/components/header/header.component.ts new file mode 100644 index 00000000..659f5ab5 --- /dev/null +++ b/src/app/layout/pro/components/header/header.component.ts @@ -0,0 +1,68 @@ +import { DOCUMENT } from '@angular/common'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Inject, OnDestroy, OnInit } from '@angular/core'; +import { RTL, RTLService } from '@delon/theme'; +import { combineLatest, fromEvent, Subject } from 'rxjs'; +import { distinctUntilChanged, takeUntil, tap, throttleTime } from 'rxjs/operators'; + +import { BrandService } from '../../pro.service'; + +@Component({ + selector: 'layout-pro-header', + templateUrl: './header.component.html', + host: { + '[class.ant-layout-header]': 'true', + '[class.alain-pro__header-fixed]': 'pro.fixedHeader', + '[class.alain-pro__header-hide]': 'hideHeader', + '[style.padding.px]': '0' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProHeaderComponent implements OnInit, OnDestroy { + private destroy$ = new Subject(); + hideHeader = false; + + @HostBinding('style.width') + get getHeadWidth(): string { + const { isMobile, fixedHeader, menu, collapsed, width, widthInCollapsed } = this.pro; + if (isMobile || !fixedHeader || menu === 'top') { + return '100%'; + } + return collapsed ? `calc(100% - ${widthInCollapsed}px)` : `calc(100% - ${width}px)`; + } + + get collapsedIcon(): string { + let type = this.pro.collapsed ? 'unfold' : 'fold'; + if (this.rtl.dir === RTL) { + type = this.pro.collapsed ? 'fold' : 'unfold'; + } + return `menu-${type}`; + } + + constructor(public pro: BrandService, @Inject(DOCUMENT) private doc: any, private cdr: ChangeDetectorRef, private rtl: RTLService) {} + + private handScroll(): void { + if (!this.pro.autoHideHeader) { + this.hideHeader = false; + return; + } + setTimeout(() => { + this.hideHeader = this.doc.body.scrollTop + this.doc.documentElement.scrollTop > this.pro.autoHideHeaderTop; + }); + } + + ngOnInit(): void { + combineLatest([ + this.pro.notify.pipe(tap(() => this.cdr.markForCheck())), + fromEvent(window, 'scroll', { passive: false }).pipe(throttleTime(50), distinctUntilChanged()) + ]) + .pipe(takeUntil(this.destroy$)) + .subscribe(() => this.handScroll()); + + this.rtl.change.pipe(takeUntil(this.destroy$)).subscribe(() => this.cdr.detectChanges()); + } + + ngOnDestroy(): void { + this.destroy$.next(); + this.destroy$.complete(); + } +} diff --git a/src/app/layout/pro/components/logo/logo.component.html b/src/app/layout/pro/components/logo/logo.component.html new file mode 100644 index 00000000..c6891a91 --- /dev/null +++ b/src/app/layout/pro/components/logo/logo.component.html @@ -0,0 +1,4 @@ + + {{ name }} +

{{ name }}

+
diff --git a/src/app/layout/pro/components/logo/logo.component.ts b/src/app/layout/pro/components/logo/logo.component.ts new file mode 100644 index 00000000..ac1366f2 --- /dev/null +++ b/src/app/layout/pro/components/logo/logo.component.ts @@ -0,0 +1,15 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { SettingsService } from '@delon/theme'; + +@Component({ + selector: 'layout-pro-logo', + templateUrl: './logo.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProLogoComponent { + get name(): string { + return this.setting.app.name!; + } + + constructor(private setting: SettingsService) {} +} diff --git a/src/app/layout/pro/components/menu/menu.component.html b/src/app/layout/pro/components/menu/menu.component.html new file mode 100644 index 00000000..2d85d439 --- /dev/null +++ b/src/app/layout/pro/components/menu/menu.component.html @@ -0,0 +1,101 @@ + + + + + + + + + + + {{ i.text }} +
+ {{ i.badge }} +
+
+ + {{ i.text }} + {{ i.text }} + +
    + +
  • + + + + + + +
  • +
  • + + + + {{ l1.text }} +
    + {{ l1.badge }} +
    +
    +
    +
      + +
    • + +
    • +
    • +
        + +
      • + +
      • +
        +
      +
    • +
      +
    +
  • +
    +
diff --git a/src/app/layout/pro/components/menu/menu.component.ts b/src/app/layout/pro/components/menu/menu.component.ts new file mode 100644 index 00000000..dd3d7467 --- /dev/null +++ b/src/app/layout/pro/components/menu/menu.component.ts @@ -0,0 +1,125 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { NavigationEnd, Router } from '@angular/router'; +import { MenuService } from '@delon/theme'; +import { InputBoolean } from '@delon/util'; +import { NzMenuModeType } from 'ng-zorro-antd/menu'; +import { Subject } from 'rxjs'; +import { filter, takeUntil } from 'rxjs/operators'; + +import { BrandService } from '../../pro.service'; +import { ProMenu } from '../../pro.types'; + +@Component({ + selector: '[layout-pro-menu]', + templateUrl: './menu.component.html', + host: { + '[class.alain-pro__menu]': 'true', + '[class.alain-pro__menu-only-icon]': 'pro.onlyIcon' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProMenuComponent implements OnInit, OnDestroy { + private unsubscribe$ = new Subject(); + menus?: ProMenu[]; + + @Input() @InputBoolean() disabledAcl = false; + @Input() mode: NzMenuModeType = 'inline'; + + constructor(private menuSrv: MenuService, private router: Router, public pro: BrandService, private cdr: ChangeDetectorRef) {} + + private cd(): void { + this.cdr.markForCheck(); + } + + private genMenus(data: ProMenu[]): void { + const res: ProMenu[] = []; + // ingores category menus + const ingoreCategores = data.reduce((prev, cur) => prev.concat(cur.children as ProMenu[]), [] as ProMenu[]); + this.menuSrv.visit(ingoreCategores, (item: ProMenu, parent: ProMenu | null) => { + if (!item._aclResult) { + if (this.disabledAcl) { + item.disabled = true; + } else { + item._hidden = true; + } + } + if (item._hidden === true) { + return; + } + if (parent === null) { + res.push(item); + } + }); + this.menus = res; + + this.openStatus(); + } + + private openStatus(): void { + const inFn = (list: ProMenu[]) => { + for (const i of list) { + i._open = false; + i._selected = false; + if (i.children!.length > 0) { + inFn(i.children!); + } + } + }; + inFn(this.menus!); + + let item = this.menuSrv.getHit(this.menus!, this.router.url, true); + if (!item) { + this.cd(); + return; + } + do { + item._selected = true; + if (!this.pro.isTopMenu && !this.pro.collapsed) { + item._open = true; + } + item = item._parent!; + } while (item); + this.cd(); + } + + openChange(item: ProMenu, statue: boolean): void { + const data = item._parent ? item._parent.children : this.menus; + if (data && data.length <= 1) { + return; + } + data!.forEach(i => (i._open = false)); + item._open = statue; + } + + closeCollapsed(): void { + const { pro } = this; + if (pro.isMobile) { + setTimeout(() => pro.setCollapsed(true), 25); + } + } + + ngOnInit(): void { + const { unsubscribe$, router, pro } = this; + this.menuSrv.change.pipe(takeUntil(unsubscribe$)).subscribe(res => this.genMenus(res)); + + router.events + .pipe( + takeUntil(unsubscribe$), + filter(e => e instanceof NavigationEnd) + ) + .subscribe(() => this.openStatus()); + + pro.notify + .pipe( + takeUntil(unsubscribe$), + filter(() => !!this.menus) + ) + .subscribe(() => this.cd()); + } + + ngOnDestroy(): void { + const { unsubscribe$ } = this; + unsubscribe$.next(); + unsubscribe$.complete(); + } +} diff --git a/src/app/layout/pro/components/notify/notify.component.html b/src/app/layout/pro/components/notify/notify.component.html new file mode 100644 index 00000000..a38da23a --- /dev/null +++ b/src/app/layout/pro/components/notify/notify.component.html @@ -0,0 +1,10 @@ + diff --git a/src/app/layout/pro/components/notify/notify.component.ts b/src/app/layout/pro/components/notify/notify.component.ts new file mode 100644 index 00000000..afa6b61b --- /dev/null +++ b/src/app/layout/pro/components/notify/notify.component.ts @@ -0,0 +1,183 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core'; +import { NoticeIconList, NoticeItem } from '@delon/abc/notice-icon'; +import formatDistanceToNow from 'date-fns/formatDistanceToNow'; +import parse from 'date-fns/parse'; +import { NzSafeAny } from 'ng-zorro-antd/core/types'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: 'layout-pro-notify', + templateUrl: './notify.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetNotifyComponent { + data: NoticeItem[] = [ + { + title: '通知', + list: [], + emptyText: '你已查看所有通知', + emptyImage: 'https://gw.alipayobjects.com/zos/rmsportal/wAhyIChODzsoKIOBHcBk.svg', + clearText: '清空通知' + }, + { + title: '消息', + list: [], + emptyText: '您已读完所有消息', + emptyImage: 'https://gw.alipayobjects.com/zos/rmsportal/sAuJeJzSKbUmHfBQRzmZ.svg', + clearText: '清空消息' + }, + { + title: '待办', + list: [], + emptyText: '你已完成所有待办', + emptyImage: 'https://gw.alipayobjects.com/zos/rmsportal/HsIsxMZiWKrNUavQUXqx.svg', + clearText: '清空待办' + } + ]; + count = 5; + loading = false; + + constructor(private msg: NzMessageService, private cdr: ChangeDetectorRef) {} + + updateNoticeData(notices: NoticeIconList[]): NoticeItem[] { + const data = this.data.slice(); + data.forEach(i => (i.list = [])); + + notices.forEach(item => { + const newItem = { ...item }; + if (typeof newItem.datetime === 'string') { + newItem.datetime = parse(newItem.datetime, 'yyyy-MM-dd', new Date()); + } + if (newItem.datetime) { + newItem.datetime = formatDistanceToNow(newItem.datetime as Date); + } + if (newItem.extra && newItem.status) { + newItem.color = ( + { + todo: undefined, + processing: 'blue', + urgent: 'red', + doing: 'gold' + } as NzSafeAny + )[newItem.status]; + } + data.find(w => w.title === newItem.type)?.list.push(newItem); + }); + return data; + } + + loadData(): void { + if (this.loading) { + return; + } + this.loading = true; + setTimeout(() => { + this.data = this.updateNoticeData([ + { + id: '000000001', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '你收到了 14 份新周报', + datetime: '2017-08-09', + type: '通知' + }, + { + id: '000000002', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png', + title: '你推荐的 曲妮妮 已通过第三轮面试', + datetime: '2017-08-08', + type: '通知' + }, + { + id: '000000003', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png', + title: '这种模板可以区分多种通知类型', + datetime: '2017-08-07', + read: true, + type: '通知' + }, + { + id: '000000004', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png', + title: '左侧图标用于区分不同的类型', + datetime: '2017-08-07', + type: '通知' + }, + { + id: '000000005', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png', + title: '内容不要超过两行字,超出时自动截断', + datetime: '2017-08-07', + type: '通知' + }, + { + id: '000000006', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '曲丽丽 评论了你', + description: '描述信息描述信息描述信息', + datetime: '2017-08-07', + type: '消息' + }, + { + id: '000000007', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '朱偏右 回复了你', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: '消息' + }, + { + id: '000000008', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg', + title: '标题', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: '消息' + }, + { + id: '000000009', + title: '任务名称', + description: '任务需要在 2017-01-12 20:00 前启动', + extra: '未开始', + status: 'todo', + type: '待办' + }, + { + id: '000000010', + title: '第三方紧急代码变更', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '马上到期', + status: 'urgent', + type: '待办' + }, + { + id: '000000011', + title: '信息安全考试', + description: '指派竹尔于 2017-01-09 前完成更新并发布', + extra: '已耗时 8 天', + status: 'doing', + type: '待办' + }, + { + id: '000000012', + title: 'ABCD 版本发布', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '进行中', + status: 'processing', + type: '待办' + } + ]); + + this.loading = false; + + this.cdr.detectChanges(); + }, 1000); + } + + clear(type: string): void { + this.msg.success(`清空了 ${type}`); + } + + select(res: any): void { + this.msg.success(`点击了 ${res.title} 的 ${res.item.title}`); + } +} diff --git a/src/app/layout/pro/components/quick-chat/quick-chat-status.component.html b/src/app/layout/pro/components/quick-chat/quick-chat-status.component.html new file mode 100644 index 00000000..99ce05f6 --- /dev/null +++ b/src/app/layout/pro/components/quick-chat/quick-chat-status.component.html @@ -0,0 +1,4 @@ +
+ + +
diff --git a/src/app/layout/pro/components/quick-chat/quick-chat-status.component.ts b/src/app/layout/pro/components/quick-chat/quick-chat-status.component.ts new file mode 100644 index 00000000..a8650c81 --- /dev/null +++ b/src/app/layout/pro/components/quick-chat/quick-chat-status.component.ts @@ -0,0 +1,42 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; +import { Subscription } from 'rxjs'; + +import { LayoutProWidgetQuickChatService } from './quick-chat.service'; + +@Component({ + selector: 'quick-chat-status', + templateUrl: './quick-chat-status.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetQuickChatStatusComponent implements OnInit, OnDestroy { + private status$!: Subscription; + + status = 'default'; + + constructor(private srv: LayoutProWidgetQuickChatService, private cdr: ChangeDetectorRef) {} + + show(): void { + if (this.srv.showDialog) { + return; + } + this.srv.showDialog = true; + } + + ngOnInit(): void { + this.status$ = this.srv.status.subscribe(res => { + switch (res) { + case 'online': + this.status = 'success'; + break; + default: + this.status = 'default'; + break; + } + this.cdr.detectChanges(); + }); + } + + ngOnDestroy(): void { + this.status$.unsubscribe(); + } +} diff --git a/src/app/layout/pro/components/quick-chat/quick-chat.component.html b/src/app/layout/pro/components/quick-chat/quick-chat.component.html new file mode 100644 index 00000000..21ec6d85 --- /dev/null +++ b/src/app/layout/pro/components/quick-chat/quick-chat.component.html @@ -0,0 +1,47 @@ +
+ +
+ {{ !collapsed && inited ? 'Connecting...' : 'Ng Alain Pro' }} +
+
+ + +
    +
  • Add
  • +
  • Edit
  • +
  • Remove
  • +
+
+ +
+
+
+
+
+ +
+ +
+ +
+
+ {{ m.name }} +
+
+ +
+
+
+
+
+
+
+
+ +
+
diff --git a/src/app/layout/pro/components/quick-chat/quick-chat.component.ts b/src/app/layout/pro/components/quick-chat/quick-chat.component.ts new file mode 100644 index 00000000..db7379d6 --- /dev/null +++ b/src/app/layout/pro/components/quick-chat/quick-chat.component.ts @@ -0,0 +1,131 @@ +import { + ChangeDetectionStrategy, + ChangeDetectorRef, + Component, + EventEmitter, + HostBinding, + Input, + OnDestroy, + OnInit, + Output, + ViewChild +} from '@angular/core'; +import { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util'; +import { ScrollbarDirective } from '@shared'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { LayoutProWidgetQuickChatService } from './quick-chat.service'; + +@Component({ + selector: 'quick-chat', + templateUrl: './quick-chat.component.html', + host: { + '[class.quick-chat]': 'true', + '[class.quick-chat__collapsed]': 'collapsed', + '[class.d-none]': '!showDialog' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetQuickChatComponent implements OnInit, OnDestroy { + static ngAcceptInputType_height: NumberInput; + static ngAcceptInputType_width: BooleanInput; + static ngAcceptInputType_collapsed: BooleanInput; + + private unsubscribe$ = new Subject(); + messages: any[] = [ + { type: 'only-text', msg: '2018-12-12' }, + { + type: 'text', + dir: 'left', + mp: './assets/logo-color.svg', + msg: '请一句话描述您的问题,我们来帮您解决并转到合适的人工服务。😎' + } + ]; + text = ''; + inited?: boolean; + hasMessage = false; + + @ViewChild('messageScrollbar', { static: true }) messageScrollbar?: ScrollbarDirective; + + // #region fileds + @Input() @InputNumber() height = 380; + @Input() @InputNumber() @HostBinding('style.width.px') width = 320; + @Input() @InputBoolean() collapsed = true; + @Output() readonly collapsedChange = new EventEmitter(); + @Output() readonly closed = new EventEmitter(); + // #endregion + + constructor(private srv: LayoutProWidgetQuickChatService, private cdr: ChangeDetectorRef) {} + + get showDialog(): boolean { + return this.srv.showDialog; + } + + private scrollToBottom(): void { + this.cdr.detectChanges(); + setTimeout(() => this.messageScrollbar!.scrollToBottom()); + } + + toggleCollapsed(): void { + this.hasMessage = false; + this.collapsed = !this.collapsed; + this.collapsedChange.emit(this.collapsed); + } + + close(): void { + this.srv.close(); + this.closed.emit(true); + } + + enterSend(e: Event): void { + if ((e as KeyboardEvent).keyCode !== 13) { + return; + } + if (e) { + e.preventDefault(); + e.stopPropagation(); + } + this.send(); + } + + send(): boolean { + if (!this.text) { + return false; + } + + if (typeof this.inited === 'undefined') { + this.inited = true; + } + const item = { + type: 'text', + msg: this.text, + dir: 'right' + }; + this.srv.send(item); + this.messages.push(item); + this.text = ''; + this.scrollToBottom(); + return false; + } + + ngOnInit(): void { + const { srv, messages, unsubscribe$ } = this; + srv.message.pipe(takeUntil(unsubscribe$)).subscribe(res => { + if (this.collapsed) { + this.hasMessage = true; + } + messages.push(res); + this.scrollToBottom(); + }); + srv.status.pipe(takeUntil(unsubscribe$)).subscribe(res => { + this.inited = res === 'online' ? false : undefined; + }); + } + + ngOnDestroy(): void { + const { unsubscribe$ } = this; + unsubscribe$.next(); + unsubscribe$.complete(); + } +} diff --git a/src/app/layout/pro/components/quick-chat/quick-chat.service.ts b/src/app/layout/pro/components/quick-chat/quick-chat.service.ts new file mode 100644 index 00000000..f688b1f3 --- /dev/null +++ b/src/app/layout/pro/components/quick-chat/quick-chat.service.ts @@ -0,0 +1,80 @@ +import { Injectable, OnDestroy } from '@angular/core'; +import { Observable, Subject, Subscription } from 'rxjs'; +import { webSocket, WebSocketSubject } from 'rxjs/webSocket'; + +export type QuickChatStatus = 'online' | 'offline'; + +@Injectable({ providedIn: 'root' }) +export class LayoutProWidgetQuickChatService implements OnDestroy { + private url = 'wss://echo.websocket.org/?encoding=text'; + private _ws!: WebSocketSubject<{}>; + private $statusOrg = new Subject(); + private messageOrg$: Subscription | null = null; + private $status = new Subject(); + private $message = new Subject<{}>(); + showDialog = true; + + constructor() { + this.$statusOrg.subscribe((res: any) => { + this.$status.next(res.type === 'open' ? 'online' : 'offline'); + }); + } + + get ws(): WebSocketSubject<{}> { + return this._ws!; + } + + get message(): Observable<{}> { + return this.$message.asObservable(); + } + + get status(): Observable { + return this.$status.asObservable(); + } + + open(): WebSocketSubject<{}> { + if (this._ws) { + return this._ws; + } + + this._ws = webSocket({ + url: this.url, + serializer: (value: any) => JSON.stringify(value), + deserializer: (e: MessageEvent) => { + const res = JSON.parse(e.data); + res.dir = 'left'; + res.mp = './assets/logo-color.svg'; + return res; + }, + openObserver: this.$statusOrg, + closeObserver: this.$statusOrg + }); + return this._ws; + } + + close(): void { + this.showDialog = false; + if (this.messageOrg$) { + this.messageOrg$.unsubscribe(); + this.messageOrg$ = null; + } + } + + send(msg: {}): void { + if (!this._ws) { + this.open(); + } + if (!this.messageOrg$) { + this.messageOrg$ = this._ws.subscribe(res => this.$message.next(res)); + } + this._ws.next(msg); + } + + ngOnDestroy(): void { + const { $statusOrg, $status, $message } = this; + this.close(); + $statusOrg.complete(); + $status.complete(); + $message.complete(); + } +} diff --git a/src/app/layout/pro/components/quick/quick-panel.component.html b/src/app/layout/pro/components/quick/quick-panel.component.html new file mode 100644 index 00000000..e4d776d1 --- /dev/null +++ b/src/app/layout/pro/components/quick/quick-panel.component.html @@ -0,0 +1,87 @@ +
+ + + +
+ +
+
+ + + +
+ +
+
+
+ {{ i.time }} +
+
{{ i.tags }}
+
+
+
+ +
+ {{ i.title }} +
{{ i.content }}
+
+ + +
+ + + + +
    +
  • Item1
  • +
  • Item2
  • +
  • +
  • Item3
  • +
+
+
+
+ +

Notifications

+
+ Enable notifications: + +
+
+ Enable audit log: + +
+
+ Notify on new orders: + +
+

Orders

+
+ Enable order tracking: + +
+
+ Enable orders reports: + +
+

Customers

+
+ Enable customer singup: + +
+
+ Enable customers reporting: + +
+

Other

+
+ Weak Mode: + +
+
+
+
diff --git a/src/app/layout/pro/components/quick/quick-panel.component.ts b/src/app/layout/pro/components/quick/quick-panel.component.ts new file mode 100644 index 00000000..0dfb458c --- /dev/null +++ b/src/app/layout/pro/components/quick/quick-panel.component.ts @@ -0,0 +1,42 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +import { BrandService } from '../../pro.service'; +import { ProLayout } from '../../pro.types'; + +@Component({ + selector: 'layout-pro-quick-panel', + templateUrl: './quick-panel.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetQuickPanelComponent implements OnInit { + type = 0; + data: any; + get layout(): ProLayout { + return this.pro.layout; + } + + constructor(private pro: BrandService, private http: _HttpClient, private cd: ChangeDetectorRef, public msg: NzMessageService) {} + + ngOnInit(): void { + this.http.get('/quick').subscribe(res => { + this.data = res; + this.changeType(0); + }); + } + + changeType(type: number): void { + this.type = type; + // wait checkbox & switch render + setTimeout(() => this.cd.detectChanges()); + } + + updateSetting(_type: string, _value: any): void { + this.msg.success('Success!'); + } + + setLayout(name: string, value: any): void { + this.pro.setLayout(name, value); + } +} diff --git a/src/app/layout/pro/components/quick/quick.component.html b/src/app/layout/pro/components/quick/quick.component.html new file mode 100644 index 00000000..ba912ab8 --- /dev/null +++ b/src/app/layout/pro/components/quick/quick.component.html @@ -0,0 +1 @@ + diff --git a/src/app/layout/pro/components/quick/quick.component.ts b/src/app/layout/pro/components/quick/quick.component.ts new file mode 100644 index 00000000..a38f1267 --- /dev/null +++ b/src/app/layout/pro/components/quick/quick.component.ts @@ -0,0 +1,51 @@ +import { Direction, Directionality } from '@angular/cdk/bidi'; +import { ChangeDetectionStrategy, Component, HostListener, OnDestroy, OnInit, Optional } from '@angular/core'; +import { DrawerHelper } from '@delon/theme'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { LayoutProWidgetQuickPanelComponent } from './quick-panel.component'; + +@Component({ + selector: 'layout-pro-quick', + templateUrl: './quick.component.html', + host: { + '[class.alain-pro__header-item]': 'true' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetQuickComponent implements OnInit, OnDestroy { + private destroy$ = new Subject(); + private dir: Direction = 'ltr'; + + constructor(private drawerHelper: DrawerHelper, @Optional() private directionality: Directionality) {} + + @HostListener('click') + show(): void { + this.drawerHelper + .create(``, LayoutProWidgetQuickPanelComponent, null, { + size: 480, + drawerOptions: { + nzTitle: undefined, + nzPlacement: this.dir === 'rtl' ? 'left' : 'right', + nzBodyStyle: { + 'min-height': '100%', + padding: 0 + } + } + }) + .subscribe(); + } + + ngOnInit(): void { + this.dir = this.directionality.value; + this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => { + this.dir = direction; + }); + } + + ngOnDestroy(): void { + this.destroy$.next(); + this.destroy$.complete(); + } +} diff --git a/src/app/layout/pro/components/rtl/rtl.component.ts b/src/app/layout/pro/components/rtl/rtl.component.ts new file mode 100644 index 00000000..3b92db96 --- /dev/null +++ b/src/app/layout/pro/components/rtl/rtl.component.ts @@ -0,0 +1,23 @@ +import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core'; +import { RTLService } from '@delon/theme'; + +@Component({ + selector: 'layout-pro-rtl', + template: ` + + `, + host: { + '[class.alain-pro__header-item]': 'true' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetRTLComponent { + constructor(public rtl: RTLService) {} + + @HostListener('click') + toggleDirection(): void { + this.rtl.toggle(); + } +} diff --git a/src/app/layout/pro/components/search/search.component.html b/src/app/layout/pro/components/search/search.component.html new file mode 100644 index 00000000..b16ed7ca --- /dev/null +++ b/src/app/layout/pro/components/search/search.component.html @@ -0,0 +1,9 @@ + +
+ +
+ + + {{ item.no }} + + diff --git a/src/app/layout/pro/components/search/search.component.ts b/src/app/layout/pro/components/search/search.component.ts new file mode 100644 index 00000000..6f028f3d --- /dev/null +++ b/src/app/layout/pro/components/search/search.component.ts @@ -0,0 +1,49 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, OnDestroy, ViewChild } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { Subject } from 'rxjs'; +import { debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators'; + +@Component({ + selector: 'layout-pro-search', + templateUrl: 'search.component.html', + host: { + '[class.alain-pro__header-item]': 'true', + '[class.alain-pro__header-search]': 'true', + '[class.alain-pro__header-search-show]': 'show' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetSearchComponent implements OnDestroy { + @ViewChild('ipt', { static: true }) private ipt!: ElementRef; + show = false; + q = ''; + search$ = new Subject(); + list: any[] = []; + + constructor(http: _HttpClient, cdr: ChangeDetectorRef) { + this.search$ + .pipe( + debounceTime(300), + distinctUntilChanged(), + switchMap((q: string) => http.get('/user', { no: q, pi: 1, ps: 5 })) + ) + .subscribe((res: any) => { + this.list = res.list; + cdr.detectChanges(); + }); + } + + onSearch(): void { + this.search$.next(this.ipt.nativeElement.value); + } + + @HostListener('click') + _click(): void { + this.ipt.nativeElement.focus(); + this.show = true; + } + + ngOnDestroy(): void { + this.search$.unsubscribe(); + } +} diff --git a/src/app/layout/pro/components/user/user.component.html b/src/app/layout/pro/components/user/user.component.html new file mode 100644 index 00000000..ece6ea2f --- /dev/null +++ b/src/app/layout/pro/components/user/user.component.html @@ -0,0 +1,25 @@ +
+ + {{ settings.user.name }} +
+ +
+
+ + 个人中心 +
+
+ + 个人设置 +
+
+ + 触发错误 +
+
  • +
    + + 退出登录 +
    +
    +
    \ No newline at end of file diff --git a/src/app/layout/pro/components/user/user.component.ts b/src/app/layout/pro/components/user/user.component.ts new file mode 100644 index 00000000..9068909a --- /dev/null +++ b/src/app/layout/pro/components/user/user.component.ts @@ -0,0 +1,29 @@ +import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { SettingsService } from '@delon/theme'; + +@Component({ + selector: 'layout-pro-user', + templateUrl: 'user.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProWidgetUserComponent implements OnInit { + constructor(public settings: SettingsService, private router: Router, @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {} + + ngOnInit(): void { + // mock + const token = this.tokenService.get() || { + token: 'nothing', + name: 'Admin', + avatar: './assets/logo-color.svg', + email: 'cipchk@qq.com' + }; + this.tokenService.set(token); + } + + logout(): void { + this.tokenService.clear(); + this.router.navigateByUrl(this.tokenService.login_url!); + } +} diff --git a/src/app/layout/pro/components/widget/widget.component.html b/src/app/layout/pro/components/widget/widget.component.html new file mode 100644 index 00000000..52de221e --- /dev/null +++ b/src/app/layout/pro/components/widget/widget.component.html @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/app/layout/pro/components/widget/widget.component.ts b/src/app/layout/pro/components/widget/widget.component.ts new file mode 100644 index 00000000..b054f454 --- /dev/null +++ b/src/app/layout/pro/components/widget/widget.component.ts @@ -0,0 +1,20 @@ +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; +import { Router } from '@angular/router'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; + +@Component({ + selector: '[layout-pro-header-widget]', + templateUrl: './widget.component.html', + host: { + '[class.alain-pro__header-right]': 'true' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProHeaderWidgetComponent { + constructor(private router: Router, @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {} + + logout(): void { + this.tokenService.clear(); + this.router.navigateByUrl(this.tokenService.login_url!); + } +} diff --git a/src/app/layout/pro/index.md b/src/app/layout/pro/index.md new file mode 100644 index 00000000..764e496b --- /dev/null +++ b/src/app/layout/pro/index.md @@ -0,0 +1 @@ +[Document](https://e.ng-alain.com/theme/pro) diff --git a/src/app/layout/pro/index.ts b/src/app/layout/pro/index.ts new file mode 100644 index 00000000..77f8ba7f --- /dev/null +++ b/src/app/layout/pro/index.ts @@ -0,0 +1,67 @@ +/* eslint-disable import/order */ +// #region exports + +export * from './pro.types'; +export * from './pro.service'; +export * from './pro.component'; + +// #endregion + +// #region widgets + +import { LayoutProFooterComponent } from './components/footer/footer.component'; +import { LayoutProHeaderComponent } from './components/header/header.component'; +import { LayoutProLogoComponent } from './components/logo/logo.component'; +import { LayoutProMenuComponent } from './components/menu/menu.component'; +import { LayoutProWidgetNotifyComponent } from './components/notify/notify.component'; +import { LayoutProWidgetQuickChatStatusComponent } from './components/quick-chat/quick-chat-status.component'; +import { LayoutProWidgetQuickChatComponent } from './components/quick-chat/quick-chat.component'; +import { LayoutProWidgetQuickComponent } from './components/quick/quick.component'; +import { LayoutProWidgetRTLComponent } from './components/rtl/rtl.component'; +import { LayoutProWidgetSearchComponent } from './components/search/search.component'; +import { LayoutProWidgetUserComponent } from './components/user/user.component'; +import { LayoutProHeaderWidgetComponent } from './components/widget/widget.component'; +import { LayoutProWidgetQuickPanelComponent } from './components/quick/quick-panel.component'; +import { ProSettingDrawerComponent } from './setting-drawer/setting-drawer.component'; + +const PRO_WIDGETS = [ + LayoutProHeaderWidgetComponent, + LayoutProWidgetNotifyComponent, + LayoutProWidgetSearchComponent, + LayoutProWidgetUserComponent, + LayoutProWidgetQuickComponent, + LayoutProWidgetQuickChatComponent, + LayoutProWidgetQuickChatStatusComponent, + LayoutProWidgetRTLComponent +]; + +// #endregion + +// #region entry components + +// #endregion + +// #region components + +import { LayoutProComponent } from './pro.component'; + +export const PRO_COMPONENTS: Array> = [ + LayoutProComponent, + LayoutProMenuComponent, + LayoutProLogoComponent, + LayoutProHeaderComponent, + LayoutProFooterComponent, + LayoutProWidgetQuickPanelComponent, + ProSettingDrawerComponent, + ...PRO_WIDGETS +]; + +// #endregion + +// #region shared components + +import { ProPageModule } from './shared/page'; +import { Type } from '@angular/core'; +export const PRO_SHARED_MODULES = [ProPageModule]; + +// #endregion diff --git a/src/app/layout/pro/pro.component.html b/src/app/layout/pro/pro.component.html new file mode 100644 index 00000000..94c8c60b --- /dev/null +++ b/src/app/layout/pro/pro.component.html @@ -0,0 +1,40 @@ + + + +
    +
    +
    +
    +
    +
    + + + + + + + + + + +
    + + +
    + + +
    +
    +
    + + \ No newline at end of file diff --git a/src/app/layout/pro/pro.component.ts b/src/app/layout/pro/pro.component.ts new file mode 100644 index 00000000..983b2377 --- /dev/null +++ b/src/app/layout/pro/pro.component.ts @@ -0,0 +1,167 @@ +import { BreakpointObserver, MediaMatcher } from '@angular/cdk/layout'; +import { DOCUMENT } from '@angular/common'; +import { + AfterViewInit, + Component, + ComponentFactoryResolver, + Inject, + OnDestroy, + OnInit, + Renderer2, + ViewChild, + ViewContainerRef +} from '@angular/core'; +import { NavigationEnd, NavigationError, RouteConfigLoadStart, Router } from '@angular/router'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { RTL, RTLService } from '@delon/theme'; +import { ScrollService, updateHostClass } from '@delon/util/browser'; +import { environment } from '@env/environment'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { BrandService } from './pro.service'; +import { ProSettingDrawerComponent } from './setting-drawer/setting-drawer.component'; + +@Component({ + selector: 'layout-pro', + templateUrl: './pro.component.html' + // NOTICE: If all pages using OnPush mode, you can turn it on and all `cdr.detectChanges()` codes + // changeDetection: ChangeDetectionStrategy.OnPush +}) +export class LayoutProComponent implements OnInit, AfterViewInit, OnDestroy { + private destroy$ = new Subject(); + private queryCls?: string; + @ViewChild('settingHost', { read: ViewContainerRef, static: false }) private settingHost!: ViewContainerRef; + + isFetching = false; + + get isMobile(): boolean { + return this.pro.isMobile; + } + + get getLayoutStyle(): { [key: string]: string } | null { + const { isMobile, fixSiderbar, collapsed, menu, width, widthInCollapsed } = this.pro; + if (fixSiderbar && menu !== 'top' && !isMobile) { + return { + [this.rtl.dir === RTL ? 'paddingRight' : 'paddingLeft']: `${collapsed ? widthInCollapsed : width}px` + }; + } + return null; + } + + get getContentStyle(): { [key: string]: string } { + const { fixedHeader, headerHeight } = this.pro; + return { + margin: '24px 24px 0', + 'padding-top': `${fixedHeader ? headerHeight : 0}px` + }; + } + + private get body(): HTMLElement { + return this.doc.body; + } + + constructor( + bm: BreakpointObserver, + mediaMatcher: MediaMatcher, + router: Router, + msg: NzMessageService, + scroll: ScrollService, + reuseTabSrv: ReuseTabService, + private resolver: ComponentFactoryResolver, + private renderer: Renderer2, + public pro: BrandService, + @Inject(DOCUMENT) private doc: any, + // private cdr: ChangeDetectorRef + private rtl: RTLService + ) { + // scroll to top in change page + router.events.pipe(takeUntil(this.destroy$)).subscribe(evt => { + if (!this.isFetching && evt instanceof RouteConfigLoadStart) { + this.isFetching = true; + scroll.scrollToTop(); + } + if (evt instanceof NavigationError) { + this.isFetching = false; + msg.error(`无法加载${evt.url}路由`, { nzDuration: 1000 * 3 }); + return; + } + if (!(evt instanceof NavigationEnd)) { + return; + } + this.isFetching = false; + // If have already cached router, should be don't need scroll to top + if (!reuseTabSrv.exists(evt.url)) { + scroll.scrollToTop(); + } + }); + + // media + const query: { [key: string]: string } = { + 'screen-xs': '(max-width: 575px)', + 'screen-sm': '(min-width: 576px) and (max-width: 767px)', + 'screen-md': '(min-width: 768px) and (max-width: 991px)', + 'screen-lg': '(min-width: 992px) and (max-width: 1199px)', + 'screen-xl': '(min-width: 1200px)' + }; + bm.observe([ + '(min-width: 1200px)', + '(min-width: 992px) and (max-width: 1199px)', + '(min-width: 768px) and (max-width: 991px)', + '(min-width: 576px) and (max-width: 767px)', + '(max-width: 575px)' + ]).subscribe(() => { + this.queryCls = Object.keys(query).find(key => mediaMatcher.matchMedia(query[key]).matches); + this.setClass(); + }); + } + + private setClass(): void { + const { body, renderer, queryCls, pro } = this; + updateHostClass(body, renderer, { + ['color-weak']: pro.layout.colorWeak, + [`layout-fixed`]: pro.layout.fixed, + [`aside-collapsed`]: pro.collapsed, + ['alain-pro']: true, + [queryCls!]: true, + [`alain-pro__content-${pro.layout.contentWidth}`]: true, + [`alain-pro__fixed`]: pro.layout.fixedHeader, + [`alain-pro__wide`]: pro.isFixed, + [`alain-pro__dark`]: pro.theme === 'dark', + [`alain-pro__light`]: pro.theme === 'light', + [`alain-pro__menu-side`]: pro.isSideMenu, + [`alain-pro__menu-top`]: pro.isTopMenu + }); + } + + ngAfterViewInit(): void { + // Setting componet for only developer + if (!environment.production) { + setTimeout(() => { + const settingFactory = this.resolver.resolveComponentFactory(ProSettingDrawerComponent); + this.settingHost.createComponent(settingFactory); + }, 22); + } + } + + ngOnInit(): void { + const { pro, destroy$ } = this; + pro.notify.pipe(takeUntil(destroy$)).subscribe(() => { + this.setClass(); + }); + } + + ngOnDestroy(): void { + const { destroy$, body, pro } = this; + destroy$.next(); + destroy$.complete(); + body.classList.remove( + `alain-pro__content-${pro.layout.contentWidth}`, + `alain-pro__fixed`, + `alain-pro__wide`, + `alain-pro__dark`, + `alain-pro__light` + ); + } +} diff --git a/src/app/layout/pro/pro.service.ts b/src/app/layout/pro/pro.service.ts new file mode 100644 index 00000000..258dbf4b --- /dev/null +++ b/src/app/layout/pro/pro.service.ts @@ -0,0 +1,139 @@ +import { BreakpointObserver } from '@angular/cdk/layout'; +import { Injectable } from '@angular/core'; +import { Layout, SettingsService } from '@delon/theme'; +import { environment } from '@env/environment'; +import { BehaviorSubject, Observable } from 'rxjs'; + +import { ProLayout, ProLayoutContentWidth, ProLayoutMenu, ProLayoutTheme } from './pro.types'; + +@Injectable({ providedIn: 'root' }) +export class BrandService { + private notify$ = new BehaviorSubject(null); + private _isMobile = false; + + // #region fields + + get notify(): Observable { + return this.notify$.asObservable(); + } + + /** + * Specify width of the sidebar, If you change it, muse be synchronize change less parameter: + * ```less + * @alain-pro-sider-menu-width: 256px; + * ``` + */ + readonly width = 256; + + /** + * Specify width of the sidebar after collapsed, If you change it, muse be synchronize change less parameter: + * ```less + * @menu-collapsed-width: 80px; + * ``` + */ + readonly widthInCollapsed = 80; + + /** + * Specify height of the header, If you change it, muse be synchronize change less parameter: + * ```less + * @alain-pro-header-height: 64px; + * ``` + */ + readonly headerHeight = 64; + + /** + * Specify distance from top for automatically hidden header + */ + readonly autoHideHeaderTop = 300; + + get isMobile(): boolean { + return this._isMobile; + } + + get layout(): ProLayout { + return this.settings.layout as ProLayout; + } + + get collapsed(): boolean { + return this.layout.collapsed; + } + + get theme(): ProLayoutTheme { + return this.layout.theme; + } + + get menu(): ProLayoutMenu { + return this.layout.menu; + } + + get contentWidth(): ProLayoutContentWidth { + return this.layout.contentWidth; + } + + get fixedHeader(): boolean { + return this.layout.fixedHeader; + } + + get autoHideHeader(): boolean { + return this.layout.autoHideHeader; + } + + get fixSiderbar(): boolean { + return this.layout.fixSiderbar; + } + + get onlyIcon(): boolean { + return this.menu === 'side' ? false : this.layout.onlyIcon; + } + + /** Whether the top menu */ + get isTopMenu(): boolean { + return this.menu === 'top' && !this.isMobile; + } + + /** Whether the side menu */ + get isSideMenu(): boolean { + return this.menu === 'side' && !this.isMobile; + } + + /** Whether the fixed content */ + get isFixed(): boolean { + return this.contentWidth === 'fixed'; + } + + // #endregion + + constructor(bm: BreakpointObserver, private settings: SettingsService) { + // fix layout data + settings.setLayout({ + theme: 'dark', + menu: 'side', + contentWidth: 'fluid', + fixedHeader: false, + autoHideHeader: false, + fixSiderbar: false, + onlyIcon: true, + ...(environment as any).pro, + ...settings.layout // Browser cache + }); + + const mobileMedia = 'only screen and (max-width: 767.99px)'; + bm.observe(mobileMedia).subscribe(state => this.checkMedia(state.matches)); + this.checkMedia(bm.isMatched(mobileMedia)); + } + + private checkMedia(value: boolean): void { + this._isMobile = value; + this.layout.collapsed = this._isMobile; + this.notify$.next('mobile'); + } + + setLayout(name: string | Layout, value?: any): void { + this.settings.setLayout(name, value); + this.notify$.next('layout'); + } + + setCollapsed(status?: boolean): void { + this.setLayout('collapsed', typeof status !== 'undefined' ? status : !this.collapsed); + } +} diff --git a/src/app/layout/pro/pro.types.ts b/src/app/layout/pro/pro.types.ts new file mode 100644 index 00000000..446a4e88 --- /dev/null +++ b/src/app/layout/pro/pro.types.ts @@ -0,0 +1,43 @@ +import { Layout, MenuInner } from '@delon/theme'; + +export type ProLayoutTheme = 'light' | 'dark'; +export type ProLayoutMenu = 'side' | 'top'; +export type ProLayoutContentWidth = 'fluid' | 'fixed'; + +export interface ProLayout extends Layout { + theme: ProLayoutTheme; + /** + * menu position + */ + menu: ProLayoutMenu; + /** + * layout of content, only works when menu is top + */ + contentWidth: ProLayoutContentWidth; + /** + * sticky header + */ + fixedHeader: boolean; + /** + * auto hide header + */ + autoHideHeader: boolean; + /** + * sticky siderbar + */ + fixSiderbar: boolean; + /** + * Only icon of menu + * Limited to a temporary solution [#2183](https://github.com/NG-ZORRO/ng-zorro-antd/issues/2183) + */ + onlyIcon: boolean; + /** + * Color weak + */ + colorWeak: boolean; +} + +export interface ProMenu extends MenuInner { + _parent?: ProMenu | null; + children?: ProMenu[]; +} diff --git a/src/app/layout/pro/setting-drawer/setting-drawer.component.html b/src/app/layout/pro/setting-drawer/setting-drawer.component.html new file mode 100644 index 00000000..000f9930 --- /dev/null +++ b/src/app/layout/pro/setting-drawer/setting-drawer.component.html @@ -0,0 +1,83 @@ + +
    +
    +

    整体风格设置

    +
    +
    + {{ t.key }} +
    + +
    +
    +
    +
    +
    +

    主题色

    + + + +
    + +
    +

    导航模式

    +
    +
    + {{ t.key }} +
    + +
    +
    +
    +
    + 内容区域宽度 + + + + +
    +
    + 固定 Header + +
    +
    + 下滑时隐藏 Header + +
    +
    + 固定侧边菜单 + +
    +
    + 只显示图标 + +
    +
    + +
    +

    其他设置

    +
    + 色弱模式 + +
    +
    + + + +
    +
    +
    + +
    \ No newline at end of file diff --git a/src/app/layout/pro/setting-drawer/setting-drawer.component.ts b/src/app/layout/pro/setting-drawer/setting-drawer.component.ts new file mode 100644 index 00000000..7423f040 --- /dev/null +++ b/src/app/layout/pro/setting-drawer/setting-drawer.component.ts @@ -0,0 +1,240 @@ +import { Direction, Directionality } from '@angular/cdk/bidi'; +import { DOCUMENT } from '@angular/common'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, NgZone, OnDestroy, OnInit, Optional } from '@angular/core'; +import { copy, LazyService } from '@delon/util'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { BrandService } from '../pro.service'; +import { ProLayout } from '../pro.types'; + +@Component({ + selector: 'pro-setting-drawer', + templateUrl: './setting-drawer.component.html', + preserveWhitespaces: false, + host: { + '[class.setting-drawer]': 'true', + '[class.setting-drawer-rtl]': `dir === 'rtl'` + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class ProSettingDrawerComponent implements OnInit, OnDestroy { + private loadedLess = false; + private destroy$ = new Subject(); + + get layout(): ProLayout { + return this.brand.layout; + } + + collapse = false; + dir: Direction = 'ltr'; + + themes = [ + { + key: 'dark', + title: '暗色菜单风格', + img: 'https://gw.alipayobjects.com/zos/rmsportal/LCkqqYNmvBEbokSDscrm.svg' + }, + { + key: 'light', + title: '亮色菜单风格', + img: 'https://gw.alipayobjects.com/zos/rmsportal/jpRkZQMyYRryryPNtyIC.svg' + } + ]; + + color = '#2F54EB'; + colors = [ + { + key: '薄暮', + color: '#F5222D' + }, + { + key: '火山', + color: '#FA541C' + }, + { + key: '日暮', + color: '#FAAD14' + }, + { + key: '明青', + color: '#13C2C2' + }, + { + key: '极光绿', + color: '#52C41A' + }, + { + key: '拂晓蓝(默认)', + color: '#1890ff' + }, + { + key: '极客蓝', + color: '#2F54EB' + }, + { + key: '酱紫', + color: '#722ED1' + } + ]; + + menuModes = [ + { + key: 'side', + title: '侧边菜单布局', + img: 'https://gw.alipayobjects.com/zos/rmsportal/JopDzEhOqwOjeNTXkoje.svg' + }, + { + key: 'top', + title: '顶部菜单布局', + img: 'https://gw.alipayobjects.com/zos/rmsportal/KDNDBbriJhLwuqMoxcAr.svg' + } + ]; + + contentWidths = [ + { + key: 'fixed', + title: '定宽', + disabled: false + }, + { + key: 'fluid', + title: '流式', + disabled: false + } + ]; + + constructor( + public brand: BrandService, + private cdr: ChangeDetectorRef, + private msg: NzMessageService, + private lazy: LazyService, + private zone: NgZone, + @Inject(DOCUMENT) private doc: any, + @Optional() private directionality: Directionality + ) { + this.setLayout('menu', this.brand.menu, false); + } + + ngOnInit(): void { + this.dir = this.directionality.value; + this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => { + this.dir = direction; + this.cdr.detectChanges(); + }); + } + + ngOnDestroy(): void { + this.destroy$.next(); + this.destroy$.complete(); + } + + private loadLess(): Promise { + if (this.loadedLess) { + return Promise.resolve(); + } + return this.lazy + .loadStyle('./assets/color.less', 'stylesheet/less') + .then(() => { + const lessConfigNode = this.doc.createElement('script'); + lessConfigNode.innerHTML = ` + window.less = { + async: true, + env: 'production', + javascriptEnabled: true + }; + `; + this.doc.body.appendChild(lessConfigNode); + }) + .then(() => this.lazy.loadScript('https://gw.alipayobjects.com/os/lib/less.js/3.8.1/less.min.js')) + .then(() => { + this.loadedLess = true; + }); + } + + private runLess(): void { + const { color, zone, msg, cdr: cd } = this; + const msgId = msg.loading(`正在编译主题!`, { nzDuration: 0 }).messageId; + setTimeout(() => { + zone.runOutsideAngular(() => { + this.loadLess().then(() => { + (window as any).less + .modifyVars({ + [`@primary-color`]: color + }) + .then(() => { + msg.success('成功'); + msg.remove(msgId); + zone.run(() => cd.detectChanges()); + }); + }); + }); + }, 200); + } + + toggle(): void { + this.collapse = !this.collapse; + } + + changeColor(color: string): void { + this.color = color; + this.runLess(); + } + + setLayout(name: string, value: any, cd: boolean = true): void { + switch (name) { + case 'menu': + const isTop = value === 'top'; + this.contentWidths.find(w => w.key === 'fixed')!.disabled = !isTop; + const newLayout = { + ...this.brand.layout, + contentWidth: isTop ? 'fixed' : 'fluid', + onlyIcon: isTop, + collapsed: isTop && !this.brand.isMobile ? false : this.brand.layout.collapsed + }; + this.brand.setLayout(newLayout); + break; + case 'fixedHeader': + this.brand.setLayout('autoHideHeader', false); + break; + default: + break; + } + this.brand.setLayout(name, value); + if (cd) { + setTimeout(() => { + // Re-render G2 muse be trigger window resize + window.dispatchEvent(new Event('resize')); + this.cdr.markForCheck(); + }); + } + } + + copy(): void { + const { color, layout } = this; + const vars: { [key: string]: string } = { + [`@primary-color`]: color + }; + const colorVars = Object.keys(vars) + .map(key => `${key}: ${vars[key]};`) + .join('\n'); + const layoutVars = Object.keys(layout) + .filter( + key => ~['theme', 'menu', 'contentWidth', 'fixedHeader', 'autoHideHeader', 'fixSiderbar', 'colorWeak', 'onlyIcon'].indexOf(key) + ) + .map(key => { + const value = layout[key]; + if (typeof value === 'boolean') { + return ` ${key}: ${value},`; + } else { + return ` ${key}: '${value}',`; + } + }) + .join('\n'); + copy( + `在 [src/styles/theme.less] 配置以下:\n{{colorVars}}\n\n在 [src/environments/*] 的 pro 配置以下:\nexport const environment = {\n ...\n pro: {\n{{layoutVars}}\n }\n}` + ); + this.msg.success(`拷贝成功,请根据剪切板内容进行替换`); + } +} diff --git a/src/app/layout/pro/shared/page/index.ts b/src/app/layout/pro/shared/page/index.ts new file mode 100644 index 00000000..d2b48060 --- /dev/null +++ b/src/app/layout/pro/shared/page/index.ts @@ -0,0 +1,3 @@ +export * from './page-grid.component'; +export * from './page-header-wrapper.component'; +export * from './page.module'; diff --git a/src/app/layout/pro/shared/page/page-grid.component.html b/src/app/layout/pro/shared/page/page-grid.component.html new file mode 100644 index 00000000..5f69a5e3 --- /dev/null +++ b/src/app/layout/pro/shared/page/page-grid.component.html @@ -0,0 +1,4 @@ + +
    + +
    diff --git a/src/app/layout/pro/shared/page/page-grid.component.ts b/src/app/layout/pro/shared/page/page-grid.component.ts new file mode 100644 index 00000000..e5312719 --- /dev/null +++ b/src/app/layout/pro/shared/page/page-grid.component.ts @@ -0,0 +1,80 @@ +import { + AfterViewInit, + ChangeDetectionStrategy, + ChangeDetectorRef, + Component, + ElementRef, + Inject, + Input, + OnDestroy, + Optional, + Renderer2 +} from '@angular/core'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { TitleService } from '@delon/theme'; +import { BooleanInput, InputBoolean } from '@delon/util'; +import { NzSafeAny } from 'ng-zorro-antd/core/types'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { BrandService } from '../../pro.service'; + +@Component({ + selector: 'page-grid', + templateUrl: './page-grid.component.html', + host: { + '[class.alain-pro__page-grid]': 'true', + '[class.alain-pro__page-grid-no-spacing]': 'noSpacing', + '[class.alain-pro__page-grid-wide]': 'isFixed' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class ProPageGridComponent implements AfterViewInit, OnDestroy { + static ngAcceptInputType_loading: BooleanInput; + static ngAcceptInputType_noSpacing: BooleanInput; + + private unsubscribe$ = new Subject(); + + @Input() @InputBoolean() loading = false; + @Input() @InputBoolean() noSpacing = false; + @Input() style: NzSafeAny; + @Input() + set title(value: string) { + if (value) { + if (this.titleSrv) { + this.titleSrv.setTitle(value); + } + if (this.reuseSrv) { + this.reuseSrv.title = value; + } + } + } + + get isFixed(): boolean { + return this.pro.isFixed; + } + + constructor( + private el: ElementRef, + private rend: Renderer2, + private pro: BrandService, + @Optional() @Inject(TitleService) private titleSrv: TitleService, + @Optional() @Inject(ReuseTabService) private reuseSrv: ReuseTabService, + private cdr: ChangeDetectorRef + ) {} + + ngAfterViewInit(): void { + if (this.style) { + Object.keys(this.style).forEach((key: string) => { + this.rend.setStyle(this.el.nativeElement, key, this.style[key]); + }); + } + this.pro.notify.pipe(takeUntil(this.unsubscribe$)).subscribe(() => this.cdr.markForCheck()); + } + + ngOnDestroy(): void { + const { unsubscribe$ } = this; + unsubscribe$.next(); + unsubscribe$.complete(); + } +} diff --git a/src/app/layout/pro/shared/page/page-header-wrapper.component.html b/src/app/layout/pro/shared/page/page-header-wrapper.component.html new file mode 100644 index 00000000..b81e1ab9 --- /dev/null +++ b/src/app/layout/pro/shared/page/page-header-wrapper.component.html @@ -0,0 +1,26 @@ + + + +
    + + + +
    +
    diff --git a/src/app/layout/pro/shared/page/page-header-wrapper.component.ts b/src/app/layout/pro/shared/page/page-header-wrapper.component.ts new file mode 100644 index 00000000..0489ca1f --- /dev/null +++ b/src/app/layout/pro/shared/page/page-header-wrapper.component.ts @@ -0,0 +1,74 @@ +import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnDestroy, TemplateRef } from '@angular/core'; +import { AlainConfigService, BooleanInput, InputBoolean } from '@delon/util'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +import { BrandService } from '../../pro.service'; + +@Component({ + selector: 'page-header-wrapper', + templateUrl: './page-header-wrapper.component.html', + host: { + '[class.alain-pro__page-header-wrapper]': 'true' + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class ProPageHeaderWrapperComponent implements AfterViewInit, OnDestroy { + static ngAcceptInputType_loading: BooleanInput; + static ngAcceptInputType_autoBreadcrumb: BooleanInput; + static ngAcceptInputType_autoTitle: BooleanInput; + static ngAcceptInputType_syncTitle: BooleanInput; + static ngAcceptInputType_noSpacing: BooleanInput; + + private unsubscribe$ = new Subject(); + + // #region page-header fields + + @Input() title!: string | null | TemplateRef; + @Input() @InputBoolean() loading = false; + @Input() home!: string; + @Input() homeLink!: string; + @Input() homeI18n!: string; + /** + * 自动生成导航,以当前路由从主菜单中定位 + */ + @Input() @InputBoolean() autoBreadcrumb = true; + /** + * 自动生成标题,以当前路由从主菜单中定位 + */ + @Input() @InputBoolean() autoTitle = true; + /** + * 是否自动将标题同步至 `TitleService`、`ReuseService` 下,仅 `title` 为 `string` 类型时有效 + */ + @Input() @InputBoolean() syncTitle = true; + @Input() breadcrumb!: TemplateRef; + @Input() logo!: TemplateRef; + @Input() action!: TemplateRef; + @Input() content!: TemplateRef; + @Input() extra!: TemplateRef; + @Input() tab!: TemplateRef; + @Input() phContent!: TemplateRef; + // #endregion + + // #region fields + + @Input() top!: TemplateRef; + @Input() @InputBoolean() noSpacing = false; + @Input() style?: {}; + + // #endregion + + constructor(public pro: BrandService, cog: AlainConfigService, private cdr: ChangeDetectorRef) { + cog.attach(this, 'pageHeader', { syncTitle: true }); + } + + ngAfterViewInit(): void { + this.pro.notify.pipe(takeUntil(this.unsubscribe$)).subscribe(() => this.cdr.markForCheck()); + } + + ngOnDestroy(): void { + const { unsubscribe$ } = this; + unsubscribe$.next(); + unsubscribe$.complete(); + } +} diff --git a/src/app/layout/pro/shared/page/page.module.ts b/src/app/layout/pro/shared/page/page.module.ts new file mode 100644 index 00000000..8d712740 --- /dev/null +++ b/src/app/layout/pro/shared/page/page.module.ts @@ -0,0 +1,16 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { PageHeaderModule } from '@delon/abc/page-header'; +import { NzSpinModule } from 'ng-zorro-antd/spin'; + +import { ProPageGridComponent } from './page-grid.component'; +import { ProPageHeaderWrapperComponent } from './page-header-wrapper.component'; + +const COMPONENTS = [ProPageGridComponent, ProPageHeaderWrapperComponent]; + +@NgModule({ + imports: [CommonModule, NzSpinModule, PageHeaderModule], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class ProPageModule {} diff --git a/src/app/layout/pro/styles/app/_content.less b/src/app/layout/pro/styles/app/_content.less new file mode 100644 index 00000000..00684ab1 --- /dev/null +++ b/src/app/layout/pro/styles/app/_content.less @@ -0,0 +1,58 @@ +@{alain-pro-prefix} { + &__main { + min-height: 100vh; + background-color: @alain-pro-main-bg; + + > .ant-layout-header { + height: @alain-pro-header-height; + line-height: @alain-pro-header-height; + } + + .router-ant(); + } + + &__page { + &-header { + &-wrapper { + position: relative; + display: block; + margin: -@alain-pro-content-margin -@alain-pro-content-margin 0; + } + &-content { + margin: @alain-pro-content-margin @alain-pro-content-margin 0; + } + } + &-grid { + display: block; + width: 100%; + height: 100%; + min-height: 100%; + transition: 0.3s; + &-wide { + max-width: @alain-pro-wide; + margin: 0 auto; + } + &-no-spacing { + width: initial; + margin: -@alain-pro-content-margin -@alain-pro-content-margin 0; + } + } + } +} + +@{alain-pro-prefix}__fetching { + &-icon { + display: none; + } + & { + @{alain-pro-prefix}__fetching-icon { + display: block; + } + } +} + +@media screen and (max-width: @mobile-max) { + @{alain-pro-prefix}__page-header-content { + margin: @alain-pro-content-margin 10px 0; + } +} diff --git a/src/app/layout/pro/styles/app/_footer.less b/src/app/layout/pro/styles/app/_footer.less new file mode 100644 index 00000000..fe2b6742 --- /dev/null +++ b/src/app/layout/pro/styles/app/_footer.less @@ -0,0 +1,3 @@ +@{alain-pro-prefix}__footer { + padding: 0; +} diff --git a/src/app/layout/pro/styles/app/_header.less b/src/app/layout/pro/styles/app/_header.less new file mode 100644 index 00000000..30c81384 --- /dev/null +++ b/src/app/layout/pro/styles/app/_header.less @@ -0,0 +1,104 @@ +@header-prefix: ~'@{alain-pro-prefix}__header'; + +@{header-prefix} { + position: relative; + z-index: 1; + display: flex; + align-items: center; + justify-content: space-between; + height: @alain-pro-header-height; + padding: 0 12px 0 0; + background: @alain-pro-header-bg; + box-shadow: @alain-pro-header-box-shadow; + &-logo { + padding: 0 24px; + } + &-right { + display: flex; + align-items: center; + justify-items: center; + } + &-item { + position: relative; + display: flex; + align-items: center; + justify-items: center; + height: @alain-pro-header-height; + padding: 0 12px; + line-height: @alain-pro-header-height; + cursor: pointer; + transition: all 0.3s; + > i, + &-icon { + // fix dropdown + font-size: @alain-pro-header-widgets-icon-fs !important; + transform: none !important; + } + &, + &-icon { + color: @alain-pro-header-color; + } + &:hover { + background: @alain-pro-header-hover-bg; + &, + @{header-prefix}-item-icon { + color: @alain-pro-header-hover-color; + } + } + } + &-trigger { + padding: 0 24px; + @{header-prefix}-item-icon { + font-size: 20px !important; + } + } + &-search { + &:hover { + background: transparent; + } + } + &-fixed { + position: fixed; + top: 0; + right: 0; + z-index: 9; + width: 100%; + transition: width 0.2s; + } + &-hide { + opacity: 0; + transition: opacity 0.2s; + } +} + +@media only screen and (max-width: @mobile-max) { + @{header-prefix} { + &-name { + display: none; + } + &-trigger { + padding: 0 12px; + } + &-logo { + position: relative; + padding-right: 12px; + padding-left: 12px; + } + } +} + +layout-pro-header { + z-index: 1; +} + +.layout-pro-header-rtl-mixin(@enabled) when(@enabled=true) { + [dir='rtl'] { + @{header-prefix} { + &-fixed { + right: inherit; + left: 0; + } + } + } +} +.layout-pro-header-rtl-mixin(@rtl-enabled); diff --git a/src/app/layout/pro/styles/app/_menu.less b/src/app/layout/pro/styles/app/_menu.less new file mode 100644 index 00000000..4f548617 --- /dev/null +++ b/src/app/layout/pro/styles/app/_menu.less @@ -0,0 +1,68 @@ +@{alain-pro-prefix} { + &__menu { + display: block; + &-item { + &--disabled { + pointer-events: none; + } + } + &-only-icon { + @{alain-pro-prefix}__menu-item { + padding-right: 8px !important; + padding-left: 8px !important; + &:first-child { + padding-left: 0; + } + } + @{alain-pro-prefix}__menu-icon { + margin-right: 0; + font-size: @alain-pro-top-nav-only-icon-fs; + } + } + &-title { + position: relative; + &-badge { + display: flex; + justify-content: center; + width: 18px; + height: 18px; + padding: 0; + font-size: 12px; + line-height: 18px; + background: @alain-pro-header-title-badge-bg; + border-radius: 50%; + > em { + color: @alain-pro-header-title-badge-color; + font-style: normal; + } + } + } + &-img { + width: @alain-pro-sider-menu-img-wh !important; + height: @alain-pro-sider-menu-img-wh !important; + } + } + &__side-nav { + @{alain-pro-prefix}__menu { + &-title { + display: flex; + align-items: center; + &-text { + flex: 1; + } + } + } + .@{ant-prefix}-menu-inline-collapsed { + @{alain-pro-prefix}__menu-title-badge { + position: absolute; + top: 0; + right: -16px; + width: 8px; + height: 8px; + > em { + display: none; + } + } + } + } +} diff --git a/src/app/layout/pro/styles/app/_sider.less b/src/app/layout/pro/styles/app/_sider.less new file mode 100644 index 00000000..4353cc66 --- /dev/null +++ b/src/app/layout/pro/styles/app/_sider.less @@ -0,0 +1,148 @@ +@sider-prefix: ~'@{alain-pro-prefix}__sider'; + +@{sider-prefix} { + position: relative; + z-index: 10; + display: block; + min-height: 100vh; + overflow: hidden; + box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); + &-logo { + position: relative; + display: block; + height: @alain-pro-header-height; + padding-left: ((@menu-collapsed-width - 32px) / 2); + overflow: hidden; + line-height: @alain-pro-header-height; + background: @alain-pro-header-logo-bg; + transition: all 0.3s; + img { + display: inline-block; + height: 32px; + vertical-align: middle; + } + h1 { + display: inline-block; + margin: 0 0 0 12px; + color: white; + font-weight: 600; + font-size: @alain-pro-logo-font-size; + font-family: @alain-pro-logo-font-family; + vertical-align: middle; + transition: all 0.3s; + } + } + &-fixed { + position: fixed; + top: 0; + left: 0; + @{alain-pro-prefix}__side-nav-wrap { + height: ~'calc(100vh - @{alain-pro-header-height})'; + padding-bottom: 24px; + overflow-y: scroll; + } + } +} + +// 小屏幕 drawer 配置信息 +@{alain-pro-prefix}__drawer { + .@{ant-prefix}-drawer { + &-wrapper-body { + height: 100%; + overflow: auto; + } + &-body { + height: 100vh; + padding: 0; + overflow-x: hidden; + } + } +} + +// 当缩进时隐藏站点名称 +@{aside-collapsed-prefix} { + @{sider-prefix}-logo { + display: flex; + justify-content: center; + padding: 0; + h1 { + display: none; + } + } +} + +@{alain-pro-prefix}__light { + @{sider-prefix} { + background-color: @alain-pro-light-color; + box-shadow: @alain-pro-light-slider-shadow; + &-logo { + background: @alain-pro-light-color; + box-shadow: 1px 1px 0 0 @border-color-split; + h1 { + color: @primary-color; + } + } + .@{ant-prefix}-menu-light { + border-right-color: transparent; + } + } +} + +.alain-pro-sider-fixed-scroll-mixin(@mode) when(@mode='show') { + .scrollbar-mixin(~'@{ider-prefix}-fixed @{alain-pro-prefix}__side-nav-wrap'); +} + +.alain-pro-sider-fixed-scroll-mixin(@mode) when(@mode='hide') { + @{sider-prefix}-fixed @{alain-pro-prefix}__side-nav-wrap { + -webkit-overflow-scrolling: touch; + // IE + -ms-scroll-chaining: chained; + -ms-content-zooming: zoom; + -ms-scroll-rails: none; + -ms-content-zoom-limit-min: 100%; + -ms-content-zoom-limit-max: 500%; + -ms-scroll-snap-type: proximity; + -ms-scroll-snap-points-x: snaplist(100%, 200%, 300%, 400%, 500%); + -ms-overflow-style: none; + // Firefox + scrollbar-width: none; + // Chrome + &::-webkit-scrollbar { + width: @alain-pro-sider-scrollbar-height; + height: @alain-pro-sider-scrollbar-width; + } + &::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 @alain-pro-sider-scrollbar-width @alain-pro-sider-scrollbar-track-color; + } + &::-webkit-scrollbar-thumb { + background-color: @alain-pro-sider-scrollbar-thumb-color; + } + } +} + +.alain-pro-sider-fixed-scroll-mixin(@alain-pro-sider-fixed-scroll-mode); + +.layout-pro-sider-rtl-mixin(@enabled) when(@enabled=true) { + [dir='rtl'] { + @{sider-prefix} { + &-logo { + padding-right: ((@menu-collapsed-width - 32px) / 2); + padding-left: 0; + h1 { + margin-right: 12px; + margin-left: 0; + } + } + &-fixed { + right: 0; + left: inherit; + } + } + @{aside-collapsed-prefix} { + @{sider-prefix}-logo { + padding: 0; + } + } + } +} +.layout-pro-sider-rtl-mixin(@rtl-enabled); diff --git a/src/app/layout/pro/styles/app/_top-nav.less b/src/app/layout/pro/styles/app/_top-nav.less new file mode 100644 index 00000000..bf2147b8 --- /dev/null +++ b/src/app/layout/pro/styles/app/_top-nav.less @@ -0,0 +1,101 @@ +@top-nav-prefix: ~'@{alain-pro-prefix}__top-nav'; + +@{top-nav-prefix} { + position: relative; + width: 100%; + height: @alain-pro-header-height; + padding: 0 12px 0 0; + box-shadow: @alain-pro-header-box-shadow; + transition: background 0.3s, width 0.2s; + @{alain-pro-prefix}__menu { + .@{ant-prefix}-menu { + display: flex; + align-items: center; + height: @alain-pro-header-height; + border: none; + } + &-wrap { + flex: 1; + padding-right: 8px; + } + &-item { + height: 100%; + .@{ant-prefix}-menu-submenu-title { + height: 100%; + padding: 0 12px; + } + } + } + &-main { + display: flex; + height: @alain-pro-header-height; + padding-left: 24px; + &-wide { + max-width: @alain-pro-wide; + margin: auto; + padding-left: 4px; + } + &-left { + display: flex; + flex: 1; + } + } + &-logo { + width: 165px; + h1 { + margin: 0 0 0 12px; + color: #fff; + font-size: 16px; + } + } + @{alain-pro-prefix}__menu-title-badge { + position: absolute; + top: -16px; + right: -16px; + } +} + +@{alain-pro-prefix} { + &__dark { + @{top-nav-prefix} { + @{alain-pro-prefix}__header-item { + &, + &-icon { + color: @menu-dark-color; + } + &:hover, + .@{ant-prefix}-popover-open { + background: @menu-dark-item-active-bg; + @{alain-pro-prefix}__header-item { + &, + &-icon { + color: @menu-dark-highlight-color; + } + } + } + } + } + } + &__light { + @{top-nav-prefix} { + background-color: #fff; + h1 { + color: #002140; + } + } + } +} + +.layout-pro-top-nav-rtl-mixin(@enabled) when(@enabled=true) { + [dir='rtl'] { + @{top-nav-prefix} { + &-logo { + h1 { + margin-right: 12px; + margin-left: 0; + } + } + } + } +} +.layout-pro-top-nav-rtl-mixin(@rtl-enabled); diff --git a/src/app/layout/pro/styles/app/fix/_antd.less b/src/app/layout/pro/styles/app/fix/_antd.less new file mode 100644 index 00000000..42f15507 --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/_antd.less @@ -0,0 +1,6 @@ +@layout-body-background: #f8f8f8; + +// Remoed card transition +.@{ant-prefix}-card { + transition: none; +} diff --git a/src/app/layout/pro/styles/app/fix/_btn.less b/src/app/layout/pro/styles/app/fix/_btn.less new file mode 100644 index 00000000..e8747b94 --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/_btn.less @@ -0,0 +1,5 @@ +.btn-flat { + background: transparent !important; + border-color: transparent !important; + box-shadow: none !important; +} diff --git a/src/app/layout/pro/styles/app/fix/_delon.less b/src/app/layout/pro/styles/app/fix/_delon.less new file mode 100644 index 00000000..46632446 --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/_delon.less @@ -0,0 +1,55 @@ +@{header-prefix}-item { + .@{ant-prefix}-badge-count { + position: absolute; + top: 24px; + right: 12px; + } +} + +// full-content component +@{full-content-prefix} { + &__opened { + layout-pro-header, + @{alain-pro-prefix}__sider, + reuse-tab { + display: none !important; + } + } + &__hidden-title { + page-header { + display: none !important; + } + } +} + +// footer-toolbar component +@{footer-toolbar-prefix} { + z-index: 99; + width: auto; + &__body { + @{alain-pro-prefix}__body { + margin-bottom: @layout-gutter + @footer-toolbar-height !important; + } + } +} +@{alain-pro-prefix}__menu-side { + @{footer-toolbar-prefix} { + left: @alain-pro-sider-menu-width; + } +} +@{alain-pro-prefix}__menu-top { + @{footer-toolbar-prefix} { + left: 0; + } +} + +@{aside-collapsed-prefix} { + @{footer-toolbar-prefix} { + left: @menu-collapsed-width; + } +} + +@{page-header-prefix} { + padding-right: @alain-pro-content-margin; + padding-left: @alain-pro-content-margin; +} diff --git a/src/app/layout/pro/styles/app/fix/_menu.less b/src/app/layout/pro/styles/app/fix/_menu.less new file mode 100644 index 00000000..84765e75 --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/_menu.less @@ -0,0 +1,3 @@ +.@{ant-prefix}-dropdown-menu-item { + outline: none; +} diff --git a/src/app/layout/pro/styles/app/fix/_print.less b/src/app/layout/pro/styles/app/fix/_print.less new file mode 100644 index 00000000..4811f8df --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/_print.less @@ -0,0 +1,3 @@ +@page { + size: a3; +} diff --git a/src/app/layout/pro/styles/app/fix/index.less b/src/app/layout/pro/styles/app/fix/index.less new file mode 100644 index 00000000..8af7a2a5 --- /dev/null +++ b/src/app/layout/pro/styles/app/fix/index.less @@ -0,0 +1,8 @@ +@import './_antd.less'; +@import './_delon.less'; + +// components +@import './_btn.less'; +@import './_menu.less'; + +@import './_print.less'; diff --git a/src/app/layout/pro/styles/app/index.less b/src/app/layout/pro/styles/app/index.less new file mode 100644 index 00000000..d2066f55 --- /dev/null +++ b/src/app/layout/pro/styles/app/index.less @@ -0,0 +1,8 @@ +@import './_menu.less'; +@import './_content.less'; +@import './_header.less'; +@import './_top-nav.less'; +@import './_sider.less'; +@import './_footer.less'; + +@import './fix/index.less'; diff --git a/src/app/layout/pro/styles/index.less b/src/app/layout/pro/styles/index.less new file mode 100644 index 00000000..8d5eaa97 --- /dev/null +++ b/src/app/layout/pro/styles/index.less @@ -0,0 +1,4 @@ +@import './theme-default.less'; + +@import './app/index.less'; +@import './widgets/index.less'; diff --git a/src/app/layout/pro/styles/theme-compact.less b/src/app/layout/pro/styles/theme-compact.less new file mode 100644 index 00000000..72fb7993 --- /dev/null +++ b/src/app/layout/pro/styles/theme-compact.less @@ -0,0 +1,5 @@ +@import '~@delon/theme/theme-compact.less'; +@import './theme-default.less'; + +@alain-pro-header-height: 56px; +@alain-pro-header-widgets-icon-fs: 14px; diff --git a/src/app/layout/pro/styles/theme-dark.less b/src/app/layout/pro/styles/theme-dark.less new file mode 100644 index 00000000..54645892 --- /dev/null +++ b/src/app/layout/pro/styles/theme-dark.less @@ -0,0 +1,9 @@ +@import '~@delon/theme/theme-dark.less'; +@import './theme-default.less'; + +@alain-pro-header-bg: @component-background; +@alain-pro-header-logo-bg: @popover-background; +@alain-pro-header-box-shadow: @shadow-1-down; // 0 1px 4px rgba(0, 21, 41, 0.08); +@alain-pro-header-color: @text-color; +@alain-pro-header-hover-color: #fff; +@alain-pro-header-hover-bg: rgba(0, 0, 0, 0.025); diff --git a/src/app/layout/pro/styles/theme-default.less b/src/app/layout/pro/styles/theme-default.less new file mode 100644 index 00000000..38d3e54f --- /dev/null +++ b/src/app/layout/pro/styles/theme-default.less @@ -0,0 +1,53 @@ +@import '~@delon/theme/theme-default.less'; + +// Optimization for NG-ALAIN theme system +// 针对 NG-ALAIN 主题系统的优化 +@badge-enabled: false; + +// PRO +@alain-pro-prefix: ~'.alain-pro'; +@aside-collapsed-prefix: ~'.aside-collapsed'; +@alain-pro-zindex: @zindex-base; +@alain-pro-ease: cubic-bezier(0.25, 0, 0.15, 1); + +@alain-pro-header-height: 64px; +@alain-pro-header-bg: #fff; +@alain-pro-header-logo-bg: #002140; +@alain-pro-header-box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); +@alain-pro-header-color: rgba(0, 0, 0, 0.65); +@alain-pro-header-hover-color: #000; +@alain-pro-header-hover-bg: rgba(0, 0, 0, 0.025); +@alain-pro-header-search-width: 210px; +@alain-pro-header-widgets-icon-fs: 16px; +@alain-pro-header-title-badge-bg: @primary-color; +@alain-pro-header-title-badge-color: #fff; + +@alain-pro-main-bg: @layout-body-background; + +@alain-pro-top-nav-only-icon-fs: 16px; + +@alain-pro-light-color: #fff; +@alain-pro-light-slider-shadow: 2px 0 8px 0 rgba(29, 35, 41, 0.05); + +@alain-pro-logo-font-size: 20px; +@alain-pro-logo-font-family: 'Myriad Pro', 'Helvetica Neue', Arial, Helvetica, sans-serif; + +@alain-pro-content-margin: 24px; +@alain-pro-wide: 1200px; + +@alain-pro-sider-menu-width: 256px; +@alain-pro-sider-menu-img-wh: 14px; + +/** + * 侧边栏固定时滚动条显示风格: + * - hide: 隐藏滚动条(默认) + * - show: 显示美化后滚动条 + */ +@alain-pro-sider-fixed-scroll-mode: 'hide'; +@alain-pro-sider-scrollbar-width: 0; +@alain-pro-sider-scrollbar-height: 0; +@alain-pro-sider-scrollbar-track-color: transparent; +@alain-pro-sider-scrollbar-thumb-color: transparent; + +@brand-bordered-color: rgba(24, 28, 33, 0.06); +@brand-scroll-width: 20px; diff --git a/src/app/layout/pro/styles/widgets/_bordered.less b/src/app/layout/pro/styles/widgets/_bordered.less new file mode 100644 index 00000000..713b91a9 --- /dev/null +++ b/src/app/layout/pro/styles/widgets/_bordered.less @@ -0,0 +1,34 @@ +.brand { + // 让 `nz-row` & `nz-col` 包含有边框效果 + &-bordered { + overflow: hidden; + border: 1px solid @brand-bordered-color; + + > [class*='ant-col-']::before, + > [class*='ant-col-']::after { + position: absolute; + display: block; + content: ''; + } + + > [class*='ant-col-']::before { + right: 0; + bottom: -1px; + left: 0; + height: 0; + border-top: 1px solid @brand-bordered-color; + } + + > [class*='ant-col-']::after { + top: 0; + bottom: 0; + left: -1px; + width: 0; + border-left: 1px solid @brand-bordered-color; + } + } + // 边框大小为 `2px` + &-border-width-2 { + border-width: 2px !important; + } +} diff --git a/src/app/layout/pro/styles/widgets/_brand.less b/src/app/layout/pro/styles/widgets/_brand.less new file mode 100644 index 00000000..e929e50a --- /dev/null +++ b/src/app/layout/pro/styles/widgets/_brand.less @@ -0,0 +1,27 @@ +.brand { + // 加载容器 + &-page-loading { + position: absolute; + top: 0; + right: 0; + left: 0; + min-height: 200px; + } + // `position: absolute` 定位到右上角 + &-top-right { + position: absolute; + top: 8px; + right: 8px; + } + // `position: absolute` 定位到左上角 + &-top-left { + position: absolute; + top: 8px; + left: 8px; + } + // `nz-range-picker` 日期宽度 + &-range-picker__date { + display: inline-block; + width: 240px; + } +} diff --git a/src/app/layout/pro/styles/widgets/_collapse.less b/src/app/layout/pro/styles/widgets/_collapse.less new file mode 100644 index 00000000..de07b113 --- /dev/null +++ b/src/app/layout/pro/styles/widgets/_collapse.less @@ -0,0 +1,13 @@ +.brand { + // 将 `nz-ollapse` 的 arrow 图标转化为右边 + &-collapse-arrow-reverse { + .@{ant-prefix}-collapse > .@{ant-prefix}-collapse-item > .@{ant-prefix}-collapse-header { + padding-right: 40px; + padding-left: 12px; + .arrow { + right: 16px; + left: unset; + } + } + } +} diff --git a/src/app/layout/pro/styles/widgets/_search.less b/src/app/layout/pro/styles/widgets/_search.less new file mode 100644 index 00000000..4014b5e5 --- /dev/null +++ b/src/app/layout/pro/styles/widgets/_search.less @@ -0,0 +1,51 @@ +@header-search-prefix: ~'@{alain-pro-prefix}__header-search'; + +@{header-search-prefix} { + display: flex; + .anticon-search { + font-size: 16px; + cursor: pointer; + } + &-input { + width: 0; + overflow: hidden; + background: transparent; + border-radius: 0; + transition: width 0.3s, margin-left 0.3s; + .@{ant-prefix}-select-selection { + background: transparent; + } + input { + padding-right: 0; + padding-left: 0; + background: transparent; + border: 0; + outline: none; + box-shadow: none; + } + &, + &:hover, + &:focus { + border-bottom: 1px solid @border-color-base; + } + } + &-show { + &:hover { + background: none !important; + } + @{header-search-prefix}-input { + width: @alain-pro-header-search-width; + margin-left: 8px; + } + } +} + +@{alain-pro-prefix}__dark { + @{alain-pro-prefix}__top-nav { + @{header-search-prefix}-show { + .@{ant-prefix}-input { + color: #fff; + } + } + } +} diff --git a/src/app/layout/pro/styles/widgets/_setting-drawer.less b/src/app/layout/pro/styles/widgets/_setting-drawer.less new file mode 100644 index 00000000..17f763c7 --- /dev/null +++ b/src/app/layout/pro/styles/widgets/_setting-drawer.less @@ -0,0 +1,53 @@ +@{setting-drawer-prefix} { + &__handle-opened { + right: 300px !important; + } + + &__blockChecbox { + display: flex; + &-item { + position: relative; + margin-right: 16px; + // box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1); + border-radius: @border-radius-base; + cursor: pointer; + img { + width: 48px; + } + } + &-selectIcon { + position: absolute; + top: 0; + right: 0; + width: 100%; + height: 100%; + padding-top: 15px; + padding-left: 24px; + color: @primary-color; + font-weight: bold; + font-size: 14px; + } + } + + &__handle { + top: 114px; + width: 32px; + height: 32px; + background: rgba(0, 0, 0, 0.38); + &-icon { + font-size: 16px; + } + } +} + +.layout-pro-setting-drawer-rtl-mixin(@enabled) when(@enabled=true) { + @{setting-drawer-prefix}-rtl { + @{setting-drawer-prefix} { + &__handle-opened { + right: inherit !important; + left: 300px !important; + } + } + } +} +.layout-pro-setting-drawer-rtl-mixin(@rtl-enabled); diff --git a/src/app/layout/pro/styles/widgets/index.less b/src/app/layout/pro/styles/widgets/index.less new file mode 100644 index 00000000..e23af717 --- /dev/null +++ b/src/app/layout/pro/styles/widgets/index.less @@ -0,0 +1,7 @@ +// For pro brand style +@import './_brand.less'; + +@import './_setting-drawer.less'; +@import './_search.less'; +@import './_bordered.less'; +@import './_collapse.less'; diff --git a/src/app/layout/pro/test/components/menu.component.spec.ts b/src/app/layout/pro/test/components/menu.component.spec.ts new file mode 100644 index 00000000..edf966a4 --- /dev/null +++ b/src/app/layout/pro/test/components/menu.component.spec.ts @@ -0,0 +1,89 @@ +import { Component, DebugElement, ViewChild } from '@angular/core'; +import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { Router } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { createTestContext } from '@delon/testing'; +import { AlainThemeModule, Menu, MenuService } from '@delon/theme'; + +import { LayoutModule } from '../../../layout.module'; +import { LayoutProMenuComponent } from '../../components/menu/menu.component'; +import { BrandService } from '../../pro.service'; + +describe('pro: layout-pro-menu', () => { + let fixture: ComponentFixture; + let dl: DebugElement; + let context: TestComponent; + let srv: BrandService; + let menuSrv: MenuService; + let page: PageObject; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [NoopAnimationsModule, RouterTestingModule.withRoutes([]), AlainThemeModule.forRoot(), LayoutModule], + declarations: [TestComponent] + }); + ({ fixture, dl, context } = createTestContext(TestComponent)); + srv = TestBed.inject(BrandService); + menuSrv = TestBed.inject(MenuService); + page = new PageObject(); + }); + + describe('#menu', () => { + it('should be ingored category menus', () => { + page.appendMenu([{ text: '1', children: [{ text: '1-1' }, { text: '1-2' }] }]).checkCount(2); + }); + + it('should be ingored menu item when _hidden is true', () => { + page.appendMenu([{ text: '1', children: [{ text: '1-1', hide: true }, { text: '1-2' }] }]).checkCount(1); + }); + + it('should be navigate router', fakeAsync(() => { + const router = TestBed.inject(Router); + spyOn(router, 'navigateByUrl'); + page.appendMenu([{ text: '1', children: [{ text: '1-1', link: '/' }] }]); + page.click(); + tick(100); + fixture.detectChanges(); + expect(router.navigateByUrl).toHaveBeenCalled(); + })); + + it('should be auto closed collapse when router changed of mobile', fakeAsync(() => { + spyOnProperty(srv, 'isMobile').and.returnValue(true); + const setCollapsedSpy = spyOn(srv, 'setCollapsed'); + page.appendMenu([{ text: '1', children: [{ text: '1-1', link: '/' }] }]).click(); + tick(100); + fixture.detectChanges(); + expect(setCollapsedSpy).toHaveBeenCalled(); + expect(setCollapsedSpy.calls.mostRecent().args[0]).toBe(true); + })); + }); + + class PageObject { + appendMenu(menus: Menu[]): this { + menuSrv.add(menus); + fixture.detectChanges(); + return this; + } + checkCount(count: number = 0): this { + expect(context.comp.menus!.length).toBe(count); + return this; + } + click(pos: number = 0): this { + const el = document.querySelectorAll('.alain-pro__menu-item')[pos] as HTMLElement; + el.querySelector('a')!.click(); + fixture.detectChanges(); + return this; + } + whenStable(): Promise { + return fixture.whenStable(); + } + } +}); + +@Component({ + template: `
    ` +}) +class TestComponent { + @ViewChild(LayoutProMenuComponent, { static: true }) comp!: LayoutProMenuComponent; +} diff --git a/src/app/layout/pro/test/pro.component.spec.ts b/src/app/layout/pro/test/pro.component.spec.ts new file mode 100644 index 00000000..4fc9dad9 --- /dev/null +++ b/src/app/layout/pro/test/pro.component.spec.ts @@ -0,0 +1,111 @@ +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { Component, DebugElement, ViewChild } from '@angular/core'; +import { ComponentFixture, TestBed, TestBedStatic } from '@angular/core/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; +import { createTestContext } from '@delon/testing'; +import { AlainThemeModule } from '@delon/theme'; + +import { LayoutModule } from '../../layout.module'; +import { LayoutProComponent } from '../pro.component'; +import { BrandService } from '../pro.service'; + +describe('pro: layout-pro', () => { + let injector: TestBedStatic; + let fixture: ComponentFixture; + let dl: DebugElement; + let context: TestComponent; + let srv: BrandService; + let page: PageObject; + + beforeEach(() => { + injector = TestBed.configureTestingModule({ + imports: [ + HttpClientTestingModule, + NoopAnimationsModule, + RouterTestingModule.withRoutes([]), + AlainThemeModule.forRoot(), + LayoutModule + ], + declarations: [TestComponent] + }); + }); + + beforeEach(() => { + ({ fixture, dl, context } = createTestContext(TestComponent)); + srv = injector.inject(BrandService); + page = new PageObject(); + }); + + describe('should set the body style', () => { + it('when inited', () => { + srv.setCollapsed(true); + srv.setLayout('theme', 'dark'); + fixture.detectChanges(); + page.checkBodyClass('alain-pro__dark').checkBodyClass('aside-collapsed'); + }); + it('when destroy', () => { + srv.setCollapsed(true); + srv.setLayout('theme', 'dark'); + fixture.detectChanges(); + page.checkBodyClass('alain-pro__dark').checkBodyClass('aside-collapsed'); + context.comp.ngOnDestroy(); + page.checkBodyClass('alain-pro__dark', false); + }); + it('when layout changed', () => { + srv.setLayout('contentWidth', 'fixed'); + fixture.detectChanges(); + page.checkBodyClass('alain-pro__wide'); + srv.setLayout('contentWidth', 'fluid'); + fixture.detectChanges(); + page.checkBodyClass('alain-pro__wide', false); + }); + }); + + describe('#layout', () => { + it('should be hide slider when screen is mobile', () => { + const siderCls = '.alain-pro__sider'; + const isMobile = spyOnProperty(srv, 'isMobile', 'get'); + // Show sider when not mobile + isMobile.and.returnValue(false); + srv.setCollapsed(true); + fixture.detectChanges(); + fixture + .whenStable() + .then(() => { + page.checkCls(siderCls, true); + // Hide sider when is mobile + isMobile.and.returnValue(true); + srv.setCollapsed(true); + fixture.detectChanges(); + return fixture.whenStable(); + }) + .then(() => { + page.checkCls(siderCls, false); + }); + }); + }); + + class PageObject { + checkBodyClass(cls: string, status: boolean = true): this { + expect(document.body.classList.contains(cls)).toBe(status); + return this; + } + checkCls(cls: string, status: boolean = true): this { + const nodes = document.querySelectorAll(cls); + if (status) { + expect(nodes.length).toBe(1); + } else { + expect(nodes.length).toBe(0); + } + return this; + } + } +}); + +@Component({ + template: ` ` +}) +class TestComponent { + @ViewChild('comp', { static: true }) comp!: LayoutProComponent; +} diff --git a/src/app/layout/pro/test/pro.service.spec.ts b/src/app/layout/pro/test/pro.service.spec.ts new file mode 100644 index 00000000..7655f503 --- /dev/null +++ b/src/app/layout/pro/test/pro.service.spec.ts @@ -0,0 +1,81 @@ +import { TestBed, TestBedStatic } from '@angular/core/testing'; +import { AlainThemeModule } from '@delon/theme'; +import { environment } from '@env/environment'; +import { filter } from 'rxjs/operators'; + +import { BrandService } from '../pro.service'; + +describe('pro: BrandService', () => { + let injector: TestBedStatic; + let srv: BrandService; + + beforeEach(() => { + injector = TestBed.configureTestingModule({ + imports: [AlainThemeModule.forRoot()], + providers: [BrandService] + }); + }); + + afterEach(() => ((environment as any).pro = null)); + + describe('should be initialized configuration', () => { + it('with default', () => { + (environment as any).pro = null; + spyOn(localStorage, 'getItem').and.returnValue(`null`); + srv = injector.get(BrandService); + expect(srv.theme).toBe('dark'); + expect(srv.menu).toBe('side'); + expect(srv.contentWidth).toBe('fluid'); + }); + it('with environment', () => { + (environment as any).pro = { theme: 'light' }; + spyOn(localStorage, 'getItem').and.returnValue(`null`); + srv = injector.get(BrandService); + expect(srv.theme).toBe('light'); + }); + it('with settings', () => { + (environment as any).pro = null; + spyOn(localStorage, 'getItem').and.returnValue(JSON.stringify({ theme: 'light', menu: 'top' })); + srv = injector.get(BrandService); + expect(srv.theme).toBe('light'); + expect(srv.menu).toBe('top'); + }); + }); + + describe('should be trigger notify', () => { + beforeEach(() => (srv = injector.get(BrandService))); + + it('when mobile changed in constructor', done => { + srv.notify.pipe(filter(v => v != null && v === 'mobile')).subscribe(type => { + expect(true).toBe(true); + done(); + }); + }); + it('when layout changed', done => { + srv.notify.pipe(filter(v => v != null && v === 'layout')).subscribe(type => { + expect(true).toBe(true); + done(); + }); + srv.setLayout('a', 1); + }); + }); + + it('#setCollapsed', () => { + srv = injector.get(BrandService); + srv.setCollapsed(false); + expect(srv.collapsed).toBe(false); + srv.setCollapsed(); + expect(srv.collapsed).toBe(true); + srv.setCollapsed(); + expect(srv.collapsed).toBe(false); + }); + + it('should be onlyIcon always be false when menu is side', () => { + srv = injector.get(BrandService); + srv.setLayout('menu', 'top'); + srv.setLayout('onlyIcon', true); + expect(srv.onlyIcon).toBe(true); + srv.setLayout('menu', 'side'); + expect(srv.onlyIcon).toBe(false); + }); +}); diff --git a/src/app/routes/dashboard/dashboard.component.html b/src/app/routes/dashboard/dashboard.component.html new file mode 100644 index 00000000..b8904171 --- /dev/null +++ b/src/app/routes/dashboard/dashboard.component.html @@ -0,0 +1,109 @@ + + +
    +
    +
    + + 规则编号 + + + + +
    +
    + + 使用状态 + + + + + + +
    +
    + + 调用次数 + + + + +
    +
    + + 更新日期 + + + + +
    +
    + + 使用状态 + + + + + + +
    +
    + + 使用状态 + + + + + + +
    + +
    +
    + + + + + +
      +
    • 删除
    • +
    • 批量审批
    • +
    +
    +
    +
    + + + 已选择 + {{ selectedRows.length }} 项   服务调用总计 {{ totalCallNo + }} 万 + 清空 + + +
    + + + + + +
    + + + 描述 + + + + + \ No newline at end of file diff --git a/src/app/routes/dashboard/dashboard.component.less b/src/app/routes/dashboard/dashboard.component.less new file mode 100644 index 00000000..dcb4cf4f --- /dev/null +++ b/src/app/routes/dashboard/dashboard.component.less @@ -0,0 +1,6 @@ +@import '~@delon/theme/index'; + +:host { + ::ng-deep { + } +} diff --git a/src/app/routes/dashboard/dashboard.component.ts b/src/app/routes/dashboard/dashboard.component.ts new file mode 100644 index 00000000..35a69bcf --- /dev/null +++ b/src/app/routes/dashboard/dashboard.component.ts @@ -0,0 +1,166 @@ +import { Component, ChangeDetectionStrategy, ChangeDetectorRef, TemplateRef, ViewChild } from '@angular/core'; +import { STComponent, STColumn, STData, STChange } from '@delon/abc/st'; +import { _HttpClient } from '@delon/theme'; +import { NzSafeAny } from 'ng-zorro-antd/core/types'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { NzModalService } from 'ng-zorro-antd/modal'; +import { map, tap } from 'rxjs/operators'; + +@Component({ + selector: 'app-dashboard', + templateUrl: './dashboard.component.html', + styleUrls: ['./dashboard.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class DashboardComponent { + q: { + pi: number; + ps: number; + no: string; + sorter: string; + status: number | null; + statusList: NzSafeAny[]; + } = { + pi: 1, + ps: 10, + no: '', + sorter: '', + status: null, + statusList: [] + }; + data: any[] = []; + loading = false; + status = [ + { index: 0, text: '关闭', value: false, type: 'default', checked: false }, + { + index: 1, + text: '运行中', + value: false, + type: 'processing', + checked: false + }, + { index: 2, text: '已上线', value: false, type: 'success', checked: false }, + { index: 3, text: '异常', value: false, type: 'error', checked: false } + ]; + @ViewChild('st', { static: true }) + st!: STComponent; + columns: STColumn[] = [ + { title: '', index: 'key', type: 'checkbox' }, + { title: '规则编号', index: 'no' }, + { title: '描述', index: 'description' }, + { + title: '服务调用次数', + index: 'callNo', + type: 'number', + format: item => `${item.callNo} 万`, + sort: { + compare: (a, b) => a.callNo - b.callNo + } + }, + { + title: '状态', + index: 'status', + render: 'status', + filter: { + menus: this.status, + fn: (filter, record) => record.status === filter.index + } + }, + { + title: '更新时间', + index: 'updatedAt', + type: 'date', + sort: { + compare: (a, b) => a.updatedAt - b.updatedAt + } + }, + { + title: '操作', + buttons: [ + { + text: '配置', + click: item => this.msg.success(`配置${item.no}`) + }, + { + text: '订阅警报', + click: item => this.msg.success(`订阅警报${item.no}`) + } + ] + } + ]; + selectedRows: STData[] = []; + description = ''; + totalCallNo = 0; + expandForm = false; + + constructor(private http: _HttpClient, public msg: NzMessageService, private modalSrv: NzModalService, private cdr: ChangeDetectorRef) {} + + ngOnInit(): void { + this.getData(); + } + + getData(): void { + this.loading = true; + this.q.statusList = this.status.filter(w => w.checked).map(item => item.index); + if (this.q.status !== null && this.q.status > -1) { + this.q.statusList.push(this.q.status); + } + this.http + .get('/rule?_allow_anonymous=true', this.q) + .pipe( + map((list: Array<{ status: number; statusText: string; statusType: string }>) => + list.map(i => { + const statusItem = this.status[i.status]; + i.statusText = statusItem.text; + i.statusType = statusItem.type; + return i; + }) + ), + tap(() => (this.loading = false)) + ) + .subscribe(res => { + this.data = res; + this.cdr.detectChanges(); + }); + } + + stChange(e: STChange): void { + switch (e.type) { + case 'checkbox': + this.selectedRows = e.checkbox!; + this.totalCallNo = this.selectedRows.reduce((total, cv) => total + cv.callNo, 0); + this.cdr.detectChanges(); + break; + case 'filter': + this.getData(); + break; + } + } + + remove(): void { + this.http.delete('/rule', { nos: this.selectedRows.map(i => i.no).join(',') }).subscribe(() => { + this.getData(); + this.st.clearCheck(); + }); + } + + approval(): void { + this.msg.success(`审批了 ${this.selectedRows.length} 笔`); + } + + add(tpl: TemplateRef<{}>): void { + this.modalSrv.create({ + nzTitle: '新建规则', + nzContent: tpl, + nzOnOk: () => { + this.loading = true; + this.http.post('/rule', { description: this.description }).subscribe(() => this.getData()); + } + }); + } + + reset(): void { + // wait form reset updated finished + setTimeout(() => this.getData()); + } +} diff --git a/src/app/routes/exception/403.component.ts b/src/app/routes/exception/403.component.ts new file mode 100644 index 00000000..166a6a49 --- /dev/null +++ b/src/app/routes/exception/403.component.ts @@ -0,0 +1,7 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'exception-403', + template: ` ` +}) +export class Exception403Component {} diff --git a/src/app/routes/exception/404.component.ts b/src/app/routes/exception/404.component.ts new file mode 100644 index 00000000..f644917b --- /dev/null +++ b/src/app/routes/exception/404.component.ts @@ -0,0 +1,7 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'exception-404', + template: ` ` +}) +export class Exception404Component {} diff --git a/src/app/routes/exception/500.component.ts b/src/app/routes/exception/500.component.ts new file mode 100644 index 00000000..c04c556a --- /dev/null +++ b/src/app/routes/exception/500.component.ts @@ -0,0 +1,7 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'exception-500', + template: ` ` +}) +export class Exception500Component {} diff --git a/src/app/routes/exception/exception-routing.module.ts b/src/app/routes/exception/exception-routing.module.ts new file mode 100644 index 00000000..db62c1c0 --- /dev/null +++ b/src/app/routes/exception/exception-routing.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +import { Exception403Component } from './403.component'; +import { Exception404Component } from './404.component'; +import { Exception500Component } from './500.component'; +import { ExceptionTriggerComponent } from './trigger.component'; + +const routes: Routes = [ + { path: '403', component: Exception403Component }, + { path: '404', component: Exception404Component }, + { path: '500', component: Exception500Component }, + { path: 'trigger', component: ExceptionTriggerComponent } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class ExceptionRoutingModule {} diff --git a/src/app/routes/exception/exception.module.ts b/src/app/routes/exception/exception.module.ts new file mode 100644 index 00000000..88fbbe3b --- /dev/null +++ b/src/app/routes/exception/exception.module.ts @@ -0,0 +1,19 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { ExceptionModule as DelonExceptionModule } from '@delon/abc/exception'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzCardModule } from 'ng-zorro-antd/card'; + +import { Exception403Component } from './403.component'; +import { Exception404Component } from './404.component'; +import { Exception500Component } from './500.component'; +import { ExceptionRoutingModule } from './exception-routing.module'; +import { ExceptionTriggerComponent } from './trigger.component'; + +const COMPONENTS = [Exception403Component, Exception404Component, Exception500Component, ExceptionTriggerComponent]; + +@NgModule({ + imports: [CommonModule, DelonExceptionModule, NzButtonModule, NzCardModule, ExceptionRoutingModule], + declarations: [...COMPONENTS] +}) +export class ExceptionModule {} diff --git a/src/app/routes/exception/trigger.component.ts b/src/app/routes/exception/trigger.component.ts new file mode 100644 index 00000000..5a0c373d --- /dev/null +++ b/src/app/routes/exception/trigger.component.ts @@ -0,0 +1,35 @@ +import { Component, Inject } from '@angular/core'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { _HttpClient } from '@delon/theme'; + +@Component({ + selector: 'exception-trigger', + template: ` +
    + + + + +
    + ` +}) +export class ExceptionTriggerComponent { + types = [401, 403, 404, 500]; + + constructor(private http: _HttpClient, @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService) {} + + go(type: number): void { + this.http.get(`/api/${type}`).subscribe(); + } + + refresh(): void { + this.tokenService.set({ token: 'invalid-token' }); + // 必须提供一个后端地址,无法通过 Mock 来模拟 + this.http.post(`https://localhost:5001/auth`).subscribe( + res => console.warn('成功', res), + err => { + console.log('最后结果失败', err); + } + ); + } +} diff --git a/src/app/routes/passport/callback.component.ts b/src/app/routes/passport/callback.component.ts new file mode 100644 index 00000000..8e205c62 --- /dev/null +++ b/src/app/routes/passport/callback.component.ts @@ -0,0 +1,35 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { SocialService } from '@delon/auth'; +import { SettingsService } from '@delon/theme'; + +@Component({ + selector: 'app-callback', + template: ``, + providers: [SocialService] +}) +export class CallbackComponent implements OnInit { + type = ''; + + constructor(private socialService: SocialService, private settingsSrv: SettingsService, private route: ActivatedRoute) {} + + ngOnInit(): void { + this.type = this.route.snapshot.params.type; + this.mockModel(); + } + + private mockModel(): void { + const info = { + token: '123456789', + name: 'cipchk', + email: `${this.type}@${this.type}.com`, + id: 10000, + time: +new Date() + }; + this.settingsSrv.setUser({ + ...this.settingsSrv.user, + ...info + }); + this.socialService.callback(info); + } +} diff --git a/src/app/routes/passport/lock/lock.component.html b/src/app/routes/passport/lock/lock.component.html new file mode 100644 index 00000000..7f56ecdd --- /dev/null +++ b/src/app/routes/passport/lock/lock.component.html @@ -0,0 +1,21 @@ +
    +
    +
    + +
    +
    + + + + + + + + + + + + +
    +
    +
    \ No newline at end of file diff --git a/src/app/routes/passport/lock/lock.component.less b/src/app/routes/passport/lock/lock.component.less new file mode 100644 index 00000000..80251d7a --- /dev/null +++ b/src/app/routes/passport/lock/lock.component.less @@ -0,0 +1,12 @@ +:host ::ng-deep { + .ant-card-body { + position: relative; + margin-top: 80px; + } + .avatar { + position: absolute; + top: -20px; + left: 50%; + margin-left: -20px; + } +} diff --git a/src/app/routes/passport/lock/lock.component.ts b/src/app/routes/passport/lock/lock.component.ts new file mode 100644 index 00000000..aac5496b --- /dev/null +++ b/src/app/routes/passport/lock/lock.component.ts @@ -0,0 +1,44 @@ +import { Component, Inject } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { SettingsService, User } from '@delon/theme'; + +@Component({ + selector: 'passport-lock', + templateUrl: './lock.component.html', + styleUrls: ['./lock.component.less'] +}) +export class UserLockComponent { + f: FormGroup; + + get user(): User { + return this.settings.user; + } + + constructor( + fb: FormBuilder, + @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService, + private settings: SettingsService, + private router: Router + ) { + this.f = fb.group({ + password: [null, Validators.required] + }); + } + + submit(): void { + for (const i in this.f.controls) { + this.f.controls[i].markAsDirty(); + this.f.controls[i].updateValueAndValidity(); + } + if (this.f.valid) { + console.log('Valid!'); + console.log(this.f.value); + this.tokenService.set({ + token: '123' + }); + this.router.navigate(['dashboard']); + } + } +} diff --git a/src/app/routes/passport/login/login.component.html b/src/app/routes/passport/login/login.component.html new file mode 100644 index 00000000..924ddc48 --- /dev/null +++ b/src/app/routes/passport/login/login.component.html @@ -0,0 +1,77 @@ +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + 请输入手机号! + + + 手机号格式错误! + + + + + + + + + + + + + + + + + + + + + + + + + + 忘记密码 + + + + + +
    +
    + 其他登录方式 + + + + 注册账户 +
    \ No newline at end of file diff --git a/src/app/routes/passport/login/login.component.less b/src/app/routes/passport/login/login.component.less new file mode 100644 index 00000000..eb8287b9 --- /dev/null +++ b/src/app/routes/passport/login/login.component.less @@ -0,0 +1,53 @@ +@import '~@delon/theme/index'; +:host { + display: block; + width: 368px; + margin: 0 auto; + ::ng-deep { + .ant-tabs .ant-tabs-bar { + margin-bottom: 24px; + text-align: center; + border-bottom: 0; + } + .ant-tabs-tab { + font-size: 16px; + line-height: 24px; + } + .ant-input-affix-wrapper .ant-input:not(:first-child) { + padding-left: 4px; + } + .icon { + margin-left: 16px; + color: rgba(0, 0, 0, 0.2); + font-size: 24px; + vertical-align: middle; + cursor: pointer; + transition: color 0.3s; + &:hover { + color: @primary-color; + } + } + .other { + margin-top: 24px; + line-height: 22px; + text-align: left; + nz-tooltip { + vertical-align: middle; + } + .register { + float: right; + } + } + } +} + +[data-theme='dark'] { + :host ::ng-deep { + .icon { + color: rgba(255, 255, 255, 0.2); + &:hover { + color: #fff; + } + } + } +} diff --git a/src/app/routes/passport/login/login.component.ts b/src/app/routes/passport/login/login.component.ts new file mode 100644 index 00000000..99300009 --- /dev/null +++ b/src/app/routes/passport/login/login.component.ts @@ -0,0 +1,213 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, OnDestroy, Optional } from '@angular/core'; +import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { StartupService } from '@core'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { DA_SERVICE_TOKEN, ITokenService, SocialOpenType, SocialService } from '@delon/auth'; +import { SettingsService, _HttpClient } from '@delon/theme'; +import { environment } from '@env/environment'; +import { NzTabChangeEvent } from 'ng-zorro-antd/tabs'; +import { finalize } from 'rxjs/operators'; + +@Component({ + selector: 'passport-login', + templateUrl: './login.component.html', + styleUrls: ['./login.component.less'], + providers: [SocialService], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class UserLoginComponent implements OnDestroy { + constructor( + fb: FormBuilder, + private router: Router, + private settingsService: SettingsService, + private socialService: SocialService, + @Optional() + @Inject(ReuseTabService) + private reuseTabService: ReuseTabService, + @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService, + private startupSrv: StartupService, + private http: _HttpClient, + private cdr: ChangeDetectorRef + ) { + this.form = fb.group({ + userName: [null, [Validators.required]], + password: [null, [Validators.required]], + mobile: [null, [Validators.required, Validators.pattern(/^1\d{10}$/)]], + captcha: [null, [Validators.required]], + remember: [true] + }); + } + + // #region fields + + get userName(): AbstractControl { + return this.form.controls.userName; + } + get password(): AbstractControl { + return this.form.controls.password; + } + get mobile(): AbstractControl { + return this.form.controls.mobile; + } + get captcha(): AbstractControl { + return this.form.controls.captcha; + } + form: FormGroup; + error = ''; + type = 0; + loading = false; + + // #region get captcha + + count = 0; + interval$: any; + + // #endregion + + switch({ index }: NzTabChangeEvent): void { + this.type = index!; + } + + getCaptcha(): void { + if (this.mobile.invalid) { + this.mobile.markAsDirty({ onlySelf: true }); + this.mobile.updateValueAndValidity({ onlySelf: true }); + return; + } + this.count = 59; + this.interval$ = setInterval(() => { + this.count -= 1; + if (this.count <= 0) { + clearInterval(this.interval$); + } + }, 1000); + } + + // #endregion + + submit(): void { + this.error = ''; + if (this.type === 0) { + this.userName.markAsDirty(); + this.userName.updateValueAndValidity(); + this.password.markAsDirty(); + this.password.updateValueAndValidity(); + if (this.userName.invalid || this.password.invalid) { + return; + } + } else { + this.mobile.markAsDirty(); + this.mobile.updateValueAndValidity(); + this.captcha.markAsDirty(); + this.captcha.updateValueAndValidity(); + if (this.mobile.invalid || this.captcha.invalid) { + return; + } + } + + // 默认配置中对所有HTTP请求都会强制 [校验](https://ng-alain.com/auth/getting-started) 用户 Token + // 然一般来说登录请求不需要校验,因此可以在请求URL加上:`/login?_allow_anonymous=true` 表示不触发用户 Token 校验 + this.loading = true; + this.cdr.detectChanges(); + this.befaultLogin(); + return; + this.http + .post('/login/account?_allow_anonymous=true', { + type: this.type, + userName: this.userName.value, + password: this.password.value + }) + .pipe( + finalize(() => { + this.loading = true; + this.cdr.detectChanges(); + }) + ) + .subscribe(res => { + if (res.msg !== 'ok') { + this.error = res.msg; + this.cdr.detectChanges(); + return; + } + // 清空路由复用信息 + this.reuseTabService.clear(); + // 设置用户Token信息 + // TODO: Mock expired value + res.user.expired = +new Date() + 1000 * 60 * 5; + this.tokenService.set(res.user); + // 重新获取 StartupService 内容,我们始终认为应用信息一般都会受当前用户授权范围而影响 + this.startupSrv.load().then(() => { + let url = this.tokenService.referrer!.url || '/'; + if (url.includes('/passport')) { + url = '/'; + } + this.router.navigateByUrl(url); + }); + }); + } + + befaultLogin() { + // 清空路由复用信息 + this.reuseTabService.clear(); + // 设置用户Token信息 + // TODO: Mock expired value + // 重新获取 StartupService 内容,我们始终认为应用信息一般都会受当前用户授权范围而影响 + this.startupSrv.load().then(() => { + let url = this.tokenService.referrer!.url || '/'; + if (url.includes('/passport')) { + url = '/'; + } + this.router.navigateByUrl(url); + }); + } + + // #region social + + open(type: string, openType: SocialOpenType = 'href'): void { + let url = ``; + let callback = ``; + if (environment.production) { + callback = `https://ng-alain.github.io/ng-alain/#/passport/callback/${type}`; + } else { + callback = `http://localhost:4200/#/passport/callback/${type}`; + } + switch (type) { + case 'auth0': + url = `//cipchk.auth0.com/login?client=8gcNydIDzGBYxzqV0Vm1CX_RXH-wsWo5&redirect_uri=${decodeURIComponent(callback)}`; + break; + case 'github': + url = `//github.com/login/oauth/authorize?client_id=9d6baae4b04a23fcafa2&response_type=code&redirect_uri=${decodeURIComponent( + callback + )}`; + break; + case 'weibo': + url = `https://api.weibo.com/oauth2/authorize?client_id=1239507802&response_type=code&redirect_uri=${decodeURIComponent(callback)}`; + break; + } + if (openType === 'window') { + this.socialService + .login(url, '/', { + type: 'window' + }) + .subscribe(res => { + if (res) { + this.settingsService.setUser(res); + this.router.navigateByUrl('/'); + } + }); + } else { + this.socialService.login(url, '/', { + type: 'href' + }); + } + } + + // #endregion + + ngOnDestroy(): void { + if (this.interval$) { + clearInterval(this.interval$); + } + } +} diff --git a/src/app/routes/passport/login2/login2.component.html b/src/app/routes/passport/login2/login2.component.html new file mode 100644 index 00000000..b07a7154 --- /dev/null +++ b/src/app/routes/passport/login2/login2.component.html @@ -0,0 +1,56 @@ + +
    +
    +
    +

    Work with us

    +

    Our researchers are embedded in teams across computer science, to discover, invent, and build at the largest + scale.

    +
    +
    +
    + +

    注册

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    \ No newline at end of file diff --git a/src/app/routes/passport/login2/login2.component.less b/src/app/routes/passport/login2/login2.component.less new file mode 100644 index 00000000..cc23d678 --- /dev/null +++ b/src/app/routes/passport/login2/login2.component.less @@ -0,0 +1,28 @@ +@import '~@delon/theme/index'; + +:host ::ng-deep { + .pro-passport__bg { + position: relative; + display: flex; + align-items: center; + padding: 48px; + @media (max-width: @screen-md-max) { + display: none !important; + } + .text { + position: relative; + padding: 0 64px; + color: #fff; + h1 { + margin-bottom: 24px; + color: #fff; + font-weight: 900; + font-size: 56px; + } + p { + font-size: 22px; + line-height: 32px; + } + } + } +} diff --git a/src/app/routes/passport/login2/login2.component.ts b/src/app/routes/passport/login2/login2.component.ts new file mode 100644 index 00000000..06b0d178 --- /dev/null +++ b/src/app/routes/passport/login2/login2.component.ts @@ -0,0 +1,78 @@ +import { Component, OnDestroy } from '@angular/core'; +import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: 'passport-login2', + templateUrl: './login2.component.html', + styleUrls: ['./login2.component.less'], + host: { + '[class.ant-row]': 'true', + '[class.pro-passport]': 'true' + } +}) +export class UserLogin2Component implements OnDestroy { + form: FormGroup; + error = ''; + + constructor(fb: FormBuilder, private router: Router, private msg: NzMessageService, public http: _HttpClient) { + this.form = fb.group({ + mobilePrefix: ['+86'], + mobile: [null, [Validators.required, Validators.pattern(/^1\d{10}$/)]], + captcha: [null, [Validators.required]], + password: [null, [Validators.required, Validators.minLength(6)]] + }); + } + + // #region fields + + get password(): AbstractControl { + return this.form.controls.password; + } + get mobile(): AbstractControl { + return this.form.controls.mobile; + } + get captcha(): AbstractControl { + return this.form.controls.captcha; + } + + // #endregion + + // #region get captcha + + count = 0; + interval$: any; + + getCaptcha(): void { + if (this.mobile.invalid) { + this.mobile.markAsDirty({ onlySelf: true }); + this.mobile.updateValueAndValidity({ onlySelf: true }); + return; + } + this.count = 59; + this.interval$ = setInterval(() => { + this.count -= 1; + if (this.count <= 0) { + clearInterval(this.interval$); + } + }, 1000); + } + + // #endregion + + submit(): void { + this.error = ''; + const data = this.form.value; + this.http.post('/register', data).subscribe(() => { + this.router.navigate(['passport', 'register-result'], { queryParams: { email: data.mail } }); + }); + } + + ngOnDestroy(): void { + if (this.interval$) { + clearInterval(this.interval$); + } + } +} diff --git a/src/app/routes/passport/login3/login3.component.html b/src/app/routes/passport/login3/login3.component.html new file mode 100644 index 00000000..3ec68a6e --- /dev/null +++ b/src/app/routes/passport/login3/login3.component.html @@ -0,0 +1,51 @@ + +
    +
    +
    + +

    注册

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    \ No newline at end of file diff --git a/src/app/routes/passport/login3/login3.component.less b/src/app/routes/passport/login3/login3.component.less new file mode 100644 index 00000000..63bf91c6 --- /dev/null +++ b/src/app/routes/passport/login3/login3.component.less @@ -0,0 +1,13 @@ +@import '~@delon/theme/index'; + +:host ::ng-deep { + .pro-passport { + &__form { + position: relative; + max-width: 380px; + margin: 48px auto 0 auto; + background: #fff; + border-radius: 4px; + } + } +} diff --git a/src/app/routes/passport/login3/login3.component.ts b/src/app/routes/passport/login3/login3.component.ts new file mode 100644 index 00000000..641e079c --- /dev/null +++ b/src/app/routes/passport/login3/login3.component.ts @@ -0,0 +1,78 @@ +import { Component, OnDestroy } from '@angular/core'; +import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { _HttpClient } from '@delon/theme'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: 'passport-login3', + templateUrl: './login3.component.html', + styleUrls: ['./login3.component.less'], + host: { + '[class.ant-row]': 'true', + '[class.pro-passport]': 'true' + } +}) +export class UserLogin3Component implements OnDestroy { + form: FormGroup; + error = ''; + + constructor(fb: FormBuilder, private router: Router, private msg: NzMessageService, public http: _HttpClient) { + this.form = fb.group({ + mobilePrefix: ['+86'], + mobile: [null, [Validators.required, Validators.pattern(/^1\d{10}$/)]], + captcha: [null, [Validators.required]], + password: [null, [Validators.required, Validators.minLength(6)]] + }); + } + + // #region fields + + get password(): AbstractControl { + return this.form.controls.password; + } + get mobile(): AbstractControl { + return this.form.controls.mobile; + } + get captcha(): AbstractControl { + return this.form.controls.captcha; + } + + // #endregion + + // #region get captcha + + count = 0; + interval$: any; + + getCaptcha(): void { + if (this.mobile.invalid) { + this.mobile.markAsDirty({ onlySelf: true }); + this.mobile.updateValueAndValidity({ onlySelf: true }); + return; + } + this.count = 59; + this.interval$ = setInterval(() => { + this.count -= 1; + if (this.count <= 0) { + clearInterval(this.interval$); + } + }, 1000); + } + + // #endregion + + submit(): void { + this.error = ''; + const data = this.form.value; + this.http.post('/register', data).subscribe(() => { + this.router.navigate(['passport', 'register-result'], { queryParams: { email: data.mail } }); + }); + } + + ngOnDestroy(): void { + if (this.interval$) { + clearInterval(this.interval$); + } + } +} diff --git a/src/app/routes/passport/passport-routing.module.ts b/src/app/routes/passport/passport-routing.module.ts new file mode 100644 index 00000000..ba8032bd --- /dev/null +++ b/src/app/routes/passport/passport-routing.module.ts @@ -0,0 +1,51 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +import { LayoutPassportComponent } from '../../layout/passport/passport.component'; +import { CallbackComponent } from './callback.component'; +import { UserLockComponent } from './lock/lock.component'; +import { UserLoginComponent } from './login/login.component'; +import { UserLogin2Component } from './login2/login2.component'; +import { UserLogin3Component } from './login3/login3.component'; +import { UserRegisterResultComponent } from './register-result/register-result.component'; +import { UserRegisterComponent } from './register/register.component'; + +const routes: Routes = [ + // passport + { + path: 'passport', + component: LayoutPassportComponent, + children: [ + { + path: 'login', + component: UserLoginComponent, + data: { title: '登录' } + }, + { + path: 'register', + component: UserRegisterComponent, + data: { title: '注册' } + }, + { + path: 'register-result', + component: UserRegisterResultComponent, + data: { title: '注册结果' } + }, + { + path: 'lock', + component: UserLockComponent, + data: { title: '锁屏' } + } + ] + }, + // 单页不包裹Layout + { path: 'login2', component: UserLogin2Component }, + { path: 'login3', component: UserLogin3Component }, + { path: 'passport/callback/:type', component: CallbackComponent } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class PassportRoutingModule {} diff --git a/src/app/routes/passport/passport.module.ts b/src/app/routes/passport/passport.module.ts new file mode 100644 index 00000000..964929bc --- /dev/null +++ b/src/app/routes/passport/passport.module.ts @@ -0,0 +1,67 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { ResultModule } from '@delon/abc/result'; +import { SEModule } from '@delon/abc/se'; +import { AlainThemeModule } from '@delon/theme'; +import { NzAlertModule } from 'ng-zorro-antd/alert'; +import { NzAvatarModule } from 'ng-zorro-antd/avatar'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzCheckboxModule } from 'ng-zorro-antd/checkbox'; +import { NzFormModule } from 'ng-zorro-antd/form'; +import { NzGridModule } from 'ng-zorro-antd/grid'; +import { NzIconModule } from 'ng-zorro-antd/icon'; +import { NzInputModule } from 'ng-zorro-antd/input'; +import { NzPopoverModule } from 'ng-zorro-antd/popover'; +import { NzProgressModule } from 'ng-zorro-antd/progress'; +import { NzSelectModule } from 'ng-zorro-antd/select'; +import { NzTabsModule } from 'ng-zorro-antd/tabs'; +import { NzToolTipModule } from 'ng-zorro-antd/tooltip'; + +import { CallbackComponent } from './callback.component'; +import { UserLockComponent } from './lock/lock.component'; +import { UserLoginComponent } from './login/login.component'; +import { UserLogin2Component } from './login2/login2.component'; +import { UserLogin3Component } from './login3/login3.component'; +import { PassportRoutingModule } from './passport-routing.module'; +import { UserRegisterResultComponent } from './register-result/register-result.component'; +import { UserRegisterComponent } from './register/register.component'; + +const COMPONENTS = [ + // passport pages + UserLoginComponent, + UserRegisterComponent, + UserRegisterResultComponent, + UserLockComponent, + // single pages + UserLogin2Component, + UserLogin3Component, + CallbackComponent +]; + +@NgModule({ + imports: [ + PassportRoutingModule, + CommonModule, + FormsModule, + ReactiveFormsModule, + AlainThemeModule.forChild(), + NzTabsModule, + NzAlertModule, + NzFormModule, + NzGridModule, + NzInputModule, + NzSelectModule, + NzButtonModule, + NzCheckboxModule, + NzIconModule, + NzToolTipModule, + NzPopoverModule, + NzProgressModule, + NzAvatarModule, + SEModule, + ResultModule + ], + declarations: COMPONENTS +}) +export class PassportModule {} diff --git a/src/app/routes/passport/register-result/register-result.component.html b/src/app/routes/passport/register-result/register-result.component.html new file mode 100644 index 00000000..1d637c6a --- /dev/null +++ b/src/app/routes/passport/register-result/register-result.component.html @@ -0,0 +1,13 @@ + + +
    + 你的账户:{{params?.email}} 注册成功 +
    +
    + + +
    \ No newline at end of file diff --git a/src/app/routes/passport/register-result/register-result.component.ts b/src/app/routes/passport/register-result/register-result.component.ts new file mode 100644 index 00000000..a5a7cbc0 --- /dev/null +++ b/src/app/routes/passport/register-result/register-result.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { NzMessageService } from 'ng-zorro-antd/message'; + +@Component({ + selector: 'passport-register-result', + templateUrl: './register-result.component.html' +}) +export class UserRegisterResultComponent { + params = { email: '' }; + email = ''; + constructor(route: ActivatedRoute, public msg: NzMessageService) { + this.params.email = this.email = route.snapshot.queryParams.email || 'ng-alain@example.com'; + } +} diff --git a/src/app/routes/passport/register/register.component.html b/src/app/routes/passport/register/register.component.html new file mode 100644 index 00000000..61d3d43f --- /dev/null +++ b/src/app/routes/passport/register/register.component.html @@ -0,0 +1,89 @@ +

    注册

    +
    + + + + + + + + 请输入邮箱地址! + 邮箱地址格式错误! + + + + + + + + + +
    + +
    强度:强
    +
    强度:中
    +
    强度:太短
    +
    +
    + +
    +

    请至少输入 6 个字符。请不要使用容易被猜到的密码。

    +
    +
    +
    +
    + + + + + + + 请确认密码! + 两次输入的密码不匹配! + + + + + + + + + + + + + + + + 请输入手机号! + 手机号格式错误! + + + + + + + + + + + + + + + + + + + + + +
    \ No newline at end of file diff --git a/src/app/routes/passport/register/register.component.less b/src/app/routes/passport/register/register.component.less new file mode 100644 index 00000000..6836413b --- /dev/null +++ b/src/app/routes/passport/register/register.component.less @@ -0,0 +1,42 @@ +@import '~@delon/theme/index'; +:host { + display: block; + width: 368px; + margin: 0 auto; + ::ng-deep { + h3 { + margin-bottom: 20px; + font-size: 16px; + } + .submit { + width: 50%; + } + .login { + float: right; + line-height: @btn-height-lg; + } + } +} +::ng-deep { + .register-password-cdk { + .success, + .warning, + .error { + transition: color 0.3s; + } + .success { + color: @success-color; + } + .warning { + color: @warning-color; + } + .error { + color: @error-color; + } + .progress-pass > .progress { + .ant-progress-bg { + background-color: @warning-color; + } + } + } +} diff --git a/src/app/routes/passport/register/register.component.ts b/src/app/routes/passport/register/register.component.ts new file mode 100644 index 00000000..701f05d0 --- /dev/null +++ b/src/app/routes/passport/register/register.component.ts @@ -0,0 +1,139 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy } from '@angular/core'; +import { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; +import { Router } from '@angular/router'; +import { _HttpClient } from '@delon/theme'; +import { MatchControl } from '@delon/util/form'; +import { NzSafeAny } from 'ng-zorro-antd/core/types'; +import { finalize } from 'rxjs/operators'; + +@Component({ + selector: 'passport-register', + templateUrl: './register.component.html', + styleUrls: ['./register.component.less'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class UserRegisterComponent implements OnDestroy { + constructor(fb: FormBuilder, private router: Router, private http: _HttpClient, private cdr: ChangeDetectorRef) { + this.form = fb.group( + { + mail: [null, [Validators.required, Validators.email]], + password: [null, [Validators.required, Validators.minLength(6), UserRegisterComponent.checkPassword.bind(this)]], + confirm: [null, [Validators.required, Validators.minLength(6)]], + mobilePrefix: ['+86'], + mobile: [null, [Validators.required, Validators.pattern(/^1\d{10}$/)]], + captcha: [null, [Validators.required]] + }, + { + validators: MatchControl('password', 'confirm') + } + ); + } + + // #region fields + + get mail(): AbstractControl { + return this.form.controls.mail; + } + get password(): AbstractControl { + return this.form.controls.password; + } + get confirm(): AbstractControl { + return this.form.controls.confirm; + } + get mobile(): AbstractControl { + return this.form.controls.mobile; + } + get captcha(): AbstractControl { + return this.form.controls.captcha; + } + form: FormGroup; + error = ''; + type = 0; + loading = false; + visible = false; + status = 'pool'; + progress = 0; + passwordProgressMap: { [key: string]: 'success' | 'normal' | 'exception' } = { + ok: 'success', + pass: 'normal', + pool: 'exception' + }; + + // #endregion + + // #region get captcha + + count = 0; + interval$: any; + + static checkPassword(control: FormControl): NzSafeAny { + if (!control) { + return null; + } + // eslint-disable-next-line @typescript-eslint/no-this-alias + const self: any = this; + self.visible = !!control.value; + if (control.value && control.value.length > 9) { + self.status = 'ok'; + } else if (control.value && control.value.length > 5) { + self.status = 'pass'; + } else { + self.status = 'pool'; + } + + if (self.visible) { + self.progress = control.value.length * 10 > 100 ? 100 : control.value.length * 10; + } + } + + getCaptcha(): void { + if (this.mobile.invalid) { + this.mobile.markAsDirty({ onlySelf: true }); + this.mobile.updateValueAndValidity({ onlySelf: true }); + return; + } + this.count = 59; + this.cdr.detectChanges(); + this.interval$ = setInterval(() => { + this.count -= 1; + this.cdr.detectChanges(); + if (this.count <= 0) { + clearInterval(this.interval$); + } + }, 1000); + } + + // #endregion + + submit(): void { + this.error = ''; + Object.keys(this.form.controls).forEach(key => { + this.form.controls[key].markAsDirty(); + this.form.controls[key].updateValueAndValidity(); + }); + if (this.form.invalid) { + return; + } + + const data = this.form.value; + this.loading = true; + this.cdr.detectChanges(); + this.http + .post('/register?_allow_anonymous=true', data) + .pipe( + finalize(() => { + this.loading = false; + this.cdr.detectChanges(); + }) + ) + .subscribe(() => { + this.router.navigate(['passport', 'register-result'], { queryParams: { email: data.mail } }); + }); + } + + ngOnDestroy(): void { + if (this.interval$) { + clearInterval(this.interval$); + } + } +} diff --git a/src/app/routes/routes-routing.module.ts b/src/app/routes/routes-routing.module.ts new file mode 100644 index 00000000..0f1254e9 --- /dev/null +++ b/src/app/routes/routes-routing.module.ts @@ -0,0 +1,36 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +// layout +import { LayoutProComponent } from '@brand'; +import { environment } from '@env/environment'; +// dashboard pages +import { DashboardComponent } from './dashboard/dashboard.component'; + +const routes: Routes = [ + { + path: '', + component: LayoutProComponent, + children: [ + { path: '', redirectTo: 'dashboard', pathMatch: 'full' }, + { path: 'dashboard', component: DashboardComponent }, + ], + }, + // passport + { path: '', loadChildren: () => import('./passport/passport.module').then((m) => m.PassportModule) }, + { path: 'exception', loadChildren: () => import('./exception/exception.module').then((m) => m.ExceptionModule) }, + // 单页不包裹Layout + { path: '**', redirectTo: 'exception/404' }, +]; + +@NgModule({ + imports: [ + RouterModule.forRoot(routes, { + useHash: environment.useHash, + // NOTICE: If you use `reuse-tab` component and turn on keepingScroll you can set to `disabled` + // Pls refer to https://ng-alain.com/components/reuse-tab + scrollPositionRestoration: 'top', + }), + ], + exports: [RouterModule], +}) +export class RouteRoutingModule {} diff --git a/src/app/routes/routes.module.ts b/src/app/routes/routes.module.ts new file mode 100644 index 00000000..4bb976fa --- /dev/null +++ b/src/app/routes/routes.module.ts @@ -0,0 +1,16 @@ +import { NgModule, Type } from '@angular/core'; + +import { SharedModule } from '@shared'; +// dashboard pages +import { DashboardComponent } from './dashboard/dashboard.component'; +import { RouteRoutingModule } from './routes-routing.module'; + +const COMPONENTS: Type[] = [DashboardComponent]; +const COMPONENTS_NOROUNT: Type[] = []; + +@NgModule({ + imports: [SharedModule, RouteRoutingModule], + declarations: [...COMPONENTS, ...COMPONENTS_NOROUNT], + entryComponents: COMPONENTS_NOROUNT, +}) +export class RoutesModule {} diff --git a/src/app/shared/README.md b/src/app/shared/README.md new file mode 100644 index 00000000..2819b60c --- /dev/null +++ b/src/app/shared/README.md @@ -0,0 +1,30 @@ +# ShareModule + +**应** 包含定义: + ++ 应用通用自定义业务组件 + +**应** 导出所有包含的模块。 + +**不应** 有 `providers` 属性。 + +## 自定义全局组件或指令 + +每一个组件或指令应该有一个完整的说明文件,**建议**一个合理的目录结构应该是: + +``` +├── components +│   ├── comp1 +│   │   ├── index.ts +│   │   ├── README.md +│   ├── comp2 +│   │   ├── index.ts +│   │   ├── README.md +├── directives +│   ├── dire1 +│   │   ├── index.ts +│   │   ├── README.md +│   ├── dire2 +│   │   ├── index.ts +│   │   ├── README.md +``` diff --git a/src/app/shared/components/address/address.component.html b/src/app/shared/components/address/address.component.html new file mode 100644 index 00000000..70f0fb82 --- /dev/null +++ b/src/app/shared/components/address/address.component.html @@ -0,0 +1,16 @@ + diff --git a/src/app/shared/components/address/address.component.ts b/src/app/shared/components/address/address.component.ts new file mode 100644 index 00000000..6800e8bb --- /dev/null +++ b/src/app/shared/components/address/address.component.ts @@ -0,0 +1,84 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Input, OnInit } from '@angular/core'; +import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; +import { BooleanInput, InputBoolean } from '@delon/util'; +import { + NzCascaderExpandTrigger, + NzCascaderOption, + NzCascaderSize, + NzCascaderTriggerType, + NzShowSearchOptions +} from 'ng-zorro-antd/cascader'; + +import { AddressService, AddressType } from './address.service'; + +@Component({ + selector: 'address', + templateUrl: './address.component.html', + providers: [ + { + provide: NG_VALUE_ACCESSOR, + useExisting: forwardRef(() => AddressComponent), + multi: true + } + ], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class AddressComponent implements OnInit, ControlValueAccessor { + static ngAcceptInputType_allowClear: BooleanInput; + static ngAcceptInputType_autoFocus: BooleanInput; + static ngAcceptInputType_disabled: BooleanInput; + + private onChangeFn?: (val: string) => void; + private onTouchedFn?: () => void; + value: string[] = []; + data?: NzCascaderOption[]; + + // #region fields + + @Input() type: AddressType = 'pca'; + + // Original attributes + @Input() @InputBoolean() allowClear = true; + @Input() @InputBoolean() autoFocus = false; + @Input() @InputBoolean() disabled = false; + @Input() expandTrigger: NzCascaderExpandTrigger = 'click'; + @Input() notFoundContent?: string; + @Input() size: NzCascaderSize = 'default'; + @Input() showSearch!: boolean | NzShowSearchOptions; + @Input() placeHolder = '请选择所在地'; + @Input() mouseEnterDelay = 150; // ms + @Input() mouseLeaveDelay = 150; // ms + @Input() triggerAction: NzCascaderTriggerType | NzCascaderTriggerType[] = ['click'] as NzCascaderTriggerType[]; + + // #endregion + + constructor(private srv: AddressService, private cdr: ChangeDetectorRef) {} + + change(): void { + this.onChangeFn!(this.value.pop()!); + } + + ngOnInit(): void { + this.srv[this.type].subscribe(res => { + this.data = res; + this.cdr.markForCheck(); + }); + } + + writeValue(geo: string): void { + if (geo == null) { + this.value = []; + return; + } + this.value = this.srv.toValueArr(geo, this.type); + } + registerOnChange(fn: any): void { + this.onChangeFn = fn; + } + registerOnTouched(fn: any): void { + this.onTouchedFn = fn; + } + setDisabledState?(isDisabled: boolean): void { + this.disabled = isDisabled; + } +} diff --git a/src/app/shared/components/address/address.module.ts b/src/app/shared/components/address/address.module.ts new file mode 100644 index 00000000..e69c1506 --- /dev/null +++ b/src/app/shared/components/address/address.module.ts @@ -0,0 +1,15 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { NzCascaderModule } from 'ng-zorro-antd/cascader'; + +import { AddressComponent } from './address.component'; + +const COMPONENTS = [AddressComponent]; + +@NgModule({ + imports: [CommonModule, FormsModule, NzCascaderModule], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class AddressModule {} diff --git a/src/app/shared/components/address/address.service.ts b/src/app/shared/components/address/address.service.ts new file mode 100644 index 00000000..27e11a82 --- /dev/null +++ b/src/app/shared/components/address/address.service.ts @@ -0,0 +1,79 @@ +import { Injectable } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { ArrayService } from '@delon/util'; +import { NzCascaderOption } from 'ng-zorro-antd/cascader'; +import { Observable, of } from 'rxjs'; +import { map } from 'rxjs/operators'; + +export interface PCCode { + code?: string; + name?: string; + value?: string; + label?: string; + isLeaf?: boolean; + children?: PCCode[]; +} + +export type AddressType = 'pc' | 'pca'; +const MAXLENGTH = 6; + +@Injectable({ providedIn: 'root' }) +export class AddressService { + private _pcCode?: NzCascaderOption[]; + private _pcaCode?: NzCascaderOption[]; + + /** + * “省份、城市” 二级联动数据,数据来源于 [pc-code.json](https://github.com/modood/Administrative-divisions-of-China/blob/master/dist/pc-code.json) + */ + get pc(): Observable { + return this._pcCode ? of(this._pcCode) : this.getPcCode(); + } + + /** + * “省份、城市、区县” 三级联动数据,数据来源于 [pc-code.json](https://github.com/modood/Administrative-divisions-of-China/blob/master/dist/pca-code.json) + */ + get pca(): Observable { + return this._pcaCode ? of(this._pcaCode) : this.getPcaCode(); + } + + constructor(private http: _HttpClient, private arrSrv: ArrayService) {} + + /** + * 始终保持 6 位数,不足补 `0` + */ + fixValue(val: string): string { + return `${val}000000`.substr(0, MAXLENGTH); + } + + toValueArr(val: string, type: AddressType): string[] { + val = this.fixValue(val); + const res: string[] = []; + if (type === 'pc') { + res.push(val.substr(0, 2), val); + } else { + for (let i = 0; i < MAXLENGTH; i += 2) { + res.push(val.substr(0, i + 2)); + } + } + return res.map(this.fixValue); + } + + private map = (res: PCCode[]): NzCascaderOption[] => { + this.arrSrv.visitTree(res, (item: PCCode) => { + item.value = this.fixValue(item.code!); + item.label = item.name; + if (!item.children) { + item.isLeaf = true; + } + }); + return res; + }; + + private getPcCode(): Observable { + return this.http.get('./assets/tmp/pc-code.json').pipe(map(this.map)); + } + + private getPcaCode(): Observable { + return this.http.get('./assets/tmp/pca-code.json').pipe(map(this.map)); + } +} diff --git a/src/app/shared/components/address/index.en-US.md b/src/app/shared/components/address/index.en-US.md new file mode 100644 index 00000000..aebdbca4 --- /dev/null +++ b/src/app/shared/components/address/index.en-US.md @@ -0,0 +1,26 @@ +--- +order: 110 +title: address +type: Component +--- + +China address picker, support two styles of “province, city” or “province, city, district”, refer to the account management example. + +## API + +| Property | Description | Type | Default | +|----------|----|----------|--------| +| `[ngModel]` | selected value, return the city or district code | `string` | - | +| `[type]` | Type of address | `pc,pca` | `pca` | +| `[allowClear]` | whether allow clear | `boolean` | `true` | +| `[autoFocus]` | whether auto focus the input box | `boolean` | `false` | +| `[disabled]` | whether disabled select | `boolean` | `false` | +| `[expandTrigger]` | expand current item when click or hover, one of 'click' 'hover' | `'click'|'hover'` | `'click'` | +| `[notFoundContent]` | Specify content to show when no result matches. | `string` | - | +| `[placeHolder]` | input placeholder | `string` | `'请选择所在地'` | +| `[showSearch]` | Whether support search. Cannot be used with `[nzLoadData]` at the same time | `boolean|NzShowSearchOptions` | `false` | +| `[size]` | input size, one of `large` `default` `small` | `'large'|'small'|'default'` | `'default'` | + +## sf widget + +Widget name: `address`. \ No newline at end of file diff --git a/src/app/shared/components/address/index.ts b/src/app/shared/components/address/index.ts new file mode 100644 index 00000000..912a8f05 --- /dev/null +++ b/src/app/shared/components/address/index.ts @@ -0,0 +1,3 @@ +export * from './address.service'; +export * from './address.component'; +export * from './address.module'; diff --git a/src/app/shared/components/address/index.zh-CN.md b/src/app/shared/components/address/index.zh-CN.md new file mode 100644 index 00000000..467f93a5 --- /dev/null +++ b/src/app/shared/components/address/index.zh-CN.md @@ -0,0 +1,26 @@ +--- +order: 110 +title: address +type: Component +--- + +地址选择器,支持“省份、城市”或“省份、城市、区县”两种风格,参考账号管理示例。 + +## API + +| 参数 | 说明 | 类型 | 默认值 | +|----------|----|----------|--------| +| `[ngModel]` | 指定选中项,返回城市或区县代码 | `string` | - | +| `[type]` | 类型 | `pc,pca` | `pca` | +| `[allowClear]` | 是否支持清除 | `boolean` | `true` | +| `[autoFocus]` | 是否自动聚焦,当存在输入框时 | `boolean` | `false` | +| `[disabled]` | 禁用 | `boolean` | `false` | +| `[expandTrigger]` | 次级菜单的展开方式,可选 'click' 和 'hover' | `'click'|'hover'` | `'click'` | +| `[notFoundContent]` | 当下拉列表为空时显示的内容 | `string` | - | +| `[placeHolder]` | 输入框占位文本 | `string` | `'请选择所在地'` | +| `[showSearch]` | 是否支持搜索,默认情况下对 `label` 进行全匹配搜索,不能和 `[nzLoadData]` 同时使用 | `boolean|NzShowSearchOptions` | `false` | +| `[size]` | 输入框大小,可选 `large` `default` `small` | `'large'|'small'|'default'` | `'default'` | + +## sf 小部件 + +小部件名称:`address`。 diff --git a/src/app/shared/components/captcha/captcha.component.html b/src/app/shared/components/captcha/captcha.component.html new file mode 100644 index 00000000..1481b593 --- /dev/null +++ b/src/app/shared/components/captcha/captcha.component.html @@ -0,0 +1 @@ +
    diff --git a/src/app/shared/components/captcha/captcha.component.less b/src/app/shared/components/captcha/captcha.component.less new file mode 100644 index 00000000..0aaacbb6 --- /dev/null +++ b/src/app/shared/components/captcha/captcha.component.less @@ -0,0 +1,6 @@ +:host { + ::ng-deep { + .captcha-box { + } + } +} diff --git a/src/app/shared/components/captcha/captcha.component.ts b/src/app/shared/components/captcha/captcha.component.ts new file mode 100644 index 00000000..ce1e8adb --- /dev/null +++ b/src/app/shared/components/captcha/captcha.component.ts @@ -0,0 +1,79 @@ +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { keysConf } from '@conf/keys.conf'; +import { Subject } from 'rxjs'; +import { EACaptchaService } from '../../services'; +import { initNECaptchaWithFallback } from './dun'; +@Component({ + selector: 'app-captcha', + templateUrl: './captcha.component.html', + styleUrls: ['./captcha.component.less'], +}) +export class CaptchaComponent implements OnInit { + @Input() phone!: string; // 手机号 + @Input() url!: string; // api地址 + @Output() done = new EventEmitter(); + captchaIns: any; + + initSubject = new Subject(); + + constructor(public captchaService: EACaptchaService) {} + + ngOnInit() {} + + init() { + const _this = this; + if (this.captchaIns) { + return this.initSubject; + } + + initNECaptchaWithFallback( + { + element: '#captcha', + captchaId: keysConf.yidun_capcha_id, + mode: 'popup', + width: '320px', + onClose: () => { + // 弹出关闭结束后将会触发该函数 + }, + onVerify: (err: any, data: any) => { + // console.log('🚀 ~ init ~ data', data); + if (data?.validate) { + // 验证通过,获取验证码 + _this.captchaDone(data?.validate); + } + }, + }, + (instance: any) => { + // console.log('🚀 ~ initCaptcha ~ instance', instance); + // 初始化成功后得到验证实例instance,可以调用实例的方法 + _this.captchaIns = instance; + this.initSubject.next(_this.captchaIns); + }, + (err: any) => { + // 初始化失败后触发该函数,err对象描述当前错误信息 + }, + ); + + return this.initSubject; + } + /* 网易盾验证通过 */ + captchaDone(validate: any) { + this.captchaService.getCaptchaByDun(this.phone, validate, this.url || undefined).subscribe((res: any) => { + // console.log('🚀 ~ 验证通过发送验证码=>', res); + if (res) { + this.captchaService.msgSrv.success('验证码发送成功!'); + this.done.emit(null); + } else { + this.captchaService.msgSrv.warning(res.msg); + } + }); + } + popUp() { + console.log(222222222222222222222222222222222222222); + if (!this.captchaIns) { + this.init(); + } + this.captchaIns.refresh(); + this.captchaIns.popUp(); + } +} diff --git a/src/app/shared/components/captcha/dun.helper.ts b/src/app/shared/components/captcha/dun.helper.ts new file mode 100644 index 00000000..4e3cb70b --- /dev/null +++ b/src/app/shared/components/captcha/dun.helper.ts @@ -0,0 +1,84 @@ +import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay'; +import { ComponentPortal } from '@angular/cdk/portal'; +import { ComponentRef, Injectable } from '@angular/core'; +import { Observable, Subject } from 'rxjs'; +import { CaptchaComponent } from './captcha.component'; + +@Injectable({ + providedIn: 'root', +}) +export class DunHelper { + captchacontainerRef!: ComponentRef; + userInfo; + + constructor(private overlay: Overlay) { + this.userInfo = JSON.parse(localStorage.getItem('user') || ''); + } + + /** + * 组件初始化 + * @param phone 手机号 + * @param url 发送验证码请求地址 + */ + init(phone: string, url?: string): Subject { + const overlayRef = this.createOverlay(); + const containerPortal = new ComponentPortal(CaptchaComponent); + this.captchacontainerRef = overlayRef.attach(containerPortal); + this.captchacontainerRef.instance.phone = phone; + this.captchacontainerRef.instance.url = url || ''; + return this.captchacontainerRef.instance.init(); + } + + /** + * 弹出滑块验证 + * @param phone 手机号 + * @param url 发送验证码请求地址 + */ + popUp(phone?: string, url?: string): Observable { + if (this.captchacontainerRef) { + this.destory(); + } + + this.init(phone || this.userInfo?.phone, url).subscribe((instance) => { + if (instance) { + this.captchacontainerRef.instance.popUp(); + } + }); + + /* if (!this.captchacontainerRef) { + this.init(phone || this.userInfo?.phone, url).subscribe(instance => { + if (instance) { + this.captchacontainerRef.instance.popUp(); + } + }); + } else { + if (!!phone && !!url) { + this.init(phone || this.userInfo?.phone, url).subscribe(instance => { + if (instance) { + this.captchacontainerRef.instance.popUp(); + } + }); + } else { + this.captchacontainerRef.instance.popUp(); + } + } */ + return this.captchacontainerRef.instance.done; + } + + /** 组件销毁 */ + destory() { + this.captchacontainerRef.destroy(); + } + + private createOverlay(): OverlayRef { + const overlayConfig = new OverlayConfig({ + hasBackdrop: false, + scrollStrategy: this.overlay.scrollStrategies.block(), + positionStrategy: this.overlay.position().global(), + backdropClass: 'captcha-back-drop', + panelClass: 'captcha-overlay', + }); + + return this.overlay.create(overlayConfig); + } +} diff --git a/src/app/shared/components/captcha/dun.ts b/src/app/shared/components/captcha/dun.ts new file mode 100644 index 00000000..ca5e2fd6 --- /dev/null +++ b/src/app/shared/components/captcha/dun.ts @@ -0,0 +1,353 @@ +/* eslint-disable no-undef */ +let errorCallbackCount: any = 0; + +// 常量 +const DEFAULT_VALIDATE = + 'QjGAuvoHrcpuxlbw7cp4WnIbbjzG4rtSlpc7EDovNHQS._ujzPZpeCInSxIT4WunuDDh8dRZYF2GbBGWyHlC6q5uEi9x-TXT9j7J705vSsBXyTar7aqFYyUltKYJ7f4Y2TXm_1Mn6HFkb4M7URQ_rWtpxQ5D6hCgNJYC0HpRE7.2sttqYKLoi7yP1KHzK-PptdHHkVwb77cwS2EJW7Mj_PsOtnPBubTmTZLpnRECJR99dWTVC11xYG0sx8dJNLUxUFxEyzTfX4nSmQz_T5sXATRKHtVAz7nmV0De5unmflfAlUwMGKlCT1khBtewlgN5nHvyxeD8Z1_fPVzi9oznl-sbegj6lKfCWezmLcwft8.4yaVh6SlzXJq-FnSK.euq9OBd5jYc82ge2_hEca1fGU--SkPRzgwkzew4O4qjdS2utdPwFONnhKAIMJRPUmCV4lPHG1OeRDvyNV8sCnuFMw7leasxIhPoycl4pm5bNy70Z1laozEGJgItVNr3'; // 默认validate +const FALLBACK_LANG: any = { + 'zh-CN': '前方拥堵,已自动跳过验证', + en: 'captcha error,Verified automatically', +}; +const CACHE_MIN = 1000 * 60; // 缓存时长单位,1分钟 +const REQUEST_SCRIPT_ERROR = 502; + +const RESOURCE_CACHE: any = {}; + +// 工具函数 +function loadScript(src: any, cb: any) { + const head: any = document.head || document.getElementsByTagName('head')[0]; + const script: any = document.createElement('script'); + + cb = cb || function () {}; + + script.type = 'text/javascript'; + script.charset = 'utf8'; + script.async = true; + script.src = src; + + if (!('onload' in script)) { + script.onreadystatechange = function () { + if (this.readyState !== 'complete' && this.readyState !== 'loaded') { + return; + } + this.onreadystatechange = null; + cb(null, script); // there is no way to catch loading errors in IE8 + }; + } + + script.onload = function () { + this.onerror = this.onload = null; + cb(null, script); + }; + script.onerror = function () { + // because even IE9 works not like others + this.onerror = this.onload = null; + cb(new Error('Failed to load ' + this.src), script); + }; + + head.appendChild(script); +} + +function joinUrl(protocol: any, host: any, path: any) { + protocol = protocol || ''; + host = host || ''; + path = path || ''; + if (protocol) { + protocol = protocol.replace(/:?\/{0,2}$/, '://'); + } + if (host) { + const matched = host.match(/^([-0-9a-zA-Z.:]*)(\/.*)?/); + host = matched[1]; + path = (matched[2] || '') + '/' + path; + } + !host && (protocol = ''); + + return protocol + host + path; +} + +function setDomText(el: any, value: any) { + if (value === undefined) { + return; + } + const nodeType = el.nodeType; + if (nodeType === 1 || nodeType === 11 || nodeType === 9) { + if (typeof el.textContent === 'string') { + el.textContent = value; + } else { + el.innerText = value; + } + } +} + +function queryAllByClassName(selector: any, node: any) { + node = node || document; + if (node.querySelectorAll) { + return node.querySelectorAll(selector); + } + if (!/^\.[^.]+$/.test(selector)) { + return []; + } + if (node.getElementsByClassName) { + return node.getElementsByClassName(selector); + } + + const children = node.getElementsByTagName('*'); + let current; + const result = []; + const className = selector.slice(1); + for (let i = 0, l = children.length; i < l; i++) { + current = children[i]; + if (~(' ' + current.className + ' ').indexOf(' ' + className + ' ')) { + result.push(current); + } + } + return result; +} + +function assert(condition: any, msg: any) { + if (!condition) { + throw new Error('[NECaptcha] ' + msg); + } +} + +function isInteger(val: any) { + if (Number.isInteger) { + return Number.isInteger(val); + } + return typeof val === 'number' && isFinite(val) && Math.floor(val) === val; +} + +function isArray(val: any) { + if (Array.isArray) { + return Array.isArray(val); + } + return Object.prototype.toString.call(val) === '[object Array]'; +} + +function ObjectAssign(a: any, b: any, c: any) { + if (Object.assign) { + // return Object.assign.apply(null, arguments); + return Object.assign.apply(null, arguments as any); + } + + const target: any = {}; + for (let index = 1; index < arguments.length; index++) { + const source = arguments[index]; + if (source != null) { + for (const key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + } + return target; +} + +function getTimestamp(msec: any) { + msec = !msec && msec !== 0 ? msec : 1; + return parseInt((new Date().valueOf() / msec).toString(), 10); +} + +// 降级方案 +function normalizeFallbackConfig(customConfig: any) { + const siteProtocol = window.location.protocol.replace(':', ''); + const defaultConf: any = { + protocol: siteProtocol === 'http' ? 'http' : 'https', + lang: 'zh-CN', + errorFallbackCount: 3, + }; + const config: any = ObjectAssign({}, defaultConf, customConfig); + + const errorFallbackCount: any = config.errorFallbackCount; + assert( + errorFallbackCount === undefined || (isInteger(errorFallbackCount) && errorFallbackCount >= 1), + "errorFallbackCount must be an integer, and it's value greater than or equal one", + ); + + return config; +} + +function loadResource(config: any, cb: any) { + if ((window as any).initNECaptcha) { + return cb(null); + } + function genUrl(server: any) { + const path = 'load.min.js'; + let _urls = []; + if (isArray(server)) { + for (let i = 0, len = server.length; i < len; i++) { + _urls.push(joinUrl(config.protocol, server[i], path)); + } + } else { + const url = joinUrl(config.protocol, server, path); + _urls = [url, url]; + } + + return _urls; + } + const urls = genUrl(config.staticServer || ['cstaticdun.126.net', 'cstaticdun1.126.net', 'cstatic.dun.163yun.com']); + + function step(i: any) { + const url = urls[i] + '?v=' + getTimestamp(CACHE_MIN); + loadScript(url, function (err: any) { + if (err || !(window as any).initNECaptcha) { + // loadjs的全局变量 + i = i + 1; + if (i === urls.length) { + return cb(new Error('Failed to load script(' + url + ').' + (err ? err.message : 'unreliable script'))); + } + return step(i); + } + return cb(null); + }); + } + step(0); +} + +/* + * entry: initNECaptchaWithFallback + * options: + * errorFallbackCount: 触发降级的错误次数,默认第三次错误降级 + * defaultFallback: 是否开启默认降级 + * onFallback: 自定义降级方案,参数为默认validate + */ +export function initNECaptchaWithFallback(options: any, onload: any, onerror: any) { + let captchaIns: any = null; + + const config = normalizeFallbackConfig(options); + const defaultFallback = config.defaultFallback !== false; + const langPkg = FALLBACK_LANG[config.lang === 'zh-CN' ? config.lang : 'en']; + const storeKey = window.location.pathname + '_' + config.captchaId + '_NECAPTCHA_ERROR_COUNTS'; + try { + errorCallbackCount = parseInt(localStorage.getItem(storeKey)?.toString() || '0', 10); + } catch (error) {} + + const fallbackFn = !defaultFallback + ? config.onFallback || function () {} + : (validate: any) => { + function setFallbackTip(instance: any) { + if (!instance) { + return; + } + setFallbackTip(instance._captchaIns); + if (!instance.$el) { + return; + } + const tipEles = queryAllByClassName('.yidun-fallback__tip', instance.$el); + if (!tipEles.length) { + return; + } + + // 确保在队列的最后 + setTimeout(() => { + for (let i = 0, l = tipEles.length; i < l; i++) { + setDomText(tipEles[i], langPkg); + } + }, 0); + } + setFallbackTip(captchaIns); + + config.onVerify && config.onVerify(null, { validate: validate }); + }; + const noFallback = !defaultFallback && !config.onFallback; + + const proxyOnError = (error: any) => { + errorCallbackCount++; + if (errorCallbackCount < config.errorFallbackCount) { + try { + localStorage.setItem(storeKey, errorCallbackCount); + } catch (err) {} + + onerror(error); + } else { + fallbackFn(DEFAULT_VALIDATE); + proxyRefresh(); + noFallback && onerror(error); + } + }; + + const proxyRefresh = () => { + errorCallbackCount = 0; + try { + localStorage.setItem(storeKey, '0'); + } catch (err) {} + }; + + const triggerInitError = (error: any) => { + if (initialTimer && initialTimer.isError()) { + initialTimer.resetError(); + return; + } + initialTimer && initialTimer.resetTimer(); + noFallback ? onerror(error) : proxyOnError(error); + }; + + config.onError = (error: any) => { + if (initialTimer && initialTimer.isError()) { + initialTimer.resetError(); + } + proxyOnError(error); + }; + config.onDidRefresh = () => { + if (initialTimer && initialTimer.isError()) { + initialTimer.resetError(); + } + proxyRefresh(); + }; + + const initialTimer = options.initTimeoutError ? options.initTimeoutError(proxyOnError) : null; // initialTimer is only for mobile.html + + const loadResolve = () => { + (window as any).initNECaptcha( + config, + (instance: any) => { + if (initialTimer && initialTimer.isError()) { + return; + } + initialTimer && initialTimer.resetTimer(); + captchaIns = instance; + onload && onload(instance); + }, + triggerInitError, + ); + }; + const cacheId = 'load-queue'; + if (!RESOURCE_CACHE[cacheId]) { + RESOURCE_CACHE[cacheId] = { + rejects: [], + resolves: [], + status: 'error', + }; + } + if (RESOURCE_CACHE[cacheId].status === 'error') { + RESOURCE_CACHE[cacheId].status = 'pending'; + loadResource(config, (error: any) => { + if (error) { + const err: any = new Error(); + err.code = REQUEST_SCRIPT_ERROR; + err.message = config.staticServer + '/load.min.js error'; + + const rejects = RESOURCE_CACHE[cacheId].rejects; + for (let i = 0, iLen = rejects.length; i < iLen; i++) { + rejects.pop()(err); + } + RESOURCE_CACHE[cacheId].status = 'error'; + } else { + RESOURCE_CACHE[cacheId].status = 'done'; + const resolves = RESOURCE_CACHE[cacheId].resolves; + for (let j = 0, jLen = resolves.length; j < jLen; j++) { + resolves.pop()(); + } + } + }); + } else if (RESOURCE_CACHE[cacheId].status === 'done') { + loadResolve(); + } + if (RESOURCE_CACHE[cacheId].status === 'pending') { + RESOURCE_CACHE[cacheId].rejects.push(function loadReject(err: any) { + triggerInitError(err); + }); + RESOURCE_CACHE[cacheId].resolves.push(loadResolve); + } +} diff --git a/src/app/shared/components/captcha/index.ts b/src/app/shared/components/captcha/index.ts new file mode 100644 index 00000000..b2c67294 --- /dev/null +++ b/src/app/shared/components/captcha/index.ts @@ -0,0 +1,2 @@ +export * from './captcha.component'; +export * from './dun.helper'; diff --git a/src/app/shared/components/delay/delay.directive.ts b/src/app/shared/components/delay/delay.directive.ts new file mode 100644 index 00000000..cf6e25d6 --- /dev/null +++ b/src/app/shared/components/delay/delay.directive.ts @@ -0,0 +1,45 @@ +import { AfterViewInit, Directive, EventEmitter, Input, OnDestroy, Optional, Output } from '@angular/core'; +import { NgModel } from '@angular/forms'; +import { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util'; +import { Subscription } from 'rxjs'; +import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; + +@Directive({ + selector: '[delay]:not([noDelay])', + exportAs: 'delayComp' +}) +export class DelayDirective implements AfterViewInit, OnDestroy { + static ngAcceptInputType_delayTime: NumberInput; + static ngAcceptInputType_delayFirstEmit: BooleanInput; + + private data$: Subscription | undefined; + private firstEmit = false; + + @Input() @InputNumber() delayTime = 500; + @Input() @InputBoolean() delayFirstEmit = false; + @Output() readonly delayChange = new EventEmitter(); + + constructor(@Optional() private ngModel: NgModel) {} + + ngAfterViewInit(): void { + const { ngModel, delayFirstEmit, delayTime, delayChange } = this; + if (ngModel == null) { + return; + } + + this.firstEmit = delayFirstEmit; + this.data$ = ngModel.valueChanges?.pipe(debounceTime(delayTime), distinctUntilChanged()).subscribe(res => { + if (this.firstEmit === false) { + this.firstEmit = true; + return; + } + delayChange.emit(res); + }); + } + + ngOnDestroy(): void { + if (this.data$) { + this.data$.unsubscribe(); + } + } +} diff --git a/src/app/shared/components/delay/delay.module.ts b/src/app/shared/components/delay/delay.module.ts new file mode 100644 index 00000000..307a8d3f --- /dev/null +++ b/src/app/shared/components/delay/delay.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; + +import { DelayDirective } from './delay.directive'; + +const COMPONENTS = [DelayDirective]; + +@NgModule({ + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class DelayModule {} diff --git a/src/app/shared/components/delay/index.en-US.md b/src/app/shared/components/delay/index.en-US.md new file mode 100644 index 00000000..851475a5 --- /dev/null +++ b/src/app/shared/components/delay/index.en-US.md @@ -0,0 +1,19 @@ +--- +order: 30 +title: delay +type: Component +--- + +Delay trigger, for title search, [DEMO](https://preview.ng-alain.com/pro/#/other/article). + +```html + +``` + +## API + +| Property | Description | Type | Default | +|--------------------|----------------------------------------|---------------------|---------| +| `[delayTime]` | Delay time (unit: ms) | `number` | `500` | +| `[delayFirstEmit]` | Whether to trigger after `delayChange` | `boolean` | `false` | +| `(delayChange)` | Callback event | `EventEmitter` | - | diff --git a/src/app/shared/components/delay/index.ts b/src/app/shared/components/delay/index.ts new file mode 100644 index 00000000..9898c01b --- /dev/null +++ b/src/app/shared/components/delay/index.ts @@ -0,0 +1,2 @@ +export * from './delay.directive'; +export * from './delay.module'; diff --git a/src/app/shared/components/delay/index.zh-CN.md b/src/app/shared/components/delay/index.zh-CN.md new file mode 100644 index 00000000..426a4502 --- /dev/null +++ b/src/app/shared/components/delay/index.zh-CN.md @@ -0,0 +1,19 @@ +--- +order: 30 +title: delay +type: Component +--- + +延迟触发,适用于标题搜索,参考[示例](https://preview.ng-alain.com/pro/#/other/article)。 + +```html + +``` + +## API + +| 参数 | 说明 | 类型 | 默认值 | +|--------------------|----------------------------|---------------------|---------| +| `[delayTime]` | 延迟时间(单位:毫秒) | `number` | `500` | +| `[delayFirstEmit]` | 是否加载后触发 `delayChange` | `boolean` | `false` | +| `(delayChange)` | 回调函数 | `EventEmitter` | - | diff --git a/src/app/shared/components/editor/editor.component.ts b/src/app/shared/components/editor/editor.component.ts new file mode 100644 index 00000000..69510a5a --- /dev/null +++ b/src/app/shared/components/editor/editor.component.ts @@ -0,0 +1,417 @@ +/** + * Part of the code comes from https://github.com/KillerCodeMonkey/ngx-quill/ + */ +import { DOCUMENT, isPlatformServer } from '@angular/common'; +import { + AfterViewInit, + Component, + ElementRef, + EventEmitter, + forwardRef, + Inject, + Input, + NgZone, + OnChanges, + OnDestroy, + Output, + PLATFORM_ID, + Renderer2, + SimpleChanges +} from '@angular/core'; +import { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms'; +import { ModalHelper } from '@delon/theme'; +import { BooleanInput, InputBoolean, InputNumber, NumberInput } from '@delon/util'; +import ImageResize from 'quill-image-resize-module'; + +import { FileManagerImgComponent } from '../file-manager/file-manager-img.component'; + +declare var Quill: any; +const Delta = require('quill-delta'); + +export interface CustomOption { + import: string; + whitelist: any[]; +} + +Quill.register('modules/imageResize', ImageResize); +['align', 'background', 'color', 'direction', 'font'].forEach(type => Quill.register(Quill.import(`attributors/style/${type}`), true)); +const Size = Quill.import('attributors/style/size'); +const VALUES = { + // NOTICE: Should be sync modify `@ql-sizes` in `styles/fix/_quill.less` + size: ['10px', '12px', '14px', '16px', '18px', '20px', '24px'] +}; +Size.whitelist = VALUES.size; +Quill.register(Size, true); + +@Component({ + selector: 'editor', + template: ``, + providers: [ + { + provide: NG_VALUE_ACCESSOR, + useExisting: forwardRef(() => EditorComponent), + multi: true + }, + { + provide: NG_VALIDATORS, + useExisting: forwardRef(() => EditorComponent), + multi: true + } + ], + host: { + '[class.quill-editor]': 'true' + }, + preserveWhitespaces: false +}) +export class EditorComponent implements AfterViewInit, ControlValueAccessor, OnChanges, OnDestroy, Validator { + @Input() + set mode(value: 'full' | 'simple') { + this._mode = value; + const handlers = { + image: (state: boolean) => this.image(state) + }; + if (value === 'full') { + this.modules = { + imageResize: {}, + toolbar: { + handlers, + container: [ + ['bold', 'italic', 'underline', 'strike'], // toggled buttons + ['blockquote', 'code-block'], + + [{ header: 1 }, { header: 2 }], // custom button values + [{ list: 'ordered' }, { list: 'bullet' }], + [{ script: 'sub' }, { script: 'super' }], // superscript/subscript + [{ indent: '-1' }, { indent: '+1' }], // outdent/indent + // [{ direction: 'rtl' }], // text direction + + [{ size: VALUES.size }], // custom dropdown + [{ header: [1, 2, 3, false] }], + + [{ color: [] }, { background: [] }], // dropdown with defaults from theme + // [{ font: [] }], + [{ align: [] }], + + ['clean'], // remove formatting button + + ['link', 'image', 'video'] // link and image, video + ] + } + }; + } else { + this.modules = { + imageResize: {}, + toolbar: { + handlers, + container: [ + ['bold', 'italic', 'underline', 'strike', 'blockquote'], // toggled buttons + [{ header: 1 }, { header: 2 }], // custom button values + [{ list: 'ordered' }, { list: 'bullet' }], + [{ header: [1, 2, 3, false] }], + [{ color: [] }, { background: [] }], // dropdown with defaults from theme + [{ align: [] }], + ['clean'], // remove formatting button + ['link', 'image', 'video'] // link and image, video + ] + } + }; + } + } + + constructor( + private elementRef: ElementRef, + @Inject(DOCUMENT) private doc: any, + @Inject(PLATFORM_ID) private platformId: {}, + private renderer: Renderer2, + private zone: NgZone, + private modalHelper: ModalHelper + ) {} + static ngAcceptInputType_readOnly: BooleanInput; + static ngAcceptInputType_maxLength: NumberInput; + static ngAcceptInputType_minLength: NumberInput; + static ngAcceptInputType_required: BooleanInput; + static ngAcceptInputType_strict: BooleanInput; + + quill: any; + editorElem!: HTMLElement; + emptyArray: any[] = []; + content: any; + selectionChangeEvent: any; + textChangeEvent: any; + _mode!: 'full' | 'simple'; + + @Input() format: 'object' | 'html' | 'text' | 'json' = 'html'; + @Input() theme?: string; + @Input() modules?: { [index: string]: any }; + @Input() @InputBoolean() readOnly?: boolean; + @Input() placeholder = ''; + @Input() @InputNumber() maxLength?: number; + @Input() @InputNumber() minLength?: number; + @Input() @InputBoolean() required?: boolean; + @Input() formats?: string[]; + @Input() style: any = { height: '250px' }; + @Input() @InputBoolean() strict = true; + @Input() scrollingContainer?: HTMLElement | string; + @Input() bounds?: HTMLElement | string; + @Input() customOptions: CustomOption[] = []; + + @Output() readonly editorCreated = new EventEmitter(); + @Output() readonly contentChanged = new EventEmitter(); + @Output() readonly selectionChanged = new EventEmitter(); + private image(_: boolean): void { + this.modalHelper + .create( + FileManagerImgComponent, + { + opt: { + multiple: true, + i: { orderby: 0, cat_id: 0, ps: 20 } + } + }, + { + size: 1000, + modalOptions: { + nzClosable: false + } + } + ) + .subscribe((res: any[]) => { + // delete + const range = this.quill.getSelection(true); + this.quill.updateContents(new Delta().retain(range.index).delete(range.length)); + // install all images + for (const ii of res) { + this.quill.updateContents(new Delta().retain(range.index).delete(range.length).insert({ image: ii.mp }, { alt: ii.title })); + } + }); + } + + @Input() + valueGetter = (quillEditor: any, editorElement: HTMLElement): any => { + let html: string | null = editorElement.children[0].innerHTML; + if (html === '


    ' || html === '

    ') { + html = null; + } + let modelValue = html; + + if (this.format === 'text') { + modelValue = quillEditor.getText(); + } else if (this.format === 'object') { + modelValue = quillEditor.getContents(); + } else if (this.format === 'json') { + try { + modelValue = JSON.stringify(quillEditor.getContents()); + } catch (e) { + modelValue = quillEditor.getText(); + } + } + + return modelValue; + }; + + @Input() + valueSetter = (quillEditor: any, value: any, _format: 'object' | 'html' | 'json'): any => { + if (this.format === 'html') { + return quillEditor.clipboard.convert(value); + } else if (this.format === 'json') { + try { + return JSON.parse(value); + } catch (e) { + return value; + } + } + + return value; + }; + + onModelChange = (_: any) => {}; + onModelTouched = () => {}; + + ngAfterViewInit(): void { + if (isPlatformServer(this.platformId)) { + return; + } + + if (this._mode == null) { + this.mode = 'full'; + } + + const modules: any = this.modules; + + this.elementRef.nativeElement.insertAdjacentHTML('beforeend', '
    '); + this.editorElem = this.elementRef.nativeElement.querySelector('[quill-editor-element]'); + + if (this.style) { + Object.keys(this.style).forEach((key: string) => { + this.renderer.setStyle(this.editorElem, key, this.style[key]); + }); + } + + this.customOptions.forEach(customOption => { + const newCustomOption = Quill.import(customOption.import); + newCustomOption.whitelist = customOption.whitelist; + Quill.register(newCustomOption, true); + }); + + this.quill = new Quill(this.editorElem, { + modules, + placeholder: this.placeholder, + readOnly: this.readOnly || false, + theme: this.theme || 'snow', + formats: this.formats, + bounds: this.bounds ? (this.bounds === 'self' ? this.editorElem : this.bounds) : this.doc.body, + strict: this.strict, + scrollingContainer: this.scrollingContainer + }); + + if (this.content) { + if (this.format === 'object') { + this.quill.setContents(this.content, 'silent'); + } else if (this.format === 'text') { + this.quill.setText(this.content, 'silent'); + } else if (this.format === 'json') { + try { + this.quill.setContents(JSON.parse(this.content), 'silent'); + } catch (e) { + this.quill.setText(this.content, 'silent'); + } + } else { + const contents = this.quill.clipboard.convert(this.content); + this.quill.setContents(contents, 'silent'); + } + + this.quill.history.clear(); + } + + this.editorCreated.emit(this.quill); + + // mark model as touched if editor lost focus + this.selectionChangeEvent = this.quill.on('selection-change', (range: any, oldRange: any, source: string) => { + this.zone.run(() => { + this.selectionChanged.emit({ + editor: this.quill, + range, + oldRange, + source + }); + + if (!range) { + this.onModelTouched(); + } + }); + }); + + // update model if text changes + this.textChangeEvent = this.quill.on('text-change', (delta: any, oldDelta: any, source: string) => { + const text = this.quill.getText(); + const content = this.quill.getContents(); + + let html: string | null = this.editorElem.children[0].innerHTML; + if (html === '


    ' || html === '

    ') { + html = null; + } + + this.zone.run(() => { + this.onModelChange(this.valueGetter(this.quill, this.editorElem)); + + this.contentChanged.emit({ + editor: this.quill, + html, + text, + content, + delta, + oldDelta, + source + }); + }); + }); + } + + ngOnDestroy(): void { + if (this.selectionChangeEvent) { + this.selectionChangeEvent.removeListener('selection-change'); + } + if (this.textChangeEvent) { + this.textChangeEvent.removeListener('text-change'); + } + } + + ngOnChanges(changes: SimpleChanges): void { + if (!this.quill) { + return; + } + if (changes.readOnly) { + this.quill.enable(!changes.readOnly.currentValue); + } + if (changes.placeholder) { + this.quill.root.dataset.placeholder = changes.placeholder.currentValue; + } + } + + writeValue(currentValue: any): void { + this.content = currentValue; + + if (this.quill) { + if (currentValue) { + if (this.format === 'text') { + this.quill.setText(currentValue); + } else { + this.quill.setContents(this.valueSetter(this.quill, this.content, this.format)); + } + return; + } + this.quill.setText(''); + } + } + + registerOnChange(fn: (value: any) => void): void { + this.onModelChange = fn; + } + + registerOnTouched(fn: () => void): void { + this.onModelTouched = fn; + } + + validate(): any { + if (!this.quill) { + return null; + } + + const err: { + minLengthError?: { given: number; minLength: number }; + maxLengthError?: { given: number; maxLength: number }; + requiredError?: { empty: boolean }; + } = {}; + let valid = true; + + const textLength = this.quill.getText().trim().length; + + if (this.minLength && textLength && textLength < this.minLength) { + err.minLengthError = { + given: textLength, + minLength: this.minLength + }; + + valid = false; + } + + if (this.maxLength && textLength > this.maxLength) { + err.maxLengthError = { + given: textLength, + maxLength: this.maxLength + }; + + valid = false; + } + + if (this.required && !textLength) { + err.requiredError = { + empty: true + }; + + valid = false; + } + + return valid ? null : err; + } +} diff --git a/src/app/shared/components/editor/editor.module.ts b/src/app/shared/components/editor/editor.module.ts new file mode 100644 index 00000000..e87e16ca --- /dev/null +++ b/src/app/shared/components/editor/editor.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; + +import { FileManagerModule } from '../file-manager'; +import { EditorComponent } from './editor.component'; + +const COMPONENTS = [EditorComponent]; + +@NgModule({ + imports: [FileManagerModule], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class EditorModule {} diff --git a/src/app/shared/components/editor/index.en-US.md b/src/app/shared/components/editor/index.en-US.md new file mode 100644 index 00000000..60ed9011 --- /dev/null +++ b/src/app/shared/components/editor/index.en-US.md @@ -0,0 +1,39 @@ +--- +order: 60 +title: editor +type: Component +--- + +Based on [quill](https://github.com/quilljs/quill) WYSIWYG editor, [DEMO](https://preview.ng-alain.com/pro/#/ec/ware/edit/10001). + +## Feature + +- Integration [file-manager](file-manager) +- Integration [quill-image-resize-module](https://github.com/kensnyder/quill-image-resize-module) + +## API + +| Property | Description | Type | Default | +| ---------------------- | -------------------------------------- | ------------------- | --------------------- | +| `[(ngModel)]` | Value of quill | `string` | - | +| `[mode]` | Mode of quill | `full,simple` | `full` | +| `[theme]` | Theme of quill | `string` | `snow` | +| `[readOnly]` | Whether to readonly | `boolean` | `false` | +| `[required]` | Whether to required | `boolean` | - | +| `[maxLength]` | The maximum number of quill characters | `number` | - | +| `[minLength]` | The minimum number of quill characters | `number` | - | +| `[placeholder]` | Placeholder of quill | `string` | - | +| `[style]` | Styles of quill | `any` | `{ height: '250px' }` | +| `(editorCreated)` | Quill rendered event | `EventEmitter` | - | +| `(contentChanged)` | Quill content change event | `EventEmitter` | - | +| `(selectionChanged)` | `selection-change` event | `EventEmitter` | - | + +## sf widget + +Widget name: `editor`. + +### ui + +| Property | Description | Type | Default | +| -------------------- | -------------------------- | ------------------------- | ------- | +| `(contentChanged)` | Quill content change event | `(value: string) => void` | - | diff --git a/src/app/shared/components/editor/index.ts b/src/app/shared/components/editor/index.ts new file mode 100644 index 00000000..49885cf0 --- /dev/null +++ b/src/app/shared/components/editor/index.ts @@ -0,0 +1,2 @@ +export * from './editor.component'; +export * from './editor.module'; diff --git a/src/app/shared/components/editor/index.zh-CN.md b/src/app/shared/components/editor/index.zh-CN.md new file mode 100644 index 00000000..e7f01ac2 --- /dev/null +++ b/src/app/shared/components/editor/index.zh-CN.md @@ -0,0 +1,39 @@ +--- +order: 60 +title: editor +type: Component +--- + +基于 [quill](https://github.com/quilljs/quill) 富文本编辑器,参考[示例](https://preview.ng-alain.com/pro/#/ec/ware/edit/10001)。 + +## 特性 + +- 整合 [file-manager](file-manager) +- 整合 [quill-image-resize-module](https://github.com/kensnyder/quill-image-resize-module) + +## API + +| 参数 | 说明 | 类型 | 默认值 | +| ---------------------- | -------------------------- | ------------------- | --------------------- | +| `[(ngModel)]` | 值 | `string` | - | +| `[mode]` | 模式 | `full,simple` | `full` | +| `[theme]` | 主题 | `string` | `snow` | +| `[readOnly]` | 是否只读 | `boolean` | `false` | +| `[required]` | 是否必填 | `boolean` | - | +| `[maxLength]` | 最大长度 | `number` | - | +| `[minLength]` | 最少长度 | `number` | - | +| `[placeholder]` | 文本框默认值 | `string` | - | +| `[style]` | 样式,可以决定富文本的高度 | `any` | `{ height: '250px' }` | +| `(editorCreated)` | 初始化完成后事件 | `EventEmitter` | - | +| `(contentChanged)` | 内容变更事件 | `EventEmitter` | - | +| `(selectionChanged)` | `selection-change` 事件 | `EventEmitter` | - | + +## sf 小部件 + +小部件名称:`editor`。 + +### ui + +| 参数 | 说明 | 类型 | 默认值 | +| -------------------- | ------------ | ------------------------- | ------ | +| `(contentChanged)` | 内容变更事件 | `(value: string) => void` | - | diff --git a/src/app/shared/components/file-manager/file-manager-img.component.html b/src/app/shared/components/file-manager/file-manager-img.component.html new file mode 100644 index 00000000..fa71a3aa --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager-img.component.html @@ -0,0 +1,53 @@ +
    +
    + +
    +
    + + + + +
      +
    • Copy Link
    • +
    • Copy Code
    • +
    +
    + + + + + + + + + + +
    +
    +
    +
    + + + 已选图 + (按住拖动可调整顺序) + + +
    +
    +
    +
    {{ i.title }}
    +
    + {{ i.width }}x{{ i.height }} +
    +
    +
    +
    diff --git a/src/app/shared/components/file-manager/file-manager-img.component.ts b/src/app/shared/components/file-manager/file-manager-img.component.ts new file mode 100644 index 00000000..c72bcdd2 --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager-img.component.ts @@ -0,0 +1,108 @@ +import { moveItemInArray } from '@angular/cdk/drag-drop'; +import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { ArrayService, copy } from '@delon/util'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { NzModalRef } from 'ng-zorro-antd/modal'; +import { NzFormatEmitEvent } from 'ng-zorro-antd/tree'; + +import { FileManagerComponent } from './file-manager.component'; + +@Component({ + selector: 'file-manager-img', + templateUrl: './file-manager-img.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class FileManagerImgComponent implements AfterViewInit { + result: any[] = []; + cat: any = { + ls: [], + item: {} + }; + + @Input() + params = { + type: 'file', + q: '', + is_img: true, + parent_id: 0, + orderby: 0 + }; + @Input() multiple: boolean | number = false; + @ViewChild('fm', { static: false }) fm!: FileManagerComponent; + + constructor( + private http: _HttpClient, + private arrSrv: ArrayService, + private msg: NzMessageService, + private modal: NzModalRef, + private cdr: ChangeDetectorRef + ) {} + + ngAfterViewInit(): void { + this.loadCat(); + } + + copyData(type: 'link' | 'code'): void { + copy(this.result.map(v => this.fm.getCode(v.mp, type)).join('\n')).then(() => this.msg.success('Copy Success')); + } + + // #region category + + changeCat(e: NzFormatEmitEvent): void { + this.cat.item = e.node!.origin; + this.params.parent_id = e.node!.origin.id; + this.fm.load(1); + this.cdr.detectChanges(); + } + + loadCat(): void { + this.http.get('/file/folder').subscribe((res: any[]) => { + res.splice(0, 0, { id: 0, title: '所有图片' }); + this.cat.ls = this.arrSrv.arrToTreeNode(res, { + cb: (item, parent, deep) => { + item.expanded = deep <= 1; + item.selected = item.id === 0; + } + }); + this.cat.item = res[0]; + this.cdr.detectChanges(); + }); + } + + // #endregion + + load(): void { + this.fm.load(1); + } + + cho(i: any): void { + if (i.on === true) { + this.result.splice(this.result.indexOf(i), 1); + i.on = false; + return; + } + if (!this.multiple) { + this.result.push(i); + this.ok(); + return; + } + + if (typeof this.multiple === 'number' && this.result.length >= this.multiple) { + this.msg.error(`最多只能选取${this.multiple}张`); + return; + } + i.on = true; + this.result.push(i); + this.cdr.detectChanges(); + } + + drop(e: any): void { + moveItemInArray(this.result, e.previousIndex, e.currentIndex); + this.cdr.detectChanges(); + } + + ok(): void { + this.modal.close(this.result); + } +} diff --git a/src/app/shared/components/file-manager/file-manager-img.directive.ts b/src/app/shared/components/file-manager/file-manager-img.directive.ts new file mode 100644 index 00000000..ee484d4e --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager-img.directive.ts @@ -0,0 +1,39 @@ +import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core'; +import { ModalHelper } from '@delon/theme'; + +import { FileManagerImgComponent } from './file-manager-img.component'; + +@Directive({ selector: '[dialog-img]' }) +export class FileManagerImgDirective { + @Input() multiple: boolean | number = false; + @Input() field?: string; + @Output() readonly selected = new EventEmitter(); + + constructor(private modalHelper: ModalHelper) {} + + @HostListener('click') + _click(): void { + this.modalHelper + .create( + FileManagerImgComponent, + { + multiple: this.multiple + }, + { + size: 1000, + modalOptions: { + nzClosable: false + } + } + ) + .subscribe((res: any) => { + if (Array.isArray(res)) { + let ret = res.length > 0 && !this.multiple ? res[0] : res; + if (this.field && ret) { + ret = ret[this.field]; + } + this.selected.emit(ret); + } + }); + } +} diff --git a/src/app/shared/components/file-manager/file-manager.component.html b/src/app/shared/components/file-manager/file-manager.component.html new file mode 100644 index 00000000..b33f9ba9 --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager.component.html @@ -0,0 +1,73 @@ +
    +
    + + + + +
    + + + + +
    + +
    +
    Filename
    +
    Pixel
    +
    Changed
    +
    +
    +
    + +
    ..
    +
    +
    + + + +
    +
    +
    {{ i.title }}
    +
    + {{ i.width }}x{{ i.height }} +
    +
    {{ i.created | _date }}
    + + + + +
      +
    • Copy
    • +
    • Copy Link
    • +
    • Copy Code
    • +
    • Rename
    • +
    • Move
    • +
    • Remove
    • +
    +
    +
    +
    +
    + +
    +
    暂无
    +
    + + + + + + diff --git a/src/app/shared/components/file-manager/file-manager.component.ts b/src/app/shared/components/file-manager/file-manager.component.ts new file mode 100644 index 00000000..555bdbb0 --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager.component.ts @@ -0,0 +1,188 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, TemplateRef } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { ArrayService, copy } from '@delon/util'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { NzUploadFile } from 'ng-zorro-antd/upload'; + +@Component({ + selector: 'file-manager', + templateUrl: './file-manager.component.html', + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class FileManagerComponent implements OnInit { + private get parent_id(): number { + return this.path[this.path.length - 1]; + } + + constructor(private http: _HttpClient, private cdr: ChangeDetectorRef, private arrSrv: ArrayService, private msg: NzMessageService) {} + + showType: 'big' | 'small' = 'big'; + s: any = { orderby: 0, ps: 20, pi: 1, q: '' }; + loading = false; + list: any[] = []; + item: any; + path: number[] = [0]; + total = 0; + + @Input() params: any; + @Input() actions!: TemplateRef; + @Input() multiple: boolean | number = false; + @Output() readonly selected = new EventEmitter(); + + // #endregion + + // #region rename + + renameModel = false; + renameTitle = ''; + + // #endregion + + // #region move + moveModel = false; + moveId = ''; + folderNodes: any[] = []; + + ngOnInit(): void { + this.load(1); + } + + getCode(mp: string, type: 'link' | 'code'): string { + return type === 'link' ? mp : ``; + } + + // #region op + + back(): void { + this.path.pop(); + this.load(1); + } + + next(i: any): void { + this.path.push(i.id); + this.load(1); + } + + load(pi: number): void { + const data = { + ...this.s, + pi, + parent_id: this.parent_id, + ...this.params + }; + this.loading = true; + this.cdr.markForCheck(); + this.http.get('/file', data).subscribe((res: any) => { + this.loading = false; + this.list = res.list; + this.total = res.total; + this.cdr.markForCheck(); + }); + } + + cho(i: any): void { + if (i.type === 'folder') { + this.next(i); + return; + } + i.selected = !i.selected; + this.selected.emit(i); + this.cdr.detectChanges(); + } + + // #endregion + + // #region upload + + uploadData = () => { + return { + parent_id: this.parent_id + }; + }; + + uploadChange({ file }: { file: NzUploadFile }): void { + if (file.status === 'done') { + this.load(1); + } + } + rename(i: any): void { + this.renameModel = true; + this.item = i; + this.renameTitle = i.title; + } + renameOk(): void { + this.http + .post(`/file/rename`, { + id: this.item.id, + title: this.renameTitle + }) + .subscribe(() => { + this.msg.success('Success'); + this.item.title = this.renameTitle; + this.renameModel = false; + this.cdr.detectChanges(); + }); + } + move(i: any): void { + this.moveModel = true; + this.item = i; + this.moveId = i.parent_id; + this.http.get(`/file/folder`).subscribe((res: any[]) => { + res.splice(0, 0, { id: 0, title: '根目录' }); + this.folderNodes = this.arrSrv.arrToTree(res, { + cb: item => { + item.key = item.id; + if (item.id === this.moveId) { + item.disabled = true; + } + } + }); + this.cdr.detectChanges(); + }); + } + moveOk(): void { + this.http + .post(`/file/move`, { + id: this.item.id, + moveId: this.moveId + }) + .subscribe(() => { + this.msg.success('Success'); + this.moveModel = false; + this.list.splice( + this.list.findIndex(w => w.id === this.item.id), + 1 + ); + this.cdr.detectChanges(); + }); + } + // #endregion + + // #region copy + + copyImg(id: number): void { + this.http.post(`/file/copy/${id}`).subscribe((res: any) => { + this.msg.success('Success'); + this.list.push(res.item); + this.cdr.detectChanges(); + }); + } + + copyData(mp: string, type: 'link' | 'code'): void { + copy(this.getCode(mp, type)).then(() => this.msg.success('Copy Success')); + } + + // #endregion + + // #region remove + + remove(id: number, idx: number): void { + this.http.delete(`/file/${id}`).subscribe(() => { + this.msg.success('Success'); + this.list.splice(idx, 1); + this.cdr.detectChanges(); + }); + } + + // #endregion +} diff --git a/src/app/shared/components/file-manager/file-manager.module.ts b/src/app/shared/components/file-manager/file-manager.module.ts new file mode 100644 index 00000000..470b2d45 --- /dev/null +++ b/src/app/shared/components/file-manager/file-manager.module.ts @@ -0,0 +1,47 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { AlainThemeModule } from '@delon/theme'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzCardModule } from 'ng-zorro-antd/card'; +import { NzDropDownModule } from 'ng-zorro-antd/dropdown'; +import { NzGridModule } from 'ng-zorro-antd/grid'; +import { NzIconModule } from 'ng-zorro-antd/icon'; +import { NzInputModule } from 'ng-zorro-antd/input'; +import { NzModalModule } from 'ng-zorro-antd/modal'; +import { NzPaginationModule } from 'ng-zorro-antd/pagination'; +import { NzSelectModule } from 'ng-zorro-antd/select'; +import { NzSpinModule } from 'ng-zorro-antd/spin'; +import { NzTreeModule } from 'ng-zorro-antd/tree'; +import { NzTreeSelectModule } from 'ng-zorro-antd/tree-select'; +import { NzUploadModule } from 'ng-zorro-antd/upload'; + +import { FileManagerImgComponent } from './file-manager-img.component'; +import { FileManagerImgDirective } from './file-manager-img.directive'; +import { FileManagerComponent } from './file-manager.component'; + +const COMPONENTS = [FileManagerComponent, FileManagerImgComponent, FileManagerImgDirective]; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + AlainThemeModule.forChild(), + NzUploadModule, + NzButtonModule, + NzIconModule, + NzSpinModule, + NzPaginationModule, + NzDropDownModule, + NzModalModule, + NzInputModule, + NzTreeSelectModule, + NzGridModule, + NzTreeModule, + NzSelectModule, + NzCardModule + ], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class FileManagerModule {} diff --git a/src/app/shared/components/file-manager/index.en-US.md b/src/app/shared/components/file-manager/index.en-US.md new file mode 100644 index 00000000..9573a55b --- /dev/null +++ b/src/app/shared/components/file-manager/index.en-US.md @@ -0,0 +1,50 @@ +--- +order: 70 +title: file-manager +type: Component +--- + +File manager, [DEMO](https://preview.ng-alain.com/pro/#/sys/file-manager). + +## API + +### file-manager + +| Property | Description | Type | Default | +| ------------ | ------------------------------------------- | ------------------- | ------- | +| `[params]` | Extra QueryString request parameter | `any` | - | +| `[actions]` | Custom action template | `TemplateRef` | - | +| `[multiple]` | Whether to mulitple, or specified number | `boolean, number` | `false` | +| `(selected)` | Resource selected event, not include folder | `EventEmitter` | - | + +### dialog-img + +`dialog-img` is modal dialog based on the `file-manager` component, [DEMO](https://preview.ng-alain.com/pro/#/ec/ware/edit/10001). + +| Property | Description | Type | Default | +| ------------ | ------------------------------------------- | ------------------- | ------- | +| `[multiple]` | Whether to mulitple, or specified number | `boolean, number` | `false` | +| `[field]` | Specify to return a field data | `string` | - | +| `(selected)` | Resource selected event, not include folder | `EventEmitter` | - | + +**DEMO** + +You can only chooses 5 at most, trigger the `cho` event after confirmation. + +```html + +``` + +## sf widget + +Widget name: `img`. + +### ui + +| Property | Description | Type | Default | +|--------------|---------------------------------------------|------------------------|---------| +| `[multiple]` | Whether to mulitple, or specified number | `boolean, number` | `false` | +| `(selected)` | Resource selected event, not include folder | `(value: any) => void` | - | diff --git a/src/app/shared/components/file-manager/index.ts b/src/app/shared/components/file-manager/index.ts new file mode 100644 index 00000000..32c520be --- /dev/null +++ b/src/app/shared/components/file-manager/index.ts @@ -0,0 +1,4 @@ +export * from './file-manager.component'; +export * from './file-manager-img.component'; +export * from './file-manager-img.directive'; +export * from './file-manager.module'; diff --git a/src/app/shared/components/file-manager/index.zh-CN.md b/src/app/shared/components/file-manager/index.zh-CN.md new file mode 100644 index 00000000..6c91183f --- /dev/null +++ b/src/app/shared/components/file-manager/index.zh-CN.md @@ -0,0 +1,50 @@ +--- +order: 70 +title: file-manager +type: Component +--- + +文件管理器,参考[示例](https://preview.ng-alain.com/pro/#/sys/file-manager)。 + +## API + +### file-manager + +| 参数 | 说明 | 类型 | 默认值 | +| ------------ | ------------------------------ | ------------------- | ------- | +| `[params]` | 额外 QueryString 请求参数 | `any` | - | +| `[actions]` | 自定义动作 | `TemplateRef` | - | +| `[multiple]` | 是否多选,若最多 N 张 | `boolean, number` | `false` | +| `(selected)` | 当前资源选中事件,不包含文件夹 | `EventEmitter` | - | + +### dialog-img + +`dialog-img` 是在 `file-manager` 组件的基础上对话框化,参考[示例](https://preview.ng-alain.com/pro/#/ec/ware/edit/10001)。 + +| 参数 | 说明 | 类型 | 默认值 | +| ------------ | ------------------------------ | ------------------- | ------- | +| `[multiple]` | 是否多选,若最多 N 张 | `boolean, number` | `false` | +| `[field]` | 指定返回某字段的数据 | `string` | - | +| `(selected)` | 当前资源选中事件,不包含文件夹 | `EventEmitter` | - | + +**示例** + +最多只能选择 5 张,确认后触发 `cho` 事件。 + +```html + +``` + +## sf 小部件 + +小部件名称:`img`。 + +### ui + +| 参数 | 说明 | 类型 | 默认值 | +| ------------ | ------------------------------ | ---------------------- | ------- | +| `[multiple]` | 是否多选,若最多 N 张 | `boolean, number` | `false` | +| `(selected)` | 当前资源选中事件,不包含文件夹 | `(value: any) => void` | - | diff --git a/src/app/shared/components/masonry/index.en-US.md b/src/app/shared/components/masonry/index.en-US.md new file mode 100644 index 00000000..d5befe95 --- /dev/null +++ b/src/app/shared/components/masonry/index.en-US.md @@ -0,0 +1,45 @@ +--- +order: 50 +title: masonry +type: Component +--- + +Based on [masonry](https://masonry.desandro.com/) grid layout, [DEMO](https://preview.ng-alain.com/pro/#/other/gallery). + +## Container structure + +```html +
    +
    + +
    +``` + +The `masonry__` prefix class styles is required part. + +## API + +| Property | Description | Type | Default | +|--------------|------------------------------------------------------|-----------|---------| +| `[masonry]` | [Options](https://masonry.desandro.com/options.html) | `any` | - | +| `[disabled]` | Whether to disable | `boolean` | `false` | diff --git a/src/app/shared/components/masonry/index.ts b/src/app/shared/components/masonry/index.ts new file mode 100644 index 00000000..b1b01c75 --- /dev/null +++ b/src/app/shared/components/masonry/index.ts @@ -0,0 +1,2 @@ +export * from './masonry.directive'; +export * from './masonry.module'; diff --git a/src/app/shared/components/masonry/index.zh-CN.md b/src/app/shared/components/masonry/index.zh-CN.md new file mode 100644 index 00000000..7843274e --- /dev/null +++ b/src/app/shared/components/masonry/index.zh-CN.md @@ -0,0 +1,32 @@ +--- +order: 50 +title: masonry +type: Component +--- + +基于 [masonry](https://masonry.desandro.com/) 瀑布流布局,参考[示例](https://preview.ng-alain.com/pro/#/other/gallery)。 + +## 容器结构 + +```html +
    +
    + +
    +``` + +其中 `masonry__` 前缀类样式是必须部分。 + +## API + +| 参数 | 说明 | 类型 | 默认值 | +|--------------|-------------------------------------------------|-----------|---------| +| `[masonry]` | [选项](https://masonry.desandro.com/options.html) | `any` | - | +| `[disabled]` | 是否禁用 | `boolean` | `false` | diff --git a/src/app/shared/components/masonry/masonry.directive.ts b/src/app/shared/components/masonry/masonry.directive.ts new file mode 100644 index 00000000..7d697a0d --- /dev/null +++ b/src/app/shared/components/masonry/masonry.directive.ts @@ -0,0 +1,92 @@ +import { AfterViewInit, Directive, ElementRef, Input, NgZone, OnChanges, OnDestroy } from '@angular/core'; +import { BooleanInput, InputBoolean } from '@delon/util'; +import { fromEvent, Subscription } from 'rxjs'; +import { debounceTime } from 'rxjs/operators'; + +declare var Masonry: any; + +@Directive({ + selector: '[masonry]', + exportAs: 'masonryComp' +}) +export class MasonryDirective implements AfterViewInit, OnChanges, OnDestroy { + static ngAcceptInputType_disabled: BooleanInput; + + private masonry: any; + private observer?: MutationObserver; + private resize$: Subscription | null = null; + + @Input('masonry') options: any; + @Input() @InputBoolean() disabled = false; + + constructor(private el: ElementRef, private zone: NgZone) {} + + private outsideRender(cb: () => void): void { + this.zone.runOutsideAngular(() => cb()); + } + + init(): void { + this.destroy(); + this.outsideRender(() => { + this.masonry = new Masonry(this.el.nativeElement, { + originLeft: true, + transitionDuration: '0.3s', + itemSelector: '.masonry__thm', + columnWidth: '.masonry__sizer', + ...this.options + }); + }); + } + + reload(): void { + this.outsideRender(() => { + if (this.disabled) { + return; + } + this.masonry.reloadItems(); + this.masonry.layout(); + }); + } + + private destroy(): void { + this.zone.runOutsideAngular(() => { + if (this.masonry) { + this.masonry.destroy(); + } + }); + } + + private initElChange(): void { + if (this.observer || typeof MutationObserver === 'undefined') { + return; + } + this.zone.runOutsideAngular(() => { + this.observer = new MutationObserver(() => this.reload()); + this.observer.observe(this.el.nativeElement, { + childList: true, + subtree: true + }); + }); + } + + ngAfterViewInit(): void { + this.initElChange(); + this.resize$ = fromEvent(window, 'resize') + .pipe(debounceTime(50)) + .subscribe(() => this.reload()); + } + + ngOnChanges(): void { + this.init(); + } + + ngOnDestroy(): void { + this.destroy(); + if (this.observer) { + this.observer.disconnect(); + } + if (this.resize$) { + this.resize$.unsubscribe(); + } + } +} diff --git a/src/app/shared/components/masonry/masonry.module.ts b/src/app/shared/components/masonry/masonry.module.ts new file mode 100644 index 00000000..53861e92 --- /dev/null +++ b/src/app/shared/components/masonry/masonry.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; + +import { MasonryDirective } from './masonry.directive'; + +const COMPONENTS = [MasonryDirective]; + +@NgModule({ + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class MasonryModule {} diff --git a/src/app/shared/components/mouse-focus/index.en-US.md b/src/app/shared/components/mouse-focus/index.en-US.md new file mode 100644 index 00000000..e44614d4 --- /dev/null +++ b/src/app/shared/components/mouse-focus/index.en-US.md @@ -0,0 +1,34 @@ +--- +order: 80 +title: mouse-focus +type: Component +--- + +The focus of the mouse, Add class to focus element when mouse over it in a set of elements, Keeping last state when leaving the container. + +## DEMO + +```html + +``` + +## API + +| Property | Description | Type | Default | +| ----- | ------ | ----- | ------ | +| `[delay]` | Delay (unit: milliseconds) | `number` | `250` | +| `[itemSelector]` | Class name of element item | `string` | `li` | +| `[actionClassName]` | Class name of focus element | `string` | `active` | diff --git a/src/app/shared/components/mouse-focus/index.ts b/src/app/shared/components/mouse-focus/index.ts new file mode 100644 index 00000000..b1f298a4 --- /dev/null +++ b/src/app/shared/components/mouse-focus/index.ts @@ -0,0 +1,2 @@ +export * from './mouse-focus.directive'; +export * from './mouse-focus.module'; diff --git a/src/app/shared/components/mouse-focus/index.zh-CN.md b/src/app/shared/components/mouse-focus/index.zh-CN.md new file mode 100644 index 00000000..04fe20de --- /dev/null +++ b/src/app/shared/components/mouse-focus/index.zh-CN.md @@ -0,0 +1,34 @@ +--- +order: 80 +title: mouse-focus +type: Component +--- + +鼠标焦点,在一组元素里鼠标移到某个元素时增加额外一个类名,当离开容器时保留最后一个状态。 + +## DEMO + +```html + +``` + +## API + +| 参数 | 说明 | 类型 | 默认值 | +|---------------------|---------------|----------|----------| +| `[delay]` | 延迟(单位:毫秒) | `number` | `250` | +| `[itemSelector]` | 项类名 | `string` | `li` | +| `[actionClassName]` | 获得焦点时类名 | `string` | `active` | diff --git a/src/app/shared/components/mouse-focus/mouse-focus.directive.ts b/src/app/shared/components/mouse-focus/mouse-focus.directive.ts new file mode 100644 index 00000000..5c023eea --- /dev/null +++ b/src/app/shared/components/mouse-focus/mouse-focus.directive.ts @@ -0,0 +1,60 @@ +import { AfterViewInit, Directive, ElementRef, Input, OnDestroy } from '@angular/core'; +import { fromEvent, Subject } from 'rxjs'; +import { auditTime, takeUntil } from 'rxjs/operators'; + +export interface MouseFocusOptions { + delay?: number; + itemSelector?: string; + actionClassName?: string; +} + +@Directive({ + selector: `[mouseFocus]`, + exportAs: `mouseFocus` +}) +export class MouseFocusDirective implements AfterViewInit, OnDestroy { + private unsubscribe$ = new Subject(); + private _cog!: MouseFocusOptions; + private _curEl: HTMLElement | null = null; + + @Input('mouseFocus') + set config(value: MouseFocusOptions) { + this._cog = { + delay: 250, + itemSelector: 'li', + actionClassName: 'active', + ...value + }; + } + + constructor(private el: ElementRef) { + this.config = {}; + } + + ngAfterViewInit(): void { + const { el, unsubscribe$, _cog } = this; + let { _curEl } = this; + const parentEl = el.nativeElement as HTMLElement; + fromEvent(parentEl, 'mouseover') + .pipe(takeUntil(unsubscribe$), auditTime(_cog.delay!)) + .subscribe((e: Event) => { + const target = (e.target as HTMLElement).closest(_cog.itemSelector!) as HTMLElement; + if (!target || !parentEl.contains(target)) { + return; + } + + if (_curEl) { + _curEl.classList.remove(_cog.actionClassName!); + } + target.classList.add(_cog.actionClassName!); + _curEl = target; + }); + _curEl = (parentEl.querySelector(`.${_cog.actionClassName}`) as HTMLElement) || null; + } + + ngOnDestroy(): void { + const { unsubscribe$ } = this; + unsubscribe$.next(); + unsubscribe$.complete(); + } +} diff --git a/src/app/shared/components/mouse-focus/mouse-focus.module.ts b/src/app/shared/components/mouse-focus/mouse-focus.module.ts new file mode 100644 index 00000000..54b1ff83 --- /dev/null +++ b/src/app/shared/components/mouse-focus/mouse-focus.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; + +import { MouseFocusDirective } from './mouse-focus.directive'; + +const COMPONENTS = [MouseFocusDirective]; + +@NgModule({ + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class MouseFocusModule {} diff --git a/src/app/shared/components/scrollbar/index.en-US.md b/src/app/shared/components/scrollbar/index.en-US.md new file mode 100644 index 00000000..7e513cd1 --- /dev/null +++ b/src/app/shared/components/scrollbar/index.en-US.md @@ -0,0 +1,24 @@ +--- +order: 40 +title: scrollbar +type: Component +--- + +Based on [perfect-scrollbar](http://utatti.github.io/perfect-scrollbar/) perfect custom scrollbar plugin, [DEMO](https://preview.ng-alain.com/pro/#/other/chat). + +## API + +| Property | Description | Type | Default | +| ----------------- | ------------------------ | ------------------- | ------- | +| `[options]` | [Options](https://github.com/utatti/perfect-scrollbar#options) | `ScrollbarOptions` | - | +| `[disabled]` | Whether to disable | `boolean` | `false` | +| `[psScrollX]` | `ps-scroll-x` event | `EventEmitter` | - | +| `[psScrollY]` | `ps-scroll-y` event | `EventEmitter` | - | +| `[psScrollUp]` | `ps-scroll-up` event | `EventEmitter` | - | +| `[psScrollDown]` | `ps-scroll-down` event | `EventEmitter` | - | +| `[psScrollLeft]` | `ps-scroll-left` event | `EventEmitter` | - | +| `[psScrollRight]` | `ps-scroll-right` event | `EventEmitter` | - | +| `[psXReachStart]` | `ps-x-reach-start` event | `EventEmitter` | - | +| `[psXReachEnd]` | `ps-x-reach-end` event | `EventEmitter` | - | +| `[psYReachStart]` | `ps-y-reach-start` event | `EventEmitter` | - | +| `[psYReachEnd]` | `ps-y-reach-end` event | `EventEmitter` | - | diff --git a/src/app/shared/components/scrollbar/index.ts b/src/app/shared/components/scrollbar/index.ts new file mode 100644 index 00000000..5be9f568 --- /dev/null +++ b/src/app/shared/components/scrollbar/index.ts @@ -0,0 +1,3 @@ +export * from './scrollbar.directive'; +export * from './scrollbar.interface'; +export * from './scrollbar.module'; diff --git a/src/app/shared/components/scrollbar/index.zh-CN.md b/src/app/shared/components/scrollbar/index.zh-CN.md new file mode 100644 index 00000000..e2caa201 --- /dev/null +++ b/src/app/shared/components/scrollbar/index.zh-CN.md @@ -0,0 +1,24 @@ +--- +order: 40 +title: scrollbar +type: Component +--- + +基于 [perfect-scrollbar](http://utatti.github.io/perfect-scrollbar/) 自定义滚动条插件,参考[示例](https://preview.ng-alain.com/pro/#/other/chat)。 + +## API + +| 参数 | 说明 | 类型 | 默认值 | +| ----- | ------ | ----- | ------ | +| `[options]` | [选项](https://github.com/utatti/perfect-scrollbar#options) | `ScrollbarOptions` | - | +| `[disabled]` | 是否禁用 | `boolean` | `false` | +| `[psScrollX]` | `ps-scroll-x` 事件 | `EventEmitter` | - | +| `[psScrollY]` | `ps-scroll-y` 事件 | `EventEmitter` | - | +| `[psScrollUp]` | `ps-scroll-up` 事件 | `EventEmitter` | - | +| `[psScrollDown]` | `ps-scroll-down` 事件 | `EventEmitter` | - | +| `[psScrollLeft]` | `ps-scroll-left` 事件 | `EventEmitter` | - | +| `[psScrollRight]` | `ps-scroll-right` 事件 | `EventEmitter` | - | +| `[psXReachStart]` | `ps-x-reach-start` 事件 | `EventEmitter` | - | +| `[psXReachEnd]` | `ps-x-reach-end` 事件 | `EventEmitter` | - | +| `[psYReachStart]` | `ps-y-reach-start` 事件 | `EventEmitter` | - | +| `[psYReachEnd]` | `ps-y-reach-end` 事件 | `EventEmitter` | - | diff --git a/src/app/shared/components/scrollbar/scrollbar.directive.ts b/src/app/shared/components/scrollbar/scrollbar.directive.ts new file mode 100644 index 00000000..2b4e99db --- /dev/null +++ b/src/app/shared/components/scrollbar/scrollbar.directive.ts @@ -0,0 +1,115 @@ +import { AfterViewInit, Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, Output } from '@angular/core'; +import { toBoolean } from '@delon/util'; +import PerfectScrollbar from 'perfect-scrollbar'; +import { fromEvent, Subject } from 'rxjs'; +import { debounceTime, takeUntil } from 'rxjs/operators'; + +import { PerfectScrollbarEvent, PerfectScrollbarEvents, ScrollbarOptions } from './scrollbar.interface'; + +@Directive({ + selector: '[scrollbar]', + exportAs: 'scrollbarComp' +}) +export class ScrollbarDirective implements AfterViewInit, OnDestroy { + static ngAcceptInputType_options: ScrollbarOptions | string | null | undefined; + + private instance: PerfectScrollbar | null = null; + private readonly ngDestroy: Subject = new Subject(); + private _disabled = false; + + // #region fields + + @Input('scrollbar') options?: ScrollbarOptions; + + @Input() + set disabled(value: boolean) { + this._disabled = toBoolean(value)!; + if (this._disabled) { + this.ngOnDestroy(); + } else { + this.init(); + } + } + + @Output() readonly psScrollX: EventEmitter = new EventEmitter(); + @Output() readonly psScrollY: EventEmitter = new EventEmitter(); + + @Output() readonly psScrollUp: EventEmitter = new EventEmitter(); + @Output() readonly psScrollDown: EventEmitter = new EventEmitter(); + @Output() readonly psScrollLeft: EventEmitter = new EventEmitter(); + @Output() readonly psScrollRight: EventEmitter = new EventEmitter(); + + @Output() readonly psXReachStart: EventEmitter = new EventEmitter(); + @Output() readonly psXReachEnd: EventEmitter = new EventEmitter(); + @Output() readonly psYReachStart: EventEmitter = new EventEmitter(); + @Output() readonly psYReachEnd: EventEmitter = new EventEmitter(); + + // #endregion + + scrollToBottom(): void { + this.el.scrollTop = this.el.scrollHeight - this.el.clientHeight; + } + + scrollToTop(): void { + this.el.scrollTop = 0; + } + + scrollToLeft(): void { + this.el.scrollLeft = 0; + } + + scrollToRight(): void { + this.el.scrollLeft = this.el.scrollWidth - this.el.clientWidth; + } + + constructor(private elRef: ElementRef, private zone: NgZone) {} + + private get el(): HTMLElement { + return this.elRef.nativeElement as HTMLElement; + } + + private init(): void { + this.zone.runOutsideAngular(() => { + const options = { + wheelSpeed: 0.5, + swipeEasing: true, + wheelPropagation: false, + minScrollbarLength: 40, + maxScrollbarLength: 300, + ...this.options + }; + setTimeout(() => { + if (this._disabled) { + return; + } + + this.instance = new PerfectScrollbar(this.el, options); + + PerfectScrollbarEvents.forEach((eventName: PerfectScrollbarEvent) => { + const eventType = eventName.replace(/([A-Z])/g, c => `-${c.toLowerCase()}`); + + fromEvent(this.el, eventType) + .pipe(debounceTime(20), takeUntil(this.ngDestroy)) + .subscribe((event: Event) => { + this[eventName].emit(event); + }); + }); + }, this.options?.delay || 0); + }); + } + + ngAfterViewInit(): void { + this.init(); + } + + ngOnDestroy(): void { + this.ngDestroy.next(); + this.ngDestroy.complete(); + this.zone.runOutsideAngular(() => { + if (this.instance) { + this.instance.destroy(); + } + this.instance = null; + }); + } +} diff --git a/src/app/shared/components/scrollbar/scrollbar.interface.ts b/src/app/shared/components/scrollbar/scrollbar.interface.ts new file mode 100644 index 00000000..e7e74d51 --- /dev/null +++ b/src/app/shared/components/scrollbar/scrollbar.interface.ts @@ -0,0 +1,35 @@ +import PerfectScrollbar from 'perfect-scrollbar'; + +export interface ScrollbarOptions extends PerfectScrollbar.Options { + /** + * 延迟初始化 + */ + delay?: number; +} + +export type PerfectScrollbarEvent = + | 'psScrollY' + | 'psScrollX' + | 'psScrollUp' + | 'psScrollDown' + | 'psScrollLeft' + | 'psScrollRight' + | 'psYReachEnd' + | 'psYReachStart' + | 'psXReachEnd' + | 'psXReachStart'; + +export const PerfectScrollbarEvents: PerfectScrollbarEvent[] = [ + 'psScrollY', + 'psScrollX', + + 'psScrollUp', + 'psScrollDown', + 'psScrollLeft', + 'psScrollRight', + + 'psYReachEnd', + 'psYReachStart', + 'psXReachEnd', + 'psXReachStart' +]; diff --git a/src/app/shared/components/scrollbar/scrollbar.module.ts b/src/app/shared/components/scrollbar/scrollbar.module.ts new file mode 100644 index 00000000..79627bf7 --- /dev/null +++ b/src/app/shared/components/scrollbar/scrollbar.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; + +import { ScrollbarDirective } from './scrollbar.directive'; + +const COMPONENTS = [ScrollbarDirective]; + +@NgModule({ + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class ScrollbarModule {} diff --git a/src/app/shared/components/status-label/index.en-US.md b/src/app/shared/components/status-label/index.en-US.md new file mode 100644 index 00000000..51d3db19 --- /dev/null +++ b/src/app/shared/components/status-label/index.en-US.md @@ -0,0 +1,23 @@ +--- +order: 10 +title: status-label +type: Component +--- + +Status label, [DEMO](https://preview.ng-alain.com/ms/#/dns/domain)。 + +## DEMO + +```html +Normal + + +``` + +## API + +| Property | Description | Type | Default | +| -------- | --------------------------------------- | ----------------------- | --------- | +| `[type]` | Type of status label | `success,error,warning` | `success` | +| `[icon]` | Whether show icon | `boolean` | `true` | +| `[text]` | Text of status label, or `[ng-content]` | `string` | - | diff --git a/src/app/shared/components/status-label/index.ts b/src/app/shared/components/status-label/index.ts new file mode 100644 index 00000000..d7143225 --- /dev/null +++ b/src/app/shared/components/status-label/index.ts @@ -0,0 +1,2 @@ +export * from './status-label.component'; +export * from './status-label.module'; diff --git a/src/app/shared/components/status-label/index.zh-CN.md b/src/app/shared/components/status-label/index.zh-CN.md new file mode 100644 index 00000000..47e99263 --- /dev/null +++ b/src/app/shared/components/status-label/index.zh-CN.md @@ -0,0 +1,23 @@ +--- +order: 10 +title: status-label +type: Component +--- + +状态标签,参考[示例](https://preview.ng-alain.com/ms/#/dns/domain)。 + +## DEMO + +```html +Normal + + +``` + +## API + +| 参数 | 说明 | 类型 | 默认值 | +| -------- | ----------------------- | ----------------------- | --------- | +| `[type]` | 类型 | `success,error,warning` | `success` | +| `[icon]` | 是否显示图标 | `boolean` | `true` | +| `[text]` | 文本,或 `[ng-content]` | `string` | - | diff --git a/src/app/shared/components/status-label/status-label.component.ts b/src/app/shared/components/status-label/status-label.component.ts new file mode 100644 index 00000000..4af8f0ce --- /dev/null +++ b/src/app/shared/components/status-label/status-label.component.ts @@ -0,0 +1,55 @@ +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnChanges } from '@angular/core'; +import { BooleanInput, InputBoolean } from '@delon/util'; + +@Component({ + selector: 'status-label, [status-label]', + template: ` + + {{ text }} + + `, + host: { + '[class.text-success]': `_t=='success'`, + '[class.text-error]': `_t=='error'`, + '[class.text-orange]': `_t=='warning'` + }, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class StatusLabelComponent implements OnChanges { + static ngAcceptInputType_icon: BooleanInput; + + _t?: string; + + iconType!: string; + + @Input() + set type(v: 'success' | 'error' | 'warning') { + let iconType: string; + switch (v) { + case 'success': + iconType = 'check-circle'; + break; + case 'error': + iconType = 'close-circle'; + break; + case 'warning': + default: + iconType = 'exclamation-circle'; + break; + } + this._t = v; + this.iconType = iconType; + } + + @Input() @InputBoolean() icon = true; + + @Input() text?: string; + + constructor(private cdr: ChangeDetectorRef) { + this.type = 'success'; + } + + ngOnChanges(): void { + this.cdr.detectChanges(); + } +} diff --git a/src/app/shared/components/status-label/status-label.module.ts b/src/app/shared/components/status-label/status-label.module.ts new file mode 100644 index 00000000..743a9eab --- /dev/null +++ b/src/app/shared/components/status-label/status-label.module.ts @@ -0,0 +1,14 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { NzIconModule } from 'ng-zorro-antd/icon'; + +import { StatusLabelComponent } from './status-label.component'; + +const COMPONENTS = [StatusLabelComponent]; + +@NgModule({ + imports: [CommonModule, NzIconModule], + declarations: COMPONENTS, + exports: COMPONENTS +}) +export class StatusLabelModule {} diff --git a/src/app/shared/index.ts b/src/app/shared/index.ts new file mode 100644 index 00000000..86cfaf5c --- /dev/null +++ b/src/app/shared/index.ts @@ -0,0 +1,15 @@ +// Modules +export * from './components/delay/index'; +export * from './components/editor/index'; +export * from './components/file-manager/index'; +export * from './components/masonry/index'; +export * from './components/mouse-focus/index'; +export * from './components/status-label/index'; +export * from './components/scrollbar/index'; +export * from './components/address/index'; + +// Utils +export * from './utils/yuan'; + +// Module +export * from './shared.module'; diff --git a/src/app/shared/interfaces/api/i-api-response.i.ts b/src/app/shared/interfaces/api/i-api-response.i.ts new file mode 100644 index 00000000..f6931e4c --- /dev/null +++ b/src/app/shared/interfaces/api/i-api-response.i.ts @@ -0,0 +1,7 @@ +export interface IApiResponse { + success?: boolean; + msg?: string; + status?: number; + state?: number; + data?: any; +} diff --git a/src/app/shared/interfaces/core/i-base.i.ts b/src/app/shared/interfaces/core/i-base.i.ts new file mode 100644 index 00000000..1b32f151 --- /dev/null +++ b/src/app/shared/interfaces/core/i-base.i.ts @@ -0,0 +1,26 @@ +import { Observable } from 'rxjs'; +export interface IBase { + // 增 + addOne(params: any, url: string): Observable; + asyncAddOne(params: any, url: string): Promise; + addMany(params: any[], url: string): Observable; + asyncAddMany(params: any[], url: string): Promise; + + // 删 + delOne(params: any, url: string): Observable; + asyncDelOne(params: any, url: string): Promise; + delMany(params: any[], url: string): Observable; + asyncDelMany(params: any[], url: string): Promise; + + // 改 + updateOne(params: any, url: string): Observable; + asyncUpdateOne(params: any, url: string): Promise; + updateMany(params: any[], url: string): Observable; + asyncUpdateMany(params: any[], url: string): Promise; + + // 查 + getOne(params: any, url: string): Observable; + asyncGetOne(params: any, url: string): Promise; + getMany(params: any, url: string): Observable; + asyncGetMany(params: any, url: string): Promise; +} diff --git a/src/app/shared/interfaces/core/i-cache-obj.ts b/src/app/shared/interfaces/core/i-cache-obj.ts new file mode 100644 index 00000000..55ba6961 --- /dev/null +++ b/src/app/shared/interfaces/core/i-cache-obj.ts @@ -0,0 +1,44 @@ +/* + * .::::. + * .::::::::. + * ::::::::::: + * ..:::::::::::' + * '::::::::::::' + * .:::::::::: + * '::::::::::::::.. + * ..::::::::::::. + * ``:::::::::::::::: + * ::::``:::::::::' .:::. + * ::::' ':::::' .::::::::. + * .::::' :::: .:::::::'::::. + * .:::' ::::: .:::::::::' ':::::. + * .::' :::::.:::::::::' ':::::. + * .::' ::::::::::::::' ``::::. + * ...::: ::::::::::::' ``::. + * ````':. ':::::::::' ::::.. + * '.:::::' ':'````.. + * + * @Author: Maple + * @Date: 2021-06-10 16:04:50 + * @LastEditors: Do not edit + * @LastEditTime: 2021-06-11 10:15:26 + * @Description: 缓存数据对象 + */ +export interface ICacheObj { + /** + * 生产日期 + */ + pd: number; + /** + * 缓存数据 + */ + data: any; + /** + * 有效时间 + */ + vld?: number; + /** + * 是否加密 + */ + encrypt?: boolean; +} diff --git a/src/app/shared/interfaces/index.ts b/src/app/shared/interfaces/index.ts new file mode 100644 index 00000000..40e011fe --- /dev/null +++ b/src/app/shared/interfaces/index.ts @@ -0,0 +1,6 @@ +// Api +export * from './api/i-api-response.i'; + +// Core +export * from './core/i-base.i'; +export * from './core/i-cache-obj'; diff --git a/src/app/shared/services/business/account.service.ts b/src/app/shared/services/business/account.service.ts new file mode 100644 index 00000000..fc461324 --- /dev/null +++ b/src/app/shared/services/business/account.service.ts @@ -0,0 +1,112 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-05-27 11:22:02 + * @Description: 全局账号服务 + */ +import { Injectable, Injector } from '@angular/core'; +import { Router } from '@angular/router'; +import { CoreService, StartupService } from '@core'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { BaseService } from '../core/base.service'; +@Injectable({ + providedIn: 'root', +}) +export class EAAccountService extends BaseService { + // 验证码登录 + public $api_login_by_captcha = `/scm/cuc/cuc/user/sms/login?_allow_anonymous=true`; + // 账号密码登录 + public $api_login_by_account = `/scm/cuc/cuc/user/login?_allow_anonymous=true`; + // 退出登录 + public $api_logout = `/chia/user/logout`; + + constructor(public injector: Injector) { + super(injector); + } + + // 注入核心服务 + private get coreSrv(): CoreService { + return this.injector.get(CoreService); + } + + // 注入路由 + private get router(): Router { + return this.injector.get(Router); + } + + // 注入路由复用服务 + private get reuseTabService(): ReuseTabService { + return this.injector.get(ReuseTabService); + } + // 注入全局启动服务 + private get startSrv(): StartupService { + return this.injector.get(StartupService); + } + + // 登录状态 + public get loginStatus(): boolean { + return this.coreSrv.loginStatus; + } + + /** + * 账号密码登录 + * @param username 登录账号 + * @param password 登录密码 + */ + loginByAccount(username: string, password: string): void { + this.asyncRequest(this.$api_login_by_account, { username, password, type: 0 }, 'POST', true, 'FORM').then((res) => { + console.log(res); + this.doAfterLogin(res); + }); + } + + /** + * 短信验证码登录 + * @param phone 手机号码 + * @param smsCode 短信验证码 + */ + loginByCaptcha(phone: string, smsCode: string): void { + this.asyncRequest(this.$api_login_by_captcha, { phone, smsCode }, 'POST', true, 'FORM').then((res) => { + this.doAfterLogin(res); + }); + } + + private doAfterLogin(res: any): void { + const token = res?.token; + if (token) { + // 清空路由复用信息 + this.reuseTabService.clear(); + + // 设置用户Token信息 + // TODO: Mock expired value + // res.user.expired = +new Date() + 1000 * 60 * 5; + this.coreSrv.tokenSrv.set({ token }); + // 重新获取 StartupService 内容,我们始终认为应用信息一般都会受当前用户授权范围而影响 + this.startSrv.load().then(() => { + let url = this.coreSrv.tokenSrv.referrer!.url || '/'; + if (url.includes('/passport')) { + url = '/'; + } + this.router.navigateByUrl(url); + }); + } + } + + /** + * 登出系统 + * @param showMsg 是否显示登录过期弹窗 + */ + logout(showMsg: boolean): void { + this.coreSrv.logout(showMsg); + } + + /** + * 向服务器请求登出 + */ + requestLogout(): void { + this.asyncRequest(this.$api_logout).finally(() => { + this.logout(false); + }); + } +} diff --git a/src/app/shared/services/business/authorization.service.ts b/src/app/shared/services/business/authorization.service.ts new file mode 100644 index 00000000..c23cdb35 --- /dev/null +++ b/src/app/shared/services/business/authorization.service.ts @@ -0,0 +1,88 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-06-17 14:58:35 + * @Description: 全局权限服务 + */ +import { Injectable, Injector } from '@angular/core'; +import { Router } from '@angular/router'; +import { cacheConf } from '@conf/cache.conf'; +import { StartupService } from '@core'; +import { ReuseTabService } from '@delon/abc/reuse-tab'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { SettingsService } from '@delon/theme'; +import { Observable, of } from 'rxjs'; +import { tap } from 'rxjs/operators'; +import { BaseService } from '../core/base.service'; +import { EACacheService } from '../core/cache.service'; + +@Injectable({ + providedIn: 'root', +}) +export class EAAuthorizationService extends BaseService { + // 获取我的角色 + public $api_get_my_roles = `/chia/roleInfo/getMyRoleList`; + + constructor(public injector: Injector) { + super(injector); + } + + // 注入路由 + private get router(): Router { + return this.injector.get(Router); + } + // 注入缓存服务 + private get cacheSrv(): EACacheService { + return this.injector.get(EACacheService); + } + // 注入令牌服务 + private get tokenSrv(): ITokenService { + return this.injector.get(DA_SERVICE_TOKEN); + } + // 注入路由复用服务 + private get reuseTabService(): ReuseTabService { + return this.injector.get(ReuseTabService); + } + // 注入全局启动服务 + private get startSrv(): StartupService { + return this.injector.get(StartupService); + } + // 注入全局设置服务 + private get settingSrv(): SettingsService { + return this.injector.get(SettingsService); + } + + /** + * 获取角色列表 + * @param force 强制刷新 默认值:false + * @returns 角色列表, 类型 Array | Observable> + */ + getMyRoles(force: boolean = false): Observable> { + // 强制刷新 + if (force) { + return this.refreshRoles(); + } + + // 从缓存中提取角色 + const roles = this.cacheSrv.get(cacheConf.role) || []; + + // 当缓存中不存在角色时,尝试从服务器拉取角色数据 + if (roles.length > 0) { + return of(roles); + } + + return this.refreshRoles(); + } + + /** + * 刷新角色权限 + */ + private refreshRoles(): Observable> { + return this.request(this.$api_get_my_roles).pipe( + tap((res) => { + this.cacheSrv.set(cacheConf.role, res); + }), + ); + } +} diff --git a/src/app/shared/services/business/captcha.service.ts b/src/app/shared/services/business/captcha.service.ts new file mode 100644 index 00000000..72d31eb9 --- /dev/null +++ b/src/app/shared/services/business/captcha.service.ts @@ -0,0 +1,76 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-03-29 14:45:43 + * @Description: 全局验证码服务 + */ +import { ComponentRef, Injectable, Injector } from '@angular/core'; +import { Observable, Subject } from 'rxjs'; +import { BaseService } from '../core/base.service'; + +@Injectable({ + providedIn: 'root', +}) +export class EACaptchaService extends BaseService { + // 通过手机号发送短信验证码 + private $api_send_sms_by_mobile = `/scm/sms/sms/verification/getSMVerificationCode?_allow_anonymous=true&_allow_badcode=true`; + + // 验证手机号为平台用户后发送短信验证码 + private $api_send_sms__by_validate_mobile = `/chiauserBasicInfo/forgetPassword/getAccountSMVerificationCode`; + + // 滑块验证码获取短信 + $api_dun_sms = `/scce/pbc/pbc/verification/verificationSlider?_allow_anonymous=true&_allow_badcode=true`; + + // 根据当前登录用户绑定的手机号码获取短信验证码 + $api_captcha_sms_code = `/scce/pbc/pbc/verification/getSMVerificationCodeByToken`; + + // 获取应用租户的管理员用户发送验证码 + $api_getAppLesseeAdminSMVerificationCode = `/chiauserBasicInfo/getAppLesseeAdminSMVerificationCode`; + + /** + * 根据当前登录用户绑定的手机号码获取短信验证码 + */ + getCaptchaBySMSNoPhone(): Observable { + return this.request(this.$api_captcha_sms_code, { appId: this.envSrv.getEnvironment().appId }, 'POST', true, 'FORM'); + } + /** + * 获取应用租户的管理员用户发送验证码 + */ + getAppLesseeAdminSMVerificationCode(): Observable { + return this.request(this.$api_getAppLesseeAdminSMVerificationCode, { appId: this.envSrv.getEnvironment().appId }, 'POST', true, 'FORM'); + } + constructor(public injector: Injector) { + super(injector); + } + + /** + * 发送短信验证码 + * @param mobile 手机号码 + */ + sendSMSCaptchaByMobile(mobile: string): Observable { + return this.request( + this.$api_send_sms_by_mobile, + { appId: this.envSrv.getEnvironment()?.appId, phoneNumber: mobile }, + 'POST', + true, + 'FORM', + ); + } + + /** + * 滑块验证获取短信码 + * @param tel 手机号 + * @param validate 滑动验证通过字符串 + * @param url api地址 + */ + getCaptchaByDun(mobile: string, validate: string, url?: string): Observable { + return this.request( + url || this.$api_dun_sms, + { appId: this.envSrv.getEnvironment()?.appId, phoneNumber: mobile, user: mobile, validate }, + 'POST', + true, + 'FORM', + ); + } +} diff --git a/src/app/shared/services/business/enterprise.service.ts b/src/app/shared/services/business/enterprise.service.ts new file mode 100644 index 00000000..43774b06 --- /dev/null +++ b/src/app/shared/services/business/enterprise.service.ts @@ -0,0 +1,125 @@ +import { Injectable, Injector } from '@angular/core'; +import { cacheConf } from '@conf/cache.conf'; +import { Observable } from 'rxjs'; +import { tap } from 'rxjs/operators'; +import { BaseService } from '../core/base.service'; +import { EACacheService } from '../core/cache.service'; + +@Injectable({ + providedIn: 'root', +}) +export class EAEnterpriseService extends BaseService { + // 获取当前用户绑定的分销商/代理商/供应商 + public $api_get_my_enterprises = `/chia/enterpriseInfo/list/queryMyAppInfo`; + + // 向服务器变更默认企业 + public $api_selectEnterprise = '/chia/userApp/selectEnterprise'; + constructor(public injector: Injector) { + super(injector); + } + + // 注入缓存服务 + private get cacheSrv(): EACacheService { + return this.injector.get(EACacheService); + } + + /** + * 加载企业信息 + */ + loadEnterpises(): Observable { + return this.request(this.$api_get_my_enterprises); + } + + /** + * 根据租户ID获取指定的企业 + * @param tenantId 租户ID + */ + getOne(tenantId: string): any { + const enterprises = this.getAll(); + return enterprises.find((r) => r.tenantId === tenantId); + } + + /** + * 获取所有企业 + */ + getAll(): Array { + return this.cacheSrv.get(cacheConf.enterprise) || []; + } + + /** + * 获取默认企业 + */ + getDefault(): any { + const list = this.getAll(); + return list.find((r) => r.defaultState) || list[0] || null; + } + + /** + * 设置默认企业 + */ + setDefault(tenantId: string): void { + // 获取指定tenantId的企业 + const enterprise = this.getOne(tenantId); + if (enterprise) { + let enterpriseList = this.getAll(); + + // 设置指定tenantId的企业为默认企业,其他的企业为非默认企业 + enterpriseList = enterpriseList.map((m) => { + if (m.tenantId === enterprise.tenantId) { + m.defaultState = true; + } else { + m.defaultState = false; + } + return m; + }); + // 重新缓存新的企业列表 + this.setCache(enterpriseList); + + // 广播当前环境信息 + this.envSrv.setEnvironment(enterprise.appId, enterprise.tenantId); + } + } + + /** + * 设置缓存企业信息 + * @param enterpriseData 企业信息信息 + */ + setCache(enterpriseData: any): void { + this.cacheSrv.set(cacheConf.enterprise, enterpriseData); + } + + /** + * 选择企业 + * @param item 企业实体 + * 选择企业进入管理后台 + * 1. 判断当前企业是否被冻结,如企业为冻结状态,则toast提示“供应商已被冻结,无法访问,请联系客服处理” + * 2. 向服务器请求变更当前企业身份 + * 3. 服务器变更当前企业后,刷新本地缓存中的企业信息 + * 4. 跳转到管理后台首页 + */ + changeDefaultEnterprise(item: any): Observable { + // 1. 判断冻结状态 + // if (item.stateLocked) { + // this.msgSrv.warning('代理商已被冻结,无法访问,请联系客服处理'); + // return of(false); + // } + // 2.判断用户状态userStatus:0-正常,1-冻结,2-废弃 + // if (item.userStatus === 1) { + // this.msgSrv.warning('您的帐号已被企业冻结,无法访问,请联系客服处理'); + // return of(false); + // } + // if (item.userStatus === 2) { + // this.msgSrv.warning('您的帐号已被企业废弃,无法访问,请联系客服处理'); + // return of(false); + // } + // 3. 向服务器请求变更当前企业身份 + return this.request(this.$api_selectEnterprise, { tenantId: item.tenantId }).pipe( + tap((data) => { + if (data) { + // 切换成功则广播当前环境信息 + this.envSrv.setEnvironment(item.appId, item.tenantId); + } + }), + ); + } +} diff --git a/src/app/shared/services/business/sl-platform.service.ts b/src/app/shared/services/business/sl-platform.service.ts new file mode 100644 index 00000000..10b74cd1 --- /dev/null +++ b/src/app/shared/services/business/sl-platform.service.ts @@ -0,0 +1,306 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-05-27 11:07:18 + * @Description: 全局系统服务 + */ +import { Injectable, Injector } from '@angular/core'; +import { Observable, zip } from 'rxjs'; +import { catchError, switchMap } from 'rxjs/operators'; +import { CoreService } from 'src/app/core/core.service'; +import { EAEncryptUtil } from '../../utils'; +import { BaseService } from '../core/base.service'; + +@Injectable({ + providedIn: 'root', +}) +export class EAPlatformService extends BaseService { + public $api_update_platform_name = `/chia/operationInfo/updatePlatformName`; // 修改当前登录平台名称 + + /** + * 判断是否已经设置平台名称 + */ + private $api_is_set_platform_name = `/chia/operationInfo/judgeSetPlatformName`; + /** + * 获取当前登录用户绑定的运营商有效期 + */ + private $api_get_validity_period_of_operator = `/chia/operationInfo/getOperationDetailByToken`; + + /** + * 缓存平台状态键名 + */ + private _cachePlatformStatusKey = '_cpsk'; + /** + * 运营商剩余有效期 + */ + private _validityPeriodOfOperator: Observable | null = null; + /** + * 允许运营商超出有效期时登录 + */ + private _allowLoginBeyondValidity = true; + /** + * 获取基础配置 + */ + // public $api_get_config = `/scce/pbc/pbc/baseConfig/getBaseConfigList?_allow_anonymous=true`; + constructor(public injector: Injector) { + super(injector); + } + + // 注入核心服务 + private get coreSrv(): CoreService { + return this.injector.get(CoreService); + } + + /** + * 获取平台状态(参考Http状态码) + * 200:平台状态正常 + * 401: 未设置平台名称 + * 403 + */ + getPlatformStatus(): number { + const encryptStatus = this.coreSrv.cacheSrv.getNone(this._cachePlatformStatusKey); + try { + const status = EAEncryptUtil.deencryptByDeAES(encryptStatus); + return +status; + } catch (error) { + return 0; + } + } + + /** + * 获取当前运营商剩余有效期 + * @returns 有效期天数 + */ + getValidityPeriodOfOperator(): Observable { + return this.loadValidityPeriodOfOperator(); + } + + /** + * 加载平台状态 + * + * @returns 平台状态码 + */ + loadPlatformStatus(): Promise { + return new Promise((resolve) => { + zip(this.loadIsSetPlatformName(), this.loadValidityPeriodOfOperator()) + .pipe( + catchError((res) => { + console.error(`加载平台状态时发生错误:`, res); + this.msgSrv.error(`加载平台状态时发生错误!`); + resolve(); + return []; + }), + ) + .subscribe( + ([nameStauts, validityPeriod]) => this.setPlatformStatus(nameStauts, validityPeriod), + () => {}, + () => resolve(), + ); + }); + } + + /** + * 获取平台名称设置状态 + * @param nameStatus 平台名称设置状态 + * @param validityPeriod 运营剩余有效期天数 + */ + setPlatformStatus(nameStatus: boolean, validityPeriod: number) { + let status = 0; + // 判断平台名称 + if (status !== 200) { + status = nameStatus ? 200 : 401; + } + + // 判断运营商有效期 + if (!this._allowLoginBeyondValidity && status === 200) { + status = validityPeriod > 0 ? 200 : 402; + } + + // 加密并保存平台状态 + const ciphertext = EAEncryptUtil.encryptByEnAES(status.toString()); + this.coreSrv.cacheSrv.set(this._cachePlatformStatusKey, ciphertext); + } + + /** + * 获取平台是否设置平台名称 + * @returns true | false + */ + private loadIsSetPlatformName(): Observable { + return this.request(this.$api_is_set_platform_name).pipe(switchMap(async (sm) => sm === true)); + } + + /** + * 获取当前账户绑定的运营商有效期 + * @returns 有效期时间(天) + */ + private loadValidityPeriodOfOperator(): Observable { + return this.request(this.$api_get_validity_period_of_operator); + } + + /** + * 获取指定平台的地址 + * @param platformName 平台名称 + * @param hasOperationCode 是否需要运营商代码 + */ + getPlatfomrUrl(platformName: string, hasOperationCode = true) { + const url: string = this.getAllPlatformUrls().find((r: any) => r.name === platformName)?.url || ''; + if (hasOperationCode) { + return url; + } + + return url.includes('?') ? url.substring(0, url.indexOf('?')) : url; + } + + /** + * 获取所有平台的地址 + */ + getAllPlatformUrls() { + let platforms: any = []; + const sc = this.coreSrv.tokenSrv.get()?.sc; + const protocol = window.location.protocol; + const hostname = window.location.hostname; + const port = window.location.port; + switch (hostname) { + case 'localhost': + platforms = [ + { + name: '运营后台', + url: `${protocol}//${hostname}:8001/#/?v=${sc}`, + }, + { + name: '开放平台', + url: `${protocol}//localhost:8005/#/?v=${sc}`, + }, + { + name: '供应商平台', + url: `${protocol}//localhost:8004/#/?v=${sc}`, + }, + { + name: '分销商平台', + url: `${protocol}//localhost:8003/#/?v=${sc}`, + }, + { + name: '代理商平台', + url: `${protocol}//localhost:8002/#/?v=${sc}`, + }, + ]; + break; + case 'sce-ows-test.380star.com': + platforms = [ + { + name: '运营后台', + url: `${protocol}//${hostname}${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '开放平台', + url: `${protocol}//sce-opc-test.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '供应商平台', + url: `${protocol}//sce-cvc-test.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '分销商平台', + url: `${protocol}//sce-cdc-test.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '代理商平台', + url: `${protocol}//sce-cac-test.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + ]; + break; + case 'sce-ows-pre.380star.com': + platforms = [ + { + name: '运营后台', + url: `${protocol}//${hostname}${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '开放平台', + url: `${protocol}//sce-opc-pre.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '供应商平台', + url: `${protocol}//sce-cvc-pre.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '分销商平台', + url: `${protocol}//sce-cdc-pre.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '代理商平台', + url: `${protocol}//sce-cac-pre.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + ]; + break; + case 'sce-ows-demo.380star.com': + platforms = [ + { + name: '运营后台', + url: `${protocol}//${hostname}${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '开放平台', + url: `${protocol}//sce-opc-demo.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '供应商平台', + url: `${protocol}//sce-cvc-demo.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '分销商平台', + url: `${protocol}//sce-cdc-demo.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '代理商平台', + url: `${protocol}//sce-cac-demo.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + ]; + break; + case 'sce-ows.380star.com': + platforms = [ + { + name: '运营后台', + url: `${protocol}//${hostname}${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '开放平台', + url: `${protocol}//sce-opc.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '供应商平台', + url: `${protocol}//sce-cvc.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '分销商平台', + url: `${protocol}//sce-cdc.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + { + name: '代理商平台', + url: `${protocol}//sce-cac.380star.com${port ? ':' + port : ''}/#/?v=${sc}`, + }, + ]; + break; + } + return platforms; + } + + /** + * 获取运营商代码 + * @returns 运营商代码 + */ + getOperatorCode() { + return this.coreSrv.tokenSrv.get()?.sc || this.coreSrv.settingSrv.getData('app')?.v || ''; + } + + /** + * 获取平台配置信息列表 + */ + // getPlatformConfigurationList(): Observable> { + // return this.request(this.$api_get_config, { + // pageIndex: 1, + // pageSize: 999, + // }); + // } +} diff --git a/src/app/shared/services/business/user.service.ts b/src/app/shared/services/business/user.service.ts new file mode 100644 index 00000000..d6247d3a --- /dev/null +++ b/src/app/shared/services/business/user.service.ts @@ -0,0 +1,204 @@ +/* + * @Description: + * @Author: wsm + * @Date: 2021-06-22 10:25:33 + * @LastEditTime: 2021-06-23 20:25:05 + * @LastEditors: Do not edit + * @Reference: + */ +import { Inject, Injectable, Injector } from '@angular/core'; +import { ActivatedRoute, Router } from '@angular/router'; +import { cacheConf } from '@conf/cache.conf'; +import { eventConf } from '@conf/event.conf'; +import { sysConf } from '@conf/sys.conf'; +import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; +import { SettingsService } from '@delon/theme'; +import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; +import { BaseService } from '../core/base.service'; +import { EACacheService } from '../core/cache.service'; +import { EAEventService } from '../core/event.service'; +@Injectable({ + providedIn: 'root', +}) +export class EAUserService extends BaseService { + /** + * 账号密码登录 + */ + $api_login_by_account = `/scce/cuc/cuc/user/login?_allow_anonymous=true`; + /** + * 手机号登录 + */ + $api_login_by_mobile = `/scce/cuc/cuc/user/sms/login?_allow_anonymous=true`; + // 登录路径 + private $api_login = `/scce/cuc/cuc/user/login?_allow_anonymous=true`; + private $api_captcha_login = `/scce/cuc/cuc/user/sms/login?_allow_anonymous=true`; + private $api_register: any = ``; + // 获取协议信息 + public $api_get_agreement_info = `/scce/pbc/pbc/agreementInfo/getAgreementInfoByType?_allow_anonymous=true`; + // 未登录验证身份 + public $forgetPasswordVerifyIdentity = `/scm/cuc/cuc/userBasicInfo/forgetPassword/verifyIdentity?_allow_anonymous=true`; + // 未登录账号发送验证码 + public $getAccountSMVerificationCode = `/scm/cuc/cuc/userBasicInfo/forgetPassword/getAccountSMVerificationCode?_allow_anonymous=true`; + // 未设置密码的用户设置用户密码 + public $api_set_password = `/scce/cuc/cuc/userBasicInfo/setPassword`; + // 凭证修改密码 + public $voucherUpdatePassword = `/scm/cuc/cuc/userBasicInfo/forgetPassword/voucherUpdatePassword?_allow_anonymous=true`; + // 检测用户名是否存在 + public $api_validate_username_exists = `/tms/cuc/cuc/userBasicInfo/checkUserName?_allow_badcode=true`; + // 获取当前用户信息 + public $api_get_current_user = `/scce/cuc/cuc/user/getUserDetail`; + // 校验手机号是否可注册 + private $api_vaild_register: any = ``; + /** + * 登出 + */ + $api_logout = `/scce/cuc/cuc/user/logout`; + /** + * 根据Token获取用户详情 + */ + $api_get_user_by_token = `/scce/cuc/cuc/user/getUserDetail`; + /** + * 获取用户菜单 + */ + $api_get_user_menus = `/scce/cuc/cuc/functionInfo/queryUserHaveFunctionsList`; + /** + * 获取用户角色 + */ + $api_get_user_roles = `/scce/cuc/cuc/roleInfo/getMyRoleList`; + // 获取一、二、三级地区详情 + public $api_getRegionToThree = `/scce/pbc/pbc/region/getRegionToThree?_allow_anonymous=true`; + constructor( + public injector: Injector, + public cacheSrv: EACacheService, + public eventSrv: EAEventService, + public router: Router, + public ar: ActivatedRoute, + @Inject(DA_SERVICE_TOKEN) public tokenSrv: ITokenService, + private settingSrv: SettingsService, + ) { + super(injector); + } + + /** + * 登录状态 + */ + public get loginStatus(): boolean { + try { + return !!this.tokenSrv.get()?.token; + } catch (error) { + return false; + } + } + + /** + * @description 手机号登录 + * @param mobile 手机号 + * @param captcha 验证码 + */ + loginByMobile(mobile: string, captcha: string, sc: string) { + this.asyncRequest(this.$api_login_by_mobile, { phone: mobile, smsCode: captcha, sc }, 'POST', true, 'FORM').then((res) => { + if (res?.token) { + this.cacheSrv.set(cacheConf.token, res.token); + this.doAfterLogin(); + this.eventSrv.event.emit(eventConf.reflesh_login_status); + this.router.navigate([this.ar.snapshot.queryParams.returnUrl || '/']); + } + }); + } + + /** + * @description 账号密码登录 + * @param account 账号 + * @param password 密码 + */ + loginByAccount(account: string, password: string, sc: string) { + this.request(this.$api_login_by_account, { username: account, password, sc }, 'POST', true, 'FORM').subscribe((res: any) => { + if (res?.token) { + this.tokenSrv.set({ token: res.token }); + this.doAfterLogin(); + this.eventSrv.event.emit(eventConf.reflesh_login_status, this.ar.snapshot.queryParams.returnUrl || '/'); + } + }); + } + + async doAfterLogin() { + await this.loadUserInfo(); + await this.loadUserMenus(); + await this.loadUserRoles(); + } + + /** + * 加载用户信息 + */ + async loadUserInfo() { + return this.asyncRequest(this.$api_get_user_by_token).then((res) => { + this.cacheSrv.set(cacheConf.user, res); + }); + } + + /** + * 加载用户菜单 + */ + async loadUserMenus() { + return this.asyncRequest(this.$api_get_user_menus, { appId: sysConf.appId }).then((res) => { + this.cacheSrv.set(cacheConf.menu, res); + }); + } + + /** + * 加载用户角色 + */ + loadUserRoles() {} + + /** + * 登出 + */ + logout() { + this.settingSrv.setApp({}); + this.tokenSrv.clear(); + this.cacheSrv.clear(); + this.router.navigate(['/']); + } + + /** + * 用户注册 + */ + register(params: any): Observable { + const obj: any = {}; + obj.appId = sysConf.appId; + obj.masterAccount = 0; + if (params.regType === 'account') { + obj.account = params.account; + obj.loginCipher = params.loginCipher; + obj.type = 0; + } else if (params.regType === 'phone') { + obj.phone = params.phone; + obj.smsVerificationCode = params.smsVerificationCode; + obj.type = 1; + } + return this.http.post(this.$api_register, obj).pipe( + map((res: any): any => { + if (res.success === true) { + return true; + } + }), + ); + } + + /** + * 校验手机号是否可注册 + */ + checkPhoneHasRegister(params: any): Observable { + const formdata = new FormData(); + formdata.append('appId', sysConf.appId); + formdata.append('phoneNumber', params); + return this.http.post(this.$api_vaild_register, formdata).pipe( + map((res: any): any => { + if (res.success === true) { + return true; + } + }), + ); + } +} diff --git a/src/app/shared/services/core/base.service.ts b/src/app/shared/services/core/base.service.ts new file mode 100644 index 00000000..6d636413 --- /dev/null +++ b/src/app/shared/services/core/base.service.ts @@ -0,0 +1,516 @@ +/* + * @Author: Maple + * @Date: 2021-03-20 16:38:44 + * @LastEditors: Do not edit + * @LastEditTime: 2021-06-17 15:06:37 + * @Description: 全局基础服务: + * 所有实体类服务必须使用extends扩展此类 + * 几个特别的Get参数: + * 1. _allow_anonymous=true: 匿名访问,可绕开Http拦截器验证拦截 + * 使用方法: $api_xxx = `xxx?_allow_anonymous=true` + * + * 2. _allow_badcode=true: 请求坏状态,可使Http拦截放还完整的HttpResponse + * 使用方法: $api_xxx = `xxxx?_allow_badcode=true` + * + * 3. _custom_header="[{key: string, value: string}]": 自定义Header, + * 一些特殊的请求,需要额外附加特别的Header时使用 + * 使用方法: + * const headers = [{ key: xxx, value: xxx}, + * { key: xxx, value: xxxx}]; + * this.service.request( + * this.encodeUrlHeader( + * this.service.$api_xxx, headers)) + * + */ +import { Injectable, Injector } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import { environment } from '@env/environment'; +import { EnvironmentService } from '@env/environment.service'; +import { NzMessageService } from 'ng-zorro-antd/message'; +import { NzUploadChangeParam } from 'ng-zorro-antd/upload'; +import { Observable } from 'rxjs'; +import { map, tap } from 'rxjs/operators'; +import { IBase } from '../../interfaces'; +import { EAFileUtil } from '../../utils'; + +@Injectable({ + providedIn: 'root', +}) +export class BaseService implements IBase { + // 新增实例接口地址 + public $api_add_one!: string; + // 新增多个实例地址 + public $api_add_many!: string; + // 修改实例接口地址 + public $api_edit_one!: string; + // 修改多个实例地址 + public $api_edit_many!: string; + // 删除单个实例接口地址 + public $api_del_one!: string; + // 删除多个实例接口地址 + public $api_del_many!: string; + // 获取多个实例接口地址 + public $api_get_many!: string; + // 获取单个实例接口地址 + public $api_get_one!: string; + // 获取分页数据 + public $api_get_page!: string; + // 导出数据接口地址 + public $api_export!: string; + // 导入数据接口地址 + public $api_import!: string; + // 导入数据模板下载地址 + public $api_import_download_tpl!: string; + // 获取字典选项 + public $api_get_dict!: string; + + constructor(public injector: Injector) {} + + get http(): _HttpClient { + return this.injector.get(_HttpClient); + } + + get msgSrv(): NzMessageService { + return this.injector.get(NzMessageService); + } + + get fileUtil(): EAFileUtil { + return this.injector.get(EAFileUtil); + } + + get envSrv(): EnvironmentService { + return this.injector.get(EnvironmentService); + } + + /** + * 异步请求 + * @param parameter 请求参数 + * @param url 请求路径 + * @param method 请求方法 + */ + private httpRequest( + url: string, + parameter: any = {}, + method: 'POST' | 'GET', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + if (paramType === 'FORM') { + parameter = this.getFormData(parameter); + } + // 判断请求是否需要返回完整请求体 + const allowBadCode = this.getParams('_allow_badcode', url); + return this.http + .request(method, url, { + body: paramInBody ? parameter : null, + params: paramInBody ? null : parameter, + }) + .pipe( + map((res: any) => { + if (res.success === true) { + const data = res?.data; + if (allowBadCode) { + return res; + } else { + if (data === undefined || data === null) { + return true; + } + return data; + } + } else { + this.msgSrv.warning(res.msg); + return allowBadCode ? res : null; + } + }), + ); + } + + /** + * 把实体对象转换为FormData + */ + private getFormData(entity: any) { + const formdata = new FormData(); + for (const key in entity) { + if (Object.prototype.hasOwnProperty.call(entity, key)) { + formdata.append(key, entity[key]); + } + } + return formdata; + } + + request( + url: string, + parameter: any = {}, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.httpRequest(url, parameter, method, paramInBody, paramType); + } + + asyncRequest( + url: string, + parameter: any = {}, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.request(url, parameter, method, paramInBody, paramType).toPromise(); + } + + // 增 + addOne( + parameter: any, + url: string = this.$api_add_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncAddOne( + parameter: any, + url: string = this.$api_add_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.addOne(parameter, url, method, paramInBody, paramType).toPromise(); + } + + addMany( + parameter: any[], + url: string = this.$api_add_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncAddMany( + parameter: any, + url: string = this.$api_add_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.addMany(parameter, url, method, paramInBody, paramType).toPromise(); + } + + // 删 + delOne( + parameter: any, + url: string = this.$api_del_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncDelOne( + parameter: any, + url: string = this.$api_del_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.delOne(parameter, url, method, paramInBody, paramType).toPromise(); + } + + delMany( + parameter: any[], + url: string = this.$api_del_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncDelMany( + parameter: any[], + url: string = this.$api_del_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.delMany(parameter, url, method, paramInBody, paramType).toPromise(); + } + + // 改 + updateOne( + parameter: any, + url: string = this.$api_edit_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncUpdateOne( + parameter: any, + url: string = this.$api_edit_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.updateOne(parameter, url, method, paramInBody, paramType).toPromise(); + } + + updateMany( + parameter: any[], + url: string = this.$api_edit_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncUpdateMany( + parameter: any[], + url: string = this.$api_edit_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.updateMany(parameter, url, method, paramInBody, paramType).toPromise(); + } + + /** + * 查询一个实例 + */ + getOne( + parameter: any, + url: string = this.$api_get_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.request(url, parameter, method, paramInBody, paramType); + } + + asyncGetOne( + parameter: any, + url: string = this.$api_get_one, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.getOne(parameter, url, method, paramInBody, paramType).toPromise(); + } + + /** + * 查询一个实例 + */ + getMany( + parameter: any, + url: string = this.$api_get_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Observable { + return this.httpRequest(url, parameter, method, paramInBody, paramType).pipe( + map((res) => { + return (res as any[]) || []; + }), + ); + } + + asyncGetMany( + parameter: any, + url: string = this.$api_get_many, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + ): Promise { + return this.getMany(parameter, url, method, paramInBody, paramType).toPromise(); + } + + /** + * @description: 异步导出文件 + * 采用this.request相同的传参方式调用 + * 支持多种传参方法及自定义头(推荐) + * @param parameter 条件参数 + * @param url API地址 + * @param method Http方法,默认:POST + * @param paramInBody 参数是否在body内 + * @param paramType 参数类型: JSON | FORM , 默认:FORM + * @param allowBadCode 允许完整响应代码 + * @param async 是否同步 + * @returns Http响应结果 + */ + exportStart( + parameter: any, + url: string = this.$api_export, + method: 'POST' | 'GET' = 'POST', + paramInBody: boolean = true, + paramType: 'JSON' | 'FORM' = 'JSON', + allowBadCode: boolean = true, + async: boolean = true, + ): Observable | Promise { + if (allowBadCode) { + url += `?_allow_badcode=true`; + } + const response = this.httpRequest(url, parameter, method, paramInBody, paramType).pipe( + tap((res) => { + if (res.success) { + this.msgSrv.success(`创建下载任务成功,请前往下载任务列表下载您的文件!`); + window.open('#/download'); + } + return res; + }), + ); + return async ? response.toPromise() : response; + } + + /** + * 导出文件 + * @param body Http body参数 + */ + exportFile(body: any = {}, url: string = this.$api_export): void { + this.fileUtil.download(url, body, {}, 'POST'); + } + + /** + * 异步导出文件: + * 采用HttpClient POST方式调用 + * 仅支持POST方法,传参仅支持JSON对象(不推荐) + * @deprecated 不建议使用,请使用exportStart方法代替 + */ + asyncExport(params: any, url: string = this.$api_export): Promise { + return this.http + .post(url, params) + .pipe( + map((m: any) => { + if (m.success) { + this.msgSrv.success('创建导出文件任务成功,请前往下载管理中下载您的文件!'); + window.open('#/download'); + return m.data; + } else { + this.msgSrv.warning(m.msg); + return false; + } + }), + ) + .toPromise(); + } + + /** + * 直接下载文件 + */ + openDownload(url: string, body: any = {}): void { + if (url.startsWith('/')) { + url = url.substr(1); + } + let newUrl = `${environment.api}/${url}`; + if (body && JSON.stringify(body) !== '{}') { + newUrl = newUrl + '?'; + for (const key in body) { + if (Object.prototype.hasOwnProperty.call(body, key)) { + newUrl = newUrl + key + '=' + body[key] + '&'; + } + } + } + + if (newUrl.endsWith('&')) { + newUrl = newUrl.substr(0, newUrl.length - 1); + } + + window.open(newUrl); + } + + /** + * 下载文件 + * @param url 请求路径 + * @param body Http body参数 + * @param params Http params参数 + */ + downloadFile(url: string, body: any = {}, params: any = {}, method: 'POST' | 'GET' = 'POST'): void { + this.fileUtil.download(url, body, params, method); + } + + /** + * 下载模版 + * @param body Http body参数 + * @param params Http params参数 + */ + downloadTpl(body: any = {}, params: any = {}): void { + this.fileUtil.download(this.$api_import_download_tpl, body, params); + } + + /** + * 处理上传状态 + */ + handleUpload({ file, fileList }: NzUploadChangeParam): void { + const status = file.status; + if (status !== 'uploading') { + // console.log(file, fileList); + } + if (status === 'done') { + this.msgSrv.success(`${file.name} 上传成功.`); + } else if (status === 'error') { + this.msgSrv.error(`${file.name} 上传失败.`); + } + } + + /** + * 获取字典 + */ + getDict(key: string): Observable { + return this.http.post(this.$api_get_dict, { dict: key }).pipe( + map((res) => { + if (res.success === true) { + return res.data.map((r: any) => { + return { + label: r.itemValue, + value: r.itemKey, + }; + }); + } else { + this.msgSrv.warning(`获取取字典【${key}】时发生错误:${res.msg || '未知错误!'}`); + return []; + } + }), + ); + } + + /** + * 编码自定义头 + * @param url 需要请求的URL + * @param customHeader 自定义头集合 + * @returns 编码后的URL + */ + encodeUrlHeader(url: string, customHeader: { key: string; value: string }[]): string { + if (customHeader && customHeader.length > 0) { + let newUrl = ''; + if (url.includes('?')) { + newUrl = url + '&_custom_header=' + encodeURI(JSON.stringify(customHeader)); + } else { + newUrl = url + '?_custom_header=' + encodeURI(JSON.stringify(customHeader)); + } + return newUrl; + } + + return url; + } + + /** + * 获取URL指定参数的值 + */ + private getParams(paramName: string, url: string): string { + const paramsIndex = url.indexOf('?'); + if (paramsIndex > -1) { + const paramsStr = url.substr(paramsIndex + 1); + const params = paramsStr.split('&'); + const keyMap = params.find((e) => e.includes(paramName)); + const value = keyMap ? keyMap.split('=')[1] : ''; + return value; + } + return ''; + } +} diff --git a/src/app/shared/services/core/cache.service.ts b/src/app/shared/services/core/cache.service.ts new file mode 100644 index 00000000..996eed97 --- /dev/null +++ b/src/app/shared/services/core/cache.service.ts @@ -0,0 +1,130 @@ +/* eslint-disable no-underscore-dangle */ +/* + * @Author: Maple + * @Date: 2021-03-22 09:35:02 + * @LastEditors: Do not edit + * @LastEditTime: 2021-06-18 00:34:01 + * @Description: 全局缓存服务 + */ +import { Injectable } from '@angular/core'; +import { cacheConf } from '@conf/cache.conf'; +import { CacheService } from '@delon/cache'; +import { BehaviorSubject } from 'rxjs'; +import { distinctUntilChanged } from 'rxjs/operators'; +import { ICacheObj } from '../../interfaces/core/i-cache-obj'; +import { EADateUtil } from '../../utils'; +import { EAEncryptUtil } from '../../utils/encrypt.util'; + +@Injectable({ + providedIn: 'root', +}) +export class EACacheService { + // 监听最后操作时间值变化 + private listen$ = new BehaviorSubject(0); + private listen = this.listen$.asObservable(); + constructor(private service: CacheService) { + this.listen.pipe(distinctUntilChanged()).subscribe((res) => { + this.set(cacheConf.last_operation_time, res); + }); + } + + /** + * @description 设置缓存 + * @param key 缓存键值 + * @param data 缓存数据 + * @param vld 有效时间 + * @param encrypt 是否加密 + */ + set(key: string, data: any, vld: number = 0, encrypt: boolean = false) { + // 去除缓存数据两侧空格 + if (typeof data === 'string') { + data = data.trim(); + } + const cahceObj: ICacheObj = { + pd: new Date().getTime(), + data, + vld, + encrypt, + }; + if (encrypt) { + // 加密 + cahceObj.data = EAEncryptUtil.encryptByEnAES(JSON.stringify(data)); + } + this.service.set(key, cahceObj); + // 更新系统最后操作时间 + this.refleshLastOperationTime(); + } + + /** + * @description 获取缓存 + * @param key 缓存键名 + */ + get(key: string) { + // 获取缓存对象 + const cacheObj = this.service.getNone(key); + // 判断是否存在 + if (!cacheObj) { + // 更新系统最后操作时间 + this.refleshLastOperationTime(); + return null; + } + // 判断有效期 + if (cacheObj.vld > 0) { + // 获取系统最后操作时间 + const last_operation_time: number = this.getLastOperationTime(); + const start = cacheObj.pd > last_operation_time ? cacheObj.pd : last_operation_time; + const vld: Date = EADateUtil.timestampToDate(start + cacheObj.vld); + const expired = EADateUtil.dateDiff(vld, new Date()) <= 0; + if (expired) { + // 已过期,清除缓存 + this.remove(key); + // 更新系统最后操作时间 + this.refleshLastOperationTime(); + return null; + } + } + + // 判断是否加密 + if (cacheObj.encrypt) { + const encryptJson = EAEncryptUtil.deencryptByDeAES(cacheObj.data); + // 更新系统最后操作时间 + this.refleshLastOperationTime(); + return JSON.parse(encryptJson); + } + + // 更新系统最后操作时间 + this.refleshLastOperationTime(); + return cacheObj.data; + } + + /** + * @description 移除缓存 + * @param key 缓存键名 + */ + remove(key: string) { + this.service.remove(key); + } + + /** + * @description 清除所有缓存 + */ + clear(): void { + this.service.clear(); + } + + /** + * 刷新系统最后操作时间 + */ + refleshLastOperationTime() { + this.listen$.next(new Date().getTime()); + } + + /** + * 获取系统最后操作时间 + */ + private getLastOperationTime(): number { + // 获取缓存对象 + const cacheObj: ICacheObj = this.service.getNone(cacheConf.last_operation_time); + return cacheObj?.data || 0; + } +} diff --git a/src/app/shared/services/core/event.service.ts b/src/app/shared/services/core/event.service.ts new file mode 100644 index 00000000..a05a5b7e --- /dev/null +++ b/src/app/shared/services/core/event.service.ts @@ -0,0 +1,19 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 09:35:02 + * @LastEditors: Do not edit + * @LastEditTime: 2021-06-11 17:00:07 + * @Description: 全局事件监听服务 + */ +import { Injectable } from '@angular/core'; +import * as EventEmitter from 'eventemitter3'; + +@Injectable({ + providedIn: 'root', +}) +export class EAEventService { + event: EventEmitter; + constructor() { + this.event = new EventEmitter(); + } +} diff --git a/src/app/shared/services/core/validate.service.ts b/src/app/shared/services/core/validate.service.ts new file mode 100644 index 00000000..0fb8b886 --- /dev/null +++ b/src/app/shared/services/core/validate.service.ts @@ -0,0 +1,104 @@ +/* + * @Author: Maple + * @Date: 2021-03-22 11:42:26 + * @LastEditors: Do not edit + * @LastEditTime: 2021-03-29 14:47:54 + * @Description: 全局验证服务 + */ +import { Injectable, Injector } from '@angular/core'; +import { BaseService } from '../core/base.service'; + +@Injectable({ + providedIn: 'root', +}) +export class EAValidateService extends BaseService { + constructor(public injector: Injector) { + super(injector); + } + + /** + * 通过正则表达式验证字符串 + * @param value 待验证的字符串 + * @param partern 正则表达式 + * @returns 验证结果 + */ + validate(value: string, partern: RegExp): boolean { + const reg = new RegExp(partern); + return reg.test(value); + } + + /** + * 验证手机号码 + * @param value 待验证的值 + * @returns 验证结果 + */ + validateChineseCharacters(value: string, star: number): boolean { + const express = /^[\u4e00-\u9fa5]{2, 4}$/; + return this.validate(value, express); + } + + /** + * 验证手机号码 + * @param value 待验证的值 + * @returns 验证结果 + */ + validateMobile(value: string): boolean { + const express = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/; + return this.validate(value, express); + } + + /** + * 验证固定电话 + * @param value 待验证的值 + * @returns 验证结果 + */ + validateTel(value: string): boolean { + const express = /^(0\d{2,3})-?(\d{7,8})$/; + return this.validate(value, express); + } + + /** + * 验证身份证号码 + * @param value 待验证的值 + * @param mode 匹配模式:indistinct - 模糊匹配 | accurate - 精准匹配(默认值:indistinct) + * @param length 号码长度 (默认值:18) + * @returns 验证结果 + */ + validateIDCard(value: string, mode: 'indistinct' | 'accurate' = 'indistinct', length: 15 | 18 = 18): boolean { + // 模糊校验 + let express = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; + // 精准校验18位身份证号码 + const express1 = /^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; + // 精准校验15位身份证号码 + const express2 = /^[1-9]\d{5}\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$/; + + if (mode === 'accurate') { + if (length === 18) { + express = express1; + } else if (length === 15) { + express = express2; + } + } + return this.validate(value, express); + } + + /** + * 验证邮政编码 + * @param value 待验证的值 + * @returns 验证结果 + */ + validatePostalCode(value: string): boolean { + const express = /^[1-9]\d{5}$/; + return this.validate(value, express); + } + + /** + * 验证邮箱地址 + * @param value 待验证的值 + * @returns 验证结果 + */ + validateEmail(value: string): boolean { + const express = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; + return this.validate(value, express); + } +} diff --git a/src/app/shared/services/index.ts b/src/app/shared/services/index.ts new file mode 100644 index 00000000..efce4581 --- /dev/null +++ b/src/app/shared/services/index.ts @@ -0,0 +1,12 @@ +// Core +export * from './core/base.service'; +export * from './core/cache.service'; +export * from './core/validate.service'; + +// Bussiness +export * from './business/account.service'; +export * from './business/authorization.service'; +export * from './business/enterprise.service'; +export * from './business/captcha.service'; +export * from './business/user.service'; +export * from './business/sl-platform.service'; diff --git a/src/app/shared/shared-delon.module.ts b/src/app/shared/shared-delon.module.ts new file mode 100644 index 00000000..6b3c0e99 --- /dev/null +++ b/src/app/shared/shared-delon.module.ts @@ -0,0 +1,6 @@ +import { PageHeaderModule } from '@delon/abc/page-header'; +import { SEModule } from '@delon/abc/se'; +import { STModule } from '@delon/abc/st'; +import { SVModule } from '@delon/abc/sv'; + +export const SHARED_DELON_MODULES = [PageHeaderModule, STModule, SVModule, SEModule]; diff --git a/src/app/shared/shared-zorro.module.ts b/src/app/shared/shared-zorro.module.ts new file mode 100644 index 00000000..a3bc7c29 --- /dev/null +++ b/src/app/shared/shared-zorro.module.ts @@ -0,0 +1,27 @@ +import { NzAlertModule } from 'ng-zorro-antd/alert'; +import { NzBadgeModule } from 'ng-zorro-antd/badge'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzCardModule } from 'ng-zorro-antd/card'; +import { NzDatePickerModule } from 'ng-zorro-antd/date-picker'; +import { NzDropDownModule } from 'ng-zorro-antd/dropdown'; +import { NzFormModule } from 'ng-zorro-antd/form'; +import { NzGridModule } from 'ng-zorro-antd/grid'; +import { NzIconModule } from 'ng-zorro-antd/icon'; +import { NzInputModule } from 'ng-zorro-antd/input'; +import { NzSelectModule } from 'ng-zorro-antd/select'; +import { NzTableModule } from 'ng-zorro-antd/table'; + +export const SHARED_ZORRO_MODULES = [ + NzButtonModule, + NzGridModule, + NzTableModule, + NzFormModule, + NzInputModule, + NzBadgeModule, + NzAlertModule, + NzDropDownModule, + NzSelectModule, + NzDatePickerModule, + NzCardModule, + NzIconModule +]; diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts new file mode 100644 index 00000000..413d5ad0 --- /dev/null +++ b/src/app/shared/shared.module.ts @@ -0,0 +1,73 @@ +/* eslint-disable import/order */ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { RouterModule } from '@angular/router'; +import { DelonACLModule } from '@delon/acl'; +import { DelonFormModule } from '@delon/form'; +import { AlainThemeModule } from '@delon/theme'; + +import { SHARED_DELON_MODULES } from './shared-delon.module'; +import { SHARED_ZORRO_MODULES } from './shared-zorro.module'; + +// #region third libs +import { DragDropModule } from '@angular/cdk/drag-drop'; +const THIRDMODULES = [DragDropModule]; +// #endregion + +// #region your componets & directives +import { PRO_SHARED_MODULES } from '../layout/pro'; +import { AddressModule } from './components/address'; +import { DelayModule } from './components/delay'; +import { EditorModule } from './components/editor'; +import { FileManagerModule } from './components/file-manager'; +import { MasonryModule } from './components/masonry'; +import { MouseFocusModule } from './components/mouse-focus'; +import { ScrollbarModule } from './components/scrollbar'; +import { StatusLabelModule } from './components/status-label'; + +const MODULES = [ + AddressModule, + DelayModule, + EditorModule, + FileManagerModule, + MasonryModule, + MouseFocusModule, + ScrollbarModule, + StatusLabelModule, + ...PRO_SHARED_MODULES +]; +// #endregion + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + RouterModule, + ReactiveFormsModule, + AlainThemeModule.forChild(), + DelonACLModule, + DelonFormModule, + ...SHARED_DELON_MODULES, + ...SHARED_ZORRO_MODULES, + ...MODULES, + // third libs + ...THIRDMODULES + ], + exports: [ + CommonModule, + FormsModule, + ReactiveFormsModule, + RouterModule, + AlainThemeModule, + DelonACLModule, + DelonFormModule, + // i18n + ...SHARED_DELON_MODULES, + ...SHARED_ZORRO_MODULES, + ...MODULES, + // third libs + ...THIRDMODULES + ] +}) +export class SharedModule {} diff --git a/src/app/shared/utils/date.util.ts b/src/app/shared/utils/date.util.ts new file mode 100644 index 00000000..a8f3a989 --- /dev/null +++ b/src/app/shared/utils/date.util.ts @@ -0,0 +1,56 @@ +export class EADateUtil { + /** + * @description 时间戳转换日期 + * @param timestamp 时间戳 + * @returns 时间戳对应的日期 + */ + static timestampToDate(timestamp: number): Date { + let date; + // 时间戳为10位需*1000,时间戳为13位的话不需乘1000 + if (timestamp.toString().length === 10) { + date = new Date(timestamp * 1000); + } else { + date = new Date(timestamp); + } + + const Y = date.getFullYear(); + const M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1; + const D = date.getDate(); + const h = date.getHours(); + const m = date.getMinutes(); + const s = date.getSeconds(); + + const dateStr = `${Y}-${M}-${D} ${h}:${m}:${s}`; + return new Date(dateStr); + } + + /** + * @description 日期相加 + * @param start 开始日期 + * @param intervalMS 间隔秒数(毫秒) + * @returns 相加后的日期 + */ + static dateAdd(start: Date, intervalMS: number): Date { + return this.timestampToDate(start.getTime() + intervalMS); + } + + /** + * @description 日期相减 + * @param start 开始日期 + * @param intervalMS 时间间隔(毫秒) + * @returns 相减后的日期 + */ + static dateMinus(start: Date, intervalMS: number): Date { + return this.timestampToDate(start.getTime() - intervalMS); + } + + /** + * @description 计算两个日期的时间差 + * @param start 开始日期 + * @param end 结束日期 + * @returns 两时间相差的毫秒数 + */ + static dateDiff(start: Date, end: Date): number { + return start.getTime() - end.getTime(); + } +} diff --git a/src/app/shared/utils/file.util.ts b/src/app/shared/utils/file.util.ts new file mode 100644 index 00000000..c9a64dcc --- /dev/null +++ b/src/app/shared/utils/file.util.ts @@ -0,0 +1,76 @@ +import { Injectable } from '@angular/core'; +import { _HttpClient } from '@delon/theme'; +import * as FileSaver from 'file-saver'; +import { NzModalService } from 'ng-zorro-antd/modal'; + +@Injectable({ + providedIn: 'root', +}) +export class EAFileUtil { + constructor(private modal: NzModalService, private http: _HttpClient) {} + + /** + * 保存文件 + * @param content 需要保存的内容 + * @param filename 文件名 + * @param confirm 显示确认框 + */ + save(content: any, filename: string, confirm: boolean = true): void { + const blob = new Blob([JSON.stringify(content)], { type: 'text/plain;charset=utf-8' }); + if (confirm === true) { + this.modal.confirm({ + nzTitle: '文件下载确认', + nzContent: `是否下载文件:${filename}`, + nzOnOk: () => { + FileSaver.saveAs(blob, filename); + }, + }); + } else { + FileSaver.saveAs(blob, filename); + } + } + + /** + * @param url 接口地址 + * @param body post请求参数 + * @param params get请求参数 + * @method 请求方法 + */ + download(url: string, body: any, params: any, method: 'POST' | 'GET' = 'POST'): void { + if (method === 'POST') { + this.http + .post(url, body, params, { + responseType: 'blob', + observe: 'response', + }) + .subscribe((res) => { + this.saveBlob(res); + }); + } else if (method === 'GET') { + this.http + .get(url, params, { + responseType: 'blob', + observe: 'response', + }) + .subscribe((res) => { + this.saveBlob(res); + }); + } + } + + /** + * 创建blob对象,并利用浏览器打开url进行下载 + * @param data 文件流数据 + */ + private saveBlob(res: any): void { + const disp = res.headers.get('Content-Disposition'); + const blob = new Blob([res.body], { type: 'text/plain;charset=utf-8' }); + const url = window.URL.createObjectURL(blob); + const a = document.createElement('a'); + const fileName = disp.split(';')[1].split('=')[1]; + a.href = url; + a.download = decodeURI(fileName); + a.click(); + window.URL.revokeObjectURL(url); + } +} diff --git a/src/app/shared/utils/index.ts b/src/app/shared/utils/index.ts new file mode 100644 index 00000000..d822fed6 --- /dev/null +++ b/src/app/shared/utils/index.ts @@ -0,0 +1,4 @@ +export * from './date.util'; +export * from './file.util'; +export * from './processSingleSort.func'; +export * from './yuan'; diff --git a/src/app/shared/utils/processSingleSort.func.ts b/src/app/shared/utils/processSingleSort.func.ts new file mode 100644 index 00000000..41ec3c6a --- /dev/null +++ b/src/app/shared/utils/processSingleSort.func.ts @@ -0,0 +1,38 @@ +/* + * @Author: Maple + * @Date: 2021-02-27 17:40:54 + * @LastEditors: Do not edit + * @LastEditTime: 2021-03-23 20:58:18 + * @Description: 处理ST表格的单列排序 + */ +import { STRequestOptions } from '@delon/abc/st'; + +/** + * 处理ST表格单条件排序 + * @param reqOtions ST的Req + * @param sortField 排序字段,默认为:sortType + * @returns ST的Req + */ +export function processSingleSort(reqOtions: STRequestOptions, sortField: string = 'sort'): STRequestOptions { + if (!reqOtions.body) { + return reqOtions; + } + // 获取排序字段 + const body: any = {}; + for (const _key of Object.keys(reqOtions.body)) { + if (typeof reqOtions.body[_key] === 'string') { + const value: string = reqOtions.body[_key]?.trim(); + if (value && (value === 'ascend' || value === 'descend')) { + body[sortField] = `${_key}.${value}`; + } else { + body[_key] = reqOtions.body[_key]; + } + } else { + body[_key] = reqOtions.body[_key]; + } + } + if (JSON.stringify(body) !== '{}') { + reqOtions.body = body; + } + return reqOtions; +} diff --git a/src/app/shared/utils/yuan.ts b/src/app/shared/utils/yuan.ts new file mode 100644 index 00000000..23662d22 --- /dev/null +++ b/src/app/shared/utils/yuan.ts @@ -0,0 +1,11 @@ +/** + * 转化成RMB元字符串 + * + * @param digits 当数字类型时,允许指定小数点后数字的个数,默认2位小数 + */ +export function yuan(value: number | string, digits: number = 2): string { + if (typeof value === 'number') { + value = value.toFixed(digits); + } + return `¥ ${value}`; +} diff --git a/src/app/shared/widget/address/address.widget.ts b/src/app/shared/widget/address/address.widget.ts new file mode 100644 index 00000000..a6af22db --- /dev/null +++ b/src/app/shared/widget/address/address.widget.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; + +@Component({ + selector: 'sf-address', + template: ` + +
    +
    + `, + preserveWhitespaces: false, +}) +// tslint:disable-next-line: component-class-suffix +export class AddressWidget extends ControlWidget { + static readonly KEY = 'address'; + + _change(value: string): void { + this.setValue(value); + } +} diff --git a/src/app/shared/widget/editor/editor.widget.ts b/src/app/shared/widget/editor/editor.widget.ts new file mode 100644 index 00000000..2a5d9f69 --- /dev/null +++ b/src/app/shared/widget/editor/editor.widget.ts @@ -0,0 +1,23 @@ +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; + +@Component({ + selector: 'sf-editor', + template: ` + + + + `, + preserveWhitespaces: false, +}) +// tslint:disable-next-line: component-class-suffix +export class EditorWidget extends ControlWidget { + static readonly KEY = 'editor'; + + _change(value: string): void { + this.setValue(value); + if (this.ui.contentChanged) { + this.ui.contentChanged(value); + } + } +} diff --git a/src/app/shared/widget/from-to-search/from-to-search.widget.html b/src/app/shared/widget/from-to-search/from-to-search.widget.html new file mode 100644 index 00000000..09bb8e2a --- /dev/null +++ b/src/app/shared/widget/from-to-search/from-to-search.widget.html @@ -0,0 +1,21 @@ + + +
    + + - + +
    +
    +
    diff --git a/src/app/shared/widget/from-to-search/from-to-search.widget.spec.ts b/src/app/shared/widget/from-to-search/from-to-search.widget.spec.ts new file mode 100644 index 00000000..b6c2ac84 --- /dev/null +++ b/src/app/shared/widget/from-to-search/from-to-search.widget.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SLFromToSearchWidget } from './from-to-search.widget'; + +describe('SLFromToSearchWidget', () => { + let component: SLFromToSearchWidget; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SLFromToSearchWidget], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SLFromToSearchWidget); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/widget/from-to-search/from-to-search.widget.ts b/src/app/shared/widget/from-to-search/from-to-search.widget.ts new file mode 100644 index 00000000..22e7ab25 --- /dev/null +++ b/src/app/shared/widget/from-to-search/from-to-search.widget.ts @@ -0,0 +1,104 @@ +/* + * @Descripttion: Do not edit + * @version: 1.0 + * @Author: Eclipse + * @Date: 2021-05-08 15:57:42 + * @LastEditors: Eclipse + * @LastEditTime: 2021-05-08 16:05:26 + */ +import { ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core'; +import { ControlWidget, SFComponent, SFItemComponent } from '@delon/form'; +import { format, getISOWeek } from 'date-fns'; + +@Component({ + selector: 'sl-from-to-search', + templateUrl: './from-to-search.widget.html', + preserveWhitespaces: false, +}) +export class SLFromToSearchWidget extends ControlWidget implements OnInit { + static readonly KEY = 'sl-from-to-search'; + /** + * 组件类型 + */ + type: 'date' | 'number' = 'date'; + /** + * 控件模式 + */ + mode: 'date' | 'week' | 'month' | 'year' = 'date'; + /** + * 组件返回值 + */ + data: { start: any; end: any } | null = null; + /** + * 组件日期显示格式 + */ + displayFormat = 'yyyy-MM-dd'; + /** + * 组件日期格式 + */ + format = 'yyyy-MM-dd'; + /** + * 最小值 + */ + min: any; + /** + * 最大值 + */ + max: any; + /** + * 日期区间 + */ + date: Array = []; + /** + * 开始日期 + */ + startDate: any; + /** + * 结束日期 + */ + endDate: any; + + constructor(cd: ChangeDetectorRef, injector: Injector, sfItemComp?: SFItemComponent, sfComp?: SFComponent) { + super(cd, injector, sfItemComp, sfComp); + } + + ngOnInit(): void { + this.type = this.ui?.type || 'date'; + this.mode = this.ui?.mode || 'date'; + this.displayFormat = this.ui?.displayFormat; + this.format = this.ui?.format || 'yyyy-MM-dd'; + } + onChange(result: any): void { + if (this.startDate && this.endDate) { + const date1 = new Date(this.startDate); + const date2 = new Date(this.endDate); + if (date1.getTime() > date2.getTime()) { + const date3 = this.endDate; + this.endDate = this.startDate; + this.startDate = date3; + } + } + if (this.startDate) { + this.date[0] = format(this.startDate, this.format); + } else { + this.date[0] = ''; + } + if (this.endDate) { + this.date[1] = format(this.endDate, this.format); + } else { + this.date[1] = ''; + } + + if (this.type === 'date') { + this.setValue(this.date); + } else if (this.type === 'number') { + } else { + this.setValue(null); + } + } + + reset(value: string) { + this.startDate = null; + this.endDate = null; + } +} diff --git a/src/app/shared/widget/from-to/from-to.widget.html b/src/app/shared/widget/from-to/from-to.widget.html new file mode 100644 index 00000000..8b2523a9 --- /dev/null +++ b/src/app/shared/widget/from-to/from-to.widget.html @@ -0,0 +1,11 @@ + + + + + diff --git a/src/app/shared/widget/from-to/from-to.widget.less b/src/app/shared/widget/from-to/from-to.widget.less new file mode 100644 index 00000000..e69de29b diff --git a/src/app/shared/widget/from-to/from-to.widget.spec.ts b/src/app/shared/widget/from-to/from-to.widget.spec.ts new file mode 100644 index 00000000..2030cecf --- /dev/null +++ b/src/app/shared/widget/from-to/from-to.widget.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EAFromToWidget } from './from-to.widget'; + +describe('EAFromToWidget', () => { + let component: EAFromToWidget; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [EAFromToWidget], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(EAFromToWidget); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/widget/from-to/from-to.widget.ts b/src/app/shared/widget/from-to/from-to.widget.ts new file mode 100644 index 00000000..e388f426 --- /dev/null +++ b/src/app/shared/widget/from-to/from-to.widget.ts @@ -0,0 +1,85 @@ +import { ChangeDetectorRef, Component, Injector, OnInit } from '@angular/core'; +import { ControlWidget, SFComponent, SFItemComponent } from '@delon/form'; +import { format, getISOWeek } from 'date-fns'; + +@Component({ + selector: 'sl-from-to', + templateUrl: './from-to.widget.html', + styleUrls: ['./from-to.widget.less'], + preserveWhitespaces: false, +}) +export class EAFromToWidget extends ControlWidget implements OnInit { + static readonly KEY = 'sl-from-to'; + /** + * 组件类型 + */ + type: 'date' | 'number' = 'date'; + /** + * 控件模式 + */ + mode: 'date' | 'week' | 'month' | 'year' = 'date'; + /** + * 组件返回值 + */ + data: { start: any; end: any } | null = null; + /** + * 组件日期显示格式 + */ + displayFormat = 'yyyy-MM-dd'; + /** + * 组件日期格式 + */ + format = 'yyyy-MM-dd'; + /** + * 最小值 + */ + min: any; + /** + * 最大值 + */ + max: any; + /** + * 日期区间 + */ + date: any; + + constructor(cd: ChangeDetectorRef, injector: Injector, sfItemComp?: SFItemComponent, sfComp?: SFComponent) { + super(cd, injector, sfItemComp, sfComp); + } + + ngOnInit(): void { + this.data = this.formProperty?.formData as { start: any; end: any }; + this.date = this.initData(this.data); + this.type = this.ui?.type || 'date'; + this.mode = this.ui?.mode || 'date'; + this.displayFormat = this.ui?.displayFormat; + this.format = this.ui?.format || 'yyyy-MM-dd'; + } + + initData(data: { start: any; end: any }): Date[] | null { + return data ? [new Date(this.data?.start), new Date(this.data?.end)] : null; + } + + onChange(result: Array): void { + console.log('onChange: ', result); + + if (this.type === 'date') { + if (JSON.stringify(result) !== '[]') { + this.setValue({ start: format(result[0], this.format), end: format(result[1], this.format) }); + } else { + this.setValue(null); + } + } else if (this.type === 'number') { + } else { + this.setValue(null); + } + } + + getWeek(result: Date[]): void { + console.log('week: ', result.map(getISOWeek)); + } + + _change(value: string): void { + this.setValue(value); + } +} diff --git a/src/app/shared/widget/img/img.widget.ts b/src/app/shared/widget/img/img.widget.ts new file mode 100644 index 00000000..c5f9359c --- /dev/null +++ b/src/app/shared/widget/img/img.widget.ts @@ -0,0 +1,63 @@ +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; + +@Component({ + selector: 'sf-img', + template: ` + +
    + + + + + +
    +
    + `, + preserveWhitespaces: false, +}) +// tslint:disable-next-line: component-class-suffix +export class ImgWidget extends ControlWidget { + static readonly KEY = 'img'; + result: any[] = []; + + private notify(value: any): void { + const { selected } = this.ui; + this.setValue(value); + if (selected) { + selected(value); + } + } + + reset(value: any): void { + if (!value) { + return; + } + + let res = Array.isArray(value) ? value : [value]; + if (res.length > 0 && typeof res[0] === 'string') { + res = res.map((mp) => mp); + } + this.result = res; + } + + _change(list: any): void { + const { multiple, field } = this.ui; + if (!Array.isArray(list)) { + list = [list]; + } + this.result = list; + // get fields + list = (list as any[]).map((item) => (field ? item[field] : item)).filter((item) => !!item); + const value = list.length > 0 ? (multiple === true ? list : list[0]) : null; + + this.notify(value); + } + + _clean(): void { + this.result.length = 0; + this.notify(null); + } +} diff --git a/src/app/shared/widget/noun/noun.widget.ts b/src/app/shared/widget/noun/noun.widget.ts new file mode 100644 index 00000000..45deec7f --- /dev/null +++ b/src/app/shared/widget/noun/noun.widget.ts @@ -0,0 +1,77 @@ +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; + +@Component({ + selector: 'sl-noun', + template: ` + + + + + + + + `, + preserveWhitespaces: false, + styles: [ + ` + .number-input { + width: calc(50% - 15px); + } + `, + ], +}) + +// tslint:disable-next-line: component-class-suffix +export class NounWidget extends ControlWidget { + static readonly KEY = 'noun'; + min!: number | null; + max!: number | null; + val: any[] = []; + + _change(value: any, index: number) { + if (value.toString().trim() === '') { + value = null; + } + if (index === 0) { + this.min = value; + } + if (index === 1) { + this.max = value; + } + + this.val[index] = value; + if (this.val.length === 2 && this.val[0] !== null && this.val[1] !== null) { + this.setValue(this.val); + } else { + this.setValue(null); + } + } + + reset(value: string) { + this.min = null; + this.max = null; + } +} diff --git a/src/app/shared/widget/property-values/property-values.widget.ts b/src/app/shared/widget/property-values/property-values.widget.ts new file mode 100644 index 00000000..9cd8c4c6 --- /dev/null +++ b/src/app/shared/widget/property-values/property-values.widget.ts @@ -0,0 +1,184 @@ +import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'; +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; +export class PV { + _$id?: any; + id?: string; + propertyId?: string; + sortId?: number; + stateShow?: number; + storeId?: number; + value?: string; + status?: number; +} +@Component({ + selector: 'sl-property-values', + styles: [ + ` + ::ng-deep .cdk-drag-preview { + display: table; + } + + ::ng-deep .cdk-drag-placeholder { + opacity: 0; + } + `, + ], + template: ` + + + + + + 排序 + 属性值 + + 操作 + + + + + + {{ data.sortId }} + {{ data.value }} + + + 编辑 + + 删除 + + + + + + + + + + + + 保存 + + 取消 + + + + + + + `, + preserveWhitespaces: false, +}) + +// tslint:disable-next-line: component-class-suffix +export class PropertyValuesWidget extends ControlWidget { + static readonly KEY = 'property-values'; + + i = 0; + editId: string | null = null; + + editCache: { [key: string]: { edit: boolean; data: PV } } = {}; + listOfData: PV[] = []; + + startEdit(id: string): void { + this.editCache[id].edit = true; + console.log(this.editCache[id]); + // 开始编辑时禁止提交表单 + this.setValue(null); + } + + changeRadio(e: any, item: any) { + item.status = e; + console.log(e, item); + } + + cancelEdit(id: string): void { + const index = this.listOfData.findIndex((item) => item._$id === id); + this.editCache[id] = { + data: { ...this.listOfData[index] }, + edit: false, + }; + this.setValue(this.listOfData); + } + + saveEdit(id: string): void { + const index = this.listOfData.findIndex((item) => item._$id === id); + Object.assign(this.listOfData[index], this.editCache[id].data); + this.editCache[id].edit = false; + this.setValue(this.listOfData); + } + + updateEditCache(): void { + this.listOfData.forEach((item) => { + this.editCache[item._$id] = { + edit: false, + data: { ...item }, + }; + }); + } + + addRow(): void { + this.i++; + this.listOfData = [ + ...this.listOfData, + { + _$id: `${this.i}`, + stateShow: 1, + }, + ]; + this.updateEditCache(); + this.setValue(this.listOfData); + } + + deleteRow(id: string): void { + this.listOfData = this.listOfData.filter((d) => d._$id !== id); + this.setValue(this.listOfData); + } + + _change(value: any, index: number) {} + + reset(value: string) {} + afterViewInit() { + // 初始化数据 + this.listOfData = []; + const formData: any = this.formProperty?.formData; + if (formData) { + const data = [...formData]; + for (let i = 0; i < data.length; i++) { + this.i = i; + this.listOfData.push({ + _$id: `${this.i}`, + ...data[i], + }); + } + this.updateEditCache(); + } + } + + drop(event: CdkDragDrop): void { + moveItemInArray(this.listOfData, event.previousIndex, event.currentIndex); + } +} diff --git a/src/app/shared/widget/spec-values/spec-values.widget.ts b/src/app/shared/widget/spec-values/spec-values.widget.ts new file mode 100644 index 00000000..a9fdffe8 --- /dev/null +++ b/src/app/shared/widget/spec-values/spec-values.widget.ts @@ -0,0 +1,176 @@ +import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'; +import { Component } from '@angular/core'; +import { ControlWidget } from '@delon/form'; +export class PV { + _$id?: any; + id?: string; + specId?: string; + sortId?: number; + stateShow?: number; + storeId?: number; + value?: string; +} +@Component({ + selector: 'sl-spec-values', + styles: [ + ` + ::ng-deep .cdk-drag-preview { + display: table; + } + + ::ng-deep .cdk-drag-placeholder { + opacity: 0; + } + `, + ], + template: ` + + + + + + + 排序 + 规格值 + + 操作 + + + + + + {{ data.sortId }} + {{ data.value }} + + + 编辑 + + 删除 + + + + + + + + + + + + 保存 + + 取消 + + + + + + + `, + preserveWhitespaces: false, +}) + +// tslint:disable-next-line: component-class-suffix +export class SpecValuesWidget extends ControlWidget { + static readonly KEY = 'spec-values'; + + i = 0; + editId: string | null = null; + + editCache: { [key: string]: { edit: boolean; data: PV } } = {}; + listOfData: PV[] = []; + + startEdit(id: string): void { + this.editCache[id].edit = true; + // 开始编辑时禁止提交表单 + this.setValue(null); + } + + changeRadio(e: any, item: any) { + item.status = e; + console.log(e); + } + + cancelEdit(id: string): void { + const index = this.listOfData.findIndex((item) => item._$id === id); + this.editCache[id] = { + data: { ...this.listOfData[index] }, + edit: false, + }; + this.setValue(this.listOfData); + } + + saveEdit(id: string): void { + const index = this.listOfData.findIndex((item) => item._$id === id); + Object.assign(this.listOfData[index], this.editCache[id].data); + this.editCache[id].edit = false; + this.setValue(this.listOfData); + } + + updateEditCache(): void { + this.listOfData.forEach((item) => { + this.editCache[item._$id] = { + edit: false, + data: { ...item }, + }; + }); + } + + addRow(): void { + this.i++; + this.listOfData = [ + ...this.listOfData, + { + _$id: `${this.i}`, + stateShow: 1, + }, + ]; + this.updateEditCache(); + this.setValue(this.listOfData); + } + + deleteRow(id: string): void { + this.listOfData = this.listOfData.filter((d) => d._$id !== id); + this.setValue(this.listOfData); + } + + _change(value: any, index: number) {} + + reset(value: string) {} + afterViewInit() { + this.listOfData = []; + // 初始化数据 + const formData: any = this.formProperty?.formData; + if (formData) { + const data = [...formData]; + for (let i = 0; i < data.length; i++) { + this.i = i; + this.listOfData.push({ + _$id: `${this.i}`, + ...data[i], + }); + } + this.updateEditCache(); + } + } + + drop(event: CdkDragDrop): void { + moveItemInArray(this.listOfData, event.previousIndex, event.currentIndex); + } +} diff --git a/src/app/shared/widget/st-widget.module.ts b/src/app/shared/widget/st-widget.module.ts new file mode 100644 index 00000000..827fd14f --- /dev/null +++ b/src/app/shared/widget/st-widget.module.ts @@ -0,0 +1,72 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { STWidgetRegistry } from '@delon/abc/st'; +import { DelonFormModule } from '@delon/form'; +import { AddressModule, EditorModule, FileManagerModule } from '@shared'; +import { NzButtonModule } from 'ng-zorro-antd/button'; +import { NzDatePickerModule } from 'ng-zorro-antd/date-picker'; +import { NzDividerModule } from 'ng-zorro-antd/divider'; +import { NzInputModule } from 'ng-zorro-antd/input'; +import { NzInputNumberModule } from 'ng-zorro-antd/input-number'; +import { NzStepsModule } from 'ng-zorro-antd/steps'; +import { NgxTinymceModule } from 'ngx-tinymce'; + +// import { STWidgetRegistry } from '@delon/abc/st'; +import { SharedModule } from '../shared.module'; +import { AddressWidget } from './address/address.widget'; +import { EditorWidget } from './editor/editor.widget'; +import { SLFromToSearchWidget } from './from-to-search/from-to-search.widget'; +import { EAFromToWidget } from './from-to/from-to.widget'; +import { ImgWidget } from './img/img.widget'; +import { NounWidget } from './noun/noun.widget'; +import { PropertyValuesWidget } from './property-values/property-values.widget'; +import { SpecValuesWidget } from './spec-values/spec-values.widget'; +import { TinymceWidget } from './tinymce/tinymce.widget'; + +export const STWIDGET_COMPONENTS = [ + EditorWidget, + ImgWidget, + AddressWidget, + TinymceWidget, + NounWidget, + EAFromToWidget, + SpecValuesWidget, + PropertyValuesWidget, + SLFromToSearchWidget +]; + +@NgModule({ + declarations: STWIDGET_COMPONENTS, + imports: [ + CommonModule, + FormsModule, + DelonFormModule.forRoot(), + AddressModule, + EditorModule, + FileManagerModule, + NzDividerModule, + NzStepsModule, + NzButtonModule, + NzInputModule, + NzDatePickerModule, + NzInputNumberModule, + NgxTinymceModule, + SharedModule + ], + exports: [...STWIDGET_COMPONENTS], + entryComponents: STWIDGET_COMPONENTS +}) +export class STWidgetModule { + constructor(widgetRegistry: STWidgetRegistry) { + widgetRegistry.register(EditorWidget.KEY, EditorWidget); + widgetRegistry.register(ImgWidget.KEY, ImgWidget); + widgetRegistry.register(AddressWidget.KEY, AddressWidget); + widgetRegistry.register(TinymceWidget.KEY, TinymceWidget); + widgetRegistry.register(NounWidget.KEY, NounWidget); + widgetRegistry.register(EAFromToWidget.KEY, EAFromToWidget); + widgetRegistry.register(SpecValuesWidget.KEY, SpecValuesWidget); + widgetRegistry.register(PropertyValuesWidget.KEY, PropertyValuesWidget); + widgetRegistry.register(SLFromToSearchWidget.KEY, SLFromToSearchWidget); + } +} diff --git a/src/app/shared/widget/tinymce/tinymce.widget.ts b/src/app/shared/widget/tinymce/tinymce.widget.ts new file mode 100644 index 00000000..958643a8 --- /dev/null +++ b/src/app/shared/widget/tinymce/tinymce.widget.ts @@ -0,0 +1,31 @@ +import { Component, OnInit } from '@angular/core'; +import { ControlWidget } from '@delon/form'; + +@Component({ + selector: 'sf-tinymce', + template: ` + + + + `, + preserveWhitespaces: false, +}) +// tslint:disable-next-line: component-class-suffix +export class TinymceWidget extends ControlWidget implements OnInit { + static readonly KEY = 'tinymce'; + + config: any = {}; + loading = ''; + + ngOnInit(): void { + this.loading = this.ui.loading || '加载中……'; + this.config = this.ui.config || {}; + } + + change(value: string): void { + if (this.ui.change) { + this.ui.change(value); + } + this.setValue(value); + } +} diff --git a/src/assets/.gitkeep b/src/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/src/assets/color.less b/src/assets/color.less new file mode 100644 index 00000000..98e048e4 --- /dev/null +++ b/src/assets/color.less @@ -0,0 +1,2195 @@ +html {-webkit-tap-highlight-color: rgba(0, 0, 0, 0);} +body {color: rgba(0, 0, 0, 0.85);background-color: #fff;} +h1, +h2, +h3, +h4, +h5, +h6 {color: rgba(0, 0, 0, 0.85);} +abbr[title], +abbr[data-original-title] {border-bottom: 0;} +a {color: #1890ff;background-color: transparent;} +a:hover {color: #40a9ff;} +a:active {color: #096dd9;} +a[disabled] {color: rgba(0, 0, 0, 0.25);} +img {border-style: none;} +table {border-collapse: collapse;} +caption {color: rgba(0, 0, 0, 0.45);} +input, +button, +select, +optgroup, +textarea {color: inherit;} +button::-moz-focus-inner, +[type='button']::-moz-focus-inner, +[type='reset']::-moz-focus-inner, +[type='submit']::-moz-focus-inner {border-style: none;} +fieldset {border: 0;} +legend {color: inherit;} +mark {background-color: #feffe6;} +::selection {color: #fff;background: #1890ff;} +.anticon {color: inherit;} +html {--antd-wave-shadow-color: #1890ff;} +[ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node {border-radius: inherit;box-shadow: 0 0 0 0 #1890ff;box-shadow: 0 0 0 0 var(--antd-wave-shadow-color);} +.cdk-visually-hidden {border: 0;} +.cdk-overlay-backdrop {-webkit-tap-highlight-color: transparent;} +.ant-alert {color: rgba(0, 0, 0, 0.85);border-radius: 2px;} +.ant-alert-success {background-color: #f6ffed;border: 1px solid #b7eb8f;} +.ant-alert-success .ant-alert-icon {color: #52c41a;} +.ant-alert-info {background-color: #e6f7ff;border: 1px solid #91d5ff;} +.ant-alert-info .ant-alert-icon {color: #1890ff;} +.ant-alert-warning {background-color: #fffbe6;border: 1px solid #ffe58f;} +.ant-alert-warning .ant-alert-icon {color: #faad14;} +.ant-alert-error {background-color: #fff2f0;border: 1px solid #ffccc7;} +.ant-alert-error .ant-alert-icon {color: #ff4d4f;} +.ant-alert-close-icon {background-color: transparent;border: none;} +.ant-alert-close-icon .anticon-close {color: rgba(0, 0, 0, 0.45);} +.ant-alert-close-icon .anticon-close:hover {color: rgba(0, 0, 0, 0.75);} +.ant-alert-close-text {color: rgba(0, 0, 0, 0.45);} +.ant-alert-close-text:hover {color: rgba(0, 0, 0, 0.75);} +.ant-alert-with-description .ant-alert-message {color: rgba(0, 0, 0, 0.85);} +.ant-alert-message {color: rgba(0, 0, 0, 0.85);} +.ant-alert-banner {border: 0;border-radius: 0;} +.ant-anchor {color: rgba(0, 0, 0, 0.85);} +.ant-anchor-wrapper {background-color: transparent;} +.ant-anchor-ink::before {background-color: #f0f0f0;} +.ant-anchor-ink-ball {background-color: #fff;border: 2px solid #1890ff;border-radius: 8px;} +.ant-anchor-link-title {color: rgba(0, 0, 0, 0.85);} +.ant-anchor-link-active > .ant-anchor-link-title {color: #1890ff;} +.ant-avatar {color: rgba(0, 0, 0, 0.85);color: #fff;background: #ccc;border-radius: 50%;} +.ant-avatar-image {background: transparent;} +.ant-avatar-lg {border-radius: 50%;} +.ant-avatar-sm {border-radius: 50%;} +.ant-avatar-square {border-radius: 2px;} +.ant-avatar-group .ant-avatar {border: 1px solid #fff;} +.ant-back-top {color: rgba(0, 0, 0, 0.85);} +.ant-back-top-content {color: #fff;background-color: rgba(0, 0, 0, 0.45);border-radius: 20px;} +.ant-back-top-content:hover {background-color: rgba(0, 0, 0, 0.85);} +.ant-badge {color: rgba(0, 0, 0, 0.85);} +.ant-badge-count {color: #fff;background: #ff4d4f;border-radius: 10px;box-shadow: 0 0 0 1px #fff;} +.ant-badge-count a, .ant-badge-count a:hover {color: #fff;} +.ant-badge-count-sm {border-radius: 7px;} +.ant-badge-dot {background: #ff4d4f;border-radius: 100%;box-shadow: 0 0 0 1px #fff;} +.ant-badge-status-dot {border-radius: 50%;} +.ant-badge-status-success {background-color: #52c41a;} +.ant-badge-status-processing {background-color: #1890ff;} +.ant-badge-status-processing::after {border: 1px solid #1890ff;border-radius: 50%;} +.ant-badge-status-default {background-color: #d9d9d9;} +.ant-badge-status-error {background-color: #ff4d4f;} +.ant-badge-status-warning {background-color: #faad14;} +.ant-badge-status-pink {background: #eb2f96;} +.ant-badge-status-magenta {background: #eb2f96;} +.ant-badge-status-red {background: #f5222d;} +.ant-badge-status-volcano {background: #fa541c;} +.ant-badge-status-orange {background: #fa8c16;} +.ant-badge-status-yellow {background: #fadb14;} +.ant-badge-status-gold {background: #faad14;} +.ant-badge-status-cyan {background: #13c2c2;} +.ant-badge-status-lime {background: #a0d911;} +.ant-badge-status-green {background: #52c41a;} +.ant-badge-status-blue {background: #1890ff;} +.ant-badge-status-geekblue {background: #2f54eb;} +.ant-badge-status-purple {background: #722ed1;} +.ant-badge-status-text {color: rgba(0, 0, 0, 0.85);} +.ant-ribbon {color: rgba(0, 0, 0, 0.85);color: #fff;background-color: #1890ff;border-radius: 2px;} +.ant-ribbon-text {color: #fff;} +.ant-ribbon-corner {color: currentColor;border: 4px solid;} +.ant-ribbon-corner::after {color: rgba(0, 0, 0, 0.25);border: inherit;} +.ant-ribbon-color-pink {color: #eb2f96;background: #eb2f96;} +.ant-ribbon-color-magenta {color: #eb2f96;background: #eb2f96;} +.ant-ribbon-color-red {color: #f5222d;background: #f5222d;} +.ant-ribbon-color-volcano {color: #fa541c;background: #fa541c;} +.ant-ribbon-color-orange {color: #fa8c16;background: #fa8c16;} +.ant-ribbon-color-yellow {color: #fadb14;background: #fadb14;} +.ant-ribbon-color-gold {color: #faad14;background: #faad14;} +.ant-ribbon-color-cyan {color: #13c2c2;background: #13c2c2;} +.ant-ribbon-color-lime {color: #a0d911;background: #a0d911;} +.ant-ribbon-color-green {color: #52c41a;background: #52c41a;} +.ant-ribbon-color-blue {color: #1890ff;background: #1890ff;} +.ant-ribbon-color-geekblue {color: #2f54eb;background: #2f54eb;} +.ant-ribbon-color-purple {color: #722ed1;background: #722ed1;} +.ant-ribbon.ant-ribbon-placement-end {border-bottom-right-radius: 0;} +.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner {border-color: currentColor transparent transparent currentColor;} +.ant-ribbon.ant-ribbon-placement-start {border-bottom-left-radius: 0;} +.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner {border-color: currentColor currentColor transparent transparent;} +.ant-ribbon-rtl.ant-ribbon-placement-end {border-bottom-right-radius: 2px;border-bottom-left-radius: 0;} +.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner {border-color: currentColor currentColor transparent transparent;} +.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner::after {border-color: currentColor currentColor transparent transparent;} +.ant-ribbon-rtl.ant-ribbon-placement-start {border-bottom-right-radius: 0;border-bottom-left-radius: 2px;} +.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner {border-color: currentColor transparent transparent currentColor;} +.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner::after {border-color: currentColor transparent transparent currentColor;} +.ant-breadcrumb {color: rgba(0, 0, 0, 0.85);color: rgba(0, 0, 0, 0.45);} +.ant-breadcrumb a {color: rgba(0, 0, 0, 0.45);} +.ant-breadcrumb a:hover {color: #40a9ff;} +.ant-breadcrumb > span:last-child {color: rgba(0, 0, 0, 0.85);} +.ant-breadcrumb > span:last-child a {color: rgba(0, 0, 0, 0.85);} +.ant-breadcrumb-separator {color: rgba(0, 0, 0, 0.45);} +.ant-breadcrumb > nz-breadcrumb-item:last-child {color: rgba(0, 0, 0, 0.85);} +.ant-breadcrumb > nz-breadcrumb-item:last-child a {color: rgba(0, 0, 0, 0.85);} +.ant-btn {background-image: none;border: 1px solid transparent;box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);border-radius: 2px;color: rgba(0, 0, 0, 0.85);background: #fff;border-color: #d9d9d9;} +.ant-btn:not([disabled]):active {box-shadow: none;} +.ant-btn-lg {border-radius: 2px;} +.ant-btn-sm {border-radius: 2px;} +.ant-btn > a:only-child {color: currentColor;} +.ant-btn > a:only-child::after {background: transparent;} +.ant-btn:hover, .ant-btn:focus {color: #40a9ff;background: #fff;border-color: #40a9ff;} +.ant-btn:hover > a:only-child, .ant-btn:focus > a:only-child {color: currentColor;} +.ant-btn:hover > a:only-child::after, .ant-btn:focus > a:only-child::after {background: transparent;} +.ant-btn:active {color: #096dd9;background: #fff;border-color: #096dd9;} +.ant-btn:active > a:only-child {color: currentColor;} +.ant-btn:active > a:only-child::after {background: transparent;} +.ant-btn[disabled], .ant-btn[disabled]:hover, .ant-btn[disabled]:focus, .ant-btn[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn[disabled] > a:only-child, .ant-btn[disabled]:hover > a:only-child, .ant-btn[disabled]:focus > a:only-child, .ant-btn[disabled]:active > a:only-child {color: currentColor;} +.ant-btn[disabled] > a:only-child::after, .ant-btn[disabled]:hover > a:only-child::after, .ant-btn[disabled]:focus > a:only-child::after, .ant-btn[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn:hover, .ant-btn:focus, .ant-btn:active {background: #fff;} +.ant-btn-primary {color: #fff;background: #1890ff;border-color: #1890ff;box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);} +.ant-btn-primary > a:only-child {color: currentColor;} +.ant-btn-primary > a:only-child::after {background: transparent;} +.ant-btn-primary:hover, .ant-btn-primary:focus {color: #fff;background: #40a9ff;border-color: #40a9ff;} +.ant-btn-primary:hover > a:only-child, .ant-btn-primary:focus > a:only-child {color: currentColor;} +.ant-btn-primary:hover > a:only-child::after, .ant-btn-primary:focus > a:only-child::after {background: transparent;} +.ant-btn-primary:active {color: #fff;background: #096dd9;border-color: #096dd9;} +.ant-btn-primary:active > a:only-child {color: currentColor;} +.ant-btn-primary:active > a:only-child::after {background: transparent;} +.ant-btn-primary[disabled], .ant-btn-primary[disabled]:hover, .ant-btn-primary[disabled]:focus, .ant-btn-primary[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-primary[disabled] > a:only-child, .ant-btn-primary[disabled]:hover > a:only-child, .ant-btn-primary[disabled]:focus > a:only-child, .ant-btn-primary[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-primary[disabled] > a:only-child::after, .ant-btn-primary[disabled]:hover > a:only-child::after, .ant-btn-primary[disabled]:focus > a:only-child::after, .ant-btn-primary[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) {border-right-color: #40a9ff;border-left-color: #40a9ff;} +.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled {border-color: #d9d9d9;} +.ant-btn-group .ant-btn-primary:first-child:not(:last-child) {border-right-color: #40a9ff;} +.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] {border-right-color: #d9d9d9;} +.ant-btn-group .ant-btn-primary:last-child:not(:first-child), .ant-btn-group .ant-btn-primary + .ant-btn-primary {border-left-color: #40a9ff;} +.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], .ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {border-left-color: #d9d9d9;} +.ant-btn-ghost {color: rgba(0, 0, 0, 0.85);background: transparent;border-color: #d9d9d9;} +.ant-btn-ghost > a:only-child {color: currentColor;} +.ant-btn-ghost > a:only-child::after {background: transparent;} +.ant-btn-ghost:hover, .ant-btn-ghost:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-ghost:hover > a:only-child, .ant-btn-ghost:focus > a:only-child {color: currentColor;} +.ant-btn-ghost:hover > a:only-child::after, .ant-btn-ghost:focus > a:only-child::after {background: transparent;} +.ant-btn-ghost:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-ghost:active > a:only-child {color: currentColor;} +.ant-btn-ghost:active > a:only-child::after {background: transparent;} +.ant-btn-ghost[disabled], .ant-btn-ghost[disabled]:hover, .ant-btn-ghost[disabled]:focus, .ant-btn-ghost[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-ghost[disabled] > a:only-child, .ant-btn-ghost[disabled]:hover > a:only-child, .ant-btn-ghost[disabled]:focus > a:only-child, .ant-btn-ghost[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-ghost[disabled] > a:only-child::after, .ant-btn-ghost[disabled]:hover > a:only-child::after, .ant-btn-ghost[disabled]:focus > a:only-child::after, .ant-btn-ghost[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dashed {color: rgba(0, 0, 0, 0.85);background: #fff;border-color: #d9d9d9;border-style: dashed;} +.ant-btn-dashed > a:only-child {color: currentColor;} +.ant-btn-dashed > a:only-child::after {background: transparent;} +.ant-btn-dashed:hover, .ant-btn-dashed:focus {color: #40a9ff;background: #fff;border-color: #40a9ff;} +.ant-btn-dashed:hover > a:only-child, .ant-btn-dashed:focus > a:only-child {color: currentColor;} +.ant-btn-dashed:hover > a:only-child::after, .ant-btn-dashed:focus > a:only-child::after {background: transparent;} +.ant-btn-dashed:active {color: #096dd9;background: #fff;border-color: #096dd9;} +.ant-btn-dashed:active > a:only-child {color: currentColor;} +.ant-btn-dashed:active > a:only-child::after {background: transparent;} +.ant-btn-dashed[disabled], .ant-btn-dashed[disabled]:hover, .ant-btn-dashed[disabled]:focus, .ant-btn-dashed[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-dashed[disabled] > a:only-child, .ant-btn-dashed[disabled]:hover > a:only-child, .ant-btn-dashed[disabled]:focus > a:only-child, .ant-btn-dashed[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dashed[disabled] > a:only-child::after, .ant-btn-dashed[disabled]:hover > a:only-child::after, .ant-btn-dashed[disabled]:focus > a:only-child::after, .ant-btn-dashed[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-danger {color: #fff;background: #ff4d4f;border-color: #ff4d4f;box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);} +.ant-btn-danger > a:only-child {color: currentColor;} +.ant-btn-danger > a:only-child::after {background: transparent;} +.ant-btn-danger:hover, .ant-btn-danger:focus {color: #fff;background: #ff7875;border-color: #ff7875;} +.ant-btn-danger:hover > a:only-child, .ant-btn-danger:focus > a:only-child {color: currentColor;} +.ant-btn-danger:hover > a:only-child::after, .ant-btn-danger:focus > a:only-child::after {background: transparent;} +.ant-btn-danger:active {color: #fff;background: #d9363e;border-color: #d9363e;} +.ant-btn-danger:active > a:only-child {color: currentColor;} +.ant-btn-danger:active > a:only-child::after {background: transparent;} +.ant-btn-danger[disabled], .ant-btn-danger[disabled]:hover, .ant-btn-danger[disabled]:focus, .ant-btn-danger[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-danger[disabled] > a:only-child, .ant-btn-danger[disabled]:hover > a:only-child, .ant-btn-danger[disabled]:focus > a:only-child, .ant-btn-danger[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-danger[disabled] > a:only-child::after, .ant-btn-danger[disabled]:hover > a:only-child::after, .ant-btn-danger[disabled]:focus > a:only-child::after, .ant-btn-danger[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-link {color: #1890ff;background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-link > a:only-child {color: currentColor;} +.ant-btn-link > a:only-child::after {background: transparent;} +.ant-btn-link:hover, .ant-btn-link:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-link:hover > a:only-child, .ant-btn-link:focus > a:only-child {color: currentColor;} +.ant-btn-link:hover > a:only-child::after, .ant-btn-link:focus > a:only-child::after {background: transparent;} +.ant-btn-link:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-link:active > a:only-child {color: currentColor;} +.ant-btn-link:active > a:only-child::after {background: transparent;} +.ant-btn-link[disabled], .ant-btn-link[disabled]:hover, .ant-btn-link[disabled]:focus, .ant-btn-link[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-link[disabled] > a:only-child, .ant-btn-link[disabled]:hover > a:only-child, .ant-btn-link[disabled]:focus > a:only-child, .ant-btn-link[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-link[disabled] > a:only-child::after, .ant-btn-link[disabled]:hover > a:only-child::after, .ant-btn-link[disabled]:focus > a:only-child::after, .ant-btn-link[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-link:hover {background: transparent;} +.ant-btn-link:hover, .ant-btn-link:focus, .ant-btn-link:active {border-color: transparent;} +.ant-btn-link[disabled], .ant-btn-link[disabled]:hover, .ant-btn-link[disabled]:focus, .ant-btn-link[disabled]:active {color: rgba(0, 0, 0, 0.25);background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-link[disabled] > a:only-child, .ant-btn-link[disabled]:hover > a:only-child, .ant-btn-link[disabled]:focus > a:only-child, .ant-btn-link[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-link[disabled] > a:only-child::after, .ant-btn-link[disabled]:hover > a:only-child::after, .ant-btn-link[disabled]:focus > a:only-child::after, .ant-btn-link[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-text {color: rgba(0, 0, 0, 0.85);background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-text > a:only-child {color: currentColor;} +.ant-btn-text > a:only-child::after {background: transparent;} +.ant-btn-text:hover, .ant-btn-text:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-text:hover > a:only-child, .ant-btn-text:focus > a:only-child {color: currentColor;} +.ant-btn-text:hover > a:only-child::after, .ant-btn-text:focus > a:only-child::after {background: transparent;} +.ant-btn-text:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-text:active > a:only-child {color: currentColor;} +.ant-btn-text:active > a:only-child::after {background: transparent;} +.ant-btn-text[disabled], .ant-btn-text[disabled]:hover, .ant-btn-text[disabled]:focus, .ant-btn-text[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-text[disabled] > a:only-child, .ant-btn-text[disabled]:hover > a:only-child, .ant-btn-text[disabled]:focus > a:only-child, .ant-btn-text[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-text[disabled] > a:only-child::after, .ant-btn-text[disabled]:hover > a:only-child::after, .ant-btn-text[disabled]:focus > a:only-child::after, .ant-btn-text[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-text:hover, .ant-btn-text:focus {color: rgba(0, 0, 0, 0.85);background: rgba(0, 0, 0, 0.018);border-color: transparent;} +.ant-btn-text:active {color: rgba(0, 0, 0, 0.85);background: rgba(0, 0, 0, 0.028);border-color: transparent;} +.ant-btn-text[disabled], .ant-btn-text[disabled]:hover, .ant-btn-text[disabled]:focus, .ant-btn-text[disabled]:active {color: rgba(0, 0, 0, 0.25);background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-text[disabled] > a:only-child, .ant-btn-text[disabled]:hover > a:only-child, .ant-btn-text[disabled]:focus > a:only-child, .ant-btn-text[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-text[disabled] > a:only-child::after, .ant-btn-text[disabled]:hover > a:only-child::after, .ant-btn-text[disabled]:focus > a:only-child::after, .ant-btn-text[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous {color: #ff4d4f;background: #fff;border-color: #ff4d4f;} +.ant-btn-dangerous > a:only-child {color: currentColor;} +.ant-btn-dangerous > a:only-child::after {background: transparent;} +.ant-btn-dangerous:hover, .ant-btn-dangerous:focus {color: #ff7875;background: #fff;border-color: #ff7875;} +.ant-btn-dangerous:hover > a:only-child, .ant-btn-dangerous:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous:hover > a:only-child::after, .ant-btn-dangerous:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous:active {color: #d9363e;background: #fff;border-color: #d9363e;} +.ant-btn-dangerous:active > a:only-child {color: currentColor;} +.ant-btn-dangerous:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous[disabled], .ant-btn-dangerous[disabled]:hover, .ant-btn-dangerous[disabled]:focus, .ant-btn-dangerous[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-dangerous[disabled] > a:only-child, .ant-btn-dangerous[disabled]:hover > a:only-child, .ant-btn-dangerous[disabled]:focus > a:only-child, .ant-btn-dangerous[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous[disabled] > a:only-child::after, .ant-btn-dangerous[disabled]:hover > a:only-child::after, .ant-btn-dangerous[disabled]:focus > a:only-child::after, .ant-btn-dangerous[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-primary {color: #fff;background: #ff4d4f;border-color: #ff4d4f;box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);} +.ant-btn-dangerous.ant-btn-primary > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-primary > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-primary:hover, .ant-btn-dangerous.ant-btn-primary:focus {color: #fff;background: #ff7875;border-color: #ff7875;} +.ant-btn-dangerous.ant-btn-primary:hover > a:only-child, .ant-btn-dangerous.ant-btn-primary:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-primary:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-primary:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-primary:active {color: #fff;background: #d9363e;border-color: #d9363e;} +.ant-btn-dangerous.ant-btn-primary:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-primary:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-primary[disabled], .ant-btn-dangerous.ant-btn-primary[disabled]:hover, .ant-btn-dangerous.ant-btn-primary[disabled]:focus, .ant-btn-dangerous.ant-btn-primary[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child, .ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child, .ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child, .ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-primary[disabled] > a:only-child::after, .ant-btn-dangerous.ant-btn-primary[disabled]:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-primary[disabled]:focus > a:only-child::after, .ant-btn-dangerous.ant-btn-primary[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link {color: #ff4d4f;background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-dangerous.ant-btn-link > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link:hover, .ant-btn-dangerous.ant-btn-link:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child, .ant-btn-dangerous.ant-btn-link:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-dangerous.ant-btn-link:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link[disabled], .ant-btn-dangerous.ant-btn-link[disabled]:hover, .ant-btn-dangerous.ant-btn-link[disabled]:focus, .ant-btn-dangerous.ant-btn-link[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link:hover, .ant-btn-dangerous.ant-btn-link:focus {color: #ff7875;background: transparent;border-color: transparent;} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child, .ant-btn-dangerous.ant-btn-link:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link:active {color: #d9363e;background: transparent;border-color: transparent;} +.ant-btn-dangerous.ant-btn-link:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-link[disabled], .ant-btn-dangerous.ant-btn-link[disabled]:hover, .ant-btn-dangerous.ant-btn-link[disabled]:focus, .ant-btn-dangerous.ant-btn-link[disabled]:active {color: rgba(0, 0, 0, 0.25);background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, .ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, .ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text {color: #ff4d4f;background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-dangerous.ant-btn-text > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text:hover, .ant-btn-dangerous.ant-btn-text:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-dangerous.ant-btn-text:hover > a:only-child, .ant-btn-dangerous.ant-btn-text:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-text:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-dangerous.ant-btn-text:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text[disabled], .ant-btn-dangerous.ant-btn-text[disabled]:hover, .ant-btn-dangerous.ant-btn-text[disabled]:focus, .ant-btn-dangerous.ant-btn-text[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text:hover, .ant-btn-dangerous.ant-btn-text:focus {color: #ff7875;background: rgba(0, 0, 0, 0.018);border-color: transparent;} +.ant-btn-dangerous.ant-btn-text:hover > a:only-child, .ant-btn-dangerous.ant-btn-text:focus > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-text:focus > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text:active {color: #d9363e;background: rgba(0, 0, 0, 0.028);border-color: transparent;} +.ant-btn-dangerous.ant-btn-text:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text:active > a:only-child::after {background: transparent;} +.ant-btn-dangerous.ant-btn-text[disabled], .ant-btn-dangerous.ant-btn-text[disabled]:hover, .ant-btn-dangerous.ant-btn-text[disabled]:focus, .ant-btn-dangerous.ant-btn-text[disabled]:active {color: rgba(0, 0, 0, 0.25);background: transparent;border-color: transparent;box-shadow: none;} +.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child, .ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-dangerous.ant-btn-text[disabled] > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:hover > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:focus > a:only-child::after, .ant-btn-dangerous.ant-btn-text[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-icon-only {border-radius: 2px;} +.ant-btn-icon-only.ant-btn-lg {border-radius: 2px;} +.ant-btn-icon-only.ant-btn-sm {border-radius: 2px;} +.ant-btn-round {border-radius: 32px;} +.ant-btn-round.ant-btn-lg {border-radius: 40px;} +.ant-btn-round.ant-btn-sm {border-radius: 24px;} +.ant-btn-circle {border-radius: 50%;} +.ant-btn-circle.ant-btn-lg {border-radius: 50%;} +.ant-btn-circle.ant-btn-sm {border-radius: 50%;} +.ant-btn::before {background: #fff;border-radius: inherit;} +.ant-btn-group-lg > .ant-btn, .ant-btn-group-lg > span > .ant-btn {border-radius: 0;} +.ant-btn-group-sm > .ant-btn, .ant-btn-group-sm > span > .ant-btn {border-radius: 0;} +.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) {border-left-color: transparent;} +.ant-btn-group .ant-btn {border-radius: 0;} +.ant-btn-group > .ant-btn:only-child {border-radius: 2px;} +.ant-btn-group > span:only-child > .ant-btn {border-radius: 2px;} +.ant-btn-group > .ant-btn:first-child:not(:last-child), .ant-btn-group > span:first-child:not(:last-child) > .ant-btn {border-top-left-radius: 2px;border-bottom-left-radius: 2px;} +.ant-btn-group > .ant-btn:last-child:not(:first-child), .ant-btn-group > span:last-child:not(:first-child) > .ant-btn {border-top-right-radius: 2px;border-bottom-right-radius: 2px;} +.ant-btn-group-sm > .ant-btn:only-child {border-radius: 2px;} +.ant-btn-group-sm > span:only-child > .ant-btn {border-radius: 2px;} +.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), .ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn {border-top-left-radius: 2px;border-bottom-left-radius: 2px;} +.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), .ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn {border-top-right-radius: 2px;border-bottom-right-radius: 2px;} +.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn {border-radius: 0;} +.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child {border-top-right-radius: 0;border-bottom-right-radius: 0;} +.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child {border-top-left-radius: 0;border-bottom-left-radius: 0;} +.ant-btn-group-rtl.ant-btn-group > .ant-btn:first-child:not(:last-child), .ant-btn-group-rtl.ant-btn-group > span:first-child:not(:last-child) > .ant-btn {border-top-left-radius: 0;border-top-right-radius: 2px;border-bottom-right-radius: 2px;border-bottom-left-radius: 0;} +.ant-btn-group-rtl.ant-btn-group > .ant-btn:last-child:not(:first-child), .ant-btn-group-rtl.ant-btn-group > span:last-child:not(:first-child) > .ant-btn {border-top-left-radius: 2px;border-top-right-radius: 0;border-bottom-right-radius: 0;border-bottom-left-radius: 2px;} +.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), .ant-btn-group-rtl.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn {border-top-left-radius: 0;border-top-right-radius: 2px;border-bottom-right-radius: 2px;border-bottom-left-radius: 0;} +.ant-btn-group-rtl.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), .ant-btn-group-rtl.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn {border-top-left-radius: 2px;border-top-right-radius: 0;border-bottom-right-radius: 0;border-bottom-left-radius: 2px;} +.ant-btn-background-ghost {color: #fff;background: transparent !important;border-color: #fff;} +.ant-btn-background-ghost.ant-btn-primary {color: #1890ff;background: transparent;border-color: #1890ff;} +.ant-btn-background-ghost.ant-btn-primary > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-primary > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-primary:hover, .ant-btn-background-ghost.ant-btn-primary:focus {color: #40a9ff;background: transparent;border-color: #40a9ff;} +.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child, .ant-btn-background-ghost.ant-btn-primary:focus > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-primary:focus > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-primary:active {color: #096dd9;background: transparent;border-color: #096dd9;} +.ant-btn-background-ghost.ant-btn-primary:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-primary:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-primary[disabled], .ant-btn-background-ghost.ant-btn-primary[disabled]:hover, .ant-btn-background-ghost.ant-btn-primary[disabled]:focus, .ant-btn-background-ghost.ant-btn-primary[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child, .ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child, .ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child, .ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child::after, .ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child::after, .ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-danger {color: #ff4d4f;background: transparent;border-color: #ff4d4f;} +.ant-btn-background-ghost.ant-btn-danger > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-danger > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-danger:hover, .ant-btn-background-ghost.ant-btn-danger:focus {color: #ff7875;background: transparent;border-color: #ff7875;} +.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child, .ant-btn-background-ghost.ant-btn-danger:focus > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-danger:focus > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-danger:active {color: #d9363e;background: transparent;border-color: #d9363e;} +.ant-btn-background-ghost.ant-btn-danger:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-danger:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-danger[disabled], .ant-btn-background-ghost.ant-btn-danger[disabled]:hover, .ant-btn-background-ghost.ant-btn-danger[disabled]:focus, .ant-btn-background-ghost.ant-btn-danger[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child, .ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child, .ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child, .ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child::after, .ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child::after, .ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous {color: #ff4d4f;background: transparent;border-color: #ff4d4f;} +.ant-btn-background-ghost.ant-btn-dangerous > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous:hover, .ant-btn-background-ghost.ant-btn-dangerous:focus {color: #ff7875;background: transparent;border-color: #ff7875;} +.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous:focus > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous:active {color: #d9363e;background: transparent;border-color: #d9363e;} +.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous[disabled], .ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous[disabled] > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link {color: #ff4d4f;background: transparent;border-color: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus {color: #ff7875;background: transparent;border-color: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active {color: #d9363e;background: transparent;border-color: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active > a:only-child::after {background: transparent;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled], .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;box-shadow: none;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child {color: currentColor;} +.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled] > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus > a:only-child::after, .ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active > a:only-child::after {background: transparent;} +.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child), .ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary {border-right-color: #40a9ff;border-left-color: #d9d9d9;} +.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], .ant-btn-group-rtl.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] {border-right-color: #d9d9d9;border-left-color: #40a9ff;} +.ant-card {color: rgba(0, 0, 0, 0.85);background: #fff;border-radius: 2px;} +.ant-card-hoverable:hover {border-color: transparent;box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);} +.ant-card-bordered {border: 1px solid #f0f0f0;} +.ant-card-head {color: rgba(0, 0, 0, 0.85);background: transparent;border-bottom: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.ant-card-head .ant-tabs {color: rgba(0, 0, 0, 0.85);} +.ant-card-head .ant-tabs-bar {border-bottom: 1px solid #f0f0f0;} +.ant-card-extra {color: rgba(0, 0, 0, 0.85);} +.ant-card-grid {border: 0;border-radius: 0;box-shadow: 1px 0 0 0 #f0f0f0, 0 1px 0 0 #f0f0f0, 1px 1px 0 0 #f0f0f0, 1px 0 0 0 #f0f0f0 inset, 0 1px 0 0 #f0f0f0 inset;} +.ant-card-grid-hoverable:hover {box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);} +.ant-card-cover img {border-radius: 2px 2px 0 0;} +.ant-card-actions {background: #fff;border-top: 1px solid #f0f0f0;} +.ant-card-actions > li {color: rgba(0, 0, 0, 0.45);} +.ant-card-actions > li > span:hover {color: #1890ff;} +.ant-card-actions > li > span a:not(.ant-btn), .ant-card-actions > li > span > .anticon {color: rgba(0, 0, 0, 0.45);} +.ant-card-actions > li > span a:not(.ant-btn):hover, .ant-card-actions > li > span > .anticon:hover {color: #1890ff;} +.ant-card-actions > li:not(:last-child) {border-right: 1px solid #f0f0f0;} +.ant-card-rtl .ant-card-actions > li:not(:last-child) {border-right: none;border-left: 1px solid #f0f0f0;} +.ant-card-type-inner .ant-card-head {background: #fafafa;} +.ant-card-meta-title {color: rgba(0, 0, 0, 0.85);} +.ant-card-meta-description {color: rgba(0, 0, 0, 0.45);} +.ant-card-loading-block {background: linear-gradient(90deg, rgba(207, 216, 220, 0.2), rgba(207, 216, 220, 0.4), rgba(207, 216, 220, 0.2));background-size: 600% 600%;border-radius: 2px;} +.ant-carousel {color: rgba(0, 0, 0, 0.85);} +.ant-carousel .slick-slider {-webkit-tap-highlight-color: transparent;} +.ant-carousel .slick-prev, .ant-carousel .slick-next {color: transparent;background: transparent;border: 0;} +.ant-carousel .slick-prev:hover, .ant-carousel .slick-next:hover, .ant-carousel .slick-prev:focus, .ant-carousel .slick-next:focus {color: transparent;background: transparent;} +.ant-carousel .slick-dots li button {color: transparent;background: #fff;border: 0;border-radius: 1px;} +.ant-carousel .slick-dots li.slick-active button {background: #fff;} +.ant-checkbox {color: rgba(0, 0, 0, 0.85);} +.ant-checkbox-wrapper:hover .ant-checkbox-inner, .ant-checkbox:hover .ant-checkbox-inner, .ant-checkbox-input:focus + .ant-checkbox-inner {border-color: #1890ff;} +.ant-checkbox-checked::after {border: 1px solid #1890ff;border-radius: 2px;} +.ant-checkbox-inner {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;border-collapse: separate;} +.ant-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-checkbox-checked .ant-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-checkbox-checked .ant-checkbox-inner {background-color: #1890ff;border-color: #1890ff;} +.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after {border-color: rgba(0, 0, 0, 0.25);} +.ant-checkbox-disabled .ant-checkbox-inner {background-color: #f5f5f5;border-color: #d9d9d9 !important;} +.ant-checkbox-disabled .ant-checkbox-inner::after {border-color: #f5f5f5;border-collapse: separate;} +.ant-checkbox-disabled + span {color: rgba(0, 0, 0, 0.25);} +.ant-checkbox-wrapper {color: rgba(0, 0, 0, 0.85);} +.ant-checkbox-group {color: rgba(0, 0, 0, 0.85);} +.ant-checkbox-indeterminate .ant-checkbox-inner {background-color: #fff;border-color: #d9d9d9;} +.ant-checkbox-indeterminate .ant-checkbox-inner::after {background-color: #1890ff;border: 0;} +.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after {background-color: rgba(0, 0, 0, 0.25);border-color: rgba(0, 0, 0, 0.25);} +.ant-collapse {color: rgba(0, 0, 0, 0.85);background-color: #fafafa;border: 1px solid #d9d9d9;border-bottom: 0;border-radius: 2px;} +.ant-collapse > .ant-collapse-item {border-bottom: 1px solid #d9d9d9;} +.ant-collapse > .ant-collapse-item:last-child, .ant-collapse > .ant-collapse-item:last-child > .ant-collapse-header {border-radius: 0 0 2px 2px;} +.ant-collapse > .ant-collapse-item > .ant-collapse-header {color: rgba(0, 0, 0, 0.85);} +.ant-collapse-content {color: rgba(0, 0, 0, 0.85);background-color: #fff;border-top: 1px solid #d9d9d9;} +.ant-collapse-item:last-child > .ant-collapse-content {border-radius: 0 0 2px 2px;} +.ant-collapse-borderless {background-color: #fafafa;border: 0;} +.ant-collapse-borderless > .ant-collapse-item {border-bottom: 1px solid #d9d9d9;} +.ant-collapse-borderless > .ant-collapse-item:last-child, .ant-collapse-borderless > .ant-collapse-item:last-child .ant-collapse-header {border-radius: 0;} +.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content {background-color: transparent;border-top: 0;} +.ant-collapse-ghost {background-color: transparent;border: 0;} +.ant-collapse-ghost > .ant-collapse-item {border-bottom: 0;} +.ant-collapse-ghost > .ant-collapse-item > .ant-collapse-content {background-color: transparent;border-top: 0;} +.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header, .ant-collapse .ant-collapse-item-disabled > .ant-collapse-header > .arrow {color: rgba(0, 0, 0, 0.25);} +.ant-comment {background-color: inherit;} +.ant-comment-avatar img {border-radius: 50%;} +.ant-comment-content-author-name {color: rgba(0, 0, 0, 0.45);} +.ant-comment-content-author-name > * {color: rgba(0, 0, 0, 0.45);} +.ant-comment-content-author-name > *:hover {color: rgba(0, 0, 0, 0.45);} +.ant-comment-content-author-time {color: #ccc;} +.ant-comment-actions > li {color: rgba(0, 0, 0, 0.45);} +.ant-comment-actions > li > span {color: rgba(0, 0, 0, 0.45);} +.ant-comment-actions > li > span:hover {color: #595959;} +.ant-picker {color: rgba(0, 0, 0, 0.85);background: #fff;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-picker:hover, .ant-picker-focused {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-picker:hover, .ant-input-rtl .ant-picker-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-picker-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-picker-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-picker.ant-picker-disabled {background: #f5f5f5;border-color: #d9d9d9;} +.ant-picker.ant-picker-disabled .ant-picker-suffix {color: rgba(0, 0, 0, 0.25);} +.ant-picker.ant-picker-borderless {background-color: transparent !important;border-color: transparent !important;box-shadow: none !important;} +.ant-picker-input > input {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;background: transparent;border: 0;} +.ant-picker-input > input::placeholder {color: #bfbfbf;} +.ant-picker-input > input::placeholder {color: #bfbfbf;} +.ant-picker-input > input:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-picker-input > input:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-picker-input > input:focus, .ant-picker-input > input-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-picker-input > input:focus, .ant-input-rtl .ant-picker-input > input-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-picker-input > input-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-picker-input > input-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-picker-input > input[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-picker-input > input[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-picker-input > input-borderless, .ant-picker-input > input-borderless:hover, .ant-picker-input > input-borderless:focus, .ant-picker-input > input-borderless-focused, .ant-picker-input > input-borderless-disabled, .ant-picker-input > input-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-picker-input > input:focus {box-shadow: none;} +.ant-picker-input > input[disabled] {background: transparent;} +.ant-picker-input-placeholder > input {color: #bfbfbf;} +.ant-picker-suffix {color: rgba(0, 0, 0, 0.25);} +.ant-picker-clear {color: rgba(0, 0, 0, 0.25);background: #fff;} +.ant-picker-clear:hover {color: rgba(0, 0, 0, 0.45);} +.ant-picker-separator {color: rgba(0, 0, 0, 0.25);} +.ant-picker-focused .ant-picker-separator {color: rgba(0, 0, 0, 0.45);} +.ant-picker-range .ant-picker-active-bar {background: #1890ff;} +.ant-picker-dropdown {color: rgba(0, 0, 0, 0.85);} +.ant-picker-ranges .ant-picker-preset > .ant-tag-blue {color: #1890ff;background: #e6f7ff;border-color: #91d5ff;} +.ant-picker-range-arrow {box-shadow: 2px -2px 6px rgba(0, 0, 0, 0.06);} +.ant-picker-range-arrow::after {border: 5px solid #f0f0f0;border-color: #fff #fff transparent transparent;} +.ant-picker-panel-container {background: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-picker-panel-container .ant-picker-panel {background: transparent;border-width: 0 0 1px 0;border-radius: 0;} +.ant-picker-panel-container .ant-picker-panel-focused {border-color: #f0f0f0;} +.ant-picker-panel {background: #fff;border: 1px solid #f0f0f0;border-radius: 2px;} +.ant-picker-panel-focused {border-color: #1890ff;} +.ant-picker-header {color: rgba(0, 0, 0, 0.85);border-bottom: 1px solid #f0f0f0;} +.ant-picker-header button {color: rgba(0, 0, 0, 0.25);background: transparent;border: 0;} +.ant-picker-header > button:hover {color: rgba(0, 0, 0, 0.85);} +.ant-picker-header-view button {color: inherit;} +.ant-picker-header-view button:hover {color: #1890ff;} +.ant-picker-prev-icon::before, .ant-picker-next-icon::before, .ant-picker-super-prev-icon::before, .ant-picker-super-next-icon::before {border: 0 solid currentColor;border-width: 1.5px 0 0 1.5px;} +.ant-picker-super-prev-icon::after, .ant-picker-super-next-icon::after {border: 0 solid currentColor;border-width: 1.5px 0 0 1.5px;} +.ant-picker-content {border-collapse: collapse;} +.ant-picker-content th {color: rgba(0, 0, 0, 0.85);} +.ant-picker-cell {color: rgba(0, 0, 0, 0.25);} +.ant-picker-cell-in-view {color: rgba(0, 0, 0, 0.85);} +.ant-picker-cell .ant-picker-cell-inner {border-radius: 2px;} +.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner, .ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner {background: #f5f5f5;} +.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before {border: 1px solid #1890ff;border-radius: 2px;} +.ant-picker-cell-in-view.ant-picker-cell-in-range::before {background: #e6f7ff;} +.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner, .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner, .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner {color: #fff;background: #1890ff;} +.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before, .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before {background: #e6f7ff;} +.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after {border-top: 1px dashed #7ec1ff;border-bottom: 1px dashed #7ec1ff;} +.ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before, .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before, .ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before, .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before, .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before, .ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before, .ant-picker-panel > :not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before {background: #cbe6ff;} +.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner {border-radius: 2px 0 0 2px;} +.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner {border-radius: 0 2px 2px 0;} +.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after, .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after {background: #cbe6ff;} +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after, +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after, .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after {border-left: 1px dashed #7ec1ff;border-top-left-radius: 2px;border-bottom-left-radius: 2px;} +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after, +tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after, .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after, .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after {border-right: 1px dashed #7ec1ff;border-top-right-radius: 2px;border-bottom-right-radius: 2px;} +.ant-picker-cell-disabled .ant-picker-cell-inner {color: rgba(0, 0, 0, 0.25);background: transparent;} +.ant-picker-cell-disabled::before {background: #f5f5f5;} +.ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before {border-color: rgba(0, 0, 0, 0.25);} +.ant-picker-decade-panel .ant-picker-cell-disabled .ant-picker-cell-inner, .ant-picker-year-panel .ant-picker-cell-disabled .ant-picker-cell-inner, .ant-picker-quarter-panel .ant-picker-cell-disabled .ant-picker-cell-inner, .ant-picker-month-panel .ant-picker-cell-disabled .ant-picker-cell-inner {background: #f5f5f5;} +.ant-picker-footer {border-bottom: 1px solid transparent;} +.ant-picker-panel .ant-picker-footer {border-top: 1px solid #f0f0f0;} +.ant-picker-footer-extra:not(:last-child) {border-bottom: 1px solid #f0f0f0;} +.ant-picker-today-btn {color: #1890ff;} +.ant-picker-today-btn:hover {color: #40a9ff;} +.ant-picker-today-btn:active {color: #096dd9;} +.ant-picker-today-btn.ant-picker-today-btn-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-picker-year-panel .ant-picker-cell-range-hover-start::after, .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after, .ant-picker-month-panel .ant-picker-cell-range-hover-start::after {border-left: 1px dashed #7ec1ff;border-radius: 2px 0 0 2px;} +.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-start::after, .ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after, .ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-start::after {border-right: 1px dashed #7ec1ff;border-radius: 0 2px 2px 0;} +.ant-picker-year-panel .ant-picker-cell-range-hover-end::after, .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after, .ant-picker-month-panel .ant-picker-cell-range-hover-end::after {border-right: 1px dashed #7ec1ff;border-radius: 0 2px 2px 0;} +.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-end::after, .ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after, .ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-end::after {border-left: 1px dashed #7ec1ff;border-radius: 2px 0 0 2px;} +.ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner, .ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner, .ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner {background: transparent !important;} +.ant-picker-week-panel-row:hover td {background: #f5f5f5;} +.ant-picker-week-panel-row-selected td, .ant-picker-week-panel-row-selected:hover td {background: #1890ff;} +.ant-picker-week-panel-row-selected td.ant-picker-cell-week, .ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week {color: rgba(255, 255, 255, 0.5);} +.ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before, .ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before {border-color: #fff;} +.ant-picker-week-panel-row-selected td .ant-picker-cell-inner, .ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner {color: #fff;} +.ant-picker-datetime-panel .ant-picker-time-panel {border-left: 1px solid #f0f0f0;} +.ant-picker-time-panel-column:not(:first-child) {border-left: 1px solid #f0f0f0;} +.ant-picker-time-panel-column-active {background: rgba(230, 247, 255, 0.2);} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner {color: rgba(0, 0, 0, 0.85);border-radius: 0;} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover {background: #f5f5f5;} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner {background: #e6f7ff;} +.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner {color: rgba(0, 0, 0, 0.25);background: transparent;} +.ant-picker-cell .ant-picker-cell-inner {border-radius: 2px;} +.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner {border-radius: 0 2px 2px 0;} +.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner {border-radius: 2px 0 0 2px;} +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):first-child::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after {border-right: 1px dashed #7ec1ff;border-left: none;border-top-left-radius: 0;border-top-right-radius: 2px;border-bottom-right-radius: 2px;border-bottom-left-radius: 0;} +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):last-child::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after {border-right: none;border-left: 1px dashed #7ec1ff;border-top-left-radius: 2px;border-top-right-radius: 0;border-bottom-right-radius: 0;border-bottom-left-radius: 2px;} +.ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after, .ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-end.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after, .ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-start.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover)::after, .ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-start:last-child::after, .ant-picker-panel-rtl tr > .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-end:first-child::after {border-right: 1px dashed #7ec1ff;border-left: 1px dashed #7ec1ff;border-radius: 2px;} +.ant-picker-inline {border: none;} +.ant-descriptions-title {color: rgba(0, 0, 0, 0.85);} +.ant-descriptions-extra {color: rgba(0, 0, 0, 0.85);} +.ant-descriptions-view {border-radius: 2px;} +.ant-descriptions-row:last-child {border-bottom: none;} +.ant-descriptions-item-label {color: rgba(0, 0, 0, 0.85);} +.ant-descriptions-item-content {color: rgba(0, 0, 0, 0.85);} +.ant-descriptions-bordered .ant-descriptions-view {border: 1px solid #f0f0f0;} +.ant-descriptions-bordered .ant-descriptions-item-label, .ant-descriptions-bordered .ant-descriptions-item-content {border-right: 1px solid #f0f0f0;} +.ant-descriptions-bordered .ant-descriptions-item-label:last-child, .ant-descriptions-bordered .ant-descriptions-item-content:last-child {border-right: none;} +.ant-descriptions-bordered .ant-descriptions-item-label {background-color: #fafafa;} +.ant-descriptions-bordered .ant-descriptions-row {border-bottom: 1px solid #f0f0f0;} +.ant-descriptions-bordered .ant-descriptions-row:last-child {border-bottom: none;} +.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label, .ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content {border-right: none;border-left: 1px solid #f0f0f0;} +.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label:last-child, .ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content:last-child {border-left: none;} +.ant-divider {color: rgba(0, 0, 0, 0.85);border-top: 1px solid rgba(0, 0, 0, 0.06);} +.ant-divider-vertical {border-top: 0;border-left: 1px solid rgba(0, 0, 0, 0.06);} +.ant-divider-horizontal.ant-divider-with-text {color: rgba(0, 0, 0, 0.85);border-top: 0;border-top-color: rgba(0, 0, 0, 0.06);} +.ant-divider-horizontal.ant-divider-with-text::before, .ant-divider-horizontal.ant-divider-with-text::after {border-top: 1px solid transparent;border-top-color: inherit;border-bottom: 0;} +.ant-divider-dashed {background: none;border-color: rgba(0, 0, 0, 0.06);border-style: dashed;border-width: 1px 0 0;} +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed {border-top: 0;} +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::before, .ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::after {border-style: dashed none none;} +.ant-divider-vertical.ant-divider-dashed {border-width: 0 0 0 1px;} +.ant-divider-plain.ant-divider-with-text {color: rgba(0, 0, 0, 0.85);} +.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper {box-shadow: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), 12px 0 48px 16px rgba(0, 0, 0, 0.03);} +.ant-drawer-right.ant-drawer-open .ant-drawer-content-wrapper {box-shadow: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), -12px 0 48px 16px rgba(0, 0, 0, 0.03);} +.ant-drawer-top.ant-drawer-open .ant-drawer-content-wrapper {box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), 0 12px 48px 16px rgba(0, 0, 0, 0.03);} +.ant-drawer-bottom.ant-drawer-open .ant-drawer-content-wrapper {box-shadow: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), 0 -12px 48px 16px rgba(0, 0, 0, 0.03);} +.ant-drawer-title {color: rgba(0, 0, 0, 0.85);} +.ant-drawer-content {background-color: #fff;background-clip: padding-box;border: 0;} +.ant-drawer-close {color: rgba(0, 0, 0, 0.45);background: transparent;border: 0;} +.ant-drawer-close:focus, .ant-drawer-close:hover {color: rgba(0, 0, 0, 0.75);} +.ant-drawer-header {color: rgba(0, 0, 0, 0.85);background: #fff;border-bottom: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.ant-drawer-header-no-title {color: rgba(0, 0, 0, 0.85);background: #fff;} +.ant-drawer-footer {border-top: 1px solid #f0f0f0;} +.ant-drawer-mask {background-color: rgba(0, 0, 0, 0.45);} +.ant-drawer-open-content {box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-drawer .ant-picker-clear {background: #fff;} +.ant-dropdown-menu-item.ant-dropdown-menu-item-danger {color: #ff4d4f;} +.ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover {color: #fff;background-color: #ff4d4f;} +.ant-dropdown {color: rgba(0, 0, 0, 0.85);} +.ant-dropdown-arrow {background: transparent;border-style: solid;border-width: 4.24264069px;} +.ant-dropdown-placement-topCenter > .ant-dropdown-arrow, .ant-dropdown-placement-topLeft > .ant-dropdown-arrow, .ant-dropdown-placement-topRight > .ant-dropdown-arrow {border-top-color: transparent;border-right-color: #fff;border-bottom-color: #fff;border-left-color: transparent;box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);} +.ant-dropdown-placement-bottomCenter > .ant-dropdown-arrow, .ant-dropdown-placement-bottomLeft > .ant-dropdown-arrow, .ant-dropdown-placement-bottomRight > .ant-dropdown-arrow {border-top-color: #fff;border-right-color: transparent;border-bottom-color: transparent;border-left-color: #fff;box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.06);} +.ant-dropdown-menu {background-color: #fff;background-clip: padding-box;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-dropdown-menu-item-group-title {color: rgba(0, 0, 0, 0.45);} +.ant-dropdown-menu-submenu-popup {background: transparent;box-shadow: none;} +.ant-dropdown-menu-title-content > a {color: inherit;} +.ant-dropdown-menu-title-content > a:hover {color: inherit;} +.ant-dropdown-menu-item, .ant-dropdown-menu-submenu-title {color: rgba(0, 0, 0, 0.85);} +.ant-dropdown-menu-item-selected, .ant-dropdown-menu-submenu-title-selected {color: #1890ff;background-color: #e6f7ff;} +.ant-dropdown-menu-item:hover, .ant-dropdown-menu-submenu-title:hover {background-color: #f5f5f5;} +.ant-dropdown-menu-item-disabled, .ant-dropdown-menu-submenu-title-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-dropdown-menu-item-disabled:hover, .ant-dropdown-menu-submenu-title-disabled:hover {color: rgba(0, 0, 0, 0.25);background-color: #fff;} +.ant-dropdown-menu-item-divider, .ant-dropdown-menu-submenu-title-divider {background-color: #f0f0f0;} +.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon, .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon {color: rgba(0, 0, 0, 0.45);} +.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title, .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon {color: rgba(0, 0, 0, 0.25);background-color: #fff;} +.ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title {color: #1890ff;} +.ant-dropdown-menu-dark, .ant-dropdown-menu-dark .ant-dropdown-menu {background: #001529;} +.ant-dropdown-menu-dark .ant-dropdown-menu-item, .ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title, .ant-dropdown-menu-dark .ant-dropdown-menu-item > a, .ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a {color: rgba(255, 255, 255, 0.65);} +.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow::after, .ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow::after, .ant-dropdown-menu-dark .ant-dropdown-menu-item > a .ant-dropdown-menu-submenu-arrow::after, .ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a .ant-dropdown-menu-submenu-arrow::after {color: rgba(255, 255, 255, 0.65);} +.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover, .ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover, .ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover, .ant-dropdown-menu-dark .ant-dropdown-menu-item > .anticon + span > a:hover {color: #fff;background: transparent;} +.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected, .ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover, .ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a {color: #fff;background: #1890ff;} +.ant-empty-normal {color: rgba(0, 0, 0, 0.25);} +.ant-empty-small {color: rgba(0, 0, 0, 0.25);} +.ant-input-affix-wrapper {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-input-affix-wrapper::placeholder {color: #bfbfbf;} +.ant-input-affix-wrapper::placeholder {color: #bfbfbf;} +.ant-input-affix-wrapper:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-input-affix-wrapper:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-affix-wrapper:focus, .ant-input-affix-wrapper-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-input-affix-wrapper:focus, .ant-input-rtl .ant-input-affix-wrapper-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-affix-wrapper-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-affix-wrapper-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-affix-wrapper[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-affix-wrapper[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-affix-wrapper-borderless, .ant-input-affix-wrapper-borderless:hover, .ant-input-affix-wrapper-borderless:focus, .ant-input-affix-wrapper-borderless-focused, .ant-input-affix-wrapper-borderless-disabled, .ant-input-affix-wrapper-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-affix-wrapper-disabled .ant-input[disabled] {background: transparent;} +.ant-input-affix-wrapper > input.ant-input {border: none;} +.ant-input-affix-wrapper > input.ant-input:focus {box-shadow: none;} +.ant-input-clear-icon {color: rgba(0, 0, 0, 0.25);} +.ant-input-clear-icon:hover {color: rgba(0, 0, 0, 0.45);} +.ant-input-clear-icon:active {color: rgba(0, 0, 0, 0.85);} +.ant-input-affix-wrapper-textarea-with-clear-btn {border: 0 !important;} +.ant-input {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-input::placeholder {color: #bfbfbf;} +.ant-input::placeholder {color: #bfbfbf;} +.ant-input:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-input:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-input:focus, .ant-input-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-input:focus, .ant-input-rtl .ant-input-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-borderless, .ant-input-borderless:hover, .ant-input-borderless:focus, .ant-input-borderless-focused, .ant-input-borderless-disabled, .ant-input-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-input-group {color: rgba(0, 0, 0, 0.85);border-collapse: separate;border-spacing: 0;} +.ant-input-group-addon:not(:first-child):not(:last-child), .ant-input-group-wrap:not(:first-child):not(:last-child), .ant-input-group > .ant-input:not(:first-child):not(:last-child) {border-radius: 0;} +.ant-input-group .ant-input:focus {border-right-width: 1px;} +.ant-input-group .ant-input:hover {border-right-width: 1px;} +.ant-input-group-addon {color: rgba(0, 0, 0, 0.85);background-color: #fafafa;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {background-color: inherit;border: 1px solid transparent;box-shadow: none;} +.ant-input-group-addon .ant-select-open .ant-select-selector, .ant-input-group-addon .ant-select-focused .ant-select-selector {color: #1890ff;} +.ant-input-group > .ant-input:first-child, .ant-input-group-addon:first-child {border-top-right-radius: 0;border-bottom-right-radius: 0;} +.ant-input-group > .ant-input:first-child .ant-select .ant-select-selector, .ant-input-group-addon:first-child .ant-select .ant-select-selector {border-top-right-radius: 0;border-bottom-right-radius: 0;} +.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input {border-top-left-radius: 0;border-bottom-left-radius: 0;} +.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input {border-top-right-radius: 0;border-bottom-right-radius: 0;} +.ant-input-group-addon:first-child {border-right: 0;} +.ant-input-group-addon:last-child {border-left: 0;} +.ant-input-group > .ant-input:last-child, .ant-input-group-addon:last-child {border-top-left-radius: 0;border-bottom-left-radius: 0;} +.ant-input-group > .ant-input:last-child .ant-select .ant-select-selector, .ant-input-group-addon:last-child .ant-select .ant-select-selector {border-top-left-radius: 0;border-bottom-left-radius: 0;} +.ant-input-group .ant-input-affix-wrapper:not(:first-child) {border-top-left-radius: 0;border-bottom-left-radius: 0;} +.ant-input-group .ant-input-affix-wrapper:not(:last-child) {border-top-right-radius: 0;border-bottom-right-radius: 0;} +.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child) {border-top-left-radius: 2px;border-bottom-left-radius: 2px;} +.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child), .ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child), .ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) {border-right-width: 1px;} +.ant-input-group.ant-input-group-compact > * {border-radius: 0;} +.ant-input-group.ant-input-group-compact > *:not(:last-child) {border-right-width: 1px;} +.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selector, .ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, .ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, .ant-input-group.ant-input-group-compact > .ant-input-group-wrapper .ant-input {border-right-width: 1px;border-radius: 0;} +.ant-input-group.ant-input-group-compact > *:first-child, .ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, .ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, .ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input {border-top-left-radius: 2px;border-bottom-left-radius: 2px;} +.ant-input-group.ant-input-group-compact > *:last-child, .ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, .ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, .ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input {border-right-width: 1px;border-top-right-radius: 2px;border-bottom-right-radius: 2px;} +.ant-input-group.ant-input-group-compact .ant-input-group-wrapper + .ant-input-group-wrapper .ant-input-affix-wrapper {border-radius: 0;} +.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input-group-addon > .ant-input-search-button {border-radius: 0;} +.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search > .ant-input-group > .ant-input {border-radius: 2px 0 0 2px;} +.ant-input-group > .ant-input-rtl:first-child, .ant-input-group-rtl .ant-input-group-addon:first-child {border-radius: 0 2px 2px 0;} +.ant-input-group-rtl .ant-input-group-addon:first-child {border-right: 1px solid #d9d9d9;border-left: 0;} +.ant-input-group-rtl .ant-input-group-addon:last-child {border-right: 0;border-left: 1px solid #d9d9d9;} +.ant-input-group-rtl.ant-input-group > .ant-input:last-child, .ant-input-group-rtl.ant-input-group-addon:last-child {border-radius: 2px 0 0 2px;} +.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child) {border-radius: 2px 0 0 2px;} +.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child) {border-radius: 0 2px 2px 0;} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:not(:last-child) {border-left-width: 1px;} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:first-child, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selector, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input {border-radius: 0 2px 2px 0;} +.ant-input-group-rtl.ant-input-group.ant-input-group-compact > *:last-child, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selector, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, .ant-input-group-rtl.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input {border-left-width: 1px;border-radius: 2px 0 0 2px;} +.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search > .ant-input-group > .ant-input {border-radius: 0 2px 2px 0;} +.ant-input-password-icon {color: rgba(0, 0, 0, 0.45);} +.ant-input-password-icon:hover {color: rgba(0, 0, 0, 0.85);} +.ant-input-textarea-show-count::after {color: rgba(0, 0, 0, 0.45);} +.ant-input-search .ant-input:hover, .ant-input-search .ant-input:focus {border-color: #40a9ff;} +.ant-input-search .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary), .ant-input-search .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) {border-left-color: #40a9ff;} +.ant-input-search .ant-input-affix-wrapper {border-radius: 0;} +.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child {border: 0;} +.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button {border-radius: 0 2px 2px 0;} +.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary) {color: rgba(0, 0, 0, 0.45);} +.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl > input.ant-input {border: none;} +.ant-input-search-rtl .ant-input:hover + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary), .ant-input-search-rtl .ant-input:focus + .ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary) {border-right-color: #40a9ff;border-left-color: #d9d9d9;} +.ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper:hover, .ant-input-search-rtl > .ant-input-group > .ant-input-affix-wrapper-focused {border-right-color: #40a9ff;} +.ant-input-search-rtl > .ant-input-group > .ant-input-group-addon .ant-input-search-button {border-radius: 2px 0 0 2px;} +.ant-input-number {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-input-number::placeholder {color: #bfbfbf;} +.ant-input-number::placeholder {color: #bfbfbf;} +.ant-input-number:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-input-number:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-number:focus, .ant-input-number-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-input-number:focus, .ant-input-rtl .ant-input-number-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-number-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-number-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-number[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-number[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-number-borderless, .ant-input-number-borderless:hover, .ant-input-number-borderless:focus, .ant-input-number-borderless-focused, .ant-input-number-borderless-disabled, .ant-input-number-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-input-number-handler {color: rgba(0, 0, 0, 0.45);} +.ant-input-number-handler:active {background: #f4f4f4;} +.ant-input-number-handler:hover .ant-input-number-handler-up-inner, .ant-input-number-handler:hover .ant-input-number-handler-down-inner {color: #40a9ff;} +.ant-input-number-handler-up-inner, .ant-input-number-handler-down-inner {color: inherit;color: rgba(0, 0, 0, 0.45);} +.ant-input-number:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-number-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-input-number-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-input-number-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-input-number-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-input-number-input {background-color: transparent;border: 0;border-radius: 2px;} +.ant-input-number-input::placeholder {color: #bfbfbf;} +.ant-input-number-input::placeholder {color: #bfbfbf;} +.ant-input-number-handler-wrap {background: #fff;border-left: 1px solid #d9d9d9;border-radius: 0 2px 2px 0;} +.ant-input-number-borderless .ant-input-number-handler-wrap {border-left-width: 0;} +.ant-input-number-handler-up {border-top-right-radius: 2px;} +.ant-input-number-handler-down {border-top: 1px solid #d9d9d9;border-bottom-right-radius: 2px;} +.ant-input-number-borderless .ant-input-number-handler-down {border-top-width: 0;} +.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner, .ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner {color: rgba(0, 0, 0, 0.25);} +.ant-input-number-borderless {box-shadow: none;} +.ant-input-number-out-of-range input {color: #ff4d4f;} +.ant-input-number-rtl .ant-input-number-handler-wrap {border-right: 1px solid #d9d9d9;border-left: 0;border-radius: 2px 0 0 2px;} +.ant-input-number-rtl.ant-input-number-borderless .ant-input-number-handler-wrap {border-right-width: 0;} +.ant-layout {background: #f8f8f8;} +.ant-layout-header {color: rgba(0, 0, 0, 0.85);background: #001529;} +.ant-layout-footer {color: rgba(0, 0, 0, 0.85);background: #f8f8f8;} +.ant-layout-sider {background: #001529;} +.ant-layout-sider-trigger {color: #fff;background: #002140;} +.ant-layout-sider-zero-width-trigger {color: #fff;background: #001529;border-radius: 0 2px 2px 0;} +.ant-layout-sider-zero-width-trigger::after {background: transparent;} +.ant-layout-sider-zero-width-trigger:hover::after {background: rgba(255, 255, 255, 0.1);} +.ant-layout-sider-zero-width-trigger-right {border-radius: 2px 0 0 2px;} +.ant-layout-sider-light {background: #fff;} +.ant-layout-sider-light .ant-layout-sider-trigger {color: rgba(0, 0, 0, 0.85);background: #fff;} +.ant-layout-sider-light .ant-layout-sider-zero-width-trigger {color: rgba(0, 0, 0, 0.85);background: #fff;} +.ant-form-item .ant-upload {background: transparent;} +.ant-form-item .ant-upload.ant-upload-drag {background: #fafafa;} +.ant-form-item-explain.ant-form-item-explain-error {color: #ff4d4f;} +.ant-form-item-explain.ant-form-item-explain-warning {color: #faad14;} +.ant-form-item-has-success.ant-form-item-has-feedback .ant-form-item-children-icon {color: #52c41a;} +.ant-form-item-has-warning .ant-form-item-split {color: #faad14;} +.ant-form-item-has-warning .ant-input:not(.ant-input-disabled), .ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled), .ant-form-item-has-warning .ant-input:not(.ant-input-disabled):hover, .ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {background-color: #fff;border-color: #faad14;} +.ant-form-item-has-warning .ant-input:not(.ant-input-disabled):focus, .ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus, .ant-form-item-has-warning .ant-input:not(.ant-input-disabled)-focused, .ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused {border-color: #ffc53d;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);} +.ant-form-item-has-warning .ant-calendar-picker-open .ant-calendar-picker-input {border-color: #ffc53d;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);} +.ant-form-item-has-warning .ant-input-prefix {color: #faad14;} +.ant-form-item-has-warning .ant-input-group-addon {color: #faad14;border-color: #faad14;} +.ant-form-item-has-warning .has-feedback {color: #faad14;} +.ant-form-item-has-warning.ant-form-item-has-feedback .ant-form-item-children-icon {color: #faad14;} +.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector {background-color: #fff;border-color: #faad14 !important;} +.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector, .ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector {border-color: #ffc53d;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);} +.ant-form-item-has-warning .ant-input-number, .ant-form-item-has-warning .ant-picker {background-color: #fff;border-color: #faad14;} +.ant-form-item-has-warning .ant-input-number-focused, .ant-form-item-has-warning .ant-picker-focused, .ant-form-item-has-warning .ant-input-number:focus, .ant-form-item-has-warning .ant-picker:focus {border-color: #ffc53d;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);} +.ant-form-item-has-warning .ant-input-number:not([disabled]):hover, .ant-form-item-has-warning .ant-picker:not([disabled]):hover {background-color: #fff;border-color: #faad14;} +.ant-form-item-has-warning .ant-cascader-picker:focus .ant-cascader-input {border-color: #ffc53d;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2);} +.ant-form-item-has-error .ant-form-item-split {color: #ff4d4f;} +.ant-form-item-has-error .ant-input:not(.ant-input-disabled), .ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled), .ant-form-item-has-error .ant-input:not(.ant-input-disabled):hover, .ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover {background-color: #fff;border-color: #ff4d4f;} +.ant-form-item-has-error .ant-input:not(.ant-input-disabled):focus, .ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus, .ant-form-item-has-error .ant-input:not(.ant-input-disabled)-focused, .ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused {border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-calendar-picker-open .ant-calendar-picker-input {border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-input-prefix {color: #ff4d4f;} +.ant-form-item-has-error .ant-input-group-addon {color: #ff4d4f;border-color: #ff4d4f;} +.ant-form-item-has-error .has-feedback {color: #ff4d4f;} +.ant-form-item-has-error.ant-form-item-has-feedback .ant-form-item-children-icon {color: #ff4d4f;} +.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector {background-color: #fff;border-color: #ff4d4f !important;} +.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector, .ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector {border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector {background-color: inherit;border: 0;box-shadow: none;} +.ant-form-item-has-error .ant-select.ant-select-auto-complete .ant-input:focus {border-color: #ff4d4f;} +.ant-form-item-has-error .ant-input-number, .ant-form-item-has-error .ant-picker {background-color: #fff;border-color: #ff4d4f;} +.ant-form-item-has-error .ant-input-number-focused, .ant-form-item-has-error .ant-picker-focused, .ant-form-item-has-error .ant-input-number:focus, .ant-form-item-has-error .ant-picker:focus {border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-input-number:not([disabled]):hover, .ant-form-item-has-error .ant-picker:not([disabled]):hover {background-color: #fff;border-color: #ff4d4f;} +.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor, .ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):hover {background-color: #fff;border-color: #ff4d4f;} +.ant-form-item-has-error .ant-mention-wrapper.ant-mention-active:not([disabled]) .ant-mention-editor, .ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):focus {border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-cascader-picker:hover .ant-cascader-picker-label:hover + .ant-cascader-input.ant-input {border-color: #ff4d4f;} +.ant-form-item-has-error .ant-cascader-picker:focus .ant-cascader-input {background-color: #fff;border-color: #ff7875;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.2);} +.ant-form-item-has-error .ant-transfer-list {border-color: #ff4d4f;} +.ant-form-item-has-error .ant-transfer-list-search:not([disabled]) {border-color: #d9d9d9;} +.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus {border-right-width: 0;border-left-width: 1px !important;} +.ant-form-item-has-error .ant-radio-button-wrapper {border-color: #ff4d4f !important;} +.ant-form-item-has-error .ant-radio-button-wrapper:not(:first-child)::before {background-color: #ff4d4f;} +.ant-form-item-is-validating.ant-form-item-has-feedback .ant-form-item-children-icon {color: #1890ff;} +.ant-form {color: rgba(0, 0, 0, 0.85);} +.ant-form legend {color: rgba(0, 0, 0, 0.45);border: 0;border-bottom: 1px solid #d9d9d9;} +.ant-form output {color: rgba(0, 0, 0, 0.85);} +.ant-form-item {color: rgba(0, 0, 0, 0.85);} +.ant-form-item-label > label {color: rgba(0, 0, 0, 0.85);} +.ant-form-item-label > label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before {color: #ff4d4f;} +.ant-form-item-label > label .ant-form-item-optional {color: rgba(0, 0, 0, 0.45);} +.ant-form-item-label > label .ant-form-item-tooltip {color: rgba(0, 0, 0, 0.45);} +.ant-form-item-explain, .ant-form-item-extra {color: rgba(0, 0, 0, 0.45);} +.ant-list {color: rgba(0, 0, 0, 0.85);} +.ant-list-empty-text {color: rgba(0, 0, 0, 0.25);} +.ant-list-item {color: rgba(0, 0, 0, 0.85);} +.ant-list-item-meta-content {color: rgba(0, 0, 0, 0.85);} +.ant-list-item-meta-title {color: rgba(0, 0, 0, 0.85);} +.ant-list-item-meta-title > a {color: rgba(0, 0, 0, 0.85);} +.ant-list-item-meta-title > a:hover {color: #1890ff;} +.ant-list-item-meta-description {color: rgba(0, 0, 0, 0.45);} +.ant-list-item-action > li {color: rgba(0, 0, 0, 0.45);} +.ant-list-item-action-split {background-color: #f0f0f0;} +.ant-list-header {background: transparent;} +.ant-list-footer {background: transparent;} +.ant-list-empty {color: rgba(0, 0, 0, 0.45);} +.ant-list-split .ant-list-item {border-bottom: 1px solid #f0f0f0;} +.ant-list-split .ant-list-item:last-child {border-bottom: none;} +.ant-list-split .ant-list-header {border-bottom: 1px solid #f0f0f0;} +.ant-list-split.ant-list-empty .ant-list-footer {border-top: 1px solid #f0f0f0;} +.ant-list-split.ant-list-something-after-last-item .ant-spin-container > .ant-list-items > .ant-list-item:last-child {border-bottom: 1px solid #f0f0f0;} +.ant-list-vertical .ant-list-item-meta-title {color: rgba(0, 0, 0, 0.85);} +.ant-list-grid .ant-col > .ant-list-item {border-bottom: none;} +.ant-list-bordered {border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-menu-item-danger.ant-menu-item {color: #ff4d4f;} +.ant-menu-item-danger.ant-menu-item:hover, .ant-menu-item-danger.ant-menu-item-active {color: #ff4d4f;} +.ant-menu-item-danger.ant-menu-item:active {background: #fff1f0;} +.ant-menu-item-danger.ant-menu-item-selected {color: #ff4d4f;} +.ant-menu-item-danger.ant-menu-item-selected > a, .ant-menu-item-danger.ant-menu-item-selected > a:hover {color: #ff4d4f;} +.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected {background-color: #fff1f0;} +.ant-menu-inline .ant-menu-item-danger.ant-menu-item::after {border-right-color: #ff4d4f;} +.ant-menu-dark .ant-menu-item-danger.ant-menu-item, .ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover, .ant-menu-dark .ant-menu-item-danger.ant-menu-item > a {color: #ff4d4f;} +.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected {color: #fff;background-color: #ff4d4f;} +.ant-menu {color: rgba(0, 0, 0, 0.85);background: #fff;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-menu.ant-menu-root:focus-visible {box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-menu-item-group-title {color: rgba(0, 0, 0, 0.45);} +.ant-menu-submenu-selected {color: #1890ff;} +.ant-menu-item:active, .ant-menu-submenu-title:active {background: #e6f7ff;} +.ant-menu-item a {color: rgba(0, 0, 0, 0.85);} +.ant-menu-item a:hover {color: #1890ff;} +.ant-menu-item a::before {background-color: transparent;} +.ant-menu-item > .ant-badge a {color: rgba(0, 0, 0, 0.85);} +.ant-menu-item > .ant-badge a:hover {color: #1890ff;} +.ant-menu-item-divider {background-color: #f0f0f0;} +.ant-menu-horizontal > .ant-menu-item:hover, .ant-menu-horizontal > .ant-menu-item-active, .ant-menu-horizontal > .ant-menu-submenu .ant-menu-submenu-title:hover {background-color: transparent;} +.ant-menu-item-selected {color: #1890ff;} +.ant-menu-item-selected a, .ant-menu-item-selected a:hover {color: #1890ff;} +.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected {background-color: #e6f7ff;} +.ant-menu-inline, .ant-menu-vertical, .ant-menu-vertical-left {border-right: 1px solid #f0f0f0;} +.ant-menu-vertical-right {border-left: 1px solid #f0f0f0;} +.ant-menu-vertical.ant-menu-sub, .ant-menu-vertical-left.ant-menu-sub, .ant-menu-vertical-right.ant-menu-sub {border-right: 0;} +.ant-menu-vertical.ant-menu-sub .ant-menu-item, .ant-menu-vertical-left.ant-menu-sub .ant-menu-item, .ant-menu-vertical-right.ant-menu-sub .ant-menu-item {border-right: 0;} +.ant-menu-vertical.ant-menu-sub .ant-menu-item::after, .ant-menu-vertical-left.ant-menu-sub .ant-menu-item::after, .ant-menu-vertical-right.ant-menu-sub .ant-menu-item::after {border-right: 0;} +.ant-menu-item:focus-visible, .ant-menu-submenu-title:focus-visible {box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-menu > .ant-menu-item-divider {background-color: #f0f0f0;} +.ant-menu-submenu-popup {background: transparent;border-radius: 2px;box-shadow: none;} +.ant-menu-submenu > .ant-menu {background-color: #fff;border-radius: 2px;} +.ant-menu-submenu-popup > .ant-menu {background-color: #fff;} +.ant-menu-submenu-expand-icon, .ant-menu-submenu-arrow {color: rgba(0, 0, 0, 0.85);} +.ant-menu-submenu-arrow::before, .ant-menu-submenu-arrow::after {background-color: currentColor;border-radius: 2px;} +.ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-expand-icon, .ant-menu-submenu:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow {color: #1890ff;} +.ant-menu-vertical .ant-menu-submenu-selected, .ant-menu-vertical-left .ant-menu-submenu-selected, .ant-menu-vertical-right .ant-menu-submenu-selected {color: #1890ff;} +.ant-menu-horizontal {border: 0;border-bottom: 1px solid #f0f0f0;box-shadow: none;} +.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected {color: #1890ff;} +.ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item:hover::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu:hover::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-active::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-active::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-open::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-open::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-item-selected::after, .ant-menu-horizontal:not(.ant-menu-dark) > .ant-menu-submenu-selected::after {border-bottom: 2px solid #1890ff;} +.ant-menu-horizontal > .ant-menu-item::after, .ant-menu-horizontal > .ant-menu-submenu::after {border-bottom: 2px solid transparent;} +.ant-menu-horizontal > .ant-menu-item a {color: rgba(0, 0, 0, 0.85);} +.ant-menu-horizontal > .ant-menu-item a:hover {color: #1890ff;} +.ant-menu-horizontal > .ant-menu-item-selected a {color: #1890ff;} +.ant-menu-vertical .ant-menu-item::after, .ant-menu-vertical-left .ant-menu-item::after, .ant-menu-vertical-right .ant-menu-item::after, .ant-menu-inline .ant-menu-item::after {border-right: 3px solid #1890ff;} +.ant-menu.ant-menu-inline-collapsed-tooltip a {color: rgba(255, 255, 255, 0.85);} +.ant-menu-root.ant-menu-vertical, .ant-menu-root.ant-menu-vertical-left, .ant-menu-root.ant-menu-vertical-right, .ant-menu-root.ant-menu-inline {box-shadow: none;} +.ant-menu-sub.ant-menu-inline {background: #fafafa;border: 0;border-radius: 0;box-shadow: none;} +.ant-menu-item-disabled, .ant-menu-submenu-disabled {color: rgba(0, 0, 0, 0.25) !important;background: none;} +.ant-menu-item-disabled::after, .ant-menu-submenu-disabled::after {border-color: transparent !important;} +.ant-menu-item-disabled a, .ant-menu-submenu-disabled a {color: rgba(0, 0, 0, 0.25) !important;} +.ant-menu-item-disabled > .ant-menu-submenu-title, .ant-menu-submenu-disabled > .ant-menu-submenu-title {color: rgba(0, 0, 0, 0.25) !important;} +.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after {background: rgba(0, 0, 0, 0.25) !important;} +.ant-menu-light .ant-menu-item:hover, .ant-menu-light .ant-menu-item-active, .ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, .ant-menu-light .ant-menu-submenu-active, .ant-menu-light .ant-menu-submenu-title:hover {color: #1890ff;} +.ant-menu.ant-menu-dark, .ant-menu-dark .ant-menu-sub, .ant-menu.ant-menu-dark .ant-menu-sub {color: rgba(255, 255, 255, 0.65);background: #001529;} +.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after, .ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after, .ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before, .ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before {background: #fff;} +.ant-menu-dark.ant-menu-submenu-popup {background: transparent;} +.ant-menu-dark .ant-menu-inline.ant-menu-sub {background: #000c17;} +.ant-menu-dark.ant-menu-horizontal {border-bottom: 0;} +.ant-menu-dark.ant-menu-horizontal > .ant-menu-item, .ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu {border-color: #001529;border-bottom: 0;} +.ant-menu-dark.ant-menu-horizontal > .ant-menu-item:hover {background-color: #1890ff;} +.ant-menu-dark .ant-menu-item, .ant-menu-dark .ant-menu-item-group-title, .ant-menu-dark .ant-menu-item > a, .ant-menu-dark .ant-menu-item > span > a {color: rgba(255, 255, 255, 0.65);} +.ant-menu-dark.ant-menu-inline, .ant-menu-dark.ant-menu-vertical, .ant-menu-dark.ant-menu-vertical-left, .ant-menu-dark.ant-menu-vertical-right {border-right: 0;} +.ant-menu-dark.ant-menu-inline .ant-menu-item, .ant-menu-dark.ant-menu-vertical .ant-menu-item, .ant-menu-dark.ant-menu-vertical-left .ant-menu-item, .ant-menu-dark.ant-menu-vertical-right .ant-menu-item {border-right: 0;} +.ant-menu-dark.ant-menu-inline .ant-menu-item::after, .ant-menu-dark.ant-menu-vertical .ant-menu-item::after, .ant-menu-dark.ant-menu-vertical-left .ant-menu-item::after, .ant-menu-dark.ant-menu-vertical-right .ant-menu-item::after {border-right: 0;} +.ant-menu-dark .ant-menu-item:hover, .ant-menu-dark .ant-menu-item-active, .ant-menu-dark .ant-menu-submenu-active, .ant-menu-dark .ant-menu-submenu-open, .ant-menu-dark .ant-menu-submenu-selected, .ant-menu-dark .ant-menu-submenu-title:hover {color: #fff;background-color: transparent;} +.ant-menu-dark .ant-menu-item:hover > a, .ant-menu-dark .ant-menu-item-active > a, .ant-menu-dark .ant-menu-submenu-active > a, .ant-menu-dark .ant-menu-submenu-open > a, .ant-menu-dark .ant-menu-submenu-selected > a, .ant-menu-dark .ant-menu-submenu-title:hover > a, .ant-menu-dark .ant-menu-item:hover > span > a, .ant-menu-dark .ant-menu-item-active > span > a, .ant-menu-dark .ant-menu-submenu-active > span > a, .ant-menu-dark .ant-menu-submenu-open > span > a, .ant-menu-dark .ant-menu-submenu-selected > span > a, .ant-menu-dark .ant-menu-submenu-title:hover > span > a {color: #fff;} +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before {background: #fff;} +.ant-menu-dark .ant-menu-item:hover {background-color: transparent;} +.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected {background-color: #1890ff;} +.ant-menu-dark .ant-menu-item-selected {color: #fff;border-right: 0;} +.ant-menu-dark .ant-menu-item-selected::after {border-right: 0;} +.ant-menu-dark .ant-menu-item-selected > a, .ant-menu-dark .ant-menu-item-selected > span > a, .ant-menu-dark .ant-menu-item-selected > a:hover, .ant-menu-dark .ant-menu-item-selected > span > a:hover {color: #fff;} +.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon, .ant-menu-dark .ant-menu-item-selected .anticon {color: #fff;} +.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon + span, .ant-menu-dark .ant-menu-item-selected .anticon + span {color: #fff;} +.ant-menu.ant-menu-dark .ant-menu-item-selected, .ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected {background-color: #1890ff;} +.ant-menu-dark .ant-menu-item-disabled, .ant-menu-dark .ant-menu-submenu-disabled, .ant-menu-dark .ant-menu-item-disabled > a, .ant-menu-dark .ant-menu-submenu-disabled > a, .ant-menu-dark .ant-menu-item-disabled > span > a, .ant-menu-dark .ant-menu-submenu-disabled > span > a {color: rgba(255, 255, 255, 0.35) !important;} +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title, .ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title {color: rgba(255, 255, 255, 0.35) !important;} +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::before, .ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after, .ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow::after {background: rgba(255, 255, 255, 0.35) !important;} +.ant-menu-rtl.ant-menu-inline, .ant-menu-rtl.ant-menu-vertical {border-right: none;border-left: 1px solid #f0f0f0;} +.ant-menu-rtl.ant-menu-dark.ant-menu-inline, .ant-menu-rtl.ant-menu-dark.ant-menu-vertical {border-left: none;} +.ant-menu-sub.ant-menu-inline {border: 0;} +.ant-mention-wrapper {color: rgba(0, 0, 0, 0.85);} +.ant-mention-wrapper .ant-mention-editor {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-mention-wrapper .ant-mention-editor::placeholder {color: #bfbfbf;} +.ant-mention-wrapper .ant-mention-editor::placeholder {color: #bfbfbf;} +.ant-mention-wrapper .ant-mention-editor:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-mention-wrapper .ant-mention-editor:focus, .ant-mention-wrapper .ant-mention-editor-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:focus, .ant-input-rtl .ant-mention-wrapper .ant-mention-editor-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-mention-wrapper .ant-mention-editor-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-mention-wrapper .ant-mention-editor-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-mention-wrapper .ant-mention-editor[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-mention-wrapper .ant-mention-editor[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-mention-wrapper .ant-mention-editor-borderless, .ant-mention-wrapper .ant-mention-editor-borderless:hover, .ant-mention-wrapper .ant-mention-editor-borderless:focus, .ant-mention-wrapper .ant-mention-editor-borderless-focused, .ant-mention-wrapper .ant-mention-editor-borderless-disabled, .ant-mention-wrapper .ant-mention-editor-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor {border-right-width: 0;border-left-width: 1px !important;} +.ant-mention-wrapper.disabled .ant-mention-editor {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-mention-wrapper.disabled .ant-mention-editor:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-mention-wrapper .public-DraftEditorPlaceholder-root .public-DraftEditorPlaceholder-inner {color: #bfbfbf;} +.ant-mention-dropdown {color: rgba(0, 0, 0, 0.85);background-color: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-mention-dropdown-notfound.ant-mention-dropdown-item {color: rgba(0, 0, 0, 0.25);} +.ant-mention-dropdown-notfound.ant-mention-dropdown-item .anticon-loading {color: #1890ff;} +.ant-mention-dropdown-item {color: rgba(0, 0, 0, 0.85);} +.ant-mention-dropdown-item:hover {background-color: #f5f5f5;} +.ant-mention-dropdown-item.focus, .ant-mention-dropdown-item-active {background-color: #e6f7ff;} +.ant-mention-dropdown-item-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-mention-dropdown-item-disabled:hover {color: rgba(0, 0, 0, 0.25);background-color: #fff;} +.ant-mention-dropdown-item-selected, .ant-mention-dropdown-item-selected:hover {color: rgba(0, 0, 0, 0.85);background-color: #f5f5f5;} +.ant-mention-dropdown-item-divider {background-color: #f0f0f0;} +.ant-message {color: rgba(0, 0, 0, 0.85);} +.ant-message-notice-content {background: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-message-success .anticon {color: #52c41a;} +.ant-message-error .anticon {color: #ff4d4f;} +.ant-message-warning .anticon {color: #faad14;} +.ant-message-info .anticon, .ant-message-loading .anticon {color: #1890ff;} +.ant-modal {color: rgba(0, 0, 0, 0.85);} +.ant-modal-mask {background-color: rgba(0, 0, 0, 0.45);} +.ant-modal-mask {background-color: rgba(0, 0, 0, 0.45);} +.ant-modal-title {color: rgba(0, 0, 0, 0.85);} +.ant-modal-content {background-color: #fff;background-clip: padding-box;border: 0;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-modal-close {color: rgba(0, 0, 0, 0.45);background: transparent;border: 0;} +.ant-modal-close:focus, .ant-modal-close:hover {color: rgba(0, 0, 0, 0.75);} +.ant-modal-header {color: rgba(0, 0, 0, 0.85);background: #fff;border-bottom: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.ant-modal-footer {background: transparent;border-top: 1px solid #f0f0f0;border-radius: 0 0 2px 2px;} +.ant-modal-confirm-body .ant-modal-confirm-title {color: rgba(0, 0, 0, 0.85);} +.ant-modal-confirm-body .ant-modal-confirm-content {color: rgba(0, 0, 0, 0.85);} +.ant-modal-confirm-error .ant-modal-confirm-body > .anticon {color: #ff4d4f;} +.ant-modal-confirm-warning .ant-modal-confirm-body > .anticon, .ant-modal-confirm-confirm .ant-modal-confirm-body > .anticon {color: #faad14;} +.ant-modal-confirm-info .ant-modal-confirm-body > .anticon {color: #1890ff;} +.ant-modal-confirm-success .ant-modal-confirm-body > .anticon {color: #52c41a;} +.ant-notification {color: rgba(0, 0, 0, 0.85);} +.ant-notification-notice {background: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-notification-notice-message {color: rgba(0, 0, 0, 0.85);} +.ant-notification-notice-message-single-line-auto-margin {background-color: transparent;} +.anticon.ant-notification-notice-icon-success {color: #52c41a;} +.anticon.ant-notification-notice-icon-info {color: #1890ff;} +.anticon.ant-notification-notice-icon-warning {color: #faad14;} +.anticon.ant-notification-notice-icon-error {color: #ff4d4f;} +.ant-notification-notice-close {color: rgba(0, 0, 0, 0.45);} +.ant-notification-notice-close:hover {color: rgba(0, 0, 0, 0.67);} +.ant-page-header {color: rgba(0, 0, 0, 0.85);background-color: #fff;} +.ant-page-header-ghost {background-color: inherit;} +.ant-page-header-back-button {color: #1890ff;color: #000;} +.ant-page-header-back-button:focus, .ant-page-header-back-button:hover {color: #40a9ff;} +.ant-page-header-back-button:active {color: #096dd9;} +.ant-page-header-back-button:focus, .ant-page-header-back-button:hover {color: #40a9ff;} +.ant-page-header-back-button:active {color: #096dd9;} +.ant-page-header-heading-title {color: rgba(0, 0, 0, 0.85);} +.ant-page-header-heading-sub-title {color: rgba(0, 0, 0, 0.45);} +.ant-page-header-footer .ant-tabs > .ant-tabs-nav::before {border: none;} +.ant-page-header-back-button {border: 0;background: transparent;} +.ant-pagination {color: rgba(0, 0, 0, 0.85);} +.ant-pagination-item {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-pagination-item a {color: rgba(0, 0, 0, 0.85);} +.ant-pagination-item:focus-visible, .ant-pagination-item:hover {border-color: #1890ff;} +.ant-pagination-item:focus-visible a, .ant-pagination-item:hover a {color: #1890ff;} +.ant-pagination-item-active {background: #fff;border-color: #1890ff;} +.ant-pagination-item-active a {color: #1890ff;} +.ant-pagination-item-active:focus-visible, .ant-pagination-item-active:hover {border-color: #40a9ff;} +.ant-pagination-item-active:focus-visible a, .ant-pagination-item-active:hover a {color: #40a9ff;} +.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon, .ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon {color: #1890ff;} +.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis, .ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis {color: rgba(0, 0, 0, 0.25);} +.ant-pagination-prev, .ant-pagination-next, .ant-pagination-jump-prev, .ant-pagination-jump-next {color: rgba(0, 0, 0, 0.85);border-radius: 2px;} +.ant-pagination-prev button, .ant-pagination-next button {color: rgba(0, 0, 0, 0.85);} +.ant-pagination-prev:hover button, .ant-pagination-next:hover button {border-color: #40a9ff;} +.ant-pagination-prev .ant-pagination-item-link, .ant-pagination-next .ant-pagination-item-link {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-pagination-prev:focus-visible .ant-pagination-item-link, .ant-pagination-next:focus-visible .ant-pagination-item-link, .ant-pagination-prev:hover .ant-pagination-item-link, .ant-pagination-next:hover .ant-pagination-item-link {color: #1890ff;border-color: #1890ff;} +.ant-pagination-disabled .ant-pagination-item-link, .ant-pagination-disabled:hover .ant-pagination-item-link, .ant-pagination-disabled:focus-visible .ant-pagination-item-link {color: rgba(0, 0, 0, 0.25);border-color: #d9d9d9;} +.ant-pagination-options-quick-jumper input {color: rgba(0, 0, 0, 0.85);background-color: #fff;background-image: none;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-pagination-options-quick-jumper input::placeholder {color: #bfbfbf;} +.ant-pagination-options-quick-jumper input::placeholder {color: #bfbfbf;} +.ant-pagination-options-quick-jumper input:hover {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-pagination-options-quick-jumper input:hover {border-right-width: 0;border-left-width: 1px !important;} +.ant-pagination-options-quick-jumper input:focus, .ant-pagination-options-quick-jumper input-focused {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-pagination-options-quick-jumper input:focus, .ant-input-rtl .ant-pagination-options-quick-jumper input-focused {border-right-width: 0;border-left-width: 1px !important;} +.ant-pagination-options-quick-jumper input-disabled {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-pagination-options-quick-jumper input-disabled:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-pagination-options-quick-jumper input[disabled] {background-color: #f5f5f5;color: rgba(0, 0, 0, 0.25);} +.ant-pagination-options-quick-jumper input[disabled]:hover {border-color: #d9d9d9;border-right-width: 1px !important;} +.ant-pagination-options-quick-jumper input-borderless, .ant-pagination-options-quick-jumper input-borderless:hover, .ant-pagination-options-quick-jumper input-borderless:focus, .ant-pagination-options-quick-jumper input-borderless-focused, .ant-pagination-options-quick-jumper input-borderless-disabled, .ant-pagination-options-quick-jumper input-borderless[disabled] {background-color: transparent;border: none;box-shadow: none;} +.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link, .ant-pagination-simple .ant-pagination-next .ant-pagination-item-link {background-color: transparent;border: 0;} +.ant-pagination-simple .ant-pagination-simple-pager input {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-pagination-simple .ant-pagination-simple-pager input:hover {border-color: #1890ff;} +.ant-pagination-simple .ant-pagination-simple-pager input[disabled] {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;} +.ant-pagination.mini .ant-pagination-item:not(.ant-pagination-item-active) {background: transparent;border-color: transparent;} +.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link, .ant-pagination.mini .ant-pagination-next .ant-pagination-item-link {background: transparent;border-color: transparent;} +.ant-pagination.ant-pagination-disabled .ant-pagination-item {background: #f5f5f5;border-color: #d9d9d9;} +.ant-pagination.ant-pagination-disabled .ant-pagination-item a {color: rgba(0, 0, 0, 0.25);background: transparent;border: none;} +.ant-pagination.ant-pagination-disabled .ant-pagination-item-active {background: #dbdbdb;border-color: transparent;} +.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a {color: #fff;} +.ant-pagination.ant-pagination-disabled .ant-pagination-item-link {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;border-color: #d9d9d9;} +.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link {background: transparent;} +.ant-pagination.ant-pagination-disabled .ant-pagination-simple-pager {color: rgba(0, 0, 0, 0.25);} +.ant-popover {color: rgba(0, 0, 0, 0.85);} +.ant-popover::after {background: rgba(255, 255, 255, 0.01);} +.ant-popover-inner {background-color: #fff;background-clip: padding-box;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);box-shadow: 0 0 8px rgba(0, 0, 0, 0.15) ;} +.ant-popover-title {color: rgba(0, 0, 0, 0.85);border-bottom: 1px solid #f0f0f0;} +.ant-popover-inner-content {color: rgba(0, 0, 0, 0.85);} +.ant-popover-message {color: rgba(0, 0, 0, 0.85);} +.ant-popover-message > .anticon {color: #faad14;} +.ant-popover-arrow {background: transparent;} +.ant-popover-arrow-content {background-color: #fff;} +.ant-popover-placement-top .ant-popover-arrow-content, .ant-popover-placement-topLeft .ant-popover-arrow-content, .ant-popover-placement-topRight .ant-popover-arrow-content {box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);} +.ant-popover-placement-right .ant-popover-arrow-content, .ant-popover-placement-rightTop .ant-popover-arrow-content, .ant-popover-placement-rightBottom .ant-popover-arrow-content {box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07);} +.ant-popover-placement-bottom .ant-popover-arrow-content, .ant-popover-placement-bottomLeft .ant-popover-arrow-content, .ant-popover-placement-bottomRight .ant-popover-arrow-content {box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.06);} +.ant-popover-placement-left .ant-popover-arrow-content, .ant-popover-placement-leftTop .ant-popover-arrow-content, .ant-popover-placement-leftBottom .ant-popover-arrow-content {box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07);} +.ant-popover-pink .ant-popover-inner {background-color: #eb2f96;} +.ant-popover-pink .ant-popover-arrow-content {background-color: #eb2f96;} +.ant-popover-magenta .ant-popover-inner {background-color: #eb2f96;} +.ant-popover-magenta .ant-popover-arrow-content {background-color: #eb2f96;} +.ant-popover-red .ant-popover-inner {background-color: #f5222d;} +.ant-popover-red .ant-popover-arrow-content {background-color: #f5222d;} +.ant-popover-volcano .ant-popover-inner {background-color: #fa541c;} +.ant-popover-volcano .ant-popover-arrow-content {background-color: #fa541c;} +.ant-popover-orange .ant-popover-inner {background-color: #fa8c16;} +.ant-popover-orange .ant-popover-arrow-content {background-color: #fa8c16;} +.ant-popover-yellow .ant-popover-inner {background-color: #fadb14;} +.ant-popover-yellow .ant-popover-arrow-content {background-color: #fadb14;} +.ant-popover-gold .ant-popover-inner {background-color: #faad14;} +.ant-popover-gold .ant-popover-arrow-content {background-color: #faad14;} +.ant-popover-cyan .ant-popover-inner {background-color: #13c2c2;} +.ant-popover-cyan .ant-popover-arrow-content {background-color: #13c2c2;} +.ant-popover-lime .ant-popover-inner {background-color: #a0d911;} +.ant-popover-lime .ant-popover-arrow-content {background-color: #a0d911;} +.ant-popover-green .ant-popover-inner {background-color: #52c41a;} +.ant-popover-green .ant-popover-arrow-content {background-color: #52c41a;} +.ant-popover-blue .ant-popover-inner {background-color: #1890ff;} +.ant-popover-blue .ant-popover-arrow-content {background-color: #1890ff;} +.ant-popover-geekblue .ant-popover-inner {background-color: #2f54eb;} +.ant-popover-geekblue .ant-popover-arrow-content {background-color: #2f54eb;} +.ant-popover-purple .ant-popover-inner {background-color: #722ed1;} +.ant-popover-purple .ant-popover-arrow-content {background-color: #722ed1;} +.ant-progress {color: rgba(0, 0, 0, 0.85);} +.ant-progress-steps-item {background: #f3f3f3;} +.ant-progress-steps-item-active {background: #1890ff;} +.ant-progress-inner {background-color: #f5f5f5;border-radius: 100px;} +.ant-progress-success-bg, .ant-progress-bg {background-color: #1890ff;border-radius: 100px;} +.ant-progress-success-bg {background-color: #52c41a;} +.ant-progress-text {color: rgba(0, 0, 0, 0.85);} +.ant-progress-status-active .ant-progress-bg::before {background: #fff;border-radius: 10px;} +.ant-progress-status-exception .ant-progress-bg {background-color: #ff4d4f;} +.ant-progress-status-exception .ant-progress-text {color: #ff4d4f;} +.ant-progress-status-success .ant-progress-bg {background-color: #52c41a;} +.ant-progress-status-success .ant-progress-text {color: #52c41a;} +.ant-progress-circle .ant-progress-inner {background-color: transparent;} +.ant-progress-circle .ant-progress-text {color: rgba(0, 0, 0, 0.85);} +.ant-progress-circle.ant-progress-status-exception .ant-progress-text {color: #ff4d4f;} +.ant-progress-circle.ant-progress-status-success .ant-progress-text {color: #52c41a;} +.ant-radio-group {color: rgba(0, 0, 0, 0.85);} +.ant-radio-group > .ant-badge:not(:first-child) > .ant-radio-button-wrapper {border-left: none;} +.ant-radio-wrapper {color: rgba(0, 0, 0, 0.85);} +.ant-radio {color: rgba(0, 0, 0, 0.85);} +.ant-radio-wrapper:hover .ant-radio, .ant-radio:hover .ant-radio-inner, .ant-radio-input:focus + .ant-radio-inner {border-color: #1890ff;} +.ant-radio-input:focus + .ant-radio-inner {box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08);} +.ant-radio-checked::after {border: 1px solid #1890ff;border-radius: 50%;} +.ant-radio-inner {background-color: #fff;border-color: #d9d9d9;border-style: solid;border-width: 1px;border-radius: 50%;} +.ant-radio-inner::after {background-color: #1890ff;border-top: 0;border-left: 0;border-radius: 8px;} +.ant-radio-checked .ant-radio-inner {border-color: #1890ff;} +.ant-radio-disabled .ant-radio-inner {background-color: #f5f5f5;border-color: #d9d9d9 !important;} +.ant-radio-disabled .ant-radio-inner::after {background-color: rgba(0, 0, 0, 0.2);} +.ant-radio-disabled + span {color: rgba(0, 0, 0, 0.25);} +.ant-radio-button-wrapper {color: rgba(0, 0, 0, 0.85);background: #fff;border: 1px solid #d9d9d9;border-top-width: 1.02px;border-left-width: 0;} +.ant-radio-button-wrapper a {color: rgba(0, 0, 0, 0.85);} +.ant-radio-button-wrapper:not(:first-child)::before {background-color: #d9d9d9;} +.ant-radio-button-wrapper:first-child {border-left: 1px solid #d9d9d9;border-radius: 2px 0 0 2px;} +.ant-radio-button-wrapper:last-child {border-radius: 0 2px 2px 0;} +.ant-radio-button-wrapper:first-child:last-child {border-radius: 2px;} +.ant-radio-button-wrapper:hover {color: #1890ff;} +.ant-radio-button-wrapper:focus-within {box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08);} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {color: #1890ff;background: #fff;border-color: #1890ff;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before {background-color: #1890ff;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child {border-color: #1890ff;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover {color: #40a9ff;border-color: #40a9ff;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before {background-color: #40a9ff;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active {color: #096dd9;border-color: #096dd9;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before {background-color: #096dd9;} +.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08);} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {color: #fff;background: #1890ff;border-color: #1890ff;} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover {color: #fff;background: #40a9ff;border-color: #40a9ff;} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active {color: #fff;background: #096dd9;border-color: #096dd9;} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {box-shadow: 0 0 0 3px rgba(24, 144, 255, 0.08);} +.ant-radio-button-wrapper-disabled {color: rgba(0, 0, 0, 0.25);background-color: #f5f5f5;border-color: #d9d9d9;} +.ant-radio-button-wrapper-disabled:first-child, .ant-radio-button-wrapper-disabled:hover {color: rgba(0, 0, 0, 0.25);background-color: #f5f5f5;border-color: #d9d9d9;} +.ant-radio-button-wrapper-disabled:first-child {border-left-color: #d9d9d9;} +.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked {color: rgba(0, 0, 0, 0.25);background-color: #e6e6e6;border-color: #d9d9d9;box-shadow: none;} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl {border-right-width: 0;border-left-width: 1px;} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:first-child {border-right: 1px solid #d9d9d9;border-radius: 0 2px 2px 0;} +.ant-radio-button-wrapper-checked:not([class*=' ant-radio-button-wrapper-disabled']).ant-radio-button-wrapper:first-child {border-right-color: #40a9ff;} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:last-child {border-radius: 2px 0 0 2px;} +.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper-disabled:first-child {border-right-color: #d9d9d9;} +.ant-rate {color: rgba(0, 0, 0, 0.85);color: #fadb14;} +.ant-rate-star {color: inherit;} +.ant-rate-star-first, .ant-rate-star-second {color: #f0f0f0;} +.ant-rate-star-half .ant-rate-star-first, .ant-rate-star-full .ant-rate-star-second {color: inherit;} +.ant-select-single.ant-select-open .ant-select-selection-item {color: #bfbfbf;} +.ant-select-disabled.ant-select-multiple .ant-select-selector {background: #f5f5f5;} +.ant-select-multiple .ant-select-selection-item {background: #f5f5f5;border: 1px solid #f0f0f0;border-radius: 2px;} +.ant-select-disabled.ant-select-multiple .ant-select-selection-item {color: #bfbfbf;border-color: #d9d9d9;} +.ant-select-multiple .ant-select-selection-item-remove {color: inherit;color: rgba(0, 0, 0, 0.45);} +.ant-select-multiple .ant-select-selection-item-remove:hover {color: rgba(0, 0, 0, 0.75);} +.ant-select {color: rgba(0, 0, 0, 0.85);} +.ant-select:not(.ant-select-customize-input) .ant-select-selector {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {border-right-width: 0;border-left-width: 1px !important;} +.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;} +.ant-select-multiple.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector {background: #f5f5f5;} +.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input {background: transparent;border: none;} +.ant-select:not(.ant-select-disabled):hover .ant-select-selector {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector {border-right-width: 0;border-left-width: 1px !important;} +.ant-select-selection-placeholder {color: #bfbfbf;} +.ant-select-arrow {color: inherit;color: rgba(0, 0, 0, 0.25);} +.ant-select-clear {color: rgba(0, 0, 0, 0.25);background: #fff;} +.ant-select-clear:hover {color: rgba(0, 0, 0, 0.45);} +.ant-select-dropdown {color: rgba(0, 0, 0, 0.85);background-color: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-select-dropdown-empty {color: rgba(0, 0, 0, 0.25);} +.ant-select-item-empty {color: rgba(0, 0, 0, 0.85);color: rgba(0, 0, 0, 0.25);} +.ant-select-item {color: rgba(0, 0, 0, 0.85);} +.ant-select-item-group {color: rgba(0, 0, 0, 0.45);} +.ant-select-item-option-active:not(.ant-select-item-option-disabled) {background-color: #f5f5f5;} +.ant-select-item-option-selected:not(.ant-select-item-option-disabled) {color: rgba(0, 0, 0, 0.85);background-color: #e6f7ff;} +.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state {color: #1890ff;} +.ant-select-item-option-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-select-borderless .ant-select-selector {background-color: transparent !important;border-color: transparent !important;box-shadow: none !important;} +.ant-skeleton-header .ant-skeleton-avatar {background: rgba(190, 190, 190, 0.2);} +.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-content .ant-skeleton-title {background: rgba(190, 190, 190, 0.2);border-radius: 4px;} +.ant-skeleton-content .ant-skeleton-paragraph > li {background: rgba(190, 190, 190, 0.2);border-radius: 4px;} +.ant-skeleton-round .ant-skeleton-content .ant-skeleton-title, .ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph > li {border-radius: 100px;} +.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title, .ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li {background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);background-size: 400% 100%;} +.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar {background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);background-size: 400% 100%;} +.ant-skeleton.ant-skeleton-active .ant-skeleton-button {background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);background-size: 400% 100%;} +.ant-skeleton.ant-skeleton-active .ant-skeleton-input {background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);background-size: 400% 100%;} +.ant-skeleton.ant-skeleton-active .ant-skeleton-image {background: linear-gradient(90deg, rgba(190, 190, 190, 0.2) 25%, rgba(129, 129, 129, 0.24) 37%, rgba(190, 190, 190, 0.2) 63%);background-size: 400% 100%;} +.ant-skeleton-element .ant-skeleton-button {background: rgba(190, 190, 190, 0.2);border-radius: 2px;} +.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round {border-radius: 32px;} +.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round {border-radius: 40px;} +.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round {border-radius: 24px;} +.ant-skeleton-element .ant-skeleton-avatar {background: rgba(190, 190, 190, 0.2);} +.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-input {background: rgba(190, 190, 190, 0.2);} +.ant-skeleton-element .ant-skeleton-image {background: rgba(190, 190, 190, 0.2);} +.ant-skeleton-element .ant-skeleton-image.ant-skeleton-image-circle {border-radius: 50%;} +.ant-skeleton-element .ant-skeleton-image-svg.ant-skeleton-image-circle {border-radius: 50%;} +.ant-slider {color: rgba(0, 0, 0, 0.85);} +.ant-slider-rail {background-color: #f5f5f5;border-radius: 2px;} +.ant-slider-track {background-color: #91d5ff;border-radius: 2px;} +.ant-slider-handle {background-color: #fff;border: solid 2px #91d5ff;border-radius: 50%;box-shadow: 0;} +.ant-slider-handle-dragging.ant-slider-handle-dragging.ant-slider-handle-dragging {border-color: #46a6ff;box-shadow: 0 0 0 5px rgba(24, 144, 255, 0.12);} +.ant-slider-handle:focus {border-color: #46a6ff;box-shadow: 0 0 0 5px rgba(24, 144, 255, 0.12);} +.ant-slider-handle.ant-tooltip-open {border-color: #1890ff;} +.ant-slider:hover .ant-slider-rail {background-color: #e1e1e1;} +.ant-slider:hover .ant-slider-track {background-color: #69c0ff;} +.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) {border-color: #69c0ff;} +.ant-slider-mark-text {color: rgba(0, 0, 0, 0.45);} +.ant-slider-mark-text-active {color: rgba(0, 0, 0, 0.85);} +.ant-slider-step {background: transparent;} +.ant-slider-dot {background-color: #fff;border: 2px solid #f0f0f0;border-radius: 50%;} +.ant-slider-dot-active {border-color: #8cc8ff;} +.ant-slider-disabled .ant-slider-track {background-color: rgba(0, 0, 0, 0.25) !important;} +.ant-slider-disabled .ant-slider-handle, .ant-slider-disabled .ant-slider-dot {background-color: #fff;border-color: rgba(0, 0, 0, 0.25) !important;box-shadow: none;} +.ant-spin {color: rgba(0, 0, 0, 0.85);color: #1890ff;} +.ant-spin-container::after {background: #fff;} +.ant-spin-tip {color: rgba(0, 0, 0, 0.45);} +.ant-spin-dot-item {background-color: #1890ff;border-radius: 100%;} +.ant-statistic {color: rgba(0, 0, 0, 0.85);} +.ant-statistic-title {color: rgba(0, 0, 0, 0.45);} +.ant-statistic-content {color: rgba(0, 0, 0, 0.85);} +.ant-steps {color: rgba(0, 0, 0, 0.85);} +.ant-steps-item-icon {border: 1px solid rgba(0, 0, 0, 0.25);border-radius: 32px;} +.ant-steps-item-icon .ant-steps-icon {color: #1890ff;} +.ant-steps-item-tail::after {background: #f0f0f0;border-radius: 1px;} +.ant-steps-item-title {color: rgba(0, 0, 0, 0.85);} +.ant-steps-item-title::after {background: #f0f0f0;} +.ant-steps-item-subtitle {color: rgba(0, 0, 0, 0.45);} +.ant-steps-item-description {color: rgba(0, 0, 0, 0.45);} +.ant-steps-item-wait .ant-steps-item-icon {background-color: #fff;border-color: rgba(0, 0, 0, 0.25);} +.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon {color: rgba(0, 0, 0, 0.25);} +.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {background: rgba(0, 0, 0, 0.25);} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {color: rgba(0, 0, 0, 0.45);} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {background-color: #f0f0f0;} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {color: rgba(0, 0, 0, 0.45);} +.ant-steps-item-wait > .ant-steps-item-container > .ant-steps-item-tail::after {background-color: #f0f0f0;} +.ant-steps-item-process .ant-steps-item-icon {background-color: #fff;border-color: #1890ff;} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon {color: #1890ff;} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {background: #1890ff;} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {color: rgba(0, 0, 0, 0.85);} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {background-color: #f0f0f0;} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {color: rgba(0, 0, 0, 0.85);} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-tail::after {background-color: #f0f0f0;} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-icon {background: #1890ff;} +.ant-steps-item-process > .ant-steps-item-container > .ant-steps-item-icon .ant-steps-icon {color: #fff;} +.ant-steps-item-finish .ant-steps-item-icon {background-color: #fff;border-color: #1890ff;} +.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon {color: #1890ff;} +.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {background: #1890ff;} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {color: rgba(0, 0, 0, 0.85);} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {background-color: #1890ff;} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {color: rgba(0, 0, 0, 0.45);} +.ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-tail::after {background-color: #1890ff;} +.ant-steps-item-error .ant-steps-item-icon {background-color: #fff;border-color: #ff4d4f;} +.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon {color: #ff4d4f;} +.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot {background: #ff4d4f;} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title {color: #ff4d4f;} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-title::after {background-color: #f0f0f0;} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-content > .ant-steps-item-description {color: #ff4d4f;} +.ant-steps-item-error > .ant-steps-item-container > .ant-steps-item-tail::after {background-color: #f0f0f0;} +.ant-steps-item.ant-steps-next-error .ant-steps-item-title::after {background: #ff4d4f;} +.ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-title, .ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-subtitle, .ant-steps .ant-steps-item:not(.ant-steps-item-active) > .ant-steps-item-container[role='button']:hover .ant-steps-item-description {color: #1890ff;} +.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon {border-color: #1890ff;} +.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process) > .ant-steps-item-container[role='button']:hover .ant-steps-item-icon .ant-steps-icon {color: #1890ff;} +.ant-steps-item-custom > .ant-steps-item-container > .ant-steps-item-icon {background: none;border: 0;} +.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon {color: #1890ff;} +.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon {background: none;} +.ant-steps-small .ant-steps-item-icon {border-radius: 24px;} +.ant-steps-small .ant-steps-item-description {color: rgba(0, 0, 0, 0.45);} +.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon {background: none;border: 0;border-radius: 0;} +.ant-steps-dot .ant-steps-item-icon, .ant-steps-dot.ant-steps-small .ant-steps-item-icon {background: transparent;border: 0;} +.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot, .ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot {border-radius: 100px;} +.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after, .ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after {background: rgba(0, 0, 0, 0.001);} +.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon, .ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon {background: none;} +.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon {background: none;} +.ant-steps-navigation .ant-steps-item::after {border: 1px solid rgba(0, 0, 0, 0.25);border-bottom: none;border-left: none;} +.ant-steps-navigation .ant-steps-item::before {background-color: #1890ff;} +.ant-switch {color: rgba(0, 0, 0, 0.85);background-color: rgba(0, 0, 0, 0.25);border: 0;border-radius: 100px;} +.ant-switch:focus {box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);} +.ant-switch-checked:focus {box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-switch:focus:hover {box-shadow: none;} +.ant-switch-checked {background-color: #1890ff;} +.ant-switch-loading *, .ant-switch-disabled * {box-shadow: none;} +.ant-switch-inner {color: #fff;} +.ant-switch-handle::before {background-color: #fff;border-radius: 9px;box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2);} +.ant-switch-loading-icon {color: rgba(0, 0, 0, 0.65);} +.ant-switch-checked .ant-switch-loading-icon {color: #1890ff;} +.ant-table-small .ant-table-thead > tr > th {background-color: #fafafa;} +.ant-table.ant-table-bordered > .ant-table-title {border: 1px solid #f0f0f0;border-bottom: 0;} +.ant-table.ant-table-bordered > .ant-table-container {border: 1px solid #f0f0f0;border-right: 0;border-bottom: 0;} +.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > td {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr:not(:last-child) > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr:not(:last-child) > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr:not(:last-child) > th, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr:not(:last-child) > th {border-bottom: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > th::before, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > th::before, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > th::before, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > th::before {background-color: transparent !important;} +.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > thead > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > thead > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > thead > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > thead > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tfoot > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tfoot > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tfoot > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tfoot > tr > .ant-table-cell-fix-right-first::after {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-header > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-body > table > tbody > tr > td > .ant-table-expanded-row-fixed::after, .ant-table.ant-table-bordered > .ant-table-container > .ant-table-summary > table > tbody > tr > td > .ant-table-expanded-row-fixed::after {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-expanded-row > td, .ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .ant-table-body > table > tbody > tr.ant-table-placeholder > td {border-right: 0;} +.ant-table.ant-table-bordered > .ant-table-footer {border: 1px solid #f0f0f0;border-top: 0;} +.ant-table-cell .ant-table-container:first-child {border-top: 0;} +.ant-table-cell-scrollbar {box-shadow: 0 1px 0 1px #fafafa;} +.ant-table {color: rgba(0, 0, 0, 0.85);background: #fff;border-radius: 2px;} +.ant-table table {border-radius: 2px 2px 0 0;border-collapse: separate;border-spacing: 0;} +.ant-table-footer {color: rgba(0, 0, 0, 0.85);background: #fafafa;} +.ant-table-thead > tr > th {color: rgba(0, 0, 0, 0.85);background: #fafafa;border-bottom: 1px solid #f0f0f0;} +.ant-table-thead > tr > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before {background-color: rgba(0, 0, 0, 0.06);} +.ant-table-thead > tr:not(:last-child) > th[colspan] {border-bottom: 0;} +.ant-table-tbody > tr > td {border-bottom: 1px solid #f0f0f0;} +.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td, .ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td {border-bottom: 0;} +.ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child, .ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:first-child, .ant-table-tbody > tr > td > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child, .ant-table-tbody > tr > td > .ant-table-expanded-row-fixed > .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td:last-child {border-radius: 0;} +.ant-table-tbody > tr.ant-table-row:hover > td {background: #fafafa;} +.ant-table-tbody > tr.ant-table-row-selected > td {background: #e6f7ff;border-color: rgba(0, 0, 0, 0.03);} +.ant-table-tbody > tr.ant-table-row-selected:hover > td {background: #dcf4ff;} +.ant-table-summary {background: #fff;} +div.ant-table-summary {box-shadow: 0 -1px 0 #f0f0f0;} +.ant-table-summary > tr > th, .ant-table-summary > tr > td {border-bottom: 1px solid #f0f0f0;} +.ant-table-thead th.ant-table-column-has-sorters:hover {background: rgba(0, 0, 0, 0.04);} +.ant-table-thead th.ant-table-column-has-sorters:hover::before {background-color: transparent !important;} +.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover, .ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover {background: #f5f5f5;} +.ant-table-thead th.ant-table-column-sort {background: #f5f5f5;} +.ant-table-thead th.ant-table-column-sort::before {background-color: transparent !important;} +td.ant-table-column-sort {background: #fafafa;} +.ant-table-column-sorter {color: #bfbfbf;} +.ant-table-column-sorter-up.active, .ant-table-column-sorter-down.active {color: #1890ff;} +.ant-table-column-sorters:hover .ant-table-column-sorter {color: #a6a6a6;} +.ant-table-filter-trigger {color: #bfbfbf;border-radius: 2px;} +.ant-table-filter-trigger:hover {color: rgba(0, 0, 0, 0.45);background: rgba(0, 0, 0, 0.04);} +.ant-table-filter-trigger.active {color: #1890ff;} +.ant-table-filter-dropdown {color: rgba(0, 0, 0, 0.85);background-color: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-table-filter-dropdown .ant-dropdown-menu {border: 0;box-shadow: none;} +.ant-table-filter-dropdown-btns {background-color: inherit;border-top: 1px solid #f0f0f0;} +table tr th.ant-table-selection-column::after {background-color: transparent !important;} +.ant-table-selection-extra .anticon {color: #bfbfbf;} +.ant-table-selection-extra .anticon:hover {color: #a6a6a6;} +.ant-table-row-expand-icon {color: #1890ff;color: inherit;background: #fff;border: 1px solid #f0f0f0;border-radius: 2px;} +.ant-table-row-expand-icon:focus, .ant-table-row-expand-icon:hover {color: #40a9ff;} +.ant-table-row-expand-icon:active {color: #096dd9;} +.ant-table-row-expand-icon:focus, .ant-table-row-expand-icon:hover {color: #40a9ff;} +.ant-table-row-expand-icon:active {color: #096dd9;} +.ant-table-row-expand-icon:focus, .ant-table-row-expand-icon:hover, .ant-table-row-expand-icon:active {border-color: currentColor;} +.ant-table-row-expand-icon::before, .ant-table-row-expand-icon::after {background: currentColor;} +.ant-table-row-expand-icon-spaced {background: transparent;border: 0;} +tr.ant-table-expanded-row > td, +tr.ant-table-expanded-row:hover > td {background: #fbfbfb;} +.ant-table-empty .ant-table-tbody > tr.ant-table-placeholder {color: rgba(0, 0, 0, 0.25);} +.ant-table-tbody > tr.ant-table-placeholder:hover > td {background: #fff;} +.ant-table-cell-fix-left, .ant-table-cell-fix-right {background: #fff;} +.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container::before {box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15);} +.ant-table-ping-left .ant-table-cell-fix-left-first::after, .ant-table-ping-left .ant-table-cell-fix-left-last::after {box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.15);} +.ant-table-ping-left .ant-table-cell-fix-left-last::before {background-color: transparent !important;} +.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container::after {box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15);} +.ant-table-ping-right .ant-table-cell-fix-right-first::after, .ant-table-ping-right .ant-table-cell-fix-right-last::after {box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.15);} +.ant-table-sticky-scroll {background: #ffffff;border-top: 1px solid #f0f0f0;} +.ant-table-sticky-scroll-bar {background-color: rgba(0, 0, 0, 0.35);border-radius: 4px;} +.ant-table-sticky-scroll-bar:hover {background-color: rgba(0, 0, 0, 0.8);} +.ant-table-sticky-scroll-bar-active {background-color: rgba(0, 0, 0, 0.8);} +.ant-table-title {border-radius: 2px 2px 0 0;} +.ant-table-title + .ant-table-container {border-top-left-radius: 0;border-top-right-radius: 0;} +.ant-table-title + .ant-table-container table > thead > tr:first-child th:first-child {border-radius: 0;} +.ant-table-title + .ant-table-container table > thead > tr:first-child th:last-child {border-radius: 0;} +.ant-table-container {border-top-left-radius: 2px;border-top-right-radius: 2px;} +.ant-table-container table > thead > tr:first-child th:first-child {border-top-left-radius: 2px;} +.ant-table-container table > thead > tr:first-child th:last-child {border-top-right-radius: 2px;} +.ant-table-footer {border-radius: 0 0 2px 2px;} +.nz-table-out-bordered > .ant-table-title {border: 1px solid #f0f0f0;border-bottom: 0;} +.nz-table-out-bordered > .ant-table-container {border: 1px solid #f0f0f0;border-bottom: 0;} +.nz-table-out-bordered > .ant-table-footer {border: 1px solid #f0f0f0;border-top: 0;} +.nz-table-hide-scrollbar {scrollbar-color: #fafafa #fafafa;} +.nz-table-hide-scrollbar::-webkit-scrollbar {background-color: #fafafa;} +.ant-table.ant-table-small .nz-table-hide-scrollbar {scrollbar-color: #fafafa #fafafa;} +.ant-table.ant-table-small .nz-table-hide-scrollbar::-webkit-scrollbar {background-color: transparent;} +.ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > thead > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tbody > tr > td, .ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tfoot > tr > th, .ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tfoot > tr > td {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > thead > tr:not(:last-child) > th {border-bottom: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > thead > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tbody > tr > .ant-table-cell-fix-right-first::after, .ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tfoot > tr > .ant-table-cell-fix-right-first::after {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tbody > tr > td > .ant-table-expanded-row-fixed::after {border-right: 1px solid #f0f0f0;} +.ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tbody > tr.ant-table-expanded-row > td, .ant-table.ant-table-bordered.ant-table-scroll-horizontal > .ant-table-container > .cdk-virtual-scroll-viewport > .cdk-virtual-scroll-content-wrapper > table > tbody > tr.ant-table-placeholder > td {border-right: 0;} +.ant-tabs-top > .ant-tabs-nav::before, .ant-tabs-bottom > .ant-tabs-nav::before, .ant-tabs-top > div > .ant-tabs-nav::before, .ant-tabs-bottom > div > .ant-tabs-nav::before {border-bottom: 1px solid #f0f0f0;} +.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::before {box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, 0.08);} +.ant-tabs-top > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-bottom > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-top > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-nav-wrap::after {box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, 0.08);} +.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::before, .ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::before {box-shadow: inset 0 10px 8px -8px rgba(0, 0, 0, 0.08);} +.ant-tabs-left > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-right > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-left > div > .ant-tabs-nav .ant-tabs-nav-wrap::after, .ant-tabs-right > div > .ant-tabs-nav .ant-tabs-nav-wrap::after {box-shadow: inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08);} +.ant-tabs-left > .ant-tabs-content-holder, .ant-tabs-left > div > .ant-tabs-content-holder {border-left: 1px solid #f0f0f0;} +.ant-tabs-right > .ant-tabs-content-holder, .ant-tabs-right > div > .ant-tabs-content-holder {border-right: 1px solid #f0f0f0;} +.ant-tabs-dropdown {color: rgba(0, 0, 0, 0.85);} +.ant-tabs-dropdown-menu {background-color: #fff;background-clip: padding-box;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-tabs-dropdown-menu-item {color: rgba(0, 0, 0, 0.85);} +.ant-tabs-dropdown-menu-item:hover {background: #f5f5f5;} +.ant-tabs-dropdown-menu-item-disabled, .ant-tabs-dropdown-menu-item-disabled:hover {color: rgba(0, 0, 0, 0.25);background: transparent;} +.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab, .ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab {background: #fafafa;border: 1px solid #f0f0f0;} +.ant-tabs-card > .ant-tabs-nav .ant-tabs-tab-active, .ant-tabs-card > div > .ant-tabs-nav .ant-tabs-tab-active {color: #1890ff;background: #fff;} +.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab, .ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab {border-radius: 2px 2px 0 0;} +.ant-tabs-card.ant-tabs-top > .ant-tabs-nav .ant-tabs-tab-active, .ant-tabs-card.ant-tabs-top > div > .ant-tabs-nav .ant-tabs-tab-active {border-bottom-color: #fff;} +.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab, .ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab {border-radius: 0 0 2px 2px;} +.ant-tabs-card.ant-tabs-bottom > .ant-tabs-nav .ant-tabs-tab-active, .ant-tabs-card.ant-tabs-bottom > div > .ant-tabs-nav .ant-tabs-tab-active {border-top-color: #fff;} +.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab, .ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab {border-radius: 2px 0 0 2px;} +.ant-tabs-card.ant-tabs-left > .ant-tabs-nav .ant-tabs-tab-active, .ant-tabs-card.ant-tabs-left > div > .ant-tabs-nav .ant-tabs-tab-active {border-right-color: #fff;} +.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab, .ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab {border-radius: 0 2px 2px 0;} +.ant-tabs-card.ant-tabs-right > .ant-tabs-nav .ant-tabs-tab-active, .ant-tabs-card.ant-tabs-right > div > .ant-tabs-nav .ant-tabs-tab-active {border-left-color: #fff;} +.ant-tabs {color: rgba(0, 0, 0, 0.85);} +.ant-tabs > .ant-tabs-nav .ant-tabs-nav-more, .ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-more {background: transparent;border: 0;} +.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add, .ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add {background: #fafafa;border: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:hover, .ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:hover {color: #40a9ff;} +.ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:active, .ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:active, .ant-tabs > .ant-tabs-nav .ant-tabs-nav-add:focus, .ant-tabs > div > .ant-tabs-nav .ant-tabs-nav-add:focus {color: #096dd9;} +.ant-tabs-ink-bar {background: #1890ff;} +.ant-tabs-tab {background: transparent;border: 0;} +.ant-tabs-tab-btn:focus, .ant-tabs-tab-remove:focus, .ant-tabs-tab-btn:active, .ant-tabs-tab-remove:active {color: #096dd9;} +.ant-tabs-tab-remove {color: rgba(0, 0, 0, 0.45);background: transparent;border: none;} +.ant-tabs-tab-remove:hover {color: rgba(0, 0, 0, 0.85);} +.ant-tabs-tab:hover {color: #40a9ff;} +.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {color: #1890ff;} +.ant-tabs-tab.ant-tabs-tab-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:focus, .ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:focus, .ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:active, .ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:active {color: rgba(0, 0, 0, 0.25);} +a[nz-tab-link]::before {background-color: transparent;} +.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu {background-color: #fff;background-clip: padding-box;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item {color: rgba(0, 0, 0, 0.85);} +.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item:hover {background: #f5f5f5;} +.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled, .nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover {color: rgba(0, 0, 0, 0.25);background: transparent;} +.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled a, .nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover a {color: rgba(0, 0, 0, 0.25);} +.ant-tabs-tab-disabled a {color: rgba(0, 0, 0, 0.25);} +.ant-tag {color: rgba(0, 0, 0, 0.85);background: #fafafa;border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-tag, .ant-tag a, .ant-tag a:hover {color: rgba(0, 0, 0, 0.85);} +.ant-tag-close-icon {color: rgba(0, 0, 0, 0.45);} +.ant-tag-close-icon:hover {color: rgba(0, 0, 0, 0.85);} +.ant-tag-has-color {border-color: transparent;} +.ant-tag-has-color, .ant-tag-has-color a, .ant-tag-has-color a:hover, .ant-tag-has-color .anticon-close, .ant-tag-has-color .anticon-close:hover {color: #fff;} +.ant-tag-checkable {background-color: transparent;border-color: transparent;} +.ant-tag-checkable:not(.ant-tag-checkable-checked):hover {color: #1890ff;} +.ant-tag-checkable:active, .ant-tag-checkable-checked {color: #fff;} +.ant-tag-checkable-checked {background-color: #1890ff;} +.ant-tag-checkable:active {background-color: #096dd9;} +.ant-tag-pink {color: #c41d7f;background: #fff0f6;border-color: #ffadd2;} +.ant-tag-pink-inverse {color: #fff;background: #eb2f96;border-color: #eb2f96;} +.ant-tag-magenta {color: #c41d7f;background: #fff0f6;border-color: #ffadd2;} +.ant-tag-magenta-inverse {color: #fff;background: #eb2f96;border-color: #eb2f96;} +.ant-tag-red {color: #cf1322;background: #fff1f0;border-color: #ffa39e;} +.ant-tag-red-inverse {color: #fff;background: #f5222d;border-color: #f5222d;} +.ant-tag-volcano {color: #d4380d;background: #fff2e8;border-color: #ffbb96;} +.ant-tag-volcano-inverse {color: #fff;background: #fa541c;border-color: #fa541c;} +.ant-tag-orange {color: #d46b08;background: #fff7e6;border-color: #ffd591;} +.ant-tag-orange-inverse {color: #fff;background: #fa8c16;border-color: #fa8c16;} +.ant-tag-yellow {color: #d4b106;background: #feffe6;border-color: #fffb8f;} +.ant-tag-yellow-inverse {color: #fff;background: #fadb14;border-color: #fadb14;} +.ant-tag-gold {color: #d48806;background: #fffbe6;border-color: #ffe58f;} +.ant-tag-gold-inverse {color: #fff;background: #faad14;border-color: #faad14;} +.ant-tag-cyan {color: #08979c;background: #e6fffb;border-color: #87e8de;} +.ant-tag-cyan-inverse {color: #fff;background: #13c2c2;border-color: #13c2c2;} +.ant-tag-lime {color: #7cb305;background: #fcffe6;border-color: #eaff8f;} +.ant-tag-lime-inverse {color: #fff;background: #a0d911;border-color: #a0d911;} +.ant-tag-green {color: #389e0d;background: #f6ffed;border-color: #b7eb8f;} +.ant-tag-green-inverse {color: #fff;background: #52c41a;border-color: #52c41a;} +.ant-tag-blue {color: #096dd9;background: #e6f7ff;border-color: #91d5ff;} +.ant-tag-blue-inverse {color: #fff;background: #1890ff;border-color: #1890ff;} +.ant-tag-geekblue {color: #1d39c4;background: #f0f5ff;border-color: #adc6ff;} +.ant-tag-geekblue-inverse {color: #fff;background: #2f54eb;border-color: #2f54eb;} +.ant-tag-purple {color: #531dab;background: #f9f0ff;border-color: #d3adf7;} +.ant-tag-purple-inverse {color: #fff;background: #722ed1;border-color: #722ed1;} +.ant-tag-success {color: #52c41a;background: #f6ffed;border-color: #b7eb8f;} +.ant-tag-processing {color: #1890ff;background: #e6f7ff;border-color: #91d5ff;} +.ant-tag-error {color: #f5222d;background: #fff1f0;border-color: #ffa39e;} +.ant-tag-warning {color: #fa8c16;background: #fff7e6;border-color: #ffd591;} +.ant-timeline {color: rgba(0, 0, 0, 0.85);} +.ant-timeline-item-tail {border-left: 2px solid #f0f0f0;} +.ant-timeline-item-pending .ant-timeline-item-head {background-color: transparent;} +.ant-timeline-item-head {background-color: #fff;border: 2px solid transparent;border-radius: 100px;} +.ant-timeline-item-head-blue {color: #1890ff;border-color: #1890ff;} +.ant-timeline-item-head-red {color: #ff4d4f;border-color: #ff4d4f;} +.ant-timeline-item-head-green {color: #52c41a;border-color: #52c41a;} +.ant-timeline-item-head-gray {color: rgba(0, 0, 0, 0.25);border-color: rgba(0, 0, 0, 0.25);} +.ant-timeline-item-head-custom {border: 0;border-radius: 0;} +.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail {border-left: 2px dotted #f0f0f0;} +.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail {border-left: 2px dotted #f0f0f0;} +.ant-timeline-rtl .ant-timeline-item-tail {border-right: 2px solid #f0f0f0;border-left: none;} +.ant-timeline-rtl.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail {border-right: 2px dotted #f0f0f0;border-left: none;} +.ant-timeline-rtl.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail {border-right: 2px dotted #f0f0f0;border-left: none;} +.ant-tooltip {color: rgba(0, 0, 0, 0.85);} +.ant-tooltip-inner {color: #fff;background-color: rgba(0, 0, 0, 0.75);border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-tooltip-arrow {background: transparent;} +.ant-tooltip-arrow-content {background-color: rgba(0, 0, 0, 0.75);} +.ant-tooltip-placement-top .ant-tooltip-arrow-content, .ant-tooltip-placement-topLeft .ant-tooltip-arrow-content, .ant-tooltip-placement-topRight .ant-tooltip-arrow-content {box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07);} +.ant-tooltip-placement-right .ant-tooltip-arrow-content, .ant-tooltip-placement-rightTop .ant-tooltip-arrow-content, .ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content {box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07);} +.ant-tooltip-placement-left .ant-tooltip-arrow-content, .ant-tooltip-placement-leftTop .ant-tooltip-arrow-content, .ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content {box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07);} +.ant-tooltip-placement-bottom .ant-tooltip-arrow-content, .ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content, .ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content {box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.07);} +.ant-tooltip-pink .ant-tooltip-inner {background-color: #eb2f96;} +.ant-tooltip-pink .ant-tooltip-arrow-content {background-color: #eb2f96;} +.ant-tooltip-magenta .ant-tooltip-inner {background-color: #eb2f96;} +.ant-tooltip-magenta .ant-tooltip-arrow-content {background-color: #eb2f96;} +.ant-tooltip-red .ant-tooltip-inner {background-color: #f5222d;} +.ant-tooltip-red .ant-tooltip-arrow-content {background-color: #f5222d;} +.ant-tooltip-volcano .ant-tooltip-inner {background-color: #fa541c;} +.ant-tooltip-volcano .ant-tooltip-arrow-content {background-color: #fa541c;} +.ant-tooltip-orange .ant-tooltip-inner {background-color: #fa8c16;} +.ant-tooltip-orange .ant-tooltip-arrow-content {background-color: #fa8c16;} +.ant-tooltip-yellow .ant-tooltip-inner {background-color: #fadb14;} +.ant-tooltip-yellow .ant-tooltip-arrow-content {background-color: #fadb14;} +.ant-tooltip-gold .ant-tooltip-inner {background-color: #faad14;} +.ant-tooltip-gold .ant-tooltip-arrow-content {background-color: #faad14;} +.ant-tooltip-cyan .ant-tooltip-inner {background-color: #13c2c2;} +.ant-tooltip-cyan .ant-tooltip-arrow-content {background-color: #13c2c2;} +.ant-tooltip-lime .ant-tooltip-inner {background-color: #a0d911;} +.ant-tooltip-lime .ant-tooltip-arrow-content {background-color: #a0d911;} +.ant-tooltip-green .ant-tooltip-inner {background-color: #52c41a;} +.ant-tooltip-green .ant-tooltip-arrow-content {background-color: #52c41a;} +.ant-tooltip-blue .ant-tooltip-inner {background-color: #1890ff;} +.ant-tooltip-blue .ant-tooltip-arrow-content {background-color: #1890ff;} +.ant-tooltip-geekblue .ant-tooltip-inner {background-color: #2f54eb;} +.ant-tooltip-geekblue .ant-tooltip-arrow-content {background-color: #2f54eb;} +.ant-tooltip-purple .ant-tooltip-inner {background-color: #722ed1;} +.ant-tooltip-purple .ant-tooltip-arrow-content {background-color: #722ed1;} +.ant-transfer-customize-list .ant-table-wrapper .ant-table-small {border: 0;border-radius: 0;} +.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th {background: #fafafa;} +.ant-transfer-customize-list .ant-table-wrapper .ant-table-small > .ant-table-content .ant-table-row:last-child td {border-bottom: 1px solid #f0f0f0;} +.ant-transfer-customize-list .ant-input[disabled] {background-color: transparent;} +.ant-transfer {color: rgba(0, 0, 0, 0.85);} +.ant-transfer-disabled .ant-transfer-list {background: #f5f5f5;} +.ant-transfer-list {border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-transfer-list-search-action {color: rgba(0, 0, 0, 0.25);} +.ant-transfer-list-search-action .anticon {color: rgba(0, 0, 0, 0.25);} +.ant-transfer-list-search-action .anticon:hover {color: rgba(0, 0, 0, 0.45);} +.ant-transfer-list-header {color: rgba(0, 0, 0, 0.85);background: #fff;border-bottom: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.ant-transfer-list-content-item-remove {color: #1890ff;color: #d9d9d9;} +.ant-transfer-list-content-item-remove:focus, .ant-transfer-list-content-item-remove:hover {color: #40a9ff;} +.ant-transfer-list-content-item-remove:active {color: #096dd9;} +.ant-transfer-list-content-item-remove:focus, .ant-transfer-list-content-item-remove:hover {color: #40a9ff;} +.ant-transfer-list-content-item-remove:active {color: #096dd9;} +.ant-transfer-list-content-item-remove:hover {color: #40a9ff;} +.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover {background-color: #f5f5f5;} +.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled).ant-transfer-list-content-item-checked:hover {background-color: #dcf4ff;} +.ant-transfer-list-content-show-remove .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover {background: transparent;} +.ant-transfer-list-content-item-checked {background-color: #e6f7ff;} +.ant-transfer-list-content-item-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-transfer-list-pagination {border-top: 1px solid #f0f0f0;} +.ant-transfer-list-body-not-found {color: rgba(0, 0, 0, 0.25);} +.ant-transfer-list-footer {border-top: 1px solid #f0f0f0;} +.ant-typography {color: rgba(0, 0, 0, 0.85);} +.ant-typography.ant-typography-secondary {color: rgba(0, 0, 0, 0.45);} +.ant-typography.ant-typography-success {color: #52c41a;} +.ant-typography.ant-typography-warning {color: #faad14;} +.ant-typography.ant-typography-danger {color: #ff4d4f;} +a.ant-typography.ant-typography-danger:active, +a.ant-typography.ant-typography-danger:focus, +a.ant-typography.ant-typography-danger:hover {color: #ff7875;} +.ant-typography.ant-typography-disabled {color: rgba(0, 0, 0, 0.25);} +h1.ant-typography, .ant-typography h1 {color: rgba(0, 0, 0, 0.85);} +h2.ant-typography, .ant-typography h2 {color: rgba(0, 0, 0, 0.85);} +h3.ant-typography, .ant-typography h3 {color: rgba(0, 0, 0, 0.85);} +h4.ant-typography, .ant-typography h4 {color: rgba(0, 0, 0, 0.85);} +h5.ant-typography, .ant-typography h5 {color: rgba(0, 0, 0, 0.85);} +a.ant-typography, .ant-typography a {color: #1890ff;} +a.ant-typography:focus, .ant-typography a:focus, +a.ant-typography:hover, .ant-typography a:hover {color: #40a9ff;} +a.ant-typography:active, .ant-typography a:active {color: #096dd9;} +a.ant-typography:focus, .ant-typography a:focus, +a.ant-typography:hover, .ant-typography a:hover {color: #40a9ff;} +a.ant-typography:active, .ant-typography a:active {color: #096dd9;} +a.ant-typography[disabled], .ant-typography a[disabled], +a.ant-typography.ant-typography-disabled, .ant-typography a.ant-typography-disabled {color: rgba(0, 0, 0, 0.25);} +a.ant-typography[disabled]:active, .ant-typography a[disabled]:active, +a.ant-typography.ant-typography-disabled:active, .ant-typography a.ant-typography-disabled:active, +a.ant-typography[disabled]:hover, .ant-typography a[disabled]:hover, +a.ant-typography.ant-typography-disabled:hover, .ant-typography a.ant-typography-disabled:hover {color: rgba(0, 0, 0, 0.25);} +.ant-typography code {background: rgba(150, 150, 150, 0.1);border: 1px solid rgba(100, 100, 100, 0.2);border-radius: 3px;} +.ant-typography kbd {background: rgba(150, 150, 150, 0.06);border: 1px solid rgba(100, 100, 100, 0.2);border-bottom-width: 2px;border-radius: 3px;} +.ant-typography mark {background-color: #ffe58f;} +.ant-typography-expand, .ant-typography-edit, .ant-typography-copy {color: #1890ff;} +.ant-typography-expand:focus, .ant-typography-edit:focus, .ant-typography-copy:focus, .ant-typography-expand:hover, .ant-typography-edit:hover, .ant-typography-copy:hover {color: #40a9ff;} +.ant-typography-expand:active, .ant-typography-edit:active, .ant-typography-copy:active {color: #096dd9;} +.ant-typography-expand:focus, .ant-typography-edit:focus, .ant-typography-copy:focus, .ant-typography-expand:hover, .ant-typography-edit:hover, .ant-typography-copy:hover {color: #40a9ff;} +.ant-typography-expand:active, .ant-typography-edit:active, .ant-typography-copy:active {color: #096dd9;} +.ant-typography-copy-success, .ant-typography-copy-success:hover, .ant-typography-copy-success:focus {color: #52c41a;} +.ant-typography-edit-content-confirm {color: rgba(0, 0, 0, 0.45);} +.ant-typography pre {background: rgba(150, 150, 150, 0.1);border: 1px solid rgba(100, 100, 100, 0.2);border-radius: 3px;} +.ant-typography pre code {background: transparent;border: 0;} +.ant-typography blockquote {border-left: 4px solid rgba(100, 100, 100, 0.2);} +.ant-upload {color: rgba(0, 0, 0, 0.85);} +.ant-upload.ant-upload-select-picture-card {background-color: #fafafa;border: 1px dashed #d9d9d9;border-radius: 2px;} +.ant-upload.ant-upload-select-picture-card:hover {border-color: #1890ff;} +.ant-upload-disabled.ant-upload.ant-upload-select-picture-card:hover {border-color: #d9d9d9;} +.ant-upload.ant-upload-drag {background: #fafafa;border: 1px dashed #d9d9d9;border-radius: 2px;} +.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled) {border-color: #096dd9;} +.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover {border-color: #40a9ff;} +.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon {color: #40a9ff;} +.ant-upload.ant-upload-drag p.ant-upload-text {color: rgba(0, 0, 0, 0.85);} +.ant-upload.ant-upload-drag p.ant-upload-hint {color: rgba(0, 0, 0, 0.45);} +.ant-upload.ant-upload-drag .anticon-plus {color: rgba(0, 0, 0, 0.25);} +.ant-upload.ant-upload-drag .anticon-plus:hover {color: rgba(0, 0, 0, 0.45);} +.ant-upload.ant-upload-drag:hover .anticon-plus {color: rgba(0, 0, 0, 0.45);} +.ant-upload-list {color: rgba(0, 0, 0, 0.85);} +.ant-upload-list-item-card-actions .anticon {color: rgba(0, 0, 0, 0.45);} +.ant-upload-list-item-info .anticon-loading .anticon, .ant-upload-list-item-info .ant-upload-text-icon .anticon {color: rgba(0, 0, 0, 0.45);} +.ant-upload-list-item .anticon-close {color: rgba(0, 0, 0, 0.45);} +.ant-upload-list-item .anticon-close:hover {color: rgba(0, 0, 0, 0.85);} +.ant-upload-list-item:hover .ant-upload-list-item-info {background-color: #f5f5f5;} +.ant-upload-list-item-error, .ant-upload-list-item-error .ant-upload-text-icon > .anticon, .ant-upload-list-item-error .ant-upload-list-item-name {color: #ff4d4f;} +.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon {color: #ff4d4f;} +.ant-upload-list-picture .ant-upload-list-item, .ant-upload-list-picture-card .ant-upload-list-item {border: 1px solid #d9d9d9;border-radius: 2px;} +.ant-upload-list-picture .ant-upload-list-item:hover, .ant-upload-list-picture-card .ant-upload-list-item:hover {background: transparent;} +.ant-upload-list-picture .ant-upload-list-item-error, .ant-upload-list-picture-card .ant-upload-list-item-error {border-color: #ff4d4f;} +.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info, .ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info {background: transparent;} +.ant-upload-list-picture .ant-upload-list-item-uploading, .ant-upload-list-picture-card .ant-upload-list-item-uploading {border-style: dashed;} +.ant-upload-list-picture-card .ant-upload-list-item-info::before {background-color: rgba(0, 0, 0, 0.5);} +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete {color: rgba(255, 255, 255, 0.85);} +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover, .ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover {color: #fff;} +.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item {background-color: #fafafa;} +.ant-select-auto-complete {color: rgba(0, 0, 0, 0.85);} +.ant-cascader {color: rgba(0, 0, 0, 0.85);} +.ant-cascader-input.ant-input {background-color: transparent !important;} +.ant-cascader-picker {color: rgba(0, 0, 0, 0.85);background-color: #fff;border-radius: 2px;} +.ant-cascader-picker-with-value .ant-cascader-picker-label {color: transparent;} +.ant-cascader-picker-disabled {color: rgba(0, 0, 0, 0.25);background: #f5f5f5;} +.ant-cascader-picker:focus .ant-cascader-input {border-color: #40a9ff;border-right-width: 1px !important;box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);} +.ant-input-rtl .ant-cascader-picker:focus .ant-cascader-input {border-right-width: 0;border-left-width: 1px !important;} +.ant-cascader-picker-borderless .ant-cascader-input {border-color: transparent !important;box-shadow: none !important;} +.ant-cascader-picker-show-search.ant-cascader-picker-focused {color: rgba(0, 0, 0, 0.25);} +.ant-cascader-picker-clear {color: rgba(0, 0, 0, 0.25);background: #fff;} +.ant-cascader-picker-clear:hover {color: rgba(0, 0, 0, 0.45);} +.ant-cascader-picker-arrow {color: rgba(0, 0, 0, 0.25);} +.ant-cascader-picker-label:hover + .ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover + .ant-cascader-input) {border-color: #40a9ff;border-right-width: 1px !important;} +.ant-input-rtl .ant-cascader-picker-label:hover + .ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover + .ant-cascader-input) {border-right-width: 0;border-left-width: 1px !important;} +.ant-cascader-menus {background: #fff;border-radius: 2px;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.ant-cascader-menu {border-right: 1px solid #f0f0f0;} +.ant-cascader-menu:first-child {border-radius: 2px 0 0 2px;} +.ant-cascader-menu:last-child {border-right-color: transparent;border-radius: 0 2px 2px 0;} +.ant-cascader-menu:only-child {border-radius: 2px;} +.ant-cascader-menu-item:hover {background: #f5f5f5;} +.ant-cascader-menu-item-disabled {color: rgba(0, 0, 0, 0.25);} +.ant-cascader-menu-item-disabled:hover {background: transparent;} +.ant-cascader-menu-empty .ant-cascader-menu-item {color: rgba(0, 0, 0, 0.25);} +.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled), .ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover {background-color: #e6f7ff;} +.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, .ant-cascader-menu-item-loading-icon {color: rgba(0, 0, 0, 0.45);} +.ant-cascader-menu-item-disabled.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, .ant-cascader-menu-item-disabled.ant-cascader-menu-item-loading-icon {color: rgba(0, 0, 0, 0.25);} +.ant-cascader-menu-item .ant-cascader-menu-item-keyword {color: #ff4d4f;} +.ant-cascader-menu-rtl .ant-cascader-menu {border-right: none;border-left: 1px solid #f0f0f0;} +.ant-cascader-menu-rtl .ant-cascader-menu:first-child {border-radius: 0 2px 2px 0;} +.ant-cascader-menu-rtl .ant-cascader-menu:last-child {border-left-color: transparent;border-radius: 2px 0 0 2px;} +.ant-cascader-menu-rtl .ant-cascader-menu:only-child {border-radius: 2px;} +.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before {background: #f5f5f5;} +.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper {border-radius: 0;} +.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover {background: transparent;} +.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected {color: #fff;background: transparent;} +.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before, .ant-tree.ant-tree-directory .ant-tree-treenode-selected::before {background: #1890ff;} +.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher {color: #fff;} +.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper {color: #fff;background: transparent;} +.ant-tree-checkbox {color: rgba(0, 0, 0, 0.85);} +.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner, .ant-tree-checkbox:hover .ant-tree-checkbox-inner, .ant-tree-checkbox-input:focus + .ant-tree-checkbox-inner {border-color: #1890ff;} +.ant-tree-checkbox-checked::after {border: 1px solid #1890ff;border-radius: 2px;} +.ant-tree-checkbox-inner {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;border-collapse: separate;} +.ant-tree-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner {background-color: #1890ff;border-color: #1890ff;} +.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after {border-color: rgba(0, 0, 0, 0.25);} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner {background-color: #f5f5f5;border-color: #d9d9d9 !important;} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after {border-color: #f5f5f5;border-collapse: separate;} +.ant-tree-checkbox-disabled + span {color: rgba(0, 0, 0, 0.25);} +.ant-tree-checkbox-wrapper {color: rgba(0, 0, 0, 0.85);} +.ant-tree-checkbox-group {color: rgba(0, 0, 0, 0.85);} +.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner {background-color: #fff;border-color: #d9d9d9;} +.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after {background-color: #1890ff;border: 0;} +.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after {background-color: rgba(0, 0, 0, 0.25);border-color: rgba(0, 0, 0, 0.25);} +.ant-tree {color: rgba(0, 0, 0, 0.85);background: #fff;border-radius: 2px;} +.ant-tree-focused:not(:hover):not(.ant-tree-active-focused) {background: #e6f7ff;} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper {color: rgba(0, 0, 0, 0.25);} +.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover {background: transparent;} +.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper {background: #f5f5f5;} +.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title {color: inherit;} +.ant-tree-switcher-loading-icon {color: #1890ff;} +.ant-tree-switcher-leaf-line::before {border-left: 1px solid #d9d9d9;} +.ant-tree-switcher-leaf-line::after {border-bottom: 1px solid #d9d9d9;} +.ant-tree .ant-tree-node-content-wrapper {color: inherit;background: transparent;border-radius: 2px;} +.ant-tree .ant-tree-node-content-wrapper:hover {background-color: #f5f5f5;} +.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected {background-color: #bae7ff;} +.ant-tree-unselectable .ant-tree-node-content-wrapper:hover {background-color: transparent;} +.ant-tree-node-content-wrapper[draggable='true'] .ant-tree-drop-indicator {background-color: #1890ff;border-radius: 1px;} +.ant-tree-node-content-wrapper[draggable='true'] .ant-tree-drop-indicator::after {background-color: transparent;border: 2px solid #1890ff;border-radius: 50%;} +.ant-tree .ant-tree-treenode.drop-container > [draggable] {box-shadow: 0 0 0 2px #1890ff;} +.ant-tree-show-line .ant-tree-indent-unit::before {border-right: 1px solid #d9d9d9;} +.ant-tree-show-line .ant-tree-switcher {background: #fff;} +.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit::before {border-right: none;border-left: 1px solid #d9d9d9;} +.font-highlight {color: #ff4d4f;} +.ant-select-tree-checkbox {color: rgba(0, 0, 0, 0.85);} +.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner, .ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner, .ant-select-tree-checkbox-input:focus + .ant-select-tree-checkbox-inner {border-color: #1890ff;} +.ant-select-tree-checkbox-checked::after {border: 1px solid #1890ff;border-radius: 2px;} +.ant-select-tree-checkbox-inner {background-color: #fff;border: 1px solid #d9d9d9;border-radius: 2px;border-collapse: separate;} +.ant-select-tree-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after {border: 2px solid #fff;border-top: 0;border-left: 0;} +.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner {background-color: #1890ff;border-color: #1890ff;} +.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after {border-color: rgba(0, 0, 0, 0.25);} +.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner {background-color: #f5f5f5;border-color: #d9d9d9 !important;} +.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after {border-color: #f5f5f5;border-collapse: separate;} +.ant-select-tree-checkbox-disabled + span {color: rgba(0, 0, 0, 0.25);} +.ant-select-tree-checkbox-wrapper {color: rgba(0, 0, 0, 0.85);} +.ant-select-tree-checkbox-group {color: rgba(0, 0, 0, 0.85);} +.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner {background-color: #fff;border-color: #d9d9d9;} +.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after {background-color: #1890ff;border: 0;} +.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after {background-color: rgba(0, 0, 0, 0.25);border-color: rgba(0, 0, 0, 0.25);} +.ant-tree-select-dropdown .ant-select-tree {border-radius: 0;} +.ant-select-tree {color: rgba(0, 0, 0, 0.85);background: #fff;border-radius: 2px;} +.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused) {background: #e6f7ff;} +.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper {color: rgba(0, 0, 0, 0.25);} +.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover {background: transparent;} +.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper {background: #f5f5f5;} +.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title {color: inherit;} +.ant-select-tree-switcher-loading-icon {color: #1890ff;} +.ant-select-tree-switcher-leaf-line::before {border-left: 1px solid #d9d9d9;} +.ant-select-tree-switcher-leaf-line::after {border-bottom: 1px solid #d9d9d9;} +.ant-select-tree .ant-select-tree-node-content-wrapper {color: inherit;background: transparent;border-radius: 2px;} +.ant-select-tree .ant-select-tree-node-content-wrapper:hover {background-color: #f5f5f5;} +.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected {background-color: #bae7ff;} +.ant-select-tree-unselectable .ant-select-tree-node-content-wrapper:hover {background-color: transparent;} +.ant-select-tree-node-content-wrapper[draggable='true'] .ant-tree-drop-indicator {background-color: #1890ff;border-radius: 1px;} +.ant-select-tree-node-content-wrapper[draggable='true'] .ant-tree-drop-indicator::after {background-color: transparent;border: 2px solid #1890ff;border-radius: 50%;} +.ant-select-tree .ant-select-tree-treenode.drop-container > [draggable] {box-shadow: 0 0 0 2px #1890ff;} +.ant-select-tree-show-line .ant-select-tree-indent-unit::before {border-right: 1px solid #d9d9d9;} +.ant-select-tree-show-line .ant-select-tree-switcher {background: #fff;} +.ant-tree.ant-select-tree.ant-tree-show-line nz-tree-node[builtin]:not(:last-child) > li::before {border-left: 1px solid #d9d9d9;} +.ant-picker-calendar {color: rgba(0, 0, 0, 0.85);background: #fff;} +.ant-picker-calendar .ant-picker-panel {background: #fff;border: 0;border-top: 1px solid #f0f0f0;border-radius: 0;} +.ant-picker-calendar-mini {border-radius: 2px;} +.ant-picker-calendar-mini .ant-picker-panel {border-radius: 0 0 2px 2px;} +.ant-picker-calendar-full .ant-picker-panel {background: #fff;border: 0;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell:hover .ant-picker-calendar-date {background: #f5f5f5;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today {background: #e6f7ff;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value, .ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value {color: #1890ff;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date {border: 0;border-top: 2px solid #f0f0f0;border-radius: 0;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content {color: rgba(0, 0, 0, 0.85);} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today {border-color: #1890ff;} +.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today .ant-picker-calendar-date-value {color: rgba(0, 0, 0, 0.85);} +.ant-result-success .ant-result-icon > .anticon {color: #52c41a;} +.ant-result-error .ant-result-icon > .anticon {color: #ff4d4f;} +.ant-result-info .ant-result-icon > .anticon {color: #1890ff;} +.ant-result-warning .ant-result-icon > .anticon {color: #faad14;} +.ant-result-title {color: rgba(0, 0, 0, 0.85);} +.ant-result-subtitle {color: rgba(0, 0, 0, 0.45);} +.ant-result-content {background-color: #fafafa;} +.ant-image-img-placeholder {background-color: #f5f5f5;background-repeat: no-repeat;background-position: center center;background-size: 30%;} +.ant-image-mask {color: #fff;background: rgba(0, 0, 0, 0.5);} +.ant-image-preview-mask {background-color: rgba(0, 0, 0, 0.45);} +.ant-image-preview-mask {background-color: rgba(0, 0, 0, 0.45);} +.ant-image-preview-operations {color: rgba(0, 0, 0, 0.85);color: rgba(255, 255, 255, 0.85);background: rgba(0, 0, 0, 0.1);} +.ant-image-preview-operations-operation-disabled {color: rgba(255, 255, 255, 0.25);} +.ant-image-preview-switch-left, .ant-image-preview-switch-right {color: rgba(255, 255, 255, 0.85);background: rgba(0, 0, 0, 0.1);border-radius: 50%;} +.ant-image-preview-switch-left-disabled, .ant-image-preview-switch-right-disabled {color: rgba(255, 255, 255, 0.25);} +.drawer-footer {background: #fff;border-top: 1px solid #f0f0f0;border-radius: 0 0 2px 2px;} +.ant-form-item-label em {color: #bfbfbf;} +.modal-header {background: #fff;border-bottom: 1px solid #f0f0f0;border-radius: 2px 2px 0 0;} +.modal-title {color: rgba(0, 0, 0, 0.85);} +.modal-title small {color: #8c8c8c;} +.modal-footer {border-top: 1px solid #f0f0f0;border-radius: 0 0 2px 2px;} +.ant-table td > img, .ant-table td .img {border-radius: 4px;} +.ant-tag__plus .ant-tag {background: #fff;border-style: dashed;} +fieldset {border: none;} +.header-dropdown {background-color: #fff;border-radius: 4px;box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), 0 12px 48px 16px rgba(0, 0, 0, 0.03);} +.sf__optional {color: rgba(0, 0, 0, 0.35);} +.sf__array-container .ant-card .sf__array-remove {background: rgba(0, 0, 0, 0.26);border-radius: 50%;} +.sf__array-container .ant-card .sf__array-remove i {color: #fff;} +.sf .ant-upload-select-picture-card i {color: #999;} +.sf .ant-transfer-list {background: #fff;} +.setting-drawer__content {background: #fff;} +.setting-drawer__title {color: rgba(0, 0, 0, 0.85);} +.setting-drawer__theme-tag {color: #fff;border-radius: 2px;} +.setting-drawer__handle {background: #1890ff;border-radius: 4px 0 0 4px;} +.setting-drawer__handle-icon {color: #fff;} +.setting-drawer-rtl .setting-drawer__handle {border-radius: 0 4px 4px 0;} +.theme-btn-active {color: #1890ff;} +.theme-btn .ant-avatar {color: #000;background-color: #fff;box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);} +.theme-btn .ant-avatar:hover {color: #1890ff;} +.yn__yes {color: #1890ff;} +.yn__no {color: #8c8c8c;} +.border {border: 1px solid #f0f0f0 !important;} +.border-0 {border: 0 !important;} +.border-top-0 {border-top: 0 !important;} +.border-right-0 {border-right: 0 !important;} +.border-bottom-0 {border-bottom: 0 !important;} +.border-left-0 {border-left: 0 !important;} +.border-1 {border: 1px solid #f0f0f0 !important;} +.border-top-1 {border-top: 1px solid #f0f0f0 !important;} +.border-right-1 {border-right: 1px solid #f0f0f0 !important;} +.border-bottom-1 {border-bottom: 1px solid #f0f0f0 !important;} +.border-left-1 {border-left: 1px solid #f0f0f0 !important;} +.border-red {border-color: #f5222d !important;} +.border-volcano {border-color: #fa541c !important;} +.border-orange {border-color: #fa8c16 !important;} +.border-gold {border-color: #faad14 !important;} +.border-yellow {border-color: #fadb14 !important;} +.border-lime {border-color: #a0d911 !important;} +.border-green {border-color: #52c41a !important;} +.border-cyan {border-color: #13c2c2 !important;} +.border-blue {border-color: #1890ff !important;} +.border-geekblue {border-color: #2f54eb !important;} +.border-purple {border-color: #722ed1 !important;} +.border-magenta {border-color: #eb2f96 !important;} +.border-grey {border-color: #bfbfbf !important;} +.border-primary {border-color: #1890ff !important;} +.border-success {border-color: #52c41a !important;} +.border-error {border-color: #ff4d4f !important;} +.border-warning {border-color: #faad14 !important;} +.border-info {border-color: #1890ff !important;} +.border-processing {border-color: #1890ff !important;} +.border-highlight {border-color: #ff4d4f !important;} +.border-normal {border-color: #d9d9d9 !important;} +.rounded-sm {border-radius: 2px;} +.rounded-top-left-sm {border-top-left-radius: 2px;} +.rounded-top-right-sm {border-top-right-radius: 2px;} +.rounded-bottom-left-sm {border-bottom-left-radius: 2px;} +.rounded-bottom-right-sm {border-bottom-right-radius: 2px;} +.rounded-md {border-radius: 2px;} +.rounded-top-left-md {border-top-left-radius: 2px;} +.rounded-top-right-md {border-top-right-radius: 2px;} +.rounded-bottom-left-md {border-bottom-left-radius: 2px;} +.rounded-bottom-right-md {border-bottom-right-radius: 2px;} +.rounded-lg {border-radius: 4px;} +.rounded-top-left-lg {border-top-left-radius: 4px;} +.rounded-top-right-lg {border-top-right-radius: 4px;} +.rounded-bottom-left-lg {border-bottom-left-radius: 4px;} +.rounded-bottom-right-lg {border-bottom-right-radius: 4px;} +.rounded-circle {border-radius: 50%;} +.rounded-0 {border-radius: 0;} +.border-white {border-color: #fff !important;} +code {background-color: #f7f7f7;border: 1px solid #eee;border-radius: 2px;} +.bg-white {background-color: #fff !important;} +.bg-transparent {background-color: transparent !important;} +.text-white {color: #fff !important;} +.text-hover:hover {color: #1890ff !important;} +.bg-red-light {background-color: #ff4d4f !important;} +.bg-red {background-color: #f5222d !important;} +.bg-red-dark {background-color: #cf1322 !important;} +.bg-red-light-h:hover {background-color: #ff4d4f !important;} +.bg-red-h:hover {background-color: #f5222d !important;} +.bg-red-dark-h:hover {background-color: #cf1322 !important;} +.text-red-light {color: #ff4d4f !important;} +.text-red {color: #f5222d !important;} +.text-red-dark {color: #cf1322 !important;} +.bg-volcano-light {background-color: #ff7a45 !important;} +.bg-volcano {background-color: #fa541c !important;} +.bg-volcano-dark {background-color: #d4380d !important;} +.bg-volcano-light-h:hover {background-color: #ff7a45 !important;} +.bg-volcano-h:hover {background-color: #fa541c !important;} +.bg-volcano-dark-h:hover {background-color: #d4380d !important;} +.text-volcano-light {color: #ff7a45 !important;} +.text-volcano {color: #fa541c !important;} +.text-volcano-dark {color: #d4380d !important;} +.bg-orange-light {background-color: #ffa940 !important;} +.bg-orange {background-color: #fa8c16 !important;} +.bg-orange-dark {background-color: #d46b08 !important;} +.bg-orange-light-h:hover {background-color: #ffa940 !important;} +.bg-orange-h:hover {background-color: #fa8c16 !important;} +.bg-orange-dark-h:hover {background-color: #d46b08 !important;} +.text-orange-light {color: #ffa940 !important;} +.text-orange {color: #fa8c16 !important;} +.text-orange-dark {color: #d46b08 !important;} +.bg-gold-light {background-color: #ffc53d !important;} +.bg-gold {background-color: #faad14 !important;} +.bg-gold-dark {background-color: #d48806 !important;} +.bg-gold-light-h:hover {background-color: #ffc53d !important;} +.bg-gold-h:hover {background-color: #faad14 !important;} +.bg-gold-dark-h:hover {background-color: #d48806 !important;} +.text-gold-light {color: #ffc53d !important;} +.text-gold {color: #faad14 !important;} +.text-gold-dark {color: #d48806 !important;} +.bg-yellow-light {background-color: #ffec3d !important;} +.bg-yellow {background-color: #fadb14 !important;} +.bg-yellow-dark {background-color: #d4b106 !important;} +.bg-yellow-light-h:hover {background-color: #ffec3d !important;} +.bg-yellow-h:hover {background-color: #fadb14 !important;} +.bg-yellow-dark-h:hover {background-color: #d4b106 !important;} +.text-yellow-light {color: #ffec3d !important;} +.text-yellow {color: #fadb14 !important;} +.text-yellow-dark {color: #d4b106 !important;} +.bg-lime-light {background-color: #bae637 !important;} +.bg-lime {background-color: #a0d911 !important;} +.bg-lime-dark {background-color: #7cb305 !important;} +.bg-lime-light-h:hover {background-color: #bae637 !important;} +.bg-lime-h:hover {background-color: #a0d911 !important;} +.bg-lime-dark-h:hover {background-color: #7cb305 !important;} +.text-lime-light {color: #bae637 !important;} +.text-lime {color: #a0d911 !important;} +.text-lime-dark {color: #7cb305 !important;} +.bg-green-light {background-color: #73d13d !important;} +.bg-green {background-color: #52c41a !important;} +.bg-green-dark {background-color: #389e0d !important;} +.bg-green-light-h:hover {background-color: #73d13d !important;} +.bg-green-h:hover {background-color: #52c41a !important;} +.bg-green-dark-h:hover {background-color: #389e0d !important;} +.text-green-light {color: #73d13d !important;} +.text-green {color: #52c41a !important;} +.text-green-dark {color: #389e0d !important;} +.bg-cyan-light {background-color: #36cfc9 !important;} +.bg-cyan {background-color: #13c2c2 !important;} +.bg-cyan-dark {background-color: #08979c !important;} +.bg-cyan-light-h:hover {background-color: #36cfc9 !important;} +.bg-cyan-h:hover {background-color: #13c2c2 !important;} +.bg-cyan-dark-h:hover {background-color: #08979c !important;} +.text-cyan-light {color: #36cfc9 !important;} +.text-cyan {color: #13c2c2 !important;} +.text-cyan-dark {color: #08979c !important;} +.bg-blue-light {background-color: #40a9ff !important;} +.bg-blue {background-color: #1890ff !important;} +.bg-blue-dark {background-color: #096dd9 !important;} +.bg-blue-light-h:hover {background-color: #40a9ff !important;} +.bg-blue-h:hover {background-color: #1890ff !important;} +.bg-blue-dark-h:hover {background-color: #096dd9 !important;} +.text-blue-light {color: #40a9ff !important;} +.text-blue {color: #1890ff !important;} +.text-blue-dark {color: #096dd9 !important;} +.bg-geekblue-light {background-color: #597ef7 !important;} +.bg-geekblue {background-color: #2f54eb !important;} +.bg-geekblue-dark {background-color: #1d39c4 !important;} +.bg-geekblue-light-h:hover {background-color: #597ef7 !important;} +.bg-geekblue-h:hover {background-color: #2f54eb !important;} +.bg-geekblue-dark-h:hover {background-color: #1d39c4 !important;} +.text-geekblue-light {color: #597ef7 !important;} +.text-geekblue {color: #2f54eb !important;} +.text-geekblue-dark {color: #1d39c4 !important;} +.bg-purple-light {background-color: #9254de !important;} +.bg-purple {background-color: #722ed1 !important;} +.bg-purple-dark {background-color: #531dab !important;} +.bg-purple-light-h:hover {background-color: #9254de !important;} +.bg-purple-h:hover {background-color: #722ed1 !important;} +.bg-purple-dark-h:hover {background-color: #531dab !important;} +.text-purple-light {color: #9254de !important;} +.text-purple {color: #722ed1 !important;} +.text-purple-dark {color: #531dab !important;} +.bg-magenta-light {background-color: #f759ab !important;} +.bg-magenta {background-color: #eb2f96 !important;} +.bg-magenta-dark {background-color: #c41d7f !important;} +.bg-magenta-light-h:hover {background-color: #f759ab !important;} +.bg-magenta-h:hover {background-color: #eb2f96 !important;} +.bg-magenta-dark-h:hover {background-color: #c41d7f !important;} +.text-magenta-light {color: #f759ab !important;} +.text-magenta {color: #eb2f96 !important;} +.text-magenta-dark {color: #c41d7f !important;} +.bg-grey-light {background-color: #d9d9d9 !important;} +.bg-grey {background-color: #bfbfbf !important;} +.bg-grey-dark {background-color: #8c8c8c !important;} +.bg-grey-light-h:hover {background-color: #d9d9d9 !important;} +.bg-grey-h:hover {background-color: #bfbfbf !important;} +.bg-grey-dark-h:hover {background-color: #8c8c8c !important;} +.text-grey-light {color: #d9d9d9 !important;} +.text-grey {color: #bfbfbf !important;} +.text-grey-dark {color: #8c8c8c !important;} +.bg-primary-light {background-color: #40a9ff !important;} +.bg-primary {background-color: #1890ff !important;} +.bg-primary-dark {background-color: #096dd9 !important;} +.bg-primary-h:hover {background-color: #1890ff !important;} +.text-primary-light {color: #40a9ff !important;} +.text-primary {color: #1890ff !important;} +.text-primary-dark {color: #096dd9 !important;} +.bg-success-light {background-color: #73d13d !important;} +.bg-success {background-color: #52c41a !important;} +.bg-success-dark {background-color: #389e0d !important;} +.bg-success-h:hover {background-color: #52c41a !important;} +.text-success-light {color: #73d13d !important;} +.text-success {color: #52c41a !important;} +.text-success-dark {color: #389e0d !important;} +.bg-error-light {background-color: #ff7875 !important;} +.bg-error {background-color: #ff4d4f !important;} +.bg-error-dark {background-color: #d9363e !important;} +.bg-error-h:hover {background-color: #ff4d4f !important;} +.text-error-light {color: #ff7875 !important;} +.text-error {color: #ff4d4f !important;} +.text-error-dark {color: #d9363e !important;} +.bg-warning-light {background-color: #ffc53d !important;} +.bg-warning {background-color: #faad14 !important;} +.bg-warning-dark {background-color: #d48806 !important;} +.bg-warning-h:hover {background-color: #faad14 !important;} +.text-warning-light {color: #ffc53d !important;} +.text-warning {color: #faad14 !important;} +.text-warning-dark {color: #d48806 !important;} +.bg-info-light {background-color: #40a9ff !important;} +.bg-info {background-color: #1890ff !important;} +.bg-info-dark {background-color: #096dd9 !important;} +.bg-info-h:hover {background-color: #1890ff !important;} +.text-info-light {color: #40a9ff !important;} +.text-info {color: #1890ff !important;} +.text-info-dark {color: #096dd9 !important;} +.bg-processing-light {background-color: #40a9ff !important;} +.bg-processing {background-color: #1890ff !important;} +.bg-processing-dark {background-color: #096dd9 !important;} +.bg-processing-h:hover {background-color: #1890ff !important;} +.text-processing-light {color: #40a9ff !important;} +.text-processing {color: #1890ff !important;} +.text-processing-dark {color: #096dd9 !important;} +.bg-highlight-light {background-color: #ff7875 !important;} +.bg-highlight {background-color: #ff4d4f !important;} +.bg-highlight-dark {background-color: #d9363e !important;} +.bg-highlight-h:hover {background-color: #ff4d4f !important;} +.text-highlight-light {color: #ff7875 !important;} +.text-highlight {color: #ff4d4f !important;} +.text-highlight-dark {color: #d9363e !important;} +.bg-normal-light {background-color: #e6d8d8 !important;} +.bg-normal {background-color: #d9d9d9 !important;} +.bg-normal-dark {background-color: #b3a8a8 !important;} +.bg-normal-h:hover {background-color: #d9d9d9 !important;} +.text-normal-light {color: #e6d8d8 !important;} +.text-normal {color: #d9d9d9 !important;} +.text-normal-dark {color: #b3a8a8 !important;} +.bg-grey-lighter {background-color: #f5f5f5 !important;} +.bg-grey-lighter-h:hover {background-color: #f5f5f5 !important;} +.text-grey-lighter {color: #f5f5f5 !important;} +.bg-grey-darker {background-color: #262626 !important;} +.bg-grey-darker-h:hover {background-color: #262626 !important;} +.text-grey-darker {color: #262626 !important;} +.no-data {color: rgba(0, 0, 0, 0.25);} +.bg-center {background-position: center center;background-size: cover;} +.page-loading {background: #f5f5f5;} +.disabled {color: rgba(0, 0, 0, 0.25);} +body, .scrollbar, .ant-dialog-wrap, .ant-drawer-body, .ant-drawer-wrapper-body, .ant-anchor-wrapper, +textarea.ant-input {scrollbar-color: rgba(0, 0, 0, 0.3) #6e6e6e;} +body::-webkit-scrollbar-track, .scrollbar::-webkit-scrollbar-track, .ant-dialog-wrap::-webkit-scrollbar-track, .ant-drawer-body::-webkit-scrollbar-track, .ant-drawer-wrapper-body::-webkit-scrollbar-track, .ant-anchor-wrapper::-webkit-scrollbar-track, +textarea.ant-input::-webkit-scrollbar-track {box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);} +body::-webkit-scrollbar-thumb, .scrollbar::-webkit-scrollbar-thumb, .ant-dialog-wrap::-webkit-scrollbar-thumb, .ant-drawer-body::-webkit-scrollbar-thumb, .ant-drawer-wrapper-body::-webkit-scrollbar-thumb, .ant-anchor-wrapper::-webkit-scrollbar-thumb, +textarea.ant-input::-webkit-scrollbar-thumb {background-color: #6e6e6e;} +.st__btn-sub .st__btn-text {color: inherit;} +.st__btn-disabled .st__btn-text {color: rgba(0, 0, 0, 0.25);} +.st .nz-resizable-handle > i {background: #d9d9d9;} +.st .nz-resizable-preview {border-width: 0;border-right-width: 1px;} +.st__head-optional, .st__head-tip {color: rgba(0, 0, 0, 0.35);} +.st .ant-table-thead > tr > th .ant-table-filter-selected.ant-table-filter-icon {color: #1890ff;} +.st .ant-table-tbody > tr .ant-table-wrapper:only-child .ant-table-tbody > tr:last-child > td {border-bottom: 1px solid #f0f0f0;} +.sv__title {color: rgba(0, 0, 0, 0.85);} +.sv__label {color: rgba(0, 0, 0, 0.5);} +.sv__label-optional {color: rgba(0, 0, 0, 0.35);} +.sv__detail {color: rgba(0, 0, 0, 0.85);} +.sv__type-primary .sv__detail {color: #1890ff;} +.sv__type-success .sv__detail {color: #52c41a;} +.sv__type-danger .sv__detail {color: #ff4d4f;} +.sv__type-warning .sv__detail {color: #faad14;} +.sv__unit {color: #8c8c8c;} +.sv__small .sv__title {color: rgba(0, 0, 0, 0.85);} +.sv__value-prefix, .sv__value-unit {color: rgba(0, 0, 0, 0.5);} +.sv__value:not(:first-child)::before {color: rgba(0, 0, 0, 0.5);} +.se__title {color: rgba(0, 0, 0, 0.85);} +.se__label-optional {color: rgba(0, 0, 0, 0.35);} +.se__line {border-bottom: 1px dashed #f0f0f0;} +.avatar-list__item .ant-avatar {border: 1px solid #fff;} +.ellipsis__shadow {color: transparent;} +.error-collect {color: #f5222d;} +.exception__img {background-repeat: no-repeat;background-position: 50% 50%;background-size: 100% 100%;} +.exception__cont-title {color: #434e59;} +.exception__cont-desc {color: rgba(0, 0, 0, 0.45);} +.footer-toolbar {background: #fff;border-top: 1px solid #f0f0f0;box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.03);} +.global-footer__links-item {color: rgba(0, 0, 0, 0.45);} +.global-footer__links-item:hover {color: rgba(0, 0, 0, 0.85);} +.global-footer__copyright {color: rgba(0, 0, 0, 0.45);} +.notice-icon .ant-list-item:last-child {border-bottom: 0;} +.notice-icon .ant-list-item:hover {background: #e6f7ff;} +.notice-icon .ant-list-item .ant-avatar {background: #fff;} +.notice-icon__notfound {color: rgba(0, 0, 0, 0.45);} +.notice-icon__clear {color: rgba(0, 0, 0, 0.85);border-top: 1px solid #f0f0f0;border-radius: 0 0 2px 2px;} +.notice-icon__clear:hover {color: rgba(0, 0, 0, 0.85);} +.notice-icon__item-extra {color: rgba(0, 0, 0, 0.45);} +.page-header {background-color: #fff;border-bottom: 1px solid #f0f0f0;} +.page-header .ant-tabs-bar {border-bottom: 1px solid #f0f0f0;} +.page-header__logo img {border-radius: 2px;} +.page-header__title {color: rgba(0, 0, 0, 0.85);} +.quick-menu, .quick-menu__ctrl {background-color: #fff;border: 1px solid #fff;box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), 0 12px 48px 16px rgba(0, 0, 0, 0.03);} +.quick-menu__ctrl {border-right: 0;border-radius: 3px 0 0 3px;} +.result__icon-success {color: #52c41a;} +.result__icon-error {color: #ff4d4f;} +.result__title {color: rgba(0, 0, 0, 0.85);} +.result__desc {color: rgba(0, 0, 0, 0.45);} +.result__extra {background: #fafafa;border-radius: 2px;} +.result .ant-steps .ant-steps-head, .result .ant-steps .ant-steps-title {background: #fafafa;} +.reuse-tab {background-color: #fff;} +.reuse-tab .ant-tabs-nav .ant-tabs-tab .reuse-tab__op {color: rgba(0, 0, 0, 0.85);} +.reuse-tab__line {border-bottom: 1px solid #d9d9d9;} +.reuse-tab__line .ant-tabs-nav::before {border-bottom: none;} +.reuse-tab__cm .ant-menu {border: 1px solid #e9e9e9;} +.loading-backdrop {background-color: rgba(0, 0, 0, 0.15);} +.loading-default__icon {color: #1890ff;} +.loading-default__text {color: #1890ff;} +.onboarding__mask {background-color: #000;} +.onboarding__light {background-color: rgba(255, 255, 255, 0.9);} +.onboarding__total {color: rgba(0, 0, 0, 0.85);} +.g2-card__meta {color: rgba(0, 0, 0, 0.45);} +.g2-card__avatar img {border-radius: 100%;} +.g2-card__total {color: rgba(0, 0, 0, 0.85);} +.g2-card__footer {border-top: 1px solid #f0f0f0;} +.g2-mini-progress__wrap {background-color: #f5f5f5;} +.g2-mini-progress__value {background-color: #1890ff;border-radius: 1px 0 0 1px;} +.g2-mini-progress__target-item {border-radius: 100px;} +.g2-pie__legend-title {color: rgba(0, 0, 0, 0.85);} +.g2-pie__legend-dot {border-radius: 8px;} +.g2-pie__legend-percent {color: rgba(0, 0, 0, 0.45);} +.g2-pie__total-title {color: rgba(0, 0, 0, 0.45);} +.g2-pie__total-stat {color: rgba(0, 0, 0, 0.85);} +.g2-radar__legend-item {color: rgba(0, 0, 0, 0.45);} +.g2-radar__legend-item::after {background-color: #f0f0f0;} +.g2-radar__legend-title {color: rgba(0, 0, 0, 0.85);} +.g2-radar__legend-dot {border-radius: 6px;} +.g2-water-wave__desc-title {color: rgba(0, 0, 0, 0.45);} +.g2-water-wave__desc-percent {color: rgba(0, 0, 0, 0.85);} +.number-info__title {color: rgba(0, 0, 0, 0.85);} +.number-info__title-sub {color: rgba(0, 0, 0, 0.45);} +.number-info__value-suffix {color: rgba(0, 0, 0, 0.85);} +.number-info__value-text {color: rgba(0, 0, 0, 0.85);} +.number-info__value-sub {color: rgba(0, 0, 0, 0.45);} +.number-info__value-sub .anticon-caret-up {color: #f5222d;} +.number-info__value-sub .anticon-caret-down {color: #52c41a;} +.number-info__light .number-info__value-text {color: rgba(0, 0, 0, 0.85);} +.number-info:not(:first-child)::after {background-color: #f0f0f0;} +.trend__up {color: #f5222d;} +.trend__down {color: #52c41a;} +.trend__grey .trend__up, .trend__grey .trend__down {color: rgba(0, 0, 0, 0.85);} +.trend__reverse .trend__up {color: #52c41a;} +.trend__reverse .trend__down {color: #f5222d;} +.alain-pro__menu-title-badge {background: #1890ff;border-radius: 50%;} +.alain-pro__menu-title-badge > em {color: #fff;} +.alain-pro__main {background-color: #f8f8f8;} +.alain-pro__header {background: #fff;box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);} +.alain-pro__header-item, .alain-pro__header-item-icon {color: rgba(0, 0, 0, 0.65);} +.alain-pro__header-item:hover {background: rgba(0, 0, 0, 0.025);} +.alain-pro__header-item:hover, .alain-pro__header-item:hover .alain-pro__header-item-icon {color: #000;} +.alain-pro__header-search:hover {background: transparent;} +.alain-pro__top-nav {box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);} +.alain-pro__top-nav .alain-pro__menu .ant-menu {border: none;} +.alain-pro__top-nav-logo h1 {color: #fff;} +.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item, .alain-pro__dark .alain-pro__top-nav .alain-pro__header-item-icon {color: rgba(255, 255, 255, 0.65);} +.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover, .alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open {background: #1890ff;} +.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item, .alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item, .alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item-icon, .alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item-icon {color: #fff;} +.alain-pro__light .alain-pro__top-nav {background-color: #fff;} +.alain-pro__light .alain-pro__top-nav h1 {color: #002140;} +.alain-pro__sider {box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35);} +.alain-pro__sider-logo {background: #002140;} +.alain-pro__sider-logo h1 {color: white;} +.alain-pro__light .alain-pro__sider {background-color: #fff;box-shadow: 2px 0 8px 0 rgba(29, 35, 41, 0.05);} +.alain-pro__light .alain-pro__sider-logo {background: #fff;box-shadow: 1px 1px 0 0 #f0f0f0;} +.alain-pro__light .alain-pro__sider-logo h1 {color: #1890ff;} +.alain-pro__light .alain-pro__sider .ant-menu-light {border-right-color: transparent;} +.alain-pro__sider-fixed .alain-pro__side-nav-wrap::-webkit-scrollbar-track {-webkit-box-shadow: inset 0 0 0 transparent;} +.alain-pro__sider-fixed .alain-pro__side-nav-wrap::-webkit-scrollbar-thumb {background-color: transparent;} +.btn-flat {background: transparent !important;border-color: transparent !important;box-shadow: none !important;} +.setting-drawer__blockChecbox-item {border-radius: 2px;} +.setting-drawer__blockChecbox-selectIcon {color: #1890ff;} +.setting-drawer__handle {background: rgba(0, 0, 0, 0.38);} +.alain-pro__header-search-input {background: transparent;border-radius: 0;} +.alain-pro__header-search-input .ant-select-selection {background: transparent;} +.alain-pro__header-search-input input {background: transparent;border: 0;box-shadow: none;} +.alain-pro__header-search-input, .alain-pro__header-search-input:hover, .alain-pro__header-search-input:focus {border-bottom: 1px solid #d9d9d9;} +.alain-pro__header-search-show:hover {background: none !important;} +.alain-pro__dark .alain-pro__top-nav .alain-pro__header-search-show .ant-input {color: #fff;} +.brand-bordered {border: 1px solid rgba(24, 28, 33, 0.06);} +.brand-bordered > [class*='ant-col-']::before {border-top: 1px solid rgba(24, 28, 33, 0.06);} +.brand-bordered > [class*='ant-col-']::after {border-left: 1px solid rgba(24, 28, 33, 0.06);} +.brand-border-width-2 {border-width: 2px !important;} +.dd-btn {color: #bfbfbf;border-radius: 50%;} +.dd-btn:hover {background: #f5f5f5;border: 1px solid #f0f0f0;} +.attachment {border: 1px solid #e8e8e8;} +.attachment-img {background-color: transparent;background-position: center center;background-size: cover;} +.img-thm {background-color: transparent;} +.img-thm__mask {background-color: rgba(0, 0, 0, 0.3);} +.img-thm__icon {color: #fff;} +.quill-editor.ng-dirty.ng-invalid .ql-toolbar, .quill-editor.ng-dirty.ng-invalid .ql-container {border-color: #ff4d4f;} +app-file-manager file-manager {background: #fff;} +.file-manager__header {border-bottom: 2px solid rgba(0, 0, 0, 0.05);} +.file-manager__small .file-item__pixel > span {background: none;} +.file-item {border: 1px solid transparent;} +.file-item:hover {border-color: rgba(0, 0, 0, 0.05);} +.file-item__selected {background-color: #e6f7ff !important;border-color: #1890ff !important;} +.file-item__img {background-color: transparent;background-position: center center;background-size: cover;} +.file-item__name {color: #4e5155;} +.file-item__pixel > span {background: rgba(0, 0, 0, 0.01);} +.ware__imgs-item {border: 1px solid #ccc;} +.ware__imgs-item-del {color: #fff;} +.ware__imgs-item::before {color: #ccc;} +.faq-v1__item-remark {color: #bfbfbf;} +.faq-v1__item-hover {background-color: rgba(0, 0, 0, 0.02);} +.faq-v1__item-hover:hover {background-color: rgba(0, 0, 0, 0.04);} +.faq-v1__item-hover:hover .faq__item-icon, .faq-v1__item-hover:hover .faq__item-title {color: #1890ff;} +.task__container {border-bottom: 1px solid #f0f0f0;} +.task__container:last-child {border-bottom: none;} +.task__title {color: #a3a4a6;} +.task__item {border-top: 1px solid rgba(24, 28, 33, 0.06);} +.task__item:first-child {border-top: none;} +.task__item-handle {color: #bfbfbf;} +.task__item-done {color: #a3a4a6;} +.message__sidebox {background: #f5f5f5;} +.message__tools {border-top: 1px solid #d9d9d9;border-bottom: 1px solid #d9d9d9;} +.message__item {border-top: 1px solid #f0f0f0;} +.message__item:first-child {border-top: none;} +.message__item-subject {color: #595959;} +.message__item-subject:hover {color: #1890ff;} +.message__item-date {color: #bfbfbf;} +.course__img {background-color: transparent;background-position: center center;background-size: cover;border-top-left-radius: 2px;border-top-right-radius: 2px;} +.chat__container {background: #fff;border: 1px solid #f0f0f0;} +.chat__sidebox {box-shadow: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), 12px 0 48px 16px rgba(0, 0, 0, 0.03);} +.chat__contact {color: #4e5155;} +.chat__contact:hover:not(.chat__contact-active) {background-color: rgba(24, 28, 33, 0.03);} +.chat__contact .ant-badge-status-text {color: #52c41a;} +.chat__contact-offline .ant-badge-status-text {color: #f5222d;} +.chat__contact-active {background-color: #e84c64;} +.chat__contact-active, .chat__contact-active .ant-badge-status-text {color: #fff;} +.chat__user-avatar {border-radius: 50%;} +.chat__message-text {color: #bfbfbf;} +.chat__message-time {color: #bfbfbf;} +.chat__message-msg {background: #f5f5f5;border-radius: 4px;} +.fc-antd a {color: inherit;} +.fc-antd th, .fc-antd td, .fc-antd .fc-scrollgrid {border: 1px solid #f0f0f0;} +.fc-antd .fc-col-header-cell {color: rgba(0, 0, 0, 0.85);} +.fc-antd .fc-day.fc-day-today {background: rgba(232, 232, 232, 0.2);} +.fc-antd .fc-event {background: #fff;border: 1px solid #f0f0f0;box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.055);} +.fc-antd .fc-event-title-container::before {background: rgba(0, 0, 0, 0.2);border-radius: 50%;} +.fc-antd .fc-event-title {color: rgba(0, 0, 0, 0.85);} +.fc-antd .fc-event-primary .fc-event-title-container::before {background-color: #1890ff;} +.fc-antd .fc-event-fill-primary {background-color: #1890ff;} +.fc-antd .fc-event-success .fc-event-title-container::before {background-color: #52c41a;} +.fc-antd .fc-event-fill-success {background-color: #52c41a;} +.fc-antd .fc-event-danger .fc-event-title-container::before {background-color: #f5222d;} +.fc-antd .fc-event-fill-danger {background-color: #f5222d;} +.fc-antd .fc-event-warning .fc-event-title-container::before {background-color: #fadb14;} +.fc-antd .fc-event-fill-warning {background-color: #fadb14;} +.fc-antd .fc-event-purple .fc-event-title-container::before {background-color: #722ed1;} +.fc-antd .fc-event-fill-purple {background-color: #722ed1;} +.fc-antd .fc-event-magenta .fc-event-title-container::before {background-color: #eb2f96;} +.fc-antd .fc-event-fill-magenta {background-color: #eb2f96;} +.fc-antd .fc-popover-header {background: #eee;} +.fc-antd .fc-popover-body {background: #fff;} +.pro-passport__langs .anticon {color: #fff !important;} +.pro-passport__bg {background-color: transparent;background-position: center center;background-size: cover;} +.pro-passport__bg-overlay {background: #000;} +.pro-passport__form-title {color: #bfbfbf;} +.quick-chat {background-color: #fff;border: 1px solid #f0f0f0;border-bottom: none;border-radius: 4px 4px 0 0;box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14);} +.quick-chat__bar {border-bottom: 1px solid #f0f0f0;} +.quick-chat__bar--title:hover {background-color: #ffffff;} +.quick-chat__reply {border-top: 1px solid #f0f0f0;} +.quick-chat__reply--ipt {background: transparent;border: none;} +.app-dd__op-btn {color: #fff;background: rgba(0, 0, 0, 0.4);border-radius: 0 0 4px 4px;} +.app-dd__op-btn:hover {background: rgba(0, 0, 0, 0.3);} +.app-dd__item-btn {background: rgba(0, 0, 0, 0.02);} +.app-dd__item-design .app-dd__item-handle {background: rgba(0, 0, 0, 0.1);} +.app-dd__item.cdk-drag-preview {border-radius: 4px;box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);} diff --git a/src/assets/logo-color.svg b/src/assets/logo-color.svg new file mode 100644 index 00000000..8944a812 --- /dev/null +++ b/src/assets/logo-color.svg @@ -0,0 +1,25 @@ + + + +]> + + + + + + + diff --git a/src/assets/logo-full.svg b/src/assets/logo-full.svg new file mode 100644 index 00000000..c7d83185 --- /dev/null +++ b/src/assets/logo-full.svg @@ -0,0 +1,47 @@ + + + +]> + + + + + + + + + + + diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100644 index 00000000..28fa8f6f --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1,25 @@ + + + +]> + + + + + + + diff --git a/src/assets/mocks/app-data.json b/src/assets/mocks/app-data.json new file mode 100644 index 00000000..110f30c5 --- /dev/null +++ b/src/assets/mocks/app-data.json @@ -0,0 +1,6 @@ +{ + "app": { + "name": "SaaS管理后台", + "description": "新供应链 - SaaS管理后台" + } +} diff --git a/src/assets/mocks/menu-data.json b/src/assets/mocks/menu-data.json new file mode 100644 index 00000000..dad1d744 --- /dev/null +++ b/src/assets/mocks/menu-data.json @@ -0,0 +1,22 @@ +{ + "menu": [ + { + "text": "主导航", + "group": true, + "hideInBreadcrumb": true, + "children": [ + { + "text": "DEMO页面", + "icon": "anticon anticon-dashboard", + "link": "/dashboard" + }, + { + "text": "快捷菜单", + "icon": "anticon anticon-rocket", + "shortcutRoot": true, + "children": [] + } + ] + } + ] +} diff --git a/src/assets/mocks/user-data.json b/src/assets/mocks/user-data.json new file mode 100644 index 00000000..7d544ed1 --- /dev/null +++ b/src/assets/mocks/user-data.json @@ -0,0 +1,7 @@ +{ + "user": { + "name": "Admin", + "avatar": "./assets/tmp/img/avatar.jpg", + "email": "cipchk@qq.com" + } +} diff --git a/src/assets/style.compact.css b/src/assets/style.compact.css new file mode 100644 index 00000000..d8c35d3e --- /dev/null +++ b/src/assets/style.compact.css @@ -0,0 +1 @@ +.cdk-overlay-container,body,html{height:100%;width:100%}.ant-alert,body,h1,h2,h3,h4,h5,h6{color:rgba(0,0,0,.85)}a,a:active,a:focus,a:hover{outline:0;text-decoration:none}dl,h1,h2,h3,h4,h5,h6,ol,p,pre,ul{margin-top:0}address,dl,ol,p,pre,ul{margin-bottom:1em}.ant-avatar,img{vertical-align:middle}.ant-btn,[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}.ant-picker-content,table{border-collapse:collapse}pre,textarea{overflow:auto}dd,h1,h2,h3,h4,h5,h6,legend{margin-bottom:.5em}.ant-badge-status,progress,sub,sup{vertical-align:baseline}[ant-click-animating-without-extra-node=true],[ant-click-animating=true],sub,sup{position:relative}.ant-carousel .slick-slider,.cdk-overlay-backdrop,html{-webkit-tap-highlight-color:transparent}.ant-btn:empty,.ant-carousel .slick-list .slick-slide input.ant-checkbox-input,.ant-carousel .slick-list .slick-slide input.ant-radio-input{visibility:hidden}[class*=ant-] input::-ms-clear,[class*=ant-] input::-ms-reveal,[class*=ant-]::-ms-clear,[class^=ant-] input::-ms-clear,[class^=ant-] input::-ms-reveal,[class^=ant-]::-ms-clear{display:none}input::-ms-clear,input::-ms-reveal{display:none}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;--antd-wave-shadow-color:#1890ff;--scroll-bar:0}.ant-pagination-item,body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji'}@-ms-viewport{width:device-width}body{margin:0;font-size:12px;font-variant:tabular-nums;line-height:1.66667;background-color:#fff;font-feature-settings:tnum}[tabindex='-1']:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-weight:500}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{font-style:normal;line-height:inherit}.font-italic,dfn{font-style:italic}input[type=number],input[type=text],input[type=password],textarea{-webkit-appearance:none}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-left:0}blockquote,figure{margin:0 0 1em}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}a{color:#1890ff;background-color:transparent;cursor:pointer;transition:color .3s;-webkit-text-decoration-skip:objects}a:hover{color:#40a9ff}a:active{color:#096dd9}a[disabled]{color:rgba(0,0,0,.25);cursor:not-allowed}code,kbd,pre,samp{font-size:1em;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,Courier,monospace}img{border-style:none}svg:not(:root){overflow:hidden}caption{padding-top:.75em;padding-bottom:.3em;color:rgba(0,0,0,.45);text-align:left;caption-side:bottom}button,input,optgroup,select,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;margin:0;padding:0}legend{display:block;width:100%;max-width:100%;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}.ant-input-number-handler-down-inner,.ant-input-number-handler-up-inner,.ant-select-arrow,.ant-select-multiple .ant-select-selection-item-remove,.anticon{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.clearfix::after,.clearfix::before{display:table;content:''}mark{padding:.2em;background-color:#feffe6}::selection{color:#fff;background:#1890ff}.clearfix::after{clear:both}.anticon,.anticon svg{display:inline-block}.anticon{color:inherit;font-style:normal;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em}.anticon>*{line-height:1}.anticon::before{display:none}.anticon .anticon-icon{display:block}.anticon[tabindex]{cursor:pointer}.anticon-spin,.anticon-spin::before{display:inline-block;animation:loadingCircle 1s infinite linear}.ant-fade-appear,.ant-fade-enter,.ant-fade-leave{animation-timing-function:linear}.ant-fade-appear,.ant-fade-enter,.ant-fade-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-fade-appear.ant-fade-appear-active,.ant-fade-enter.ant-fade-enter-active{animation-name:antFadeIn;animation-play-state:running}.ant-fade-leave.ant-fade-leave-active{animation-name:antFadeOut;animation-play-state:running;pointer-events:none}.ant-fade-appear,.ant-fade-enter{opacity:0}@keyframes antFadeIn{0%{opacity:0}100%{opacity:1}}@keyframes antFadeOut{0%{opacity:1}100%{opacity:0}}.ant-move-up-appear,.ant-move-up-enter,.ant-move-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-up-appear.ant-move-up-appear-active,.ant-move-up-enter.ant-move-up-enter-active{animation-name:antMoveUpIn;animation-play-state:running}.ant-move-up-leave.ant-move-up-leave-active{animation-name:antMoveUpOut;animation-play-state:running;pointer-events:none}.ant-move-up-appear,.ant-move-up-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-up-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-down-appear,.ant-move-down-enter,.ant-move-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-down-appear.ant-move-down-appear-active,.ant-move-down-enter.ant-move-down-enter-active{animation-name:antMoveDownIn;animation-play-state:running}.ant-move-down-leave.ant-move-down-leave-active{animation-name:antMoveDownOut;animation-play-state:running;pointer-events:none}.ant-move-down-appear,.ant-move-down-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-down-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-left-appear,.ant-move-left-enter,.ant-move-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-left-appear.ant-move-left-appear-active,.ant-move-left-enter.ant-move-left-enter-active{animation-name:antMoveLeftIn;animation-play-state:running}.ant-move-left-leave.ant-move-left-leave-active{animation-name:antMoveLeftOut;animation-play-state:running;pointer-events:none}.ant-move-left-appear,.ant-move-left-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-left-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-right-appear,.ant-move-right-enter,.ant-move-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-right-appear.ant-move-right-appear-active,.ant-move-right-enter.ant-move-right-enter-active{animation-name:antMoveRightIn;animation-play-state:running}.ant-move-right-leave.ant-move-right-leave-active{animation-name:antMoveRightOut;animation-play-state:running;pointer-events:none}.ant-move-right-appear,.ant-move-right-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-right-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}@keyframes antMoveDownIn{0%{transform:translateY(100%);transform-origin:0 0;opacity:0}100%{transform:translateY(0);transform-origin:0 0;opacity:1}}@keyframes antMoveDownOut{0%{transform:translateY(0);transform-origin:0 0;opacity:1}100%{transform:translateY(100%);transform-origin:0 0;opacity:0}}@keyframes antMoveLeftIn{0%{transform:translateX(-100%);transform-origin:0 0;opacity:0}100%{transform:translateX(0);transform-origin:0 0;opacity:1}}@keyframes antMoveLeftOut{0%{transform:translateX(0);transform-origin:0 0;opacity:1}100%{transform:translateX(-100%);transform-origin:0 0;opacity:0}}@keyframes antMoveRightIn{0%{transform:translateX(100%);transform-origin:0 0;opacity:0}100%{transform:translateX(0);transform-origin:0 0;opacity:1}}@keyframes antMoveRightOut{0%{transform:translateX(0);transform-origin:0 0;opacity:1}100%{transform:translateX(100%);transform-origin:0 0;opacity:0}}@keyframes antMoveUpIn{0%{transform:translateY(-100%);transform-origin:0 0;opacity:0}100%{transform:translateY(0);transform-origin:0 0;opacity:1}}@keyframes antMoveUpOut{0%{transform:translateY(0);transform-origin:0 0;opacity:1}100%{transform:translateY(-100%);transform-origin:0 0;opacity:0}}@keyframes loadingCircle{100%{transform:rotate(360deg)}}.ant-click-animating-node,[ant-click-animating-without-extra-node=true]::after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;box-shadow:0 0 0 0 #1890ff;box-shadow:0 0 0 0 var(--antd-wave-shadow-color);opacity:.2;animation:fadeEffect 2s cubic-bezier(.08,.82,.17,1),waveEffect .4s cubic-bezier(.08,.82,.17,1);animation-fill-mode:forwards;content:'';pointer-events:none}@keyframes waveEffect{100%{box-shadow:0 0 0 #1890ff;box-shadow:0 0 0 6px var(--antd-wave-shadow-color)}}@keyframes fadeEffect{100%{opacity:0}}.ant-slide-up-appear,.ant-slide-up-enter,.ant-slide-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-up-appear.ant-slide-up-appear-active,.ant-slide-up-enter.ant-slide-up-enter-active{animation-name:antSlideUpIn;animation-play-state:running}.ant-slide-up-leave.ant-slide-up-leave-active{animation-name:antSlideUpOut;animation-play-state:running;pointer-events:none}.ant-slide-up-appear,.ant-slide-up-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-up-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-down-appear,.ant-slide-down-enter,.ant-slide-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-down-appear.ant-slide-down-appear-active,.ant-slide-down-enter.ant-slide-down-enter-active{animation-name:antSlideDownIn;animation-play-state:running}.ant-slide-down-leave.ant-slide-down-leave-active{animation-name:antSlideDownOut;animation-play-state:running;pointer-events:none}.ant-slide-down-appear,.ant-slide-down-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-down-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-left-appear,.ant-slide-left-enter,.ant-slide-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-left-appear.ant-slide-left-appear-active,.ant-slide-left-enter.ant-slide-left-enter-active{animation-name:antSlideLeftIn;animation-play-state:running}.ant-slide-left-leave.ant-slide-left-leave-active{animation-name:antSlideLeftOut;animation-play-state:running;pointer-events:none}.ant-slide-left-appear,.ant-slide-left-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-left-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-right-appear,.ant-slide-right-enter,.ant-slide-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-right-appear.ant-slide-right-appear-active,.ant-slide-right-enter.ant-slide-right-enter-active{animation-name:antSlideRightIn;animation-play-state:running}.ant-slide-right-leave.ant-slide-right-leave-active{animation-name:antSlideRightOut;animation-play-state:running;pointer-events:none}.ant-slide-right-appear,.ant-slide-right-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-right-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@keyframes antSlideUpIn{0%{transform:scaleY(.8);transform-origin:0 0;opacity:0}100%{transform:scaleY(1);transform-origin:0 0;opacity:1}}@keyframes antSlideUpOut{0%{transform:scaleY(1);transform-origin:0 0;opacity:1}100%{transform:scaleY(.8);transform-origin:0 0;opacity:0}}@keyframes antSlideDownIn{0%{transform:scaleY(.8);transform-origin:100% 100%;opacity:0}100%{transform:scaleY(1);transform-origin:100% 100%;opacity:1}}@keyframes antSlideDownOut{0%{transform:scaleY(1);transform-origin:100% 100%;opacity:1}100%{transform:scaleY(.8);transform-origin:100% 100%;opacity:0}}@keyframes antSlideLeftIn{0%{transform:scaleX(.8);transform-origin:0 0;opacity:0}100%{transform:scaleX(1);transform-origin:0 0;opacity:1}}@keyframes antSlideLeftOut{0%{transform:scaleX(1);transform-origin:0 0;opacity:1}100%{transform:scaleX(.8);transform-origin:0 0;opacity:0}}@keyframes antSlideRightIn{0%{transform:scaleX(.8);transform-origin:100% 0;opacity:0}100%{transform:scaleX(1);transform-origin:100% 0;opacity:1}}@keyframes antSlideRightOut{0%{transform:scaleX(1);transform-origin:100% 0;opacity:1}100%{transform:scaleX(.8);transform-origin:100% 0;opacity:0}}.ant-zoom-appear,.ant-zoom-enter,.ant-zoom-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-appear.ant-zoom-appear-active,.ant-zoom-enter.ant-zoom-enter-active{animation-name:antZoomIn;animation-play-state:running}.ant-zoom-leave.ant-zoom-leave-active{animation-name:antZoomOut;animation-play-state:running;pointer-events:none}.ant-zoom-appear,.ant-zoom-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-appear-prepare,.ant-zoom-enter-prepare{transform:none}.ant-zoom-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-big-appear,.ant-zoom-big-enter,.ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-big-appear.ant-zoom-big-appear-active,.ant-zoom-big-enter.ant-zoom-big-enter-active{animation-name:antZoomBigIn;animation-play-state:running}.ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none}.ant-zoom-big-appear,.ant-zoom-big-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-big-appear-prepare,.ant-zoom-big-enter-prepare{transform:none}.ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-big-fast-appear,.ant-zoom-big-fast-enter,.ant-zoom-big-fast-leave{animation-duration:.1s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active,.ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active{animation-name:antZoomBigIn;animation-play-state:running}.ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none}.ant-zoom-big-fast-appear,.ant-zoom-big-fast-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-big-fast-appear-prepare,.ant-zoom-big-fast-enter-prepare{transform:none}.ant-zoom-big-fast-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-up-appear,.ant-zoom-up-enter,.ant-zoom-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-up-appear.ant-zoom-up-appear-active,.ant-zoom-up-enter.ant-zoom-up-enter-active{animation-name:antZoomUpIn;animation-play-state:running}.ant-zoom-up-leave.ant-zoom-up-leave-active{animation-name:antZoomUpOut;animation-play-state:running;pointer-events:none}.ant-zoom-up-appear,.ant-zoom-up-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-up-appear-prepare,.ant-zoom-up-enter-prepare{transform:none}.ant-zoom-up-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-down-appear,.ant-zoom-down-enter,.ant-zoom-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-down-appear.ant-zoom-down-appear-active,.ant-zoom-down-enter.ant-zoom-down-enter-active{animation-name:antZoomDownIn;animation-play-state:running}.ant-zoom-down-leave.ant-zoom-down-leave-active{animation-name:antZoomDownOut;animation-play-state:running;pointer-events:none}.ant-zoom-down-appear,.ant-zoom-down-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-down-appear-prepare,.ant-zoom-down-enter-prepare{transform:none}.ant-zoom-down-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-left-appear,.ant-zoom-left-enter,.ant-zoom-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-left-appear.ant-zoom-left-appear-active,.ant-zoom-left-enter.ant-zoom-left-enter-active{animation-name:antZoomLeftIn;animation-play-state:running}.ant-zoom-left-leave.ant-zoom-left-leave-active{animation-name:antZoomLeftOut;animation-play-state:running;pointer-events:none}.ant-zoom-left-appear,.ant-zoom-left-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-left-appear-prepare,.ant-zoom-left-enter-prepare{transform:none}.ant-zoom-left-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-right-appear,.ant-zoom-right-enter,.ant-zoom-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-right-appear.ant-zoom-right-appear-active,.ant-zoom-right-enter.ant-zoom-right-enter-active{animation-name:antZoomRightIn;animation-play-state:running}.ant-zoom-right-leave.ant-zoom-right-leave-active{animation-name:antZoomRightOut;animation-play-state:running;pointer-events:none}.ant-zoom-right-appear,.ant-zoom-right-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-right-appear-prepare,.ant-zoom-right-enter-prepare{transform:none}.ant-zoom-right-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}@keyframes antZoomIn{0%{transform:scale(.2);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes antZoomOut{0%{transform:scale(1)}100%{transform:scale(.2);opacity:0}}@keyframes antZoomBigIn{0%{transform:scale(.8);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes antZoomBigOut{0%{transform:scale(1)}100%{transform:scale(.8);opacity:0}}@keyframes antZoomUpIn{0%{transform:scale(.8);transform-origin:50% 0;opacity:0}100%{transform:scale(1);transform-origin:50% 0}}@keyframes antZoomUpOut{0%{transform:scale(1);transform-origin:50% 0}100%{transform:scale(.8);transform-origin:50% 0;opacity:0}}@keyframes antZoomLeftIn{0%{transform:scale(.8);transform-origin:0 50%;opacity:0}100%{transform:scale(1);transform-origin:0 50%}}@keyframes antZoomLeftOut{0%{transform:scale(1);transform-origin:0 50%}100%{transform:scale(.8);transform-origin:0 50%;opacity:0}}@keyframes antZoomRightIn{0%{transform:scale(.8);transform-origin:100% 50%;opacity:0}100%{transform:scale(1);transform-origin:100% 50%}}@keyframes antZoomRightOut{0%{transform:scale(1);transform-origin:100% 50%}100%{transform:scale(.8);transform-origin:100% 50%;opacity:0}}@keyframes antZoomDownIn{0%{transform:scale(.8);transform-origin:50% 100%;opacity:0}100%{transform:scale(1);transform-origin:50% 100%}}@keyframes antZoomDownOut{0%{transform:scale(1);transform-origin:50% 100%}100%{transform:scale(.8);transform-origin:50% 100%;opacity:0}}.ant-motion-collapse-legacy{overflow:hidden}.ant-motion-collapse-legacy-active{transition:height .2s cubic-bezier(.645,.045,.355,1),opacity .2s cubic-bezier(.645,.045,.355,1)!important}.ant-motion-collapse{overflow:hidden;transition:height .2s cubic-bezier(.645,.045,.355,1),opacity .2s cubic-bezier(.645,.045,.355,1)!important}.cdk-overlay-container{pointer-events:none;top:0;left:0;position:fixed;z-index:1000}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-overlay-backdrop{top:0;bottom:0;left:0;right:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0;position:absolute;pointer-events:auto;z-index:1000}.cdk-overlay-backdrop.ant-modal-mask{opacity:1}.cdk-overlay-pane{position:absolute;pointer-events:auto;z-index:1000}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-global-scrollblock body{overflow-x:visible}.nz-overlay-transparent-backdrop,.nz-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.nz-animate-disabled.ant-drawer.ant-drawer-open .ant-drawer-mask,.nz-animate-disabled.ant-scroll-number-only{animation:none;transition:none}.nz-animate-disabled.ant-drawer>*{transition:none}.nz-animate-disabled .ant-modal,.nz-animate-disabled .ant-modal-mask,.nz-animate-disabled .ant-modal-mask.zoom-enter,.nz-animate-disabled .ant-modal-mask.zoom-enter-active,.nz-animate-disabled .ant-modal-mask.zoom-leave,.nz-animate-disabled .ant-modal-mask.zoom-leave-active,.nz-animate-disabled .ant-modal.zoom-enter,.nz-animate-disabled .ant-modal.zoom-enter-active,.nz-animate-disabled .ant-modal.zoom-leave,.nz-animate-disabled .ant-modal.zoom-leave-active{animation:none;transition:none}.nz-animate-disabled.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg,.nz-animate-disabled.ant-menu,.nz-animate-disabled.ant-menu .ant-menu-item,.nz-animate-disabled.ant-menu .ant-menu-item .anticon,.nz-animate-disabled.ant-menu .ant-menu-item .anticon+span,.nz-animate-disabled.ant-menu .ant-menu-submenu-title,.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon,.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon+span,.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content.ant-tabs-content-animated,.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content>.ant-tabs-tabpane,.nz-animate-disabled.ant-tabs .ant-tabs-top-content.ant-tabs-content-animated,.nz-animate-disabled.ant-tabs .ant-tabs-top-content>.ant-tabs-tabpane,.nz-animate-disabled.ant-tabs.ant-tabs-bottom .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-left .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-right .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-top .ant-tabs-ink-bar-animated{transition:none}.ant-affix{position:fixed;z-index:10}.ant-alert,.ant-anchor{position:relative;list-style:none}nz-affix{display:block}.ant-alert{box-sizing:border-box;margin:0;font-size:12px;font-variant:tabular-nums;line-height:1.66667;font-feature-settings:tnum;display:flex;align-items:center;padding:8px 15px;word-wrap:break-word;border-radius:2px}.ant-alert-content{flex:1;min-width:0}.ant-alert-icon{margin-right:4px}.ant-alert-description{display:none;font-size:12px;line-height:20px}.ant-alert-success{background-color:#f6ffed;border:1px solid #b7eb8f}.ant-alert-success .ant-alert-icon{color:#52c41a}.ant-alert-info{background-color:#e6f7ff;border:1px solid #91d5ff}.ant-alert-info .ant-alert-icon{color:#1890ff}.ant-alert-warning{background-color:#fffbe6;border:1px solid #ffe58f}.ant-alert-warning .ant-alert-icon{color:#faad14}.ant-alert-error{background-color:#fff2f0;border:1px solid #ffccc7}.ant-alert-error .ant-alert-icon{color:#ff4d4f}.ant-alert-error .ant-alert-description>pre{margin:0;padding:0}.ant-alert-action{margin-left:4px}.ant-alert-close-icon{margin-left:4px;padding:0;overflow:hidden;font-size:12px;line-height:12px;background-color:transparent;border:none;outline:0;cursor:pointer}.ant-alert-close-icon .anticon-close{color:rgba(0,0,0,.45);transition:color .3s}.ant-alert-close-icon .anticon-close:hover{color:rgba(0,0,0,.75)}.ant-alert-close-text{color:rgba(0,0,0,.45);transition:color .3s}.ant-alert-close-text:hover{color:rgba(0,0,0,.75)}.ant-alert-with-description{align-items:flex-start;padding:11px 15px 7px 20px}.ant-alert-with-description.ant-alert-no-icon{padding:7px 15px}.ant-alert-with-description .ant-alert-icon{margin-right:11px;font-size:20px}.ant-alert-with-description .ant-alert-message{display:block;margin-bottom:4px;color:rgba(0,0,0,.85);font-size:14px}.ant-anchor,.ant-avatar{font-size:12px;font-variant:tabular-nums;font-feature-settings:tnum;box-sizing:border-box}.ant-alert-message{color:rgba(0,0,0,.85)}.ant-alert-with-description .ant-alert-description{display:block}.ant-alert.ant-alert-motion-leave{overflow:hidden;opacity:1;transition:max-height .3s cubic-bezier(.78,.14,.15,.86),opacity .3s cubic-bezier(.78,.14,.15,.86),padding-top .3s cubic-bezier(.78,.14,.15,.86),padding-bottom .3s cubic-bezier(.78,.14,.15,.86),margin-bottom .3s cubic-bezier(.78,.14,.15,.86)}.ant-alert.ant-alert-motion-leave-active{max-height:0;margin-bottom:0!important;padding-top:0;padding-bottom:0;opacity:0}.ant-alert-banner{margin-bottom:0;border:0;border-radius:0}.ant-alert.ant-alert-rtl{direction:rtl}.ant-alert-rtl.ant-alert.ant-alert-no-icon{padding:4px 15px}.ant-alert-rtl .ant-alert-icon{margin-right:auto;margin-left:4px}.ant-alert-rtl .ant-alert-action,.ant-alert-rtl .ant-alert-close-icon{margin-right:4px;margin-left:auto}.ant-alert-rtl.ant-alert-with-description .ant-alert-icon{margin-right:auto;margin-left:11px}nz-alert{display:block}.ant-anchor{margin:0;padding:0 0 0 2px;color:rgba(0,0,0,.85);line-height:1.66667}.ant-anchor-wrapper{margin-left:-4px;padding-left:4px;overflow:auto;background-color:transparent}.ant-anchor-ink{position:absolute;top:0;left:0;height:100%}.ant-anchor-ink::before{position:relative;display:block;width:2px;height:100%;margin:0 auto;background-color:#f0f0f0;content:' '}.ant-anchor-ink-ball{position:absolute;left:50%;display:none;width:8px;height:8px;background-color:#fff;border:2px solid #1890ff;border-radius:8px;transform:translateX(-50%);transition:top .3s ease-in-out}.ant-anchor-ink-ball.visible{display:inline-block}.ant-anchor.fixed .ant-anchor-ink .ant-anchor-ink-ball{display:none}.ant-anchor-link{padding:4px 0 4px 16px;line-height:1.143}.ant-anchor-link-title{position:relative;display:block;margin-bottom:6px;overflow:hidden;color:rgba(0,0,0,.85);white-space:nowrap;text-overflow:ellipsis;transition:all .3s}.ant-anchor-link-title:only-child{margin-bottom:0}.ant-anchor-link-active>.ant-anchor-link-title{color:#1890ff}.ant-anchor-link .ant-anchor-link{padding-top:5px;padding-bottom:5px}.ant-anchor-rtl{direction:rtl}.ant-anchor-rtl.ant-anchor-wrapper{margin-right:-4px;margin-left:0;padding-right:4px;padding-left:0}.ant-avatar,.ant-avatar-lg.ant-avatar-icon>.anticon,.ant-avatar-sm.ant-avatar-icon>.anticon,.ant-avatar.ant-avatar-icon>.anticon{margin:0}.ant-anchor-rtl .ant-anchor-ink{right:0;left:auto}.ant-anchor-rtl .ant-anchor-ink-ball{right:50%;left:0;transform:translateX(50%)}.ant-anchor-rtl .ant-anchor-link{padding:4px 16px 4px 0}nz-link{display:block}.ant-avatar{padding:0;list-style:none;position:relative;display:inline-block;overflow:hidden;color:#fff;white-space:nowrap;text-align:center;background:#ccc;width:28px;height:28px;line-height:28px;border-radius:50%}.ant-avatar-lg-string,.ant-avatar-sm-string,.ant-avatar-string{position:absolute;left:50%;transform-origin:0 center}.ant-avatar-image{background:0 0}.ant-avatar .ant-image-img{display:block}.ant-avatar.ant-avatar-icon{font-size:16px}.ant-avatar-lg.ant-avatar-icon,.ant-spin-dot{font-size:20px}.ant-avatar-lg{width:32px;height:32px;line-height:32px;border-radius:50%}.ant-avatar-sm.ant-avatar-icon,.ant-back-top{font-size:12px}.ant-avatar-sm{width:22px;height:22px;line-height:22px;border-radius:50%}.ant-avatar-square{border-radius:2px}.ant-avatar>img{display:block;width:100%;height:100%;object-fit:cover}.ant-avatar-group,.ant-btn-group{display:inline-flex}.ant-avatar-group .ant-avatar{border:1px solid #fff}.ant-avatar-group .ant-avatar:not(:first-child){margin-left:-8px}.ant-avatar-group-popover .ant-avatar+.ant-avatar{margin-left:3px}.ant-avatar-group-rtl .ant-avatar:not(:first-child){margin-right:-8px;margin-left:0}.ant-avatar-group-popover.ant-popover-rtl .ant-avatar+.ant-avatar{margin-right:3px;margin-left:0}.ant-back-top,.ant-badge{margin:0;padding:0;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-back-top{box-sizing:border-box;color:rgba(0,0,0,.85);line-height:1.66667;position:fixed;right:100px;bottom:50px;z-index:10;width:40px;height:40px;cursor:pointer}.ant-back-top:empty{display:none}.ant-back-top-rtl{right:auto;left:100px;direction:rtl}.ant-back-top-content{width:40px;height:40px;overflow:hidden;color:#fff;text-align:center;background-color:rgba(0,0,0,.45);border-radius:20px;transition:all .3s}.ant-back-top-content:hover{background-color:rgba(0,0,0,.85);transition:all .3s}.ant-badge-count,.ant-badge-dot{background:#ff4d4f;box-shadow:0 0 0 1px #fff}.ant-back-top-icon{font-size:24px;line-height:40px}@media screen and (max-width:768px){.ant-back-top{right:60px}}@media screen and (max-width:480px){.ant-back-top{right:20px}}.ant-badge{box-sizing:border-box;color:rgba(0,0,0,.85);font-size:12px;position:relative;display:inline-block;line-height:1}.ant-badge-count{z-index:auto;min-width:18px;height:18px;padding:0 6px;color:#fff;font-weight:400;font-size:12px;line-height:18px;white-space:nowrap;text-align:center;border-radius:9px}.ant-badge-count a,.ant-badge-count a:hover{color:#fff}.ant-badge-count-sm{min-width:14px;height:14px;padding:0;font-size:12px;line-height:14px;border-radius:7px}.ant-badge-multiple-words,.ant-ribbon{padding:0 8px}.ant-badge-dot,.ant-spin-dot-item,.g2-card__avatar img{border-radius:100%}.ant-badge-dot{z-index:auto;width:6px;min-width:6px;height:6px}.ant-badge .ant-scroll-number-custom-component,.ant-badge-count,.ant-badge-dot{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0}.ant-badge .ant-scroll-number-custom-component.anticon-spin,.ant-badge-count.anticon-spin,.ant-badge-dot.anticon-spin{animation:antBadgeLoadingCircle 1s infinite linear}.ant-badge-status{line-height:inherit}.ant-badge-not-a-wrapper:not(.ant-badge-status),.ant-badge-status-dot{vertical-align:middle}.ant-badge-status-dot{position:relative;top:-1px;display:inline-block;width:6px;height:6px;border-radius:50%}.ant-badge-status-success{background-color:#52c41a}.ant-badge-status-processing{position:relative;background-color:#1890ff}.ant-badge-status-processing::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:50%;animation:antStatusProcessing 1.2s infinite ease-in-out;content:''}.ant-badge-status-default{background-color:#d9d9d9}.ant-badge-status-error{background-color:#ff4d4f}.ant-badge-status-warning{background-color:#faad14}.ant-badge-status-magenta,.ant-badge-status-pink{background:#eb2f96}.ant-badge-status-red{background:#f5222d}.ant-badge-status-volcano{background:#fa541c}.ant-badge-status-orange{background:#fa8c16}.ant-badge-status-yellow{background:#fadb14}.ant-badge-status-gold{background:#faad14}.ant-badge-status-cyan{background:#13c2c2}.ant-badge-status-lime{background:#a0d911}.ant-badge-status-green{background:#52c41a}.ant-badge-status-blue{background:#1890ff}.ant-badge-status-geekblue{background:#2f54eb}.ant-badge-status-purple{background:#722ed1}.ant-badge-status-text{margin-left:8px;color:rgba(0,0,0,.85);font-size:12px}.ant-badge-zoom-appear,.ant-badge-zoom-enter{animation:antZoomBadgeIn .3s cubic-bezier(.12,.4,.29,1.46);animation-fill-mode:both}.ant-badge-zoom-leave{animation:antZoomBadgeOut .3s cubic-bezier(.71,-.46,.88,.6);animation-fill-mode:both}.ant-badge-not-a-wrapper .ant-badge-zoom-appear,.ant-badge-not-a-wrapper .ant-badge-zoom-enter{animation:antNoWrapperZoomBadgeIn .3s cubic-bezier(.12,.4,.29,1.46)}.ant-badge-not-a-wrapper .ant-badge-zoom-leave{animation:antNoWrapperZoomBadgeOut .3s cubic-bezier(.71,-.46,.88,.6)}.ant-badge-not-a-wrapper .ant-scroll-number-custom-component{transform:none}.ant-badge-not-a-wrapper .ant-scroll-number,.ant-badge-not-a-wrapper .ant-scroll-number-custom-component{position:relative;top:auto;display:block;transform-origin:50% 50%}@keyframes antStatusProcessing{0%{transform:scale(.8);opacity:.5}100%{transform:scale(2.4);opacity:0}}.ant-scroll-number-only,.ant-scroll-number-only>p.ant-scroll-number-only-unit{-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden;height:18px}.ant-scroll-number{overflow:hidden}.ant-scroll-number-only{position:relative;display:inline-block;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-scroll-number-only>p.ant-scroll-number-only-unit{margin:0}.ant-scroll-number-symbol{vertical-align:top}@keyframes antZoomBadgeIn{0%{transform:scale(0) translate(50%,-50%);opacity:0}100%{transform:scale(1) translate(50%,-50%)}}@keyframes antZoomBadgeOut{0%{transform:scale(1) translate(50%,-50%)}100%{transform:scale(0) translate(50%,-50%);opacity:0}}@keyframes antNoWrapperZoomBadgeIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1)}}@keyframes antNoWrapperZoomBadgeOut{0%{transform:scale(1)}100%{transform:scale(0);opacity:0}}@keyframes antBadgeLoadingCircle{0%{transform-origin:50%}100%{transform:translate(50%,-50%) rotate(360deg);transform-origin:50%}}.ant-ribbon-wrapper{position:relative}.ant-ribbon{box-sizing:border-box;margin:0;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:absolute;top:8px;height:22px;color:#fff;line-height:22px;white-space:nowrap;background-color:#1890ff;border-radius:2px}.ant-breadcrumb,.ant-btn{line-height:1.66667;font-size:12px}.ant-ribbon-text{color:#fff}.ant-ribbon-corner{position:absolute;top:100%;width:8px;height:8px;color:currentColor;border:4px solid;transform:scaleY(.75);transform-origin:top}.ant-ribbon-corner::after{position:absolute;top:-4px;left:-4px;width:inherit;height:inherit;color:rgba(0,0,0,.25);border:inherit;content:''}.ant-ribbon-color-magenta,.ant-ribbon-color-pink{color:#eb2f96;background:#eb2f96}.ant-ribbon-color-red{color:#f5222d;background:#f5222d}.ant-ribbon-color-volcano{color:#fa541c;background:#fa541c}.ant-ribbon-color-orange{color:#fa8c16;background:#fa8c16}.ant-ribbon-color-yellow{color:#fadb14;background:#fadb14}.ant-ribbon-color-gold{color:#faad14;background:#faad14}.ant-ribbon-color-cyan{color:#13c2c2;background:#13c2c2}.ant-ribbon-color-lime{color:#a0d911;background:#a0d911}.ant-ribbon-color-green{color:#52c41a;background:#52c41a}.ant-ribbon-color-blue{color:#1890ff;background:#1890ff}.ant-ribbon-color-geekblue{color:#2f54eb;background:#2f54eb}.ant-ribbon-color-purple{color:#722ed1;background:#722ed1}.ant-ribbon.ant-ribbon-placement-end{right:-8px;border-bottom-right-radius:0}.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner{right:0;border-color:currentColor transparent transparent currentColor}.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner,.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner::after,.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner{border-color:currentColor currentColor transparent transparent}.ant-ribbon.ant-ribbon-placement-start{left:-8px;border-bottom-left-radius:0}.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner{left:0}.ant-badge-rtl{direction:rtl}.ant-badge-rtl .ant-badge .ant-scroll-number-custom-component,.ant-badge-rtl .ant-badge-count,.ant-badge-rtl .ant-badge-dot{right:auto;left:0;direction:ltr;transform:translate(-50%,-50%);transform-origin:0 0}.ant-breadcrumb-rtl,.ant-btn-group.ant-btn-group-rtl,.ant-btn-rtl,.ant-card-rtl,.ant-carousel-rtl,.ant-checkbox-rtl,.ant-collapse-rtl,.ant-comment-rtl,.ant-picker-dropdown-rtl .ant-picker-footer-extra,.ant-picker-input>input-rtl,.ant-picker-panel-rtl,.ant-picker-rtl,.ant-ribbon-rtl{direction:rtl}.ant-badge-rtl.ant-badge .ant-scroll-number-custom-component{right:auto;left:0;transform:translate(-50%,-50%);transform-origin:0 0}.ant-badge-rtl .ant-badge-status-text{margin-right:8px;margin-left:0}.ant-badge-rtl .ant-badge-zoom-appear,.ant-badge-rtl .ant-badge-zoom-enter{animation-name:antZoomBadgeInRtl}.ant-badge-rtl .ant-badge-zoom-leave{animation-name:antZoomBadgeOutRtl}.ant-badge-not-a-wrapper .ant-badge-count{transform:none}.ant-ribbon-rtl.ant-ribbon-placement-end{right:unset;left:-8px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner{right:unset;left:0}.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner,.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner::after{border-color:currentColor transparent transparent currentColor}.ant-ribbon-rtl.ant-ribbon-placement-start{right:-8px;left:unset;border-bottom-right-radius:0;border-bottom-left-radius:2px}.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner{right:0;left:unset}@keyframes antZoomBadgeInRtl{0%{transform:scale(0) translate(-50%,-50%);opacity:0}100%{transform:scale(1) translate(-50%,-50%)}}@keyframes antZoomBadgeOutRtl{0%{transform:scale(1) translate(-50%,-50%)}100%{transform:scale(0) translate(-50%,-50%);opacity:0}}.ant-badge .ant-scroll-number:only-child{position:relative;top:auto;display:block}.ant-badge .ant-badge-count:only-child{transform:none}nz-ribbon{display:block}.ant-breadcrumb{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;color:rgba(0,0,0,.45)}.ant-breadcrumb .anticon{font-size:12px}.ant-breadcrumb a{color:rgba(0,0,0,.45);transition:color .3s}.ant-breadcrumb a:hover{color:#40a9ff}.ant-breadcrumb>span:last-child,.ant-breadcrumb>span:last-child a{color:rgba(0,0,0,.85)}.ant-breadcrumb>span:last-child .ant-breadcrumb-separator{display:none}.ant-breadcrumb-rtl::after,.ant-breadcrumb-rtl::before{display:table;content:''}.ant-breadcrumb-separator{margin:0 4px;color:rgba(0,0,0,.45)}.ant-breadcrumb>nz-breadcrumb-item:last-child,.ant-breadcrumb>nz-breadcrumb-item:last-child a,.ant-btn{color:rgba(0,0,0,.85)}.ant-breadcrumb-link>.anticon+a,.ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-overlay-link>.anticon{margin-left:4px}.ant-breadcrumb-rtl::after{clear:both}.ant-breadcrumb-rtl>span{float:right}.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+a,.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-rtl .ant-breadcrumb-overlay-link>.anticon{margin-right:4px;margin-left:0}.ant-breadcrumb-link .anticon+span{margin-left:4px}.ant-breadcrumb-rtl>nz-breadcrumb-item{float:right}nz-breadcrumb{display:block}nz-breadcrumb-item:last-child .ant-breadcrumb-separator{display:none}.ant-btn,.ant-btn>span{display:inline-block}.ant-btn{position:relative;font-weight:400;white-space:nowrap;text-align:center;border:1px solid #d9d9d9;box-shadow:0 2px 0 rgba(0,0,0,.015);cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1);user-select:none;height:28px;padding:3px 11px;border-radius:2px;background:#fff}.ant-btn:active>a:only-child::after,.ant-btn:focus>a:only-child::after,.ant-btn:hover>a:only-child::after,.ant-btn>a:only-child::after{background:0 0;top:0;right:0;bottom:0;left:0;position:absolute;content:''}.ant-btn>.anticon{line-height:1}.ant-btn,.ant-btn:active,.ant-btn:focus{outline:0}.ant-btn:not([disabled]):hover{text-decoration:none}.ant-btn:not([disabled]):active{outline:0;box-shadow:none}.ant-btn[disabled]{cursor:not-allowed}.ant-btn[disabled]>*{pointer-events:none}.ant-btn-lg{height:32px;padding:3.3px 11px;font-size:14px;border-radius:2px}.ant-btn-sm{height:22px;padding:0 7px;font-size:12px;border-radius:2px}.ant-btn>a:only-child{color:currentColor}.ant-btn:focus,.ant-btn:hover{color:#40a9ff;border-color:#40a9ff}.ant-btn:focus>a:only-child,.ant-btn:hover>a:only-child{color:currentColor}.ant-btn:active{color:#096dd9;border-color:#096dd9}.ant-btn:active>a:only-child{color:currentColor}.ant-btn[disabled],.ant-btn[disabled]:active,.ant-btn[disabled]:focus,.ant-btn[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn[disabled]:active>a:only-child,.ant-btn[disabled]:focus>a:only-child,.ant-btn[disabled]:hover>a:only-child,.ant-btn[disabled]>a:only-child{color:currentColor}.ant-btn[disabled]:active>a:only-child::after,.ant-btn[disabled]:focus>a:only-child::after,.ant-btn[disabled]:hover>a:only-child::after,.ant-btn[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn:active,.ant-btn:focus,.ant-btn:hover{text-decoration:none;background:#fff}.ant-btn-primary{color:#fff;background:#1890ff;border-color:#1890ff;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary:focus,.ant-btn-primary:hover{color:#fff;background:#40a9ff;border-color:#40a9ff}.ant-btn-primary:focus>a:only-child,.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-primary:focus>a:only-child::after,.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary:active{color:#fff;background:#096dd9;border-color:#096dd9}.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary[disabled],.ant-btn-primary[disabled]:active,.ant-btn-primary[disabled]:focus,.ant-btn-primary[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child){border-right-color:#40a9ff;border-left-color:#40a9ff}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled{border-color:#d9d9d9}.ant-btn-group .ant-btn-primary:first-child:not(:last-child){border-right-color:#40a9ff}.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled]{border-right-color:#d9d9d9}.ant-btn-group .ant-btn-primary+.ant-btn-primary,.ant-btn-group .ant-btn-primary:last-child:not(:first-child){border-left-color:#40a9ff}.ant-btn-group .ant-btn-primary+.ant-btn-primary[disabled],.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled]{border-left-color:#d9d9d9}.ant-btn-ghost{color:rgba(0,0,0,.85);background:0 0;border-color:#d9d9d9}.ant-btn-ghost>a:only-child{color:currentColor}.ant-btn-ghost>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost:focus,.ant-btn-ghost:hover{color:#40a9ff;background:0 0;border-color:#40a9ff}.ant-btn-ghost:focus>a:only-child,.ant-btn-ghost:hover>a:only-child{color:currentColor}.ant-btn-ghost:focus>a:only-child::after,.ant-btn-ghost:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost:active{color:#096dd9;background:0 0;border-color:#096dd9}.ant-btn-ghost:active>a:only-child{color:currentColor}.ant-btn-ghost:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost[disabled],.ant-btn-ghost[disabled]:active,.ant-btn-ghost[disabled]:focus,.ant-btn-ghost[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-ghost[disabled]:active>a:only-child,.ant-btn-ghost[disabled]:focus>a:only-child,.ant-btn-ghost[disabled]:hover>a:only-child,.ant-btn-ghost[disabled]>a:only-child{color:currentColor}.ant-btn-ghost[disabled]:active>a:only-child::after,.ant-btn-ghost[disabled]:focus>a:only-child::after,.ant-btn-ghost[disabled]:hover>a:only-child::after,.ant-btn-ghost[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed{color:rgba(0,0,0,.85);background:#fff;border-color:#d9d9d9;border-style:dashed}.ant-btn-dashed>a:only-child{color:currentColor}.ant-btn-dashed>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed:focus,.ant-btn-dashed:hover{color:#40a9ff;background:#fff;border-color:#40a9ff}.ant-btn-dashed:focus>a:only-child,.ant-btn-dashed:hover>a:only-child{color:currentColor}.ant-btn-dashed:focus>a:only-child::after,.ant-btn-dashed:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed:active{color:#096dd9;background:#fff;border-color:#096dd9}.ant-btn-dashed:active>a:only-child{color:currentColor}.ant-btn-dashed:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed[disabled],.ant-btn-dashed[disabled]:active,.ant-btn-dashed[disabled]:focus,.ant-btn-dashed[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-dashed[disabled]:active>a:only-child,.ant-btn-dashed[disabled]:focus>a:only-child,.ant-btn-dashed[disabled]:hover>a:only-child,.ant-btn-dashed[disabled]>a:only-child{color:currentColor}.ant-btn-dashed[disabled]:active>a:only-child::after,.ant-btn-dashed[disabled]:focus>a:only-child::after,.ant-btn-dashed[disabled]:hover>a:only-child::after,.ant-btn-dashed[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger{color:#fff;background:#ff4d4f;border-color:#ff4d4f;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-danger>a:only-child{color:currentColor}.ant-btn-danger>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger:focus,.ant-btn-danger:hover{color:#fff;background:#ff7875;border-color:#ff7875}.ant-btn-danger:focus>a:only-child,.ant-btn-danger:hover>a:only-child{color:currentColor}.ant-btn-danger:focus>a:only-child::after,.ant-btn-danger:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger:active{color:#fff;background:#d9363e;border-color:#d9363e}.ant-btn-danger:active>a:only-child{color:currentColor}.ant-btn-danger:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger[disabled],.ant-btn-danger[disabled]:active,.ant-btn-danger[disabled]:focus,.ant-btn-danger[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-danger[disabled]:active>a:only-child,.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-danger[disabled]>a:only-child{color:currentColor}.ant-btn-danger[disabled]:active>a:only-child::after,.ant-btn-danger[disabled]:focus>a:only-child::after,.ant-btn-danger[disabled]:hover>a:only-child::after,.ant-btn-danger[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link{color:#1890ff;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-link>a:only-child{color:currentColor}.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:focus,.ant-btn-link:hover{color:#40a9ff;background:0 0;border-color:#40a9ff}.ant-btn-link:focus>a:only-child,.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-link:focus>a:only-child::after,.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:active{color:#096dd9;background:0 0}.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:hover{background:0 0}.ant-btn-link:active,.ant-btn-link:focus,.ant-btn-link:hover{border-color:transparent}.ant-btn-link[disabled],.ant-btn-link[disabled]:active,.ant-btn-link[disabled]:focus,.ant-btn-link[disabled]:hover{color:rgba(0,0,0,.25);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-link[disabled]:active>a:only-child,.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text{color:rgba(0,0,0,.85);background:0 0;border-color:transparent;box-shadow:none}.ant-btn-text>a:only-child{color:currentColor}.ant-btn-text>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:focus,.ant-btn-text:hover{color:#40a9ff}.ant-btn-text:focus>a:only-child,.ant-btn-text:hover>a:only-child{color:currentColor}.ant-btn-text:focus>a:only-child::after,.ant-btn-text:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:active{color:#096dd9}.ant-btn-text:active>a:only-child{color:currentColor}.ant-btn-text:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:focus,.ant-btn-text:hover{color:rgba(0,0,0,.85);background:rgba(0,0,0,.018);border-color:transparent}.ant-btn-text:active{color:rgba(0,0,0,.85);background:rgba(0,0,0,.028);border-color:transparent}.ant-btn-text[disabled],.ant-btn-text[disabled]:active,.ant-btn-text[disabled]:focus,.ant-btn-text[disabled]:hover{color:rgba(0,0,0,.25);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-text[disabled]:active>a:only-child,.ant-btn-text[disabled]:focus>a:only-child,.ant-btn-text[disabled]:hover>a:only-child,.ant-btn-text[disabled]>a:only-child{color:currentColor}.ant-btn-text[disabled]:active>a:only-child::after,.ant-btn-text[disabled]:focus>a:only-child::after,.ant-btn-text[disabled]:hover>a:only-child::after,.ant-btn-text[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous{color:#ff4d4f;background:#fff;border-color:#ff4d4f}.ant-btn-dangerous>a:only-child{color:currentColor}.ant-btn-dangerous>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous:focus,.ant-btn-dangerous:hover{color:#ff7875;background:#fff;border-color:#ff7875}.ant-btn-dangerous:focus>a:only-child,.ant-btn-dangerous:hover>a:only-child{color:currentColor}.ant-btn-dangerous:focus>a:only-child::after,.ant-btn-dangerous:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous:active{color:#d9363e;background:#fff;border-color:#d9363e}.ant-btn-dangerous:active>a:only-child{color:currentColor}.ant-btn-dangerous:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous[disabled],.ant-btn-dangerous[disabled]:active,.ant-btn-dangerous[disabled]:focus,.ant-btn-dangerous[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-dangerous[disabled]:active>a:only-child,.ant-btn-dangerous[disabled]:focus>a:only-child,.ant-btn-dangerous[disabled]:hover>a:only-child,.ant-btn-dangerous[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous[disabled]:active>a:only-child::after,.ant-btn-dangerous[disabled]:focus>a:only-child::after,.ant-btn-dangerous[disabled]:hover>a:only-child::after,.ant-btn-dangerous[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary{color:#fff;background:#ff4d4f;border-color:#ff4d4f;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-dangerous.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary:focus,.ant-btn-dangerous.ant-btn-primary:hover{color:#fff;background:#ff7875;border-color:#ff7875}.ant-btn-dangerous.ant-btn-primary:focus>a:only-child,.ant-btn-dangerous.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary:active{color:#fff;background:#d9363e;border-color:#d9363e}.ant-btn-dangerous.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary[disabled],.ant-btn-dangerous.ant-btn-primary[disabled]:active,.ant-btn-dangerous.ant-btn-primary[disabled]:focus,.ant-btn-dangerous.ant-btn-primary[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link{color:#ff4d4f;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-dangerous.ant-btn-link>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link:focus,.ant-btn-dangerous.ant-btn-link:hover{color:#ff7875;background:0 0;border-color:transparent}.ant-btn-dangerous.ant-btn-link:focus>a:only-child,.ant-btn-dangerous.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link:active{color:#d9363e;background:0 0;border-color:transparent}.ant-btn-dangerous.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link[disabled],.ant-btn-dangerous.ant-btn-link[disabled]:active,.ant-btn-dangerous.ant-btn-link[disabled]:focus,.ant-btn-dangerous.ant-btn-link[disabled]:hover{color:rgba(0,0,0,.25);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text{color:#ff4d4f;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-dangerous.ant-btn-text>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text:focus,.ant-btn-dangerous.ant-btn-text:hover{color:#ff7875;background:rgba(0,0,0,.018);border-color:transparent}.ant-btn-dangerous.ant-btn-text:focus>a:only-child,.ant-btn-dangerous.ant-btn-text:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-text:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text:active{color:#d9363e;background:rgba(0,0,0,.028);border-color:transparent}.ant-btn-dangerous.ant-btn-text:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text[disabled],.ant-btn-dangerous.ant-btn-text[disabled]:active,.ant-btn-dangerous.ant-btn-text[disabled]:focus,.ant-btn-dangerous.ant-btn-text[disabled]:hover{color:rgba(0,0,0,.25);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-text[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-icon-only{width:28px;height:28px;padding:1.3px 0;font-size:14px;border-radius:2px;vertical-align:-1px}.ant-btn-icon-only>*{font-size:14px}.ant-btn-icon-only.ant-btn-lg{width:32px;height:32px;padding:1.7px 0;font-size:16px;border-radius:2px}.ant-btn-icon-only.ant-btn-lg>*{font-size:16px}.ant-btn-icon-only.ant-btn-sm{width:22px;height:22px;padding:0;font-size:12px;border-radius:2px}.ant-btn-icon-only.ant-btn-sm>*{font-size:12px}.ant-btn-round{height:28px;padding:3px 14px;font-size:12px;border-radius:28px}.ant-btn-round.ant-btn-lg{height:32px;padding:3.3px 16px;font-size:14px;border-radius:32px}.ant-btn-round.ant-btn-sm{height:22px;padding:0 11px;font-size:12px;border-radius:22px}.ant-btn-round.ant-btn-icon-only{width:auto}.ant-btn-circle{min-width:28px;padding-right:0;padding-left:0;text-align:center;border-radius:50%}.ant-btn-circle.ant-btn-lg{min-width:32px;border-radius:50%}.ant-btn-circle.ant-btn-sm{min-width:22px;border-radius:50%}.ant-btn::before{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:1;display:none;background:#fff;border-radius:inherit;opacity:.35;transition:opacity .2s;content:'';pointer-events:none}.ant-btn-group,.ant-btn-group>.ant-btn,.ant-btn-group>span>.ant-btn,.ant-btn.ant-btn-loading,.ant-btn:active>span,.ant-btn:focus>span{position:relative}.ant-btn .anticon{transition:margin-left .3s cubic-bezier(.645,.045,.355,1)}.ant-btn .anticon.anticon-minus>svg,.ant-btn .anticon.anticon-plus>svg{shape-rendering:optimizeSpeed}.ant-btn.ant-btn-loading:not([disabled]){pointer-events:none}.ant-btn.ant-btn-loading::before{display:block}.ant-btn>.ant-btn-loading-icon{transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-btn>.ant-btn-loading-icon .anticon{padding-right:4px;animation:none}.ant-btn>.ant-btn-loading-icon .anticon svg{animation:loadingCircle 1s infinite linear}.ant-btn>.ant-btn-loading-icon:only-child .anticon{padding-right:0}.ant-btn-group>.ant-btn:active,.ant-btn-group>.ant-btn:focus,.ant-btn-group>.ant-btn:hover,.ant-btn-group>span>.ant-btn:active,.ant-btn-group>span>.ant-btn:focus,.ant-btn-group>span>.ant-btn:hover{z-index:2}.ant-btn-group>.ant-btn[disabled],.ant-btn-group>span>.ant-btn[disabled]{z-index:0}.ant-btn-group .ant-btn-icon-only{font-size:12px}.ant-btn-group-lg>.ant-btn,.ant-btn-group-lg>span>.ant-btn{height:32px;padding:3.3px 11px;font-size:14px;border-radius:0}.ant-btn-group-lg .ant-btn.ant-btn-icon-only{width:32px;height:32px;padding-right:0;padding-left:0}.ant-btn-group-sm>.ant-btn,.ant-btn-group-sm>span>.ant-btn{height:22px;padding:0 7px;font-size:12px;border-radius:0}.ant-btn-group-sm>.ant-btn>.anticon,.ant-btn-group-sm>span>.ant-btn>.anticon{font-size:12px}.ant-btn-group-sm .ant-btn.ant-btn-icon-only{width:22px;height:22px;padding-right:0;padding-left:0}.ant-btn+.ant-btn-group,.ant-btn-group .ant-btn+.ant-btn,.ant-btn-group .ant-btn+span,.ant-btn-group span+.ant-btn,.ant-btn-group+.ant-btn,.ant-btn-group+.ant-btn-group,.ant-btn-group>span+span{margin-left:-1px}.ant-btn-group .ant-btn-primary+.ant-btn:not(.ant-btn-primary):not([disabled]){border-left-color:transparent}.ant-btn-group .ant-btn{border-radius:0}.ant-btn-group-sm>.ant-btn:only-child,.ant-btn-group-sm>span:only-child>.ant-btn,.ant-btn-group>.ant-btn:only-child,.ant-btn-group>span:only-child>.ant-btn,.ant-card{border-radius:2px}.ant-btn-group-sm>.ant-btn:first-child:not(:last-child),.ant-btn-group-sm>span:first-child:not(:last-child)>.ant-btn,.ant-btn-group>.ant-btn:first-child:not(:last-child),.ant-btn-group>span:first-child:not(:last-child)>.ant-btn{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-btn-group-sm>.ant-btn:last-child:not(:first-child),.ant-btn-group-sm>span:last-child:not(:first-child)>.ant-btn,.ant-btn-group>.ant-btn:last-child:not(:first-child),.ant-btn-group>span:last-child:not(:first-child)>.ant-btn{border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-btn-group>.ant-btn:first-child,.ant-btn-group>span:first-child>.ant-btn{margin-left:0}.ant-btn-group>.ant-btn-group{float:left}.ant-btn-group>.ant-btn-group:not(:first-child):not(:last-child)>.ant-btn{border-radius:0}.ant-btn-group>.ant-btn-group:first-child:not(:last-child)>.ant-btn:last-child{padding-right:8px;border-top-right-radius:0;border-bottom-right-radius:0}.ant-btn-group>.ant-btn-group:last-child:not(:first-child)>.ant-btn:first-child{padding-left:8px;border-top-left-radius:0;border-bottom-left-radius:0}.ant-btn-group-rtl.ant-btn+.ant-btn-group,.ant-btn-group-rtl.ant-btn-group .ant-btn+.ant-btn,.ant-btn-group-rtl.ant-btn-group .ant-btn+span,.ant-btn-group-rtl.ant-btn-group span+.ant-btn,.ant-btn-group-rtl.ant-btn-group+.ant-btn,.ant-btn-group-rtl.ant-btn-group+.ant-btn-group,.ant-btn-group-rtl.ant-btn-group>span+span,.ant-btn-rtl.ant-btn+.ant-btn-group,.ant-btn-rtl.ant-btn-group .ant-btn+.ant-btn,.ant-btn-rtl.ant-btn-group .ant-btn+span,.ant-btn-rtl.ant-btn-group span+.ant-btn,.ant-btn-rtl.ant-btn-group+.ant-btn,.ant-btn-rtl.ant-btn-group+.ant-btn-group,.ant-btn-rtl.ant-btn-group>span+span{margin-right:-1px;margin-left:auto}.ant-btn-group-rtl.ant-btn-group>.ant-btn:first-child:not(:last-child),.ant-btn-group-rtl.ant-btn-group>span:first-child:not(:last-child)>.ant-btn{border-radius:0 2px 2px 0}.ant-btn-group-rtl.ant-btn-group>.ant-btn:last-child:not(:first-child),.ant-btn-group-rtl.ant-btn-group>span:last-child:not(:first-child)>.ant-btn{border-radius:2px 0 0 2px}.ant-btn-group-rtl.ant-btn-group-sm>.ant-btn:first-child:not(:last-child),.ant-btn-group-rtl.ant-btn-group-sm>span:first-child:not(:last-child)>.ant-btn{border-radius:0 2px 2px 0}.ant-btn-group-rtl.ant-btn-group-sm>.ant-btn:last-child:not(:first-child),.ant-btn-group-rtl.ant-btn-group-sm>span:last-child:not(:first-child)>.ant-btn{border-radius:2px 0 0 2px}.ant-btn>.anticon+span,.ant-btn>span+.anticon{margin-left:4px}.ant-btn-background-ghost{color:#fff;background:0 0!important;border-color:#fff}.ant-btn-background-ghost.ant-btn-primary{color:#1890ff;background:0 0;border-color:#1890ff;text-shadow:none}.ant-btn-background-ghost.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary:focus,.ant-btn-background-ghost.ant-btn-primary:hover{color:#40a9ff;background:0 0;border-color:#40a9ff}.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary:active{color:#096dd9;background:0 0;border-color:#096dd9}.ant-btn-background-ghost.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary[disabled],.ant-btn-background-ghost.ant-btn-primary[disabled]:active,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger{color:#ff4d4f;background:0 0;border-color:#ff4d4f;text-shadow:none}.ant-btn-background-ghost.ant-btn-danger>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger:focus,.ant-btn-background-ghost.ant-btn-danger:hover{color:#ff7875;background:0 0;border-color:#ff7875}.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger:active{color:#d9363e;background:0 0;border-color:#d9363e}.ant-btn-background-ghost.ant-btn-danger:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger[disabled],.ant-btn-background-ghost.ant-btn-danger[disabled]:active,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous{color:#ff4d4f;background:0 0;border-color:#ff4d4f;text-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous:focus,.ant-btn-background-ghost.ant-btn-dangerous:hover{color:#ff7875;background:0 0;border-color:#ff7875}.ant-btn-background-ghost.ant-btn-dangerous:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous:active{color:#d9363e;background:0 0;border-color:#d9363e}.ant-btn-background-ghost.ant-btn-dangerous:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous[disabled],.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link{color:#ff4d4f;background:0 0;border-color:transparent;text-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover{color:#ff7875;background:0 0;border-color:transparent}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active{color:#d9363e;background:0 0;border-color:transparent}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled],.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-card,.ant-card-extra,.ant-card-head,.ant-card-head .ant-tabs{color:rgba(0,0,0,.85)}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-two-chinese-chars::first-letter{letter-spacing:.34em}.ant-btn-two-chinese-chars>:not(.anticon){margin-right:-.34em;letter-spacing:.34em}.ant-btn-block{width:100%}.ant-btn:empty{display:inline-block;width:0;content:'\a0'}.ant-card-head::after,.ant-card-head::before{display:table;content:''}a.ant-btn{padding-top:.01px!important;line-height:26px}a.ant-btn-lg{line-height:30px}a.ant-btn-sm{line-height:20px}.ant-card,.ant-card-actions>li>span{line-height:1.66667;position:relative}.ant-btn-group-rtl.ant-btn-group .ant-btn-primary+.ant-btn-primary,.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child){border-right-color:#40a9ff;border-left-color:#d9d9d9}.ant-btn-group-rtl.ant-btn-group .ant-btn-primary+.ant-btn-primary[disabled],.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled]{border-right-color:#d9d9d9;border-left-color:#40a9ff}.ant-btn-rtl.ant-btn>.ant-btn-loading-icon .anticon{padding-right:0;padding-left:4px}.ant-btn>.ant-btn-loading-icon:only-child .anticon{padding-left:0}.ant-btn-rtl.ant-btn>.anticon+span,.ant-btn-rtl.ant-btn>span+.anticon{margin-right:8px;margin-left:0}.ant-card{box-sizing:border-box;margin:0;padding:0;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;background:#fff}.ant-card-hoverable{cursor:pointer;transition:box-shadow .3s,border-color .3s}.ant-card-hoverable:hover{border-color:transparent;box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09)}.ant-card-head,.ant-card-head .ant-tabs-bar{border-bottom:1px solid #f0f0f0}.ant-card-bordered{border:1px solid #f0f0f0}.ant-card-head{min-height:36px;margin-bottom:-1px;padding:0 12px;font-weight:500;font-size:12px;background:0 0;border-radius:2px 2px 0 0}.ant-card-head::after{clear:both}.ant-card-head-wrapper{display:flex;align-items:center}.ant-card-head-title{display:inline-block;flex:1;padding:8.5px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-card-body::after,.ant-card-body::before{display:table;content:''}.ant-card-head-title>.ant-typography,.ant-card-head-title>.ant-typography-edit-content{left:0;margin-top:0;margin-bottom:0}.ant-card-head .ant-tabs{clear:both;margin-bottom:-9px;font-weight:400;font-size:12px}.ant-card-extra{float:right;margin-left:auto;padding:8.5px 0;font-weight:400;font-size:12px}.ant-card-rtl .ant-card-extra{margin-right:auto;margin-left:0}.ant-card-body{padding:12px}.ant-card-body::after{clear:both}.ant-card-contain-grid:not(.ant-card-loading) .ant-card-body{margin:-1px 0 0 -1px;padding:0}.ant-card-grid{float:left;width:33.33%;padding:12px;border:0;border-radius:0;box-shadow:1px 0 0 0 #f0f0f0,0 1px 0 0 #f0f0f0,1px 1px 0 0 #f0f0f0,1px 0 0 0 #f0f0f0 inset,0 1px 0 0 #f0f0f0 inset;transition:all .3s}.ant-card-rtl .ant-card-grid{float:right}.ant-card-grid-hoverable:hover{position:relative;z-index:1;box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09)}.ant-card-contain-tabs>.ant-card-head .ant-card-head-title{min-height:27.5px;padding-bottom:0}.ant-card-contain-tabs>.ant-card-head .ant-card-extra{padding-bottom:0}.ant-card-bordered .ant-card-cover{margin-top:-1px;margin-right:-1px;margin-left:-1px}.ant-card-cover>*{display:block;width:100%}.ant-card-actions::after,.ant-card-actions::before{display:table;content:''}.ant-card-cover img{border-radius:2px 2px 0 0}.ant-card-actions{margin:0;padding:0;list-style:none;background:#fff;border-top:1px solid #f0f0f0}.ant-card-actions::after{clear:both}.ant-card-actions>li{float:left;margin:4px 0;color:rgba(0,0,0,.45);text-align:center}.ant-card-rtl .ant-card-actions>li{float:right}.ant-card-actions>li>span{display:block;min-width:32px;font-size:12px;cursor:pointer}.ant-card-actions>li>span:hover{color:#1890ff;transition:color .3s}.ant-card-actions>li>span a:not(.ant-btn),.ant-card-actions>li>span>.anticon{display:inline-block;width:100%;color:rgba(0,0,0,.45);line-height:22px;transition:color .3s}.ant-card-meta::after,.ant-card-meta::before{display:table;content:''}.ant-card-actions>li>span a:not(.ant-btn):hover,.ant-card-actions>li>span>.anticon:hover{color:#1890ff}.ant-card-actions>li>span>.anticon{font-size:16px;line-height:22px}.ant-card-actions>li:not(:last-child){border-right:1px solid #f0f0f0}.ant-card-rtl .ant-card-actions>li:not(:last-child){border-right:none;border-left:1px solid #f0f0f0}.ant-card-type-inner .ant-card-head{padding:0 12px;background:#fafafa}.ant-card-type-inner .ant-card-head-title{padding:12px 0;font-size:12px}.ant-card-type-inner .ant-card-body{padding:16px 12px}.ant-card-type-inner .ant-card-extra{padding:13.5px 0}.ant-card-meta{margin:-4px 0}.ant-card-meta::after{clear:both}.ant-card-meta-avatar{float:left;padding-right:16px}.ant-card-rtl .ant-card-meta-avatar{float:right;padding-right:0;padding-left:16px}.ant-card-meta-detail{overflow:hidden}.ant-card-meta-detail>div:not(:last-child){margin-bottom:4px}.ant-card-meta-title{overflow:hidden;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;white-space:nowrap;text-overflow:ellipsis}.ant-card-meta-description,.ant-comment-content-author-name,.ant-comment-content-author-name>*,.ant-comment-content-author-name>:hover{color:rgba(0,0,0,.45)}.ant-card-loading{overflow:hidden}.ant-card-loading .ant-card-body{user-select:none}.ant-card-loading-content p{margin:0}.ant-card-loading-block{height:14px;margin:4px 0;background:linear-gradient(90deg,rgba(207,216,220,.2),rgba(207,216,220,.4),rgba(207,216,220,.2));background-size:600% 600%;border-radius:2px;animation:card-loading 1.4s ease infinite}@keyframes card-loading{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.ant-card-small>.ant-card-head{min-height:30px;padding:0 12px;font-size:12px}.ant-card-small>.ant-card-head>.ant-card-head-wrapper>.ant-card-head-title{padding:6px 0}.ant-card-small>.ant-card-head>.ant-card-head-wrapper>.ant-card-extra{padding:6px 0;font-size:12px}.ant-card-small>.ant-card-body{padding:12px}.ant-card-rtl .ant-skeleton-header{padding:0 0 0 8.5px}nz-card,nz-card-loading,nz-card-meta{display:block}.ant-carousel{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum}.ant-carousel .slick-slider{position:relative;display:block;box-sizing:border-box;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-touch-callout:none}.ant-carousel .slick-list{position:relative;display:block;margin:0;padding:0;overflow:hidden}.ant-carousel .slick-list:focus{outline:0}.ant-carousel .slick-list.dragging{cursor:pointer}.ant-carousel .slick-list .slick-slide{pointer-events:none}.ant-carousel .slick-list .slick-slide.slick-active{pointer-events:auto}.ant-carousel .slick-list .slick-slide.slick-active input.ant-checkbox-input,.ant-carousel .slick-list .slick-slide.slick-active input.ant-radio-input{visibility:visible}.ant-carousel .slick-loading .slick-slide,.ant-checkbox-checked::after,.slick-loading .ant-carousel .slick-track{visibility:hidden}.ant-carousel .slick-list .slick-slide>div>div{vertical-align:bottom}.ant-carousel .slick-slider .slick-list,.ant-carousel .slick-slider .slick-track{transform:translate3d(0,0,0);touch-action:pan-y}.ant-carousel .slick-track{position:relative;top:0;left:0;display:block}.ant-carousel .slick-track::after,.ant-carousel .slick-track::before{display:table;content:''}.ant-carousel .slick-track::after{clear:both}.ant-carousel .slick-slide{display:none;float:left;height:100%;min-height:1px}.ant-carousel .slick-slide img{display:block}.ant-carousel .slick-slide.slick-loading img{display:none}.ant-carousel .slick-slide.dragging img{pointer-events:none}.ant-carousel .slick-initialized .slick-slide{display:block}.ant-carousel .slick-vertical .slick-slide{display:block;height:auto}.ant-carousel .slick-arrow.slick-hidden{display:none}.ant-carousel .slick-next,.ant-carousel .slick-prev{position:absolute;top:50%;display:block;width:20px;height:20px;margin-top:-10px;padding:0;color:transparent;font-size:0;line-height:0;background:0 0;border:0;outline:0;cursor:pointer}.ant-carousel .slick-next:focus,.ant-carousel .slick-next:hover,.ant-carousel .slick-prev:focus,.ant-carousel .slick-prev:hover{color:transparent;background:0 0;outline:0}.ant-carousel .slick-next:focus::before,.ant-carousel .slick-next:hover::before,.ant-carousel .slick-prev:focus::before,.ant-carousel .slick-prev:hover::before{opacity:1}.ant-carousel .slick-next.slick-disabled::before,.ant-carousel .slick-prev.slick-disabled::before{opacity:.25}.ant-carousel .slick-prev{left:-25px}.ant-carousel .slick-prev::before{content:'←'}.ant-carousel .slick-next::before,.ant-carousel-rtl .ant-carousel .slick-prev::before{content:'→'}.ant-carousel .slick-next{right:-25px}.ant-carousel .slick-dots{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex!important;justify-content:center;margin-right:15%;margin-left:15%;padding-left:0;list-style:none}.ant-carousel .slick-dots-bottom,.ant-popover-placement-leftBottom .ant-popover-arrow,.ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}.ant-carousel .slick-dots-top{top:12px;bottom:auto}.ant-carousel .slick-dots li{position:relative;display:inline-block;flex:0 1 auto;box-sizing:content-box;width:16px;height:3px;margin:0 3px;padding:0;text-align:center;text-indent:-999px;vertical-align:top;transition:all .5s}.ant-carousel .slick-dots li button{display:block;width:100%;height:3px;padding:0;color:transparent;font-size:0;background:#fff;border:0;border-radius:1px;outline:0;cursor:pointer;opacity:.3;transition:all .5s}.ant-carousel .slick-dots li button:focus,.ant-carousel .slick-dots li button:hover{opacity:.75}.ant-carousel .slick-dots li.slick-active{width:24px}.ant-carousel .slick-dots li.slick-active button{background:#fff;opacity:1}.ant-carousel .slick-dots li.slick-active:focus,.ant-carousel .slick-dots li.slick-active:hover{opacity:1}.ant-carousel-vertical .slick-dots{top:50%;bottom:auto;flex-direction:column;width:3px;height:auto;margin:0;transform:translateY(-50%)}.ant-carousel-vertical .slick-dots-left{right:auto;left:12px}.ant-carousel-vertical .slick-dots-right{right:12px;left:auto}.ant-carousel-vertical .slick-dots li{width:3px;height:16px;margin:4px 2px;vertical-align:baseline}.ant-checkbox,.ant-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-carousel-vertical .slick-dots li button{width:3px;height:16px}.ant-carousel-vertical .slick-dots li.slick-active,.ant-carousel-vertical .slick-dots li.slick-active button{width:3px;height:24px}.ant-carousel-rtl .ant-carousel .slick-track{right:0;left:auto}.ant-carousel-rtl .ant-carousel .slick-prev{right:-25px;left:auto}.ant-carousel-rtl .ant-carousel .slick-next{right:auto;left:-25px}.ant-carousel-rtl .ant-carousel .slick-next::before{content:'←'}.ant-carousel-rtl.ant-carousel .slick-dots{flex-direction:row-reverse}.ant-carousel-rtl.ant-carousel-vertical .slick-dots{flex-direction:column}nz-carousel{display:block;position:relative;overflow:hidden;width:100%;height:100%}.slick-dots{display:block}.slick-track{opacity:1}.slick-list{direction:ltr}@keyframes antCheckboxEffect{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}.ant-checkbox{color:rgba(0,0,0,.85);position:relative;top:.2em;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-checkbox-input:focus+.ant-checkbox-inner,.ant-checkbox-wrapper:hover .ant-checkbox-inner,.ant-checkbox:hover .ant-checkbox-inner{border-color:#1890ff}.ant-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-checkbox-wrapper:hover .ant-checkbox::after,.ant-checkbox:hover::after{visibility:visible}.ant-checkbox-inner{position:relative;top:0;left:0;display:block;width:14px;height:14px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5px;height:8px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-checkbox-disabled,.ant-checkbox-disabled .ant-checkbox-input,.ant-checkbox-disabled+span{cursor:not-allowed}.ant-checkbox-checked .ant-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-checkbox-checked .ant-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after{border-color:rgba(0,0,0,.25);animation-name:none}.ant-checkbox-disabled .ant-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-checkbox-disabled .ant-checkbox-inner::after{border-color:#f5f5f5;border-collapse:separate;animation-name:none}.ant-checkbox-disabled+span{color:rgba(0,0,0,.25)}.ant-checkbox-disabled:hover::after,.ant-checkbox-wrapper:hover .ant-checkbox-disabled::after{visibility:hidden}.ant-checkbox-wrapper{color:rgba(0,0,0,.85);display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-checkbox-wrapper.ant-checkbox-wrapper-disabled{cursor:not-allowed}.ant-checkbox-wrapper+.ant-checkbox-wrapper{margin-left:8px}.ant-checkbox+span{padding-right:8px;padding-left:8px}.ant-checkbox-group,.ant-collapse{padding:0;color:rgba(0,0,0,.85);font-size:12px;box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-checkbox-group{margin:0;line-height:1.66667;display:inline-block}.ant-checkbox-group-item{margin-right:6px}.ant-checkbox-group-item:last-child{margin-right:0}.ant-checkbox-group-item+.ant-checkbox-group-item{margin-left:0}.ant-checkbox-indeterminate .ant-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-checkbox-indeterminate .ant-checkbox-inner::after{top:50%;left:50%;width:6px;height:6px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after{background-color:rgba(0,0,0,.25);border-color:rgba(0,0,0,.25)}.ant-checkbox-group-rtl .ant-checkbox-group-item{margin-right:0;margin-left:6px}.ant-checkbox-group-rtl .ant-checkbox-group-item:last-child{margin-left:0!important}.ant-checkbox-group-rtl .ant-checkbox-group-item+.ant-checkbox-group-item{margin-left:6px}.ant-checkbox+span:empty{display:none}.ant-collapse{margin:0;line-height:1.66667;background-color:#fafafa;border:1px solid #d9d9d9;border-bottom:0;border-radius:2px}.ant-collapse-item:last-child>.ant-collapse-content,.ant-collapse>.ant-collapse-item:last-child,.ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header{border-radius:0 0 2px 2px}.ant-collapse>.ant-collapse-item{border-bottom:1px solid #d9d9d9}.ant-collapse>.ant-collapse-item>.ant-collapse-header{position:relative;padding:8px;color:rgba(0,0,0,.85);line-height:1.66667;cursor:pointer;transition:all .3s,visibility 0s}.ant-collapse>.ant-collapse-item>.ant-collapse-header::before{display:table;content:''}.ant-collapse>.ant-collapse-item>.ant-collapse-header::after{display:table;clear:both;content:''}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow{display:inline-block;margin-right:12px;font-size:12px;vertical-align:-1px}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg{transition:transform .24s}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-extra{float:right}.ant-collapse>.ant-collapse-item>.ant-collapse-header:focus{outline:0}.ant-collapse>.ant-collapse-item .ant-collapse-header-collapsible-only{cursor:default}.ant-collapse>.ant-collapse-item .ant-collapse-header-collapsible-only .ant-collapse-header-text{cursor:pointer}.ant-collapse>.ant-collapse-item.ant-collapse-no-arrow>.ant-collapse-header{padding-left:12px}.ant-collapse-icon-position-right>.ant-collapse-item>.ant-collapse-header{padding:8px 40px 8px 8px}.ant-collapse-icon-position-right>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow{position:absolute;top:50%;right:8px;left:auto;margin:0;transform:translateY(-50%)}.ant-collapse-rtl.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg,.ant-dropdown-wrap-open .anticon-down::before,.ant-picker-rtl .ant-picker-separator{transform:rotate(180deg)}.ant-collapse-content{color:rgba(0,0,0,.85);background-color:#fff;border-top:1px solid #d9d9d9}.ant-collapse-borderless,.ant-descriptions-bordered .ant-descriptions-item-label{background-color:#fafafa}.ant-collapse-borderless>.ant-collapse-item>.ant-collapse-content,.ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content{border-top:0;background-color:transparent}.ant-collapse-content>.ant-collapse-content-box{padding:8px 16px}.ant-collapse-content-hidden{display:none}nz-collapse,nz-collapse-panel,nz-comment,nz-comment-content{display:block}.ant-collapse-borderless{border:0}.ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #d9d9d9}.ant-collapse-borderless>.ant-collapse-item:last-child,.ant-collapse-borderless>.ant-collapse-item:last-child .ant-collapse-header{border-radius:0}.ant-collapse-borderless>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding-top:4px}.ant-collapse-ghost{background-color:transparent;border:0}.ant-collapse-ghost>.ant-collapse-item{border-bottom:0}.ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding-top:12px;padding-bottom:12px}.ant-collapse .ant-collapse-item-disabled>.ant-collapse-header,.ant-collapse .ant-collapse-item-disabled>.ant-collapse-header>.arrow{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-collapse-rtl .ant-collapse>.ant-collapse-item>.ant-collapse-header{padding:8px 40px 8px 8px}.ant-collapse-rtl.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-extra{float:left}.ant-collapse-rtl.ant-collapse>.ant-collapse-item.ant-collapse-no-arrow>.ant-collapse-header{padding-right:12px;padding-left:0}.ant-comment{position:relative;background-color:inherit}.ant-comment-inner{display:flex;padding:8px 0}.ant-comment-avatar{position:relative;flex-shrink:0;margin-right:8px;cursor:pointer}.ant-comment-avatar img{width:32px;height:32px;border-radius:50%}.ant-comment-content{position:relative;flex:1 1 auto;min-width:1px;font-size:12px;word-wrap:break-word}.ant-comment-content-author{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-bottom:0;font-size:12px}.ant-comment-content-author>a,.ant-comment-content-author>span{padding-right:4px;font-size:12px;line-height:18px}.ant-comment-content-author-name{font-size:12px;transition:color .3s}.ant-comment-content-author-time{color:#ccc;white-space:nowrap;cursor:auto}.ant-comment-content-detail p{margin-bottom:0;white-space:pre-wrap}.ant-comment-actions{margin-top:4px;margin-bottom:0;padding-left:0}.ant-comment-actions>li{display:inline-block;color:rgba(0,0,0,.45)}.ant-comment-actions>li>span{margin-right:10px;color:rgba(0,0,0,.45);font-size:12px;cursor:pointer;transition:color .3s;user-select:none}.ant-comment-actions>li>span:hover{color:#595959}.ant-comment-nested{margin-left:44px}.ant-comment-rtl .ant-comment-avatar{margin-right:0;margin-left:12px}.ant-comment-rtl .ant-comment-content-author>a,.ant-comment-rtl .ant-comment-content-author>span{padding-right:0;padding-left:8px}.ant-comment-rtl .ant-comment-actions{padding-right:0}.ant-comment-rtl .ant-comment-actions>li>span{margin-right:0;margin-left:10px}.ant-comment-rtl .ant-comment-nested{margin-right:44px;margin-left:0}.ant-picker,.ant-picker-input{display:inline-flex;position:relative}.ant-picker{box-sizing:border-box;margin:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;padding:3px 7px;align-items:center;background:#fff;border:1px solid #d9d9d9;border-radius:2px;transition:border .3s,box-shadow .3s}.ant-picker-focused,.ant-picker:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-picker-focused,.ant-input-rtl .ant-picker:hover{border-right-width:0;border-left-width:1px!important}.ant-picker-focused{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-picker-focused{border-right-width:0;border-left-width:1px!important}.ant-picker.ant-picker-disabled{background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-picker.ant-picker-disabled .ant-picker-suffix{color:rgba(0,0,0,.25)}.ant-picker.ant-picker-borderless{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.ant-picker-input{align-items:center;width:100%}.ant-picker-input>input{position:relative;display:inline-block;width:100%;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667;border-radius:2px;transition:all .3s;flex:auto;min-width:1px;height:auto;padding:0;background:0 0;border:0}.ant-picker-input>input::-moz-placeholder{opacity:1}.ant-picker-input>input::placeholder{color:#bfbfbf}.ant-picker-input>input-disabled,.ant-picker-input>input[disabled]{background-color:#f5f5f5;cursor:not-allowed;color:rgba(0,0,0,.25);opacity:1;pointer-events:none}.ant-picker-input>input:placeholder-shown{text-overflow:ellipsis}.ant-picker-input>input:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-picker-input>input:hover{border-right-width:0;border-left-width:1px!important}.ant-picker-input>input-focused,.ant-picker-input>input:focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-picker-input>input-focused,.ant-input-rtl .ant-picker-input>input:focus{border-right-width:0;border-left-width:1px!important}.ant-picker-input>input-disabled:hover,.ant-picker-input>input[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-picker-input>input-borderless,.ant-picker-input>input-borderless-disabled,.ant-picker-input>input-borderless-focused,.ant-picker-input>input-borderless:focus,.ant-picker-input>input-borderless:hover,.ant-picker-input>input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-picker-input>input{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-picker-input>input-lg{padding:3.4px 11px;font-size:14px}.ant-picker-input>input-sm{padding:0 7px}.ant-picker-input>input:focus{box-shadow:none}.ant-picker-input>input[disabled]{background:0 0}.ant-picker-input:hover .ant-picker-clear{opacity:1}.ant-picker-input-placeholder>input{color:#bfbfbf}.ant-picker-large{padding:3.5px 11px}.ant-picker-large .ant-picker-input>input{font-size:14px}.ant-picker-small{padding:0 7px}.ant-picker-suffix{align-self:center;margin-left:2px;color:rgba(0,0,0,.25);line-height:1;pointer-events:none}.ant-picker-suffix>*{vertical-align:top}.ant-picker-clear{position:absolute;top:50%;right:0;color:rgba(0,0,0,.25);line-height:1;background:#fff;transform:translateY(-50%);cursor:pointer;opacity:0;transition:opacity .3s,color .3s}.ant-picker-clear>*{vertical-align:top}.ant-picker-clear:hover{color:rgba(0,0,0,.45)}.ant-picker-separator{position:relative;display:inline-block;width:1em;height:14px;color:rgba(0,0,0,.25);font-size:14px;vertical-align:top;cursor:default}.ant-picker-focused .ant-picker-separator{color:rgba(0,0,0,.45)}.ant-picker-disabled .ant-picker-range-separator .ant-picker-separator{cursor:not-allowed}.ant-picker-range{position:relative;display:inline-flex}.ant-picker-range .ant-picker-clear{right:7px}.ant-picker-range:hover .ant-picker-clear{opacity:1}.ant-picker-range .ant-picker-active-bar{bottom:-1px;height:2px;margin-left:7px;background:#1890ff;opacity:0;transition:all .3s ease-out;pointer-events:none}.ant-picker-range.ant-picker-focused .ant-picker-active-bar{opacity:1}.ant-picker-range-separator{align-items:center;padding:0 4px;line-height:1}.ant-picker-range.ant-picker-small .ant-picker-clear{right:7px}.ant-picker-range.ant-picker-small .ant-picker-active-bar{margin-left:7px}.ant-picker-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;position:absolute;z-index:1050}.ant-picker-dropdown-hidden{display:none}.ant-picker-dropdown-placement-bottomLeft .ant-picker-range-arrow{top:1.67px;display:block;transform:rotate(-45deg)}.ant-picker-dropdown-placement-topLeft .ant-picker-range-arrow{bottom:1.67px;display:block;transform:rotate(135deg)}.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topRight,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownIn}.ant-cascader-menus.ant-slide-up-appear.ant-slide-up-appear-active.ant-cascader-menus-placement-bottomLeft,.ant-cascader-menus.ant-slide-up-enter.ant-slide-up-enter-active.ant-cascader-menus-placement-bottomLeft,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomRight,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomRight,.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft,.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpIn}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownOut}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomRight{animation-name:antSlideUpOut}.ant-picker-dropdown-range{padding:6.67px 0}.ant-picker-dropdown-range-hidden{display:none}.ant-picker-dropdown .ant-picker-panel>.ant-picker-time-panel{padding-top:2px}.ant-picker-ranges{margin-bottom:0;padding:2px 8px;overflow:hidden;line-height:28px;text-align:left;list-style:none}.ant-picker-ranges>li{display:inline-block}.ant-picker-ranges .ant-picker-preset>.ant-tag-blue{color:#1890ff;background:#e6f7ff;border-color:#91d5ff;cursor:pointer}.ant-picker-ranges .ant-picker-ok{float:right;margin-left:4px}.ant-picker-range-wrapper{display:flex}.ant-picker-range-arrow{position:absolute;z-index:1;display:none;width:10px;height:10px;margin-left:10.5px;box-shadow:2px -2px 6px rgba(0,0,0,.06);transition:left .3s ease-out}.ant-picker-range-arrow::after{position:absolute;top:1px;right:1px;width:10px;height:10px;border:5px solid #f0f0f0;border-color:#fff #fff transparent transparent;content:''}.ant-picker-panel-container{overflow:hidden;vertical-align:top;background:#fff;border-radius:2px;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);transition:margin .3s}.ant-picker-panel-container .ant-picker-panels{display:inline-flex;flex-wrap:nowrap;direction:ltr}.ant-picker-panel-container .ant-picker-panel{vertical-align:top;background:0 0;border-width:0 0 1px;border-radius:0}.ant-picker-panel-container .ant-picker-panel-focused{border-color:#f0f0f0}.ant-picker-panel{display:inline-flex;flex-direction:column;text-align:center;background:#fff;border:1px solid #f0f0f0;border-radius:2px;outline:0}.ant-picker-panel-focused{border-color:#1890ff}.ant-picker-date-panel,.ant-picker-decade-panel,.ant-picker-month-panel,.ant-picker-quarter-panel,.ant-picker-time-panel,.ant-picker-week-panel,.ant-picker-year-panel{display:flex;flex-direction:column;width:244px}.ant-picker-header{display:flex;padding:0 4px;color:rgba(0,0,0,.85);border-bottom:1px solid #f0f0f0}.ant-picker-header>*{flex:none}.ant-picker-header button{padding:0;color:rgba(0,0,0,.25);line-height:32px;background:0 0;border:0;cursor:pointer;transition:color .3s}.ant-picker-header>button{min-width:1.6em;font-size:12px}.ant-picker-header>button:hover{color:rgba(0,0,0,.85)}.ant-picker-header-view{flex:auto;font-weight:500;line-height:32px}.ant-picker-header-view button{color:inherit;font-weight:inherit}.ant-picker-header-view button:not(:first-child){margin-left:4px}.ant-picker-header-view button:hover{color:#1890ff}.ant-picker-next-icon,.ant-picker-prev-icon,.ant-picker-super-next-icon,.ant-picker-super-prev-icon{position:relative;display:inline-block;width:7px;height:7px}.ant-picker-next-icon::before,.ant-picker-prev-icon::before,.ant-picker-super-next-icon::before,.ant-picker-super-prev-icon::before{position:absolute;top:0;left:0;display:inline-block;width:7px;height:7px;border:0 solid currentColor;border-width:1.5px 0 0 1.5px;content:''}.ant-picker-super-next-icon::after,.ant-picker-super-prev-icon::after{position:absolute;top:4px;left:4px;display:inline-block;width:7px;height:7px;border:0 solid currentColor;border-width:1.5px 0 0 1.5px;content:''}.ant-picker-prev-icon,.ant-picker-super-prev-icon{transform:rotate(-45deg)}.ant-picker-next-icon,.ant-picker-super-next-icon{transform:rotate(135deg)}.ant-picker-content{width:100%;table-layout:fixed}.ant-picker-content td,.ant-picker-content th{position:relative;min-width:24px;font-weight:400}.ant-picker-content th{height:30px;color:rgba(0,0,0,.85);line-height:30px}.ant-picker-cell{padding:3px 0;color:rgba(0,0,0,.25);cursor:pointer}.ant-picker-cell-in-view{color:rgba(0,0,0,.85)}.ant-picker-cell-disabled{cursor:not-allowed;pointer-events:none}.ant-picker-cell::before{position:absolute;top:50%;right:0;left:0;z-index:1;height:22px;transform:translateY(-50%);content:''}.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner,.ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner{background:#f5f5f5}.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border:1px solid #1890ff;border-radius:2px;content:''}.ant-picker-cell-in-view.ant-picker-cell-in-range{position:relative}.ant-picker-cell-in-view.ant-picker-cell-in-range::before{background:#e6f7ff}.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner{color:#fff;background:#1890ff}.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before,.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before{background:#e6f7ff}.ant-picker-cell-in-view.ant-picker-cell-range-start::before{left:50%}.ant-picker-cell-in-view.ant-picker-cell-range-end::before{right:50%}.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after{position:absolute;top:50%;z-index:0;height:24px;border-top:1px dashed #7ec1ff;border-bottom:1px dashed #7ec1ff;transform:translateY(-50%);content:''}.ant-picker-cell-range-hover-end::after,.ant-picker-cell-range-hover-start::after,.ant-picker-cell-range-hover::after{right:0;left:2px}.ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before,.ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before{background:#cbe6ff}.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-radius:2px 0 0 2px}.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-radius:0 2px 2px 0}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after,.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{position:absolute;top:0;bottom:0;z-index:-1;background:#cbe6ff;content:''}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{right:-6px;left:0}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{right:0;left:-6px}.ant-picker-cell-range-hover.ant-picker-cell-range-start::after{right:50%}.ant-picker-cell-range-hover.ant-picker-cell-range-end::after{left:50%}.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after,.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after{left:6px;border-left:1px dashed #7ec1ff;border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after{right:6px;border-right:1px dashed #7ec1ff;border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-picker-cell-disabled .ant-picker-cell-inner{color:rgba(0,0,0,.25);background:0 0}.ant-picker-cell-disabled::before,.ant-picker-decade-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-month-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-disabled .ant-picker-cell-inner{background:#f5f5f5}.ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:rgba(0,0,0,.25)}.ant-picker-decade-panel .ant-picker-content,.ant-picker-month-panel .ant-picker-content,.ant-picker-quarter-panel .ant-picker-content,.ant-picker-year-panel .ant-picker-content{height:192px}.ant-picker-decade-panel .ant-picker-cell-inner,.ant-picker-month-panel .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-inner{padding:0 4px}.ant-picker-quarter-panel .ant-picker-content{height:56px}.ant-picker-footer{width:min-content;min-width:100%;line-height:30px;text-align:center;border-bottom:1px solid transparent}.ant-picker-panel .ant-picker-footer{border-top:1px solid #f0f0f0}.ant-picker-footer-extra{padding:0 8px;line-height:30px;text-align:left}.ant-picker-footer-extra:not(:last-child){border-bottom:1px solid #f0f0f0}.ant-picker-now{text-align:left}.ant-picker-today-btn{color:#1890ff}.ant-picker-today-btn:hover{color:#40a9ff}.ant-picker-today-btn:active{color:#096dd9}.ant-picker-today-btn.ant-picker-today-btn-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-picker-decade-panel .ant-picker-cell-inner{padding:0 2px}.ant-picker-decade-panel .ant-picker-cell::before{display:none}.ant-picker-month-panel .ant-picker-body,.ant-picker-quarter-panel .ant-picker-body,.ant-picker-year-panel .ant-picker-body{padding:0 4px}.ant-picker-date-panel .ant-picker-body,.ant-picker-week-panel .ant-picker-body{padding:4px 8px}.ant-picker-month-panel .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-inner{width:60px}.ant-picker-month-panel .ant-picker-cell-range-hover-start::after,.ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-year-panel .ant-picker-cell-range-hover-start::after{left:9.33px;border-left:1px dashed #7ec1ff;border-radius:2px 0 0 2px}.ant-picker-month-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-start::after,.ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-year-panel .ant-picker-cell-range-hover-end::after{right:9.33px;border-right:1px dashed #7ec1ff;border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-end::after{left:9.33px;border-left:1px dashed #7ec1ff;border-radius:2px 0 0 2px}.ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner,.ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner{background:0 0!important}.ant-picker-week-panel-row td{transition:background .3s}.ant-picker-week-panel-row:hover td{background:#f5f5f5}.ant-picker-week-panel-row-selected td,.ant-picker-week-panel-row-selected:hover td{background:#1890ff}.ant-picker-week-panel-row-selected td.ant-picker-cell-week,.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week{color:rgba(255,255,255,.5)}.ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before,.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:#fff}.ant-picker-datetime-panel .ant-picker-time-panel,.ant-picker-time-panel-column:not(:first-child){border-left:1px solid #f0f0f0}.ant-picker-week-panel-row-selected td .ant-picker-cell-inner,.ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner{color:#fff}.ant-picker-date-panel .ant-picker-content{width:224px}.ant-picker-date-panel .ant-picker-content th{width:32px}.ant-picker-datetime-panel{display:flex}.ant-picker-datetime-panel .ant-picker-date-panel,.ant-picker-datetime-panel .ant-picker-time-panel{transition:opacity .3s}.ant-picker-datetime-panel-active .ant-picker-date-panel,.ant-picker-datetime-panel-active .ant-picker-time-panel{opacity:.3}.ant-picker-datetime-panel-active .ant-picker-date-panel-active,.ant-picker-datetime-panel-active .ant-picker-time-panel-active{opacity:1}.ant-picker-time-panel{width:auto;min-width:auto}.ant-picker-time-panel .ant-picker-content{display:flex;flex:auto;height:224px}.ant-picker-time-panel-column{flex:1 0 auto;width:56px;margin:0;padding:0;overflow-y:hidden;text-align:left;list-style:none;transition:background .3s}.ant-picker-time-panel-column::after{display:block;height:200px;content:''}.ant-picker-datetime-panel .ant-picker-time-panel-column::after{height:202px}.ant-picker-time-panel-column-active{background:rgba(230,247,255,.2)}.ant-picker-time-panel-column:hover{overflow-y:auto}.ant-picker-time-panel-column>li{margin:0;padding:0}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner{display:block;width:100%;height:24px;margin:0;padding:0 0 0 14px;color:rgba(0,0,0,.85);line-height:24px;border-radius:0;cursor:pointer;transition:background .3s}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover{background:#f5f5f5}.ant-menu-item:active,.ant-menu-submenu-title:active,.ant-picker-time-panel-column>li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner{background:#e6f7ff}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner{color:rgba(0,0,0,.25);background:0 0;cursor:not-allowed}:root .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,:root .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell,_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell{padding:21px 0}.ant-picker-rtl .ant-picker-suffix{margin-right:2px;margin-left:0}.ant-picker-rtl .ant-picker-clear{right:auto;left:0}.ant-picker-panel-rtl .ant-picker-header-view button:not(:first-child){margin-right:4px;margin-left:0}.ant-picker-rtl.ant-picker-range .ant-picker-clear{right:auto;left:7px}.ant-picker-rtl.ant-picker-range .ant-picker-active-bar{margin-right:7px;margin-left:0}.ant-picker-rtl.ant-picker-range.ant-picker-small .ant-picker-active-bar{margin-right:7px}.ant-picker-dropdown-rtl .ant-picker-ranges{text-align:right}.ant-picker-dropdown-rtl .ant-picker-ranges .ant-picker-ok{float:left;margin-right:4px;margin-left:0}.ant-picker-panel-rtl .ant-picker-prev-icon,.ant-picker-panel-rtl .ant-picker-super-prev-icon{transform:rotate(135deg)}.ant-picker-panel-rtl .ant-picker-next-icon,.ant-picker-panel-rtl .ant-picker-super-next-icon{transform:rotate(-45deg)}.ant-picker-cell .ant-picker-cell-inner{position:relative;z-index:2;display:inline-block;min-width:22px;height:22px;line-height:22px;border-radius:2px;transition:background .3s,border .3s}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start::before{right:50%;left:0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end::before{right:0;left:50%}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-end::before{right:50%;left:50%}.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{right:0;left:-6px}.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{right:-6px;left:0}.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-start::after{right:0;left:50%}.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-end::after{right:50%;left:0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-radius:2px 0 0 2px}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):first-child::after{right:6px;left:0;border-right:1px dashed #7ec1ff;border-left:none;border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):last-child::after{right:0;left:6px;border-right:none;border-left:1px dashed #7ec1ff;border-radius:2px 0 0 2px}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-start.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-end.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-end:first-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-start:last-child::after{right:6px;left:6px;border-right:1px dashed #7ec1ff;border-left:1px dashed #7ec1ff;border-radius:2px}.ant-picker-dropdown-rtl .ant-picker-footer-extra{text-align:right}.ant-picker-panel-rtl .ant-picker-time-panel{direction:ltr}.ant-descriptions-rtl,.ant-divider-rtl,.ant-drawer-rtl,.ant-dropdown-menu.ant-dropdown-menu-rtl,.ant-dropdown-rtl,.ant-dropdown-rtl .ant-dropdown-menu-item-group-title,.ant-empty-rtl,.ant-input-affix-wrapper-rtl,.ant-input-group-rtl,.ant-input-group-wrapper-rtl,.ant-input-number-rtl,.ant-input-rtl,.ant-input-search-rtl,.ant-input-textarea-rtl,.ant-row-rtl{direction:rtl}.ant-picker-inline{border:none;padding:0}.ant-picker-inline .ant-picker-range-arrow{display:none!important}.ant-descriptions-header{display:flex;align-items:center;margin-bottom:8px}.ant-descriptions-title{flex:auto;overflow:hidden;color:rgba(0,0,0,.85);font-weight:700;font-size:14px;line-height:1.66667;white-space:nowrap;text-overflow:ellipsis}.ant-descriptions-extra,.ant-descriptions-item-content,.ant-descriptions-item-label,.ant-divider{font-size:12px;color:rgba(0,0,0,.85)}.ant-descriptions-extra{margin-left:auto}.ant-descriptions-view{width:100%;overflow:hidden;border-radius:2px}.ant-descriptions-view table{width:100%;table-layout:fixed}.ant-descriptions-row>td,.ant-descriptions-row>th{padding-bottom:4px}.ant-descriptions-row:last-child{border-bottom:none}.ant-descriptions-item-label{font-weight:400;line-height:1.66667;text-align:start}.ant-descriptions-item-label::after{content:':';position:relative;top:-.5px;margin:0 8px 0 2px}.ant-descriptions-item-label.ant-descriptions-item-no-colon::after,.ant-dropdown::before{content:' '}.ant-descriptions-item-no-label::after{margin:0;content:''}.ant-descriptions-item-content{display:table-cell;flex:1;line-height:1.66667;word-break:break-word;overflow-wrap:break-word}.ant-descriptions-item{padding-bottom:0;vertical-align:top}.ant-descriptions-item-container{display:flex}.ant-descriptions-item-container .ant-descriptions-item-content,.ant-descriptions-item-container .ant-descriptions-item-label{display:inline-flex;align-items:baseline}.ant-descriptions-middle .ant-descriptions-row>td,.ant-descriptions-middle .ant-descriptions-row>th{padding-bottom:8px}.ant-descriptions-small .ant-descriptions-row>td,.ant-descriptions-small .ant-descriptions-row>th{padding-bottom:4px}.ant-descriptions-bordered .ant-descriptions-view{border:1px solid #f0f0f0}.ant-descriptions-bordered .ant-descriptions-view>table{table-layout:auto}.ant-descriptions-bordered .ant-descriptions-item-content,.ant-descriptions-bordered .ant-descriptions-item-label{padding:12px 16px;border-right:1px solid #f0f0f0}.ant-descriptions-bordered .ant-descriptions-item-content:last-child,.ant-descriptions-bordered .ant-descriptions-item-label:last-child{border-right:none}.ant-descriptions-bordered .ant-descriptions-item-label::after{display:none}.ant-descriptions-bordered .ant-descriptions-row{border-bottom:1px solid #f0f0f0}.ant-descriptions-bordered .ant-descriptions-row:last-child{border-bottom:none}.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-content,.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-label{padding:8px 16px}.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-content,.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-label{padding:4px 8px}.ant-descriptions-rtl .ant-descriptions-item-label::after{margin:0 2px 0 8px}.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content,.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label{border-right:none;border-left:1px solid #f0f0f0}.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content:last-child,.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label:last-child{border-left:none}nz-descriptions{display:block}.ant-divider{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;border-top:1px solid rgba(0,0,0,.06)}.ant-divider-vertical{position:relative;top:-.06em;display:inline-block;height:.9em;margin:0 8px;vertical-align:middle;border-top:0;border-left:1px solid rgba(0,0,0,.06)}.ant-divider-horizontal{display:flex;clear:both;width:100%;min-width:100%;margin:24px 0}.ant-divider-horizontal.ant-divider-with-text{display:flex;margin:16px 0;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;white-space:nowrap;text-align:center;border-top:0;border-top-color:rgba(0,0,0,.06)}.ant-divider-horizontal.ant-divider-with-text::after,.ant-divider-horizontal.ant-divider-with-text::before{position:relative;top:50%;width:50%;border-top:1px solid transparent;border-top-color:inherit;border-bottom:0;transform:translateY(50%);content:''}.ant-divider-horizontal.ant-divider-with-text-left::before{top:50%;width:5%}.ant-divider-horizontal.ant-divider-with-text-left::after,.ant-divider-horizontal.ant-divider-with-text-right::before{top:50%;width:95%}.ant-divider-horizontal.ant-divider-with-text-right::after{top:50%;width:5%}.ant-divider-inner-text{display:inline-block;padding:0 1em}.ant-divider-dashed{background:0 0;border-color:rgba(0,0,0,.06);border-style:dashed;border-width:1px 0 0}.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed{border-top:0}.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::after,.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::before{border-style:dashed none none}.ant-divider-vertical.ant-divider-dashed{border-width:0 0 0 1px}.ant-divider-plain.ant-divider-with-text{color:rgba(0,0,0,.85);font-weight:400;font-size:12px}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::before{width:95%}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::after,.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::before{width:5%}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::after{width:95%}.ant-drawer{position:fixed;z-index:1000;width:0%;height:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1),height 0s ease .3s,width 0s ease .3s}.ant-drawer>*{transition:transform .3s cubic-bezier(.7,.3,.1,1),box-shadow .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-content-wrapper{position:absolute;width:100%;height:100%}.ant-drawer .ant-drawer-content{width:100%;height:100%}.ant-drawer-left,.ant-drawer-right{top:0;width:0%;height:100%}.ant-drawer-left .ant-drawer-content-wrapper,.ant-drawer-right .ant-drawer-content-wrapper{height:100%}.ant-drawer-left.ant-drawer-open,.ant-drawer-right.ant-drawer-open{width:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-left,.ant-drawer-left .ant-drawer-content-wrapper{left:0}.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:6px 0 16px -8px rgba(0,0,0,.08),9px 0 28px 0 rgba(0,0,0,.05),12px 0 48px 16px rgba(0,0,0,.03)}.ant-drawer-right,.ant-drawer-right .ant-drawer-content-wrapper{right:0}.ant-drawer-right.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:-6px 0 16px -8px rgba(0,0,0,.08),-9px 0 28px 0 rgba(0,0,0,.05),-12px 0 48px 16px rgba(0,0,0,.03)}.ant-drawer-top.ant-drawer-open .ant-drawer-content-wrapper,.header-dropdown{box-shadow:0 6px 16px -8px rgba(0,0,0,.08),0 9px 28px 0 rgba(0,0,0,.05),0 12px 48px 16px rgba(0,0,0,.03)}.ant-drawer-right.ant-drawer-open.no-mask{right:1px;transform:translateX(1px)}.ant-drawer-bottom,.ant-drawer-top{left:0;width:100%;height:0%}.ant-drawer-bottom .ant-drawer-content-wrapper,.ant-drawer-top .ant-drawer-content-wrapper{width:100%}.ant-drawer-bottom.ant-drawer-open,.ant-drawer-top.ant-drawer-open{height:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-top{top:0}.ant-drawer-bottom,.ant-drawer-bottom .ant-drawer-content-wrapper{bottom:0}.ant-drawer-bottom.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:0 -6px 16px -8px rgba(0,0,0,.08),0 -9px 28px 0 rgba(0,0,0,.05),0 -12px 48px 16px rgba(0,0,0,.03)}.ant-drawer-bottom.ant-drawer-open.no-mask{bottom:1px;transform:translateY(1px)}.ant-drawer.ant-drawer-open .ant-drawer-mask{height:100%;opacity:1;transition:none;animation:antdDrawerFadeIn .3s cubic-bezier(.7,.3,.1,1);pointer-events:auto}.ant-drawer-mask,.ant-dropdown-menu-item-disabled a,.ant-dropdown-menu-submenu-title-disabled a{pointer-events:none}.ant-drawer-title{margin:0;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;line-height:22px}.ant-drawer-content{position:relative;z-index:1;overflow:auto;background-color:#fff;background-clip:padding-box;border:0}.ant-drawer-close{position:absolute;top:0;right:0;z-index:10;display:block;padding:15px;color:rgba(0,0,0,.45);font-weight:700;font-size:14px;font-style:normal;line-height:1;text-align:center;text-transform:none;text-decoration:none;background:0 0;border:0;outline:0;cursor:pointer;transition:color .3s;text-rendering:auto}.ant-drawer-body,.ant-dropdown{line-height:1.66667;font-size:12px}.ant-drawer-header,.ant-list-split .ant-list-item{border-bottom:1px solid #f0f0f0}.ant-drawer-footer,.ant-list-split.ant-list-empty .ant-list-footer{border-top:1px solid #f0f0f0}.ant-drawer-close:focus,.ant-drawer-close:hover{color:rgba(0,0,0,.75);text-decoration:none}.ant-drawer-header,.ant-drawer-header-no-title{color:rgba(0,0,0,.85);background:#fff}.ant-drawer-header-no-title .ant-drawer-close{margin-right:var(--scroll-bar);padding-right:calc(15px - var(--scroll-bar))}.ant-drawer-header{position:relative;padding:11px 16px;border-radius:2px 2px 0 0}.ant-drawer-wrapper-body{display:flex;flex-direction:column;flex-wrap:nowrap;width:100%;height:100%}.ant-drawer-body{flex-grow:1;padding:16px;overflow:auto;word-wrap:break-word}.ant-drawer-footer{flex-shrink:0;padding:8px}.ant-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0;background-color:rgba(0,0,0,.45);opacity:0;filter:alpha(opacity=45);transition:opacity .3s linear,height 0s ease .3s}.ant-drawer-open-content{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}.ant-drawer .ant-picker-clear{background:#fff}@keyframes antdDrawerFadeIn{0%{opacity:0}100%{opacity:1}}.ant-drawer-rtl .ant-drawer-close{right:auto;left:0}.ant-dropdown-menu-item.ant-dropdown-menu-item-danger{color:#ff4d4f}.ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover{color:#fff;background-color:#ff4d4f}.ant-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;z-index:1050;display:block}.ant-dropdown::before{position:absolute;top:-4px;right:0;bottom:-4px;left:-7px;z-index:-9999;opacity:.0001}.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow,.ant-dropdown-placement-topRight>.ant-dropdown-arrow{right:16px}.ant-dropdown-wrap{position:relative}.ant-dropdown-wrap .ant-btn>.anticon-down{font-size:10px}.ant-dropdown-wrap .anticon-down::before{transition:transform .2s}.ant-dropdown-hidden,.ant-dropdown-menu-hidden,.ant-dropdown-menu-submenu-hidden{display:none}.ant-dropdown-show-arrow.ant-dropdown-placement-topCenter,.ant-dropdown-show-arrow.ant-dropdown-placement-topLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-topRight{padding-bottom:10px}.ant-dropdown-show-arrow.ant-dropdown-placement-bottomCenter,.ant-dropdown-show-arrow.ant-dropdown-placement-bottomLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-bottomRight{padding-top:10px}.ant-dropdown-arrow{position:absolute;z-index:1;display:block;width:8.49px;height:8.49px;background:0 0;border-style:solid;border-width:4.24px;transform:rotate(45deg)}.ant-dropdown-placement-topCenter>.ant-dropdown-arrow,.ant-dropdown-placement-topLeft>.ant-dropdown-arrow,.ant-dropdown-placement-topRight>.ant-dropdown-arrow{bottom:6.2px;box-shadow:3px 3px 7px rgba(0,0,0,.07);border-color:transparent #fff #fff transparent}.ant-dropdown-placement-topCenter>.ant-dropdown-arrow{left:50%;transform:translateX(-50%) rotate(45deg)}.ant-dropdown-placement-topLeft>.ant-dropdown-arrow{left:16px}.ant-dropdown-placement-bottomCenter>.ant-dropdown-arrow,.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow,.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow{top:6px;box-shadow:-2px -2px 5px rgba(0,0,0,.06);border-color:#fff transparent transparent #fff}.ant-dropdown-menu,.ant-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}.ant-dropdown-placement-bottomCenter>.ant-dropdown-arrow{left:50%;transform:translateX(-50%) rotate(45deg)}.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow{left:16px}.ant-dropdown-menu{position:relative;margin:0;padding:4px 0;text-align:left;list-style-type:none;background-color:#fff;background-clip:padding-box;border-radius:2px;outline:0}.ant-dropdown-menu-item-group-title{padding:5px 8px;color:rgba(0,0,0,.45);transition:all .3s}.ant-dropdown-menu-submenu-popup{position:absolute;z-index:1050;background:0 0;box-shadow:none;transform-origin:0 0}.ant-dropdown-menu-submenu-popup li,.ant-dropdown-menu-submenu-popup ul{list-style:none}.ant-dropdown-menu-submenu-popup ul{margin-right:.3em;margin-left:.3em}.ant-dropdown-menu-item{position:relative;display:flex;align-items:center}.ant-dropdown-menu-item-icon{min-width:12px;margin-right:8px;font-size:12px}.ant-dropdown-menu-title-content{flex:auto}.ant-dropdown-menu-title-content>a{color:inherit;transition:all .3s}.ant-dropdown-menu-title-content>a:hover{color:inherit}.ant-dropdown-menu-title-content>a::after{position:absolute;top:0;right:0;bottom:0;left:0;content:''}.ant-dropdown-menu-item,.ant-dropdown-menu-submenu-title{clear:both;margin:0;padding:5px 8px;color:rgba(0,0,0,.85);font-weight:400;font-size:12px;line-height:18px;white-space:nowrap;cursor:pointer;transition:all .3s}.ant-dropdown-menu-item-selected,.ant-dropdown-menu-submenu-title-selected{color:#1890ff;background-color:#e6f7ff}.ant-dropdown-menu-item:hover,.ant-dropdown-menu-submenu-title:hover{background-color:#f5f5f5}.ant-dropdown-menu-item-disabled,.ant-dropdown-menu-submenu-title-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-dropdown-menu-item-disabled:hover,.ant-dropdown-menu-submenu-title-disabled:hover{color:rgba(0,0,0,.25);background-color:#fff;cursor:not-allowed}.ant-dropdown-menu-item-divider,.ant-dropdown-menu-submenu-title-divider{height:1px;margin:4px 0;overflow:hidden;line-height:0;background-color:#f0f0f0}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon{position:absolute;right:4px}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon{margin-right:0!important;color:rgba(0,0,0,.45);font-size:10px;font-style:normal}.ant-dropdown-menu-item-group-list{margin:0 8px;padding:0;list-style:none}.ant-dropdown-menu-submenu-title{padding-right:20px}.ant-dropdown-menu-submenu-vertical{position:relative}.ant-dropdown-menu-submenu-vertical>.ant-dropdown-menu{position:absolute;top:0;left:100%;min-width:100%;margin-left:4px;transform-origin:0 0}.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{color:rgba(0,0,0,.25);background-color:#fff;cursor:not-allowed}.ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title{color:#1890ff}.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topRight,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topRight{animation-name:antSlideDownIn}.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomRight{animation-name:antSlideUpOut}.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topRight{animation-name:antSlideDownOut}.ant-dropdown-button>.anticon.anticon-down,.ant-dropdown-link>.anticon.anticon-down,.ant-dropdown-trigger>.anticon.anticon-down{font-size:10px;vertical-align:baseline}.ant-dropdown-button{white-space:nowrap}.ant-dropdown-button.ant-btn-group>.ant-btn:last-child:not(:first-child):not(.ant-btn-icon-only){padding-right:4px;padding-left:4px}.ant-dropdown-menu-dark,.ant-dropdown-menu-dark .ant-dropdown-menu{background:#001529}.ant-dropdown-menu-dark .ant-dropdown-menu-item,.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow::after{color:rgba(255,255,255,.65)}.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover{color:#fff;background:0 0}.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected>a{color:#fff;background:#1890ff}.ant-input,.ant-input-affix-wrapper,.ant-input-number{min-width:0;background-color:#fff}.ant-dropdown-rtl.ant-dropdown::before{right:-7px;left:0}.ant-dropdown-menu.ant-dropdown-menu-rtl,.ant-dropdown-rtl .ant-dropdown-menu-item-group-title{text-align:right}.ant-dropdown-menu-submenu-popup.ant-dropdown-menu-submenu-rtl{transform-origin:100% 0}.ant-dropdown-rtl .ant-dropdown-menu-item,.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup li,.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup ul,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title{text-align:right}.ant-dropdown-rtl .ant-dropdown-menu-item>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-item>span>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title>span>.anticon:first-child{margin-right:0;margin-left:8px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow{right:auto;left:4px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{margin-left:0!important;transform:scaleX(-1)}.ant-dropdown-rtl .ant-dropdown-menu-submenu-title{padding-right:8px;padding-left:20px}.ant-dropdown-rtl .ant-dropdown-menu-submenu-vertical>.ant-dropdown-menu{right:100%;left:0;margin-right:4px;margin-left:0}.ant-dropdown-menu>ul{list-style:inherit;margin:0;padding:0}.ant-dropdown{top:0;left:0;position:relative;width:100%;margin-top:6px;margin-bottom:6px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow{transform:rotate(180deg)}.ant-empty{margin:0 8px;font-size:12px;line-height:1.66667;text-align:center}.ant-empty-image{height:100px;margin-bottom:8px}.ant-empty-image img{height:100%}.ant-empty-image svg{height:100%;margin:auto}.ant-empty-footer{margin-top:16px}.ant-empty-normal{margin:32px 0;color:rgba(0,0,0,.25)}.ant-empty-normal .ant-empty-image{height:40px}.ant-empty-small{margin:8px 0;color:rgba(0,0,0,.25)}.ant-empty-small .ant-empty-image{height:35px}.ant-empty-img-default-ellipse{fill:#f5f5f5;fill-opacity:.8}.ant-empty-img-default-path-1{fill:#aeb8c2}.ant-empty-img-default-path-2{fill:url(#linearGradient-1)}.ant-empty-img-default-path-3{fill:#f5f5f7}.ant-empty-img-default-path-4,.ant-empty-img-default-path-5{fill:#dce0e6}.ant-empty-img-default-g{fill:#fff}.ant-empty-img-simple-ellipse{fill:#f5f5f5}.ant-empty-img-simple-g{stroke:#d9d9d9}.ant-empty-img-simple-path{fill:#fafafa}nz-empty{display:block}.ant-row,.ant-row::after,.ant-row::before{display:flex}.ant-row{flex-flow:row wrap}.ant-col-1,.ant-col-10,.ant-col-11,.ant-col-12,.ant-col-13,.ant-col-14,.ant-col-15,.ant-col-16,.ant-col-17,.ant-col-18,.ant-col-19,.ant-col-2,.ant-col-20,.ant-col-21,.ant-col-22,.ant-col-23,.ant-col-24,.ant-col-3,.ant-col-4,.ant-col-5,.ant-col-6,.ant-col-7,.ant-col-8,.ant-col-9{display:block}.ant-row-no-wrap{flex-wrap:nowrap}.ant-row-start{justify-content:flex-start}.ant-row-center{justify-content:center}.ant-row-end{justify-content:flex-end}.ant-page-header-heading,.ant-row-space-between{justify-content:space-between}.ant-row-space-around{justify-content:space-around}.ant-row-top{align-items:flex-start}.ant-row-middle{align-items:center}.ant-row-bottom{align-items:flex-end}.ant-col{position:relative;max-width:100%;min-height:1px}.ant-col-24{flex:0 0 100%;max-width:100%}.ant-col-push-24{left:100%}.ant-col-pull-24{right:100%}.ant-col-offset-24{margin-left:100%}.ant-col-order-24{order:24}.ant-col-23{flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-push-23{left:95.83333333%}.ant-col-pull-23{right:95.83333333%}.ant-col-offset-23{margin-left:95.83333333%}.ant-col-order-23{order:23}.ant-col-22{flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-push-22{left:91.66666667%}.ant-col-pull-22{right:91.66666667%}.ant-col-offset-22{margin-left:91.66666667%}.ant-col-order-22{order:22}.ant-col-21{flex:0 0 87.5%;max-width:87.5%}.ant-col-push-21{left:87.5%}.ant-col-pull-21{right:87.5%}.ant-col-offset-21{margin-left:87.5%}.ant-col-order-21{order:21}.ant-col-20{flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-push-20{left:83.33333333%}.ant-col-pull-20{right:83.33333333%}.ant-col-offset-20{margin-left:83.33333333%}.ant-col-order-20{order:20}.ant-col-19{flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-push-19{left:79.16666667%}.ant-col-pull-19{right:79.16666667%}.ant-col-offset-19{margin-left:79.16666667%}.ant-col-order-19{order:19}.ant-col-18{flex:0 0 75%;max-width:75%}.ant-col-push-18{left:75%}.ant-col-pull-18{right:75%}.ant-col-offset-18{margin-left:75%}.ant-col-order-18{order:18}.ant-col-17{flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-push-17{left:70.83333333%}.ant-col-pull-17{right:70.83333333%}.ant-col-offset-17{margin-left:70.83333333%}.ant-col-order-17{order:17}.ant-col-16{flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-push-16{left:66.66666667%}.ant-col-pull-16{right:66.66666667%}.ant-col-offset-16{margin-left:66.66666667%}.ant-col-order-16{order:16}.ant-col-15{flex:0 0 62.5%;max-width:62.5%}.ant-col-push-15{left:62.5%}.ant-col-pull-15{right:62.5%}.ant-col-offset-15{margin-left:62.5%}.ant-col-order-15{order:15}.ant-col-14{flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-push-14{left:58.33333333%}.ant-col-pull-14{right:58.33333333%}.ant-col-offset-14{margin-left:58.33333333%}.ant-col-order-14{order:14}.ant-col-13{flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-push-13{left:54.16666667%}.ant-col-pull-13{right:54.16666667%}.ant-col-offset-13{margin-left:54.16666667%}.ant-col-order-13{order:13}.ant-col-12{flex:0 0 50%;max-width:50%}.ant-col-push-12{left:50%}.ant-col-pull-12{right:50%}.ant-col-offset-12{margin-left:50%}.ant-col-order-12{order:12}.ant-col-11{flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-push-11{left:45.83333333%}.ant-col-pull-11{right:45.83333333%}.ant-col-offset-11{margin-left:45.83333333%}.ant-col-order-11{order:11}.ant-col-10{flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-push-10{left:41.66666667%}.ant-col-pull-10{right:41.66666667%}.ant-col-offset-10{margin-left:41.66666667%}.ant-col-order-10{order:10}.ant-col-9{flex:0 0 37.5%;max-width:37.5%}.ant-col-push-9{left:37.5%}.ant-col-pull-9{right:37.5%}.ant-col-offset-9{margin-left:37.5%}.ant-col-order-9{order:9}.ant-col-8{flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-push-8{left:33.33333333%}.ant-col-pull-8{right:33.33333333%}.ant-col-offset-8{margin-left:33.33333333%}.ant-col-order-8{order:8}.ant-col-7{flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-push-7{left:29.16666667%}.ant-col-pull-7{right:29.16666667%}.ant-col-offset-7{margin-left:29.16666667%}.ant-col-order-7{order:7}.ant-col-6{flex:0 0 25%;max-width:25%}.ant-col-push-6{left:25%}.ant-col-pull-6{right:25%}.ant-col-offset-6{margin-left:25%}.ant-col-order-6{order:6}.ant-col-5{flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-push-5{left:20.83333333%}.ant-col-pull-5{right:20.83333333%}.ant-col-offset-5{margin-left:20.83333333%}.ant-col-order-5{order:5}.ant-col-4{flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-push-4{left:16.66666667%}.ant-col-pull-4{right:16.66666667%}.ant-col-offset-4{margin-left:16.66666667%}.ant-col-order-4{order:4}.ant-col-3{flex:0 0 12.5%;max-width:12.5%}.ant-col-push-3{left:12.5%}.ant-col-pull-3{right:12.5%}.ant-col-offset-3{margin-left:12.5%}.ant-col-order-3{order:3}.ant-col-2{flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-push-2{left:8.33333333%}.ant-col-pull-2{right:8.33333333%}.ant-col-offset-2{margin-left:8.33333333%}.ant-col-order-2{order:2}.ant-col-1{flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-push-1{left:4.16666667%}.ant-col-pull-1{right:4.16666667%}.ant-col-offset-1{margin-left:4.16666667%}.ant-col-order-1{order:1}.ant-col-0{display:none}.ant-col-offset-0{margin-left:0}.ant-col-order-0{order:0}.ant-col-offset-0.ant-col-rtl{margin-right:0}.ant-col-push-1.ant-col-rtl{right:4.16666667%;left:auto}.ant-col-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}.ant-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xs-push-24{left:100%}.ant-col-xs-pull-24{right:100%}.ant-col-xs-offset-24{margin-left:100%}.ant-col-xs-order-24{order:24}.ant-col-xs-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xs-push-23{left:95.83333333%}.ant-col-xs-pull-23{right:95.83333333%}.ant-col-xs-offset-23{margin-left:95.83333333%}.ant-col-xs-order-23{order:23}.ant-col-xs-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xs-push-22{left:91.66666667%}.ant-col-xs-pull-22{right:91.66666667%}.ant-col-xs-offset-22{margin-left:91.66666667%}.ant-col-xs-order-22{order:22}.ant-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xs-push-21{left:87.5%}.ant-col-xs-pull-21{right:87.5%}.ant-col-xs-offset-21{margin-left:87.5%}.ant-col-xs-order-21{order:21}.ant-col-xs-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xs-push-20{left:83.33333333%}.ant-col-xs-pull-20{right:83.33333333%}.ant-col-xs-offset-20{margin-left:83.33333333%}.ant-col-xs-order-20{order:20}.ant-col-xs-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xs-push-19{left:79.16666667%}.ant-col-xs-pull-19{right:79.16666667%}.ant-col-xs-offset-19{margin-left:79.16666667%}.ant-col-xs-order-19{order:19}.ant-col-xs-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xs-push-18{left:75%}.ant-col-xs-pull-18{right:75%}.ant-col-xs-offset-18{margin-left:75%}.ant-col-xs-order-18{order:18}.ant-col-xs-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xs-push-17{left:70.83333333%}.ant-col-xs-pull-17{right:70.83333333%}.ant-col-xs-offset-17{margin-left:70.83333333%}.ant-col-xs-order-17{order:17}.ant-col-xs-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xs-push-16{left:66.66666667%}.ant-col-xs-pull-16{right:66.66666667%}.ant-col-xs-offset-16{margin-left:66.66666667%}.ant-col-xs-order-16{order:16}.ant-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xs-push-15{left:62.5%}.ant-col-xs-pull-15{right:62.5%}.ant-col-xs-offset-15{margin-left:62.5%}.ant-col-xs-order-15{order:15}.ant-col-xs-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xs-push-14{left:58.33333333%}.ant-col-xs-pull-14{right:58.33333333%}.ant-col-xs-offset-14{margin-left:58.33333333%}.ant-col-xs-order-14{order:14}.ant-col-xs-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xs-push-13{left:54.16666667%}.ant-col-xs-pull-13{right:54.16666667%}.ant-col-xs-offset-13{margin-left:54.16666667%}.ant-col-xs-order-13{order:13}.ant-col-xs-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xs-push-12{left:50%}.ant-col-xs-pull-12{right:50%}.ant-col-xs-offset-12{margin-left:50%}.ant-col-xs-order-12{order:12}.ant-col-xs-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xs-push-11{left:45.83333333%}.ant-col-xs-pull-11{right:45.83333333%}.ant-col-xs-offset-11{margin-left:45.83333333%}.ant-col-xs-order-11{order:11}.ant-col-xs-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xs-push-10{left:41.66666667%}.ant-col-xs-pull-10{right:41.66666667%}.ant-col-xs-offset-10{margin-left:41.66666667%}.ant-col-xs-order-10{order:10}.ant-col-xs-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xs-push-9{left:37.5%}.ant-col-xs-pull-9{right:37.5%}.ant-col-xs-offset-9{margin-left:37.5%}.ant-col-xs-order-9{order:9}.ant-col-xs-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xs-push-8{left:33.33333333%}.ant-col-xs-pull-8{right:33.33333333%}.ant-col-xs-offset-8{margin-left:33.33333333%}.ant-col-xs-order-8{order:8}.ant-col-xs-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xs-push-7{left:29.16666667%}.ant-col-xs-pull-7{right:29.16666667%}.ant-col-xs-offset-7{margin-left:29.16666667%}.ant-col-xs-order-7{order:7}.ant-col-xs-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xs-push-6{left:25%}.ant-col-xs-pull-6{right:25%}.ant-col-xs-offset-6{margin-left:25%}.ant-col-xs-order-6{order:6}.ant-col-xs-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xs-push-5{left:20.83333333%}.ant-col-xs-pull-5{right:20.83333333%}.ant-col-xs-offset-5{margin-left:20.83333333%}.ant-col-xs-order-5{order:5}.ant-col-xs-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xs-push-4{left:16.66666667%}.ant-col-xs-pull-4{right:16.66666667%}.ant-col-xs-offset-4{margin-left:16.66666667%}.ant-col-xs-order-4{order:4}.ant-col-xs-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xs-push-3{left:12.5%}.ant-col-xs-pull-3{right:12.5%}.ant-col-xs-offset-3{margin-left:12.5%}.ant-col-xs-order-3{order:3}.ant-col-xs-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xs-push-2{left:8.33333333%}.ant-col-xs-pull-2{right:8.33333333%}.ant-col-xs-offset-2{margin-left:8.33333333%}.ant-col-xs-order-2{order:2}.ant-col-xs-order-1,.ant-layout-sider-right,.ant-tabs-rtl.ant-tabs-left>.ant-tabs-nav{order:1}.ant-col-xs-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xs-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xs-pull-0.ant-col-rtl,.ant-col-xs-push-0,.ant-col-xs-push-1.ant-col-rtl{left:auto}.ant-col-xs-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xs-pull-0,.ant-col-xs-push-0.ant-col-rtl{right:auto}.ant-col-xs-offset-1{margin-left:4.16666667%}.ant-col-xs-0{display:none}.ant-col-xs-offset-0{margin-left:0}.ant-col-xs-order-0{order:0}.ant-col-xs-offset-0.ant-col-rtl{margin-right:0}.ant-col-xs-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xs-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xs-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xs-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xs-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xs-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xs-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xs-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xs-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xs-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xs-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xs-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xs-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xs-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xs-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xs-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xs-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xs-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xs-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xs-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xs-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xs-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xs-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xs-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xs-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xs-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xs-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xs-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xs-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xs-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xs-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xs-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xs-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xs-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xs-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xs-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xs-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xs-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xs-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xs-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xs-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xs-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xs-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xs-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xs-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xs-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xs-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xs-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xs-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xs-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xs-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xs-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xs-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xs-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xs-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xs-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xs-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xs-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xs-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xs-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xs-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xs-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xs-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xs-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xs-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xs-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xs-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xs-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xs-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xs-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xs-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xs-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}@media (min-width:576px){.ant-col-sm-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-sm-push-24{left:100%}.ant-col-sm-pull-24{right:100%}.ant-col-sm-offset-24{margin-left:100%}.ant-col-sm-order-24{order:24}.ant-col-sm-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-sm-push-23{left:95.83333333%}.ant-col-sm-pull-23{right:95.83333333%}.ant-col-sm-offset-23{margin-left:95.83333333%}.ant-col-sm-order-23{order:23}.ant-col-sm-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-sm-push-22{left:91.66666667%}.ant-col-sm-pull-22{right:91.66666667%}.ant-col-sm-offset-22{margin-left:91.66666667%}.ant-col-sm-order-22{order:22}.ant-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-sm-push-21{left:87.5%}.ant-col-sm-pull-21{right:87.5%}.ant-col-sm-offset-21{margin-left:87.5%}.ant-col-sm-order-21{order:21}.ant-col-sm-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-sm-push-20{left:83.33333333%}.ant-col-sm-pull-20{right:83.33333333%}.ant-col-sm-offset-20{margin-left:83.33333333%}.ant-col-sm-order-20{order:20}.ant-col-sm-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-sm-push-19{left:79.16666667%}.ant-col-sm-pull-19{right:79.16666667%}.ant-col-sm-offset-19{margin-left:79.16666667%}.ant-col-sm-order-19{order:19}.ant-col-sm-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-sm-push-18{left:75%}.ant-col-sm-pull-18{right:75%}.ant-col-sm-offset-18{margin-left:75%}.ant-col-sm-order-18{order:18}.ant-col-sm-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-sm-push-17{left:70.83333333%}.ant-col-sm-pull-17{right:70.83333333%}.ant-col-sm-offset-17{margin-left:70.83333333%}.ant-col-sm-order-17{order:17}.ant-col-sm-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-sm-push-16{left:66.66666667%}.ant-col-sm-pull-16{right:66.66666667%}.ant-col-sm-offset-16{margin-left:66.66666667%}.ant-col-sm-order-16{order:16}.ant-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-sm-push-15{left:62.5%}.ant-col-sm-pull-15{right:62.5%}.ant-col-sm-offset-15{margin-left:62.5%}.ant-col-sm-order-15{order:15}.ant-col-sm-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-sm-push-14{left:58.33333333%}.ant-col-sm-pull-14{right:58.33333333%}.ant-col-sm-offset-14{margin-left:58.33333333%}.ant-col-sm-order-14{order:14}.ant-col-sm-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-sm-push-13{left:54.16666667%}.ant-col-sm-pull-13{right:54.16666667%}.ant-col-sm-offset-13{margin-left:54.16666667%}.ant-col-sm-order-13{order:13}.ant-col-sm-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-sm-push-12{left:50%}.ant-col-sm-pull-12{right:50%}.ant-col-sm-offset-12{margin-left:50%}.ant-col-sm-order-12{order:12}.ant-col-sm-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-sm-push-11{left:45.83333333%}.ant-col-sm-pull-11{right:45.83333333%}.ant-col-sm-offset-11{margin-left:45.83333333%}.ant-col-sm-order-11{order:11}.ant-col-sm-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-sm-push-10{left:41.66666667%}.ant-col-sm-pull-10{right:41.66666667%}.ant-col-sm-offset-10{margin-left:41.66666667%}.ant-col-sm-order-10{order:10}.ant-col-sm-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-sm-push-9{left:37.5%}.ant-col-sm-pull-9{right:37.5%}.ant-col-sm-offset-9{margin-left:37.5%}.ant-col-sm-order-9{order:9}.ant-col-sm-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-sm-push-8{left:33.33333333%}.ant-col-sm-pull-8{right:33.33333333%}.ant-col-sm-offset-8{margin-left:33.33333333%}.ant-col-sm-order-8{order:8}.ant-col-sm-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-sm-push-7{left:29.16666667%}.ant-col-sm-pull-7{right:29.16666667%}.ant-col-sm-offset-7{margin-left:29.16666667%}.ant-col-sm-order-7{order:7}.ant-col-sm-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-sm-push-6{left:25%}.ant-col-sm-pull-6{right:25%}.ant-col-sm-offset-6{margin-left:25%}.ant-col-sm-order-6{order:6}.ant-col-sm-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-sm-push-5{left:20.83333333%}.ant-col-sm-pull-5{right:20.83333333%}.ant-col-sm-offset-5{margin-left:20.83333333%}.ant-col-sm-order-5{order:5}.ant-col-sm-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-sm-push-4{left:16.66666667%}.ant-col-sm-pull-4{right:16.66666667%}.ant-col-sm-offset-4{margin-left:16.66666667%}.ant-col-sm-order-4{order:4}.ant-col-sm-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-sm-push-3{left:12.5%}.ant-col-sm-pull-3{right:12.5%}.ant-col-sm-offset-3{margin-left:12.5%}.ant-col-sm-order-3{order:3}.ant-col-sm-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-sm-push-2{left:8.33333333%}.ant-col-sm-pull-2{right:8.33333333%}.ant-col-sm-offset-2{margin-left:8.33333333%}.ant-col-sm-order-2{order:2}.ant-col-sm-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-sm-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-sm-pull-0.ant-col-rtl,.ant-col-sm-push-0,.ant-col-sm-push-1.ant-col-rtl{left:auto}.ant-col-sm-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-sm-pull-0,.ant-col-sm-push-0.ant-col-rtl{right:auto}.ant-col-sm-offset-1{margin-left:4.16666667%}.ant-col-sm-order-1{order:1}.ant-col-sm-0{display:none}.ant-col-sm-offset-0{margin-left:0}.ant-col-sm-order-0{order:0}.ant-col-sm-offset-0.ant-col-rtl{margin-right:0}.ant-col-sm-push-1.ant-col-rtl{right:4.16666667%}.ant-col-sm-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-sm-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-sm-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-sm-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-sm-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-sm-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-sm-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-sm-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-sm-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-sm-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-sm-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-sm-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-sm-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-sm-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-sm-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-sm-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-sm-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-sm-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-sm-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-sm-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-sm-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-sm-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-sm-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-sm-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-sm-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-sm-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-sm-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-sm-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-sm-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-sm-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-sm-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-sm-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-sm-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-sm-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-sm-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-sm-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-sm-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-sm-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-sm-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-sm-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-sm-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-sm-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-sm-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-sm-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-sm-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-sm-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-sm-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-sm-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-sm-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-sm-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-sm-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-sm-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-sm-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-sm-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-sm-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-sm-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-sm-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-sm-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-sm-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-sm-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-sm-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-sm-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-sm-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-sm-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-sm-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-sm-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-sm-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-sm-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-sm-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-sm-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-sm-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:768px){.ant-col-md-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-md-push-24{left:100%}.ant-col-md-pull-24{right:100%}.ant-col-md-offset-24{margin-left:100%}.ant-col-md-order-24{order:24}.ant-col-md-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-md-push-23{left:95.83333333%}.ant-col-md-pull-23{right:95.83333333%}.ant-col-md-offset-23{margin-left:95.83333333%}.ant-col-md-order-23{order:23}.ant-col-md-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-md-push-22{left:91.66666667%}.ant-col-md-pull-22{right:91.66666667%}.ant-col-md-offset-22{margin-left:91.66666667%}.ant-col-md-order-22{order:22}.ant-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-md-push-21{left:87.5%}.ant-col-md-pull-21{right:87.5%}.ant-col-md-offset-21{margin-left:87.5%}.ant-col-md-order-21{order:21}.ant-col-md-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-md-push-20{left:83.33333333%}.ant-col-md-pull-20{right:83.33333333%}.ant-col-md-offset-20{margin-left:83.33333333%}.ant-col-md-order-20{order:20}.ant-col-md-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-md-push-19{left:79.16666667%}.ant-col-md-pull-19{right:79.16666667%}.ant-col-md-offset-19{margin-left:79.16666667%}.ant-col-md-order-19{order:19}.ant-col-md-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-md-push-18{left:75%}.ant-col-md-pull-18{right:75%}.ant-col-md-offset-18{margin-left:75%}.ant-col-md-order-18{order:18}.ant-col-md-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-md-push-17{left:70.83333333%}.ant-col-md-pull-17{right:70.83333333%}.ant-col-md-offset-17{margin-left:70.83333333%}.ant-col-md-order-17{order:17}.ant-col-md-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-md-push-16{left:66.66666667%}.ant-col-md-pull-16{right:66.66666667%}.ant-col-md-offset-16{margin-left:66.66666667%}.ant-col-md-order-16{order:16}.ant-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-md-push-15{left:62.5%}.ant-col-md-pull-15{right:62.5%}.ant-col-md-offset-15{margin-left:62.5%}.ant-col-md-order-15{order:15}.ant-col-md-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-md-push-14{left:58.33333333%}.ant-col-md-pull-14{right:58.33333333%}.ant-col-md-offset-14{margin-left:58.33333333%}.ant-col-md-order-14{order:14}.ant-col-md-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-md-push-13{left:54.16666667%}.ant-col-md-pull-13{right:54.16666667%}.ant-col-md-offset-13{margin-left:54.16666667%}.ant-col-md-order-13{order:13}.ant-col-md-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-md-push-12{left:50%}.ant-col-md-pull-12{right:50%}.ant-col-md-offset-12{margin-left:50%}.ant-col-md-order-12{order:12}.ant-col-md-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-md-push-11{left:45.83333333%}.ant-col-md-pull-11{right:45.83333333%}.ant-col-md-offset-11{margin-left:45.83333333%}.ant-col-md-order-11{order:11}.ant-col-md-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-md-push-10{left:41.66666667%}.ant-col-md-pull-10{right:41.66666667%}.ant-col-md-offset-10{margin-left:41.66666667%}.ant-col-md-order-10{order:10}.ant-col-md-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-md-push-9{left:37.5%}.ant-col-md-pull-9{right:37.5%}.ant-col-md-offset-9{margin-left:37.5%}.ant-col-md-order-9{order:9}.ant-col-md-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-md-push-8{left:33.33333333%}.ant-col-md-pull-8{right:33.33333333%}.ant-col-md-offset-8{margin-left:33.33333333%}.ant-col-md-order-8{order:8}.ant-col-md-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-md-push-7{left:29.16666667%}.ant-col-md-pull-7{right:29.16666667%}.ant-col-md-offset-7{margin-left:29.16666667%}.ant-col-md-order-7{order:7}.ant-col-md-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-md-push-6{left:25%}.ant-col-md-pull-6{right:25%}.ant-col-md-offset-6{margin-left:25%}.ant-col-md-order-6{order:6}.ant-col-md-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-md-push-5{left:20.83333333%}.ant-col-md-pull-5{right:20.83333333%}.ant-col-md-offset-5{margin-left:20.83333333%}.ant-col-md-order-5{order:5}.ant-col-md-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-md-push-4{left:16.66666667%}.ant-col-md-pull-4{right:16.66666667%}.ant-col-md-offset-4{margin-left:16.66666667%}.ant-col-md-order-4{order:4}.ant-col-md-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-md-push-3{left:12.5%}.ant-col-md-pull-3{right:12.5%}.ant-col-md-offset-3{margin-left:12.5%}.ant-col-md-order-3{order:3}.ant-col-md-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-md-push-2{left:8.33333333%}.ant-col-md-pull-2{right:8.33333333%}.ant-col-md-offset-2{margin-left:8.33333333%}.ant-col-md-order-2{order:2}.ant-col-md-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-md-push-1{left:4.16666667%}.ant-col-md-pull-0.ant-col-rtl,.ant-col-md-push-0,.ant-col-md-push-1.ant-col-rtl,.ant-col-pull-0.ant-col-rtl,.ant-col-push-0{left:auto}.ant-col-md-pull-1{right:4.16666667%}.ant-col-md-pull-0,.ant-col-md-push-0.ant-col-rtl,.ant-col-pull-0,.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-md-offset-1{margin-left:4.16666667%}.ant-col-md-order-1{order:1}.ant-col-md-0{display:none}.ant-col-md-offset-0{margin-left:0}.ant-col-md-order-0{order:0}.ant-col-md-offset-0.ant-col-rtl{margin-right:0}.ant-col-md-push-1.ant-col-rtl{right:4.16666667%}.ant-col-md-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-md-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-md-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-md-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-md-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-md-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-md-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-md-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-md-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-md-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-md-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-md-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-md-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-md-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-md-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-md-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-md-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-md-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-md-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-md-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-md-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-md-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-md-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-md-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-md-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-md-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-md-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-md-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-md-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-md-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-md-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-md-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-md-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-md-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-md-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-md-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-md-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-md-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-md-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-md-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-md-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-md-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-md-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-md-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-md-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-md-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-md-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-md-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-md-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-md-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-md-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-md-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-md-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-md-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-md-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-md-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-md-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-md-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-md-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-md-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-md-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-md-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-md-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-md-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-md-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-md-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-md-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-md-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-md-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-md-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-md-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:992px){.ant-col-lg-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-lg-push-24{left:100%}.ant-col-lg-pull-24{right:100%}.ant-col-lg-offset-24{margin-left:100%}.ant-col-lg-order-24{order:24}.ant-col-lg-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-lg-push-23{left:95.83333333%}.ant-col-lg-pull-23{right:95.83333333%}.ant-col-lg-offset-23{margin-left:95.83333333%}.ant-col-lg-order-23{order:23}.ant-col-lg-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-lg-push-22{left:91.66666667%}.ant-col-lg-pull-22{right:91.66666667%}.ant-col-lg-offset-22{margin-left:91.66666667%}.ant-col-lg-order-22{order:22}.ant-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-lg-push-21{left:87.5%}.ant-col-lg-pull-21{right:87.5%}.ant-col-lg-offset-21{margin-left:87.5%}.ant-col-lg-order-21{order:21}.ant-col-lg-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-lg-push-20{left:83.33333333%}.ant-col-lg-pull-20{right:83.33333333%}.ant-col-lg-offset-20{margin-left:83.33333333%}.ant-col-lg-order-20{order:20}.ant-col-lg-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-lg-push-19{left:79.16666667%}.ant-col-lg-pull-19{right:79.16666667%}.ant-col-lg-offset-19{margin-left:79.16666667%}.ant-col-lg-order-19{order:19}.ant-col-lg-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-lg-push-18{left:75%}.ant-col-lg-pull-18{right:75%}.ant-col-lg-offset-18{margin-left:75%}.ant-col-lg-order-18{order:18}.ant-col-lg-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-lg-push-17{left:70.83333333%}.ant-col-lg-pull-17{right:70.83333333%}.ant-col-lg-offset-17{margin-left:70.83333333%}.ant-col-lg-order-17{order:17}.ant-col-lg-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-lg-push-16{left:66.66666667%}.ant-col-lg-pull-16{right:66.66666667%}.ant-col-lg-offset-16{margin-left:66.66666667%}.ant-col-lg-order-16{order:16}.ant-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-lg-push-15{left:62.5%}.ant-col-lg-pull-15{right:62.5%}.ant-col-lg-offset-15{margin-left:62.5%}.ant-col-lg-order-15{order:15}.ant-col-lg-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-lg-push-14{left:58.33333333%}.ant-col-lg-pull-14{right:58.33333333%}.ant-col-lg-offset-14{margin-left:58.33333333%}.ant-col-lg-order-14{order:14}.ant-col-lg-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-lg-push-13{left:54.16666667%}.ant-col-lg-pull-13{right:54.16666667%}.ant-col-lg-offset-13{margin-left:54.16666667%}.ant-col-lg-order-13{order:13}.ant-col-lg-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-lg-push-12{left:50%}.ant-col-lg-pull-12{right:50%}.ant-col-lg-offset-12{margin-left:50%}.ant-col-lg-order-12{order:12}.ant-col-lg-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-lg-push-11{left:45.83333333%}.ant-col-lg-pull-11{right:45.83333333%}.ant-col-lg-offset-11{margin-left:45.83333333%}.ant-col-lg-order-11{order:11}.ant-col-lg-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-lg-push-10{left:41.66666667%}.ant-col-lg-pull-10{right:41.66666667%}.ant-col-lg-offset-10{margin-left:41.66666667%}.ant-col-lg-order-10{order:10}.ant-col-lg-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-lg-push-9{left:37.5%}.ant-col-lg-pull-9{right:37.5%}.ant-col-lg-offset-9{margin-left:37.5%}.ant-col-lg-order-9{order:9}.ant-col-lg-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-lg-push-8{left:33.33333333%}.ant-col-lg-pull-8{right:33.33333333%}.ant-col-lg-offset-8{margin-left:33.33333333%}.ant-col-lg-order-8{order:8}.ant-col-lg-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-lg-push-7{left:29.16666667%}.ant-col-lg-pull-7{right:29.16666667%}.ant-col-lg-offset-7{margin-left:29.16666667%}.ant-col-lg-order-7{order:7}.ant-col-lg-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-lg-push-6{left:25%}.ant-col-lg-pull-6{right:25%}.ant-col-lg-offset-6{margin-left:25%}.ant-col-lg-order-6{order:6}.ant-col-lg-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-lg-push-5{left:20.83333333%}.ant-col-lg-pull-5{right:20.83333333%}.ant-col-lg-offset-5{margin-left:20.83333333%}.ant-col-lg-order-5{order:5}.ant-col-lg-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-lg-push-4{left:16.66666667%}.ant-col-lg-pull-4{right:16.66666667%}.ant-col-lg-offset-4{margin-left:16.66666667%}.ant-col-lg-order-4{order:4}.ant-col-lg-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-lg-push-3{left:12.5%}.ant-col-lg-pull-3{right:12.5%}.ant-col-lg-offset-3{margin-left:12.5%}.ant-col-lg-order-3{order:3}.ant-col-lg-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-lg-push-2{left:8.33333333%}.ant-col-lg-pull-2{right:8.33333333%}.ant-col-lg-offset-2{margin-left:8.33333333%}.ant-col-lg-order-2{order:2}.ant-col-lg-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-lg-push-1{left:4.16666667%}.ant-col-lg-pull-0.ant-col-rtl,.ant-col-lg-push-0,.ant-col-lg-push-1.ant-col-rtl,.ant-col-pull-0.ant-col-rtl,.ant-col-push-0{left:auto}.ant-col-lg-pull-1{right:4.16666667%}.ant-col-lg-pull-0,.ant-col-lg-push-0.ant-col-rtl,.ant-col-pull-0,.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-lg-offset-1{margin-left:4.16666667%}.ant-col-lg-order-1{order:1}.ant-col-lg-0{display:none}.ant-col-lg-offset-0{margin-left:0}.ant-col-lg-order-0{order:0}.ant-col-lg-offset-0.ant-col-rtl{margin-right:0}.ant-col-lg-push-1.ant-col-rtl{right:4.16666667%}.ant-col-lg-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-lg-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-lg-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-lg-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-lg-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-lg-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-lg-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-lg-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-lg-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-lg-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-lg-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-lg-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-lg-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-lg-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-lg-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-lg-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-lg-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-lg-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-lg-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-lg-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-lg-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-lg-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-lg-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-lg-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-lg-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-lg-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-lg-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-lg-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-lg-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-lg-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-lg-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-lg-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-lg-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-lg-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-lg-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-lg-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-lg-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-lg-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-lg-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-lg-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-lg-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-lg-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-lg-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-lg-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-lg-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-lg-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-lg-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-lg-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-lg-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-lg-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-lg-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-lg-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-lg-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-lg-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-lg-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-lg-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-lg-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-lg-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-lg-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-lg-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-lg-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-lg-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-lg-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-lg-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-lg-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-lg-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-lg-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-lg-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-lg-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-lg-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-lg-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:1200px){.ant-col-xl-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xl-push-24{left:100%}.ant-col-xl-pull-24{right:100%}.ant-col-xl-offset-24{margin-left:100%}.ant-col-xl-order-24{order:24}.ant-col-xl-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xl-push-23{left:95.83333333%}.ant-col-xl-pull-23{right:95.83333333%}.ant-col-xl-offset-23{margin-left:95.83333333%}.ant-col-xl-order-23{order:23}.ant-col-xl-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xl-push-22{left:91.66666667%}.ant-col-xl-pull-22{right:91.66666667%}.ant-col-xl-offset-22{margin-left:91.66666667%}.ant-col-xl-order-22{order:22}.ant-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xl-push-21{left:87.5%}.ant-col-xl-pull-21{right:87.5%}.ant-col-xl-offset-21{margin-left:87.5%}.ant-col-xl-order-21{order:21}.ant-col-xl-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xl-push-20{left:83.33333333%}.ant-col-xl-pull-20{right:83.33333333%}.ant-col-xl-offset-20{margin-left:83.33333333%}.ant-col-xl-order-20{order:20}.ant-col-xl-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xl-push-19{left:79.16666667%}.ant-col-xl-pull-19{right:79.16666667%}.ant-col-xl-offset-19{margin-left:79.16666667%}.ant-col-xl-order-19{order:19}.ant-col-xl-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xl-push-18{left:75%}.ant-col-xl-pull-18{right:75%}.ant-col-xl-offset-18{margin-left:75%}.ant-col-xl-order-18{order:18}.ant-col-xl-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xl-push-17{left:70.83333333%}.ant-col-xl-pull-17{right:70.83333333%}.ant-col-xl-offset-17{margin-left:70.83333333%}.ant-col-xl-order-17{order:17}.ant-col-xl-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xl-push-16{left:66.66666667%}.ant-col-xl-pull-16{right:66.66666667%}.ant-col-xl-offset-16{margin-left:66.66666667%}.ant-col-xl-order-16{order:16}.ant-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xl-push-15{left:62.5%}.ant-col-xl-pull-15{right:62.5%}.ant-col-xl-offset-15{margin-left:62.5%}.ant-col-xl-order-15{order:15}.ant-col-xl-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xl-push-14{left:58.33333333%}.ant-col-xl-pull-14{right:58.33333333%}.ant-col-xl-offset-14{margin-left:58.33333333%}.ant-col-xl-order-14{order:14}.ant-col-xl-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xl-push-13{left:54.16666667%}.ant-col-xl-pull-13{right:54.16666667%}.ant-col-xl-offset-13{margin-left:54.16666667%}.ant-col-xl-order-13{order:13}.ant-col-xl-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xl-push-12{left:50%}.ant-col-xl-pull-12{right:50%}.ant-col-xl-offset-12{margin-left:50%}.ant-col-xl-order-12{order:12}.ant-col-xl-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xl-push-11{left:45.83333333%}.ant-col-xl-pull-11{right:45.83333333%}.ant-col-xl-offset-11{margin-left:45.83333333%}.ant-col-xl-order-11{order:11}.ant-col-xl-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xl-push-10{left:41.66666667%}.ant-col-xl-pull-10{right:41.66666667%}.ant-col-xl-offset-10{margin-left:41.66666667%}.ant-col-xl-order-10{order:10}.ant-col-xl-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xl-push-9{left:37.5%}.ant-col-xl-pull-9{right:37.5%}.ant-col-xl-offset-9{margin-left:37.5%}.ant-col-xl-order-9{order:9}.ant-col-xl-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xl-push-8{left:33.33333333%}.ant-col-xl-pull-8{right:33.33333333%}.ant-col-xl-offset-8{margin-left:33.33333333%}.ant-col-xl-order-8{order:8}.ant-col-xl-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xl-push-7{left:29.16666667%}.ant-col-xl-pull-7{right:29.16666667%}.ant-col-xl-offset-7{margin-left:29.16666667%}.ant-col-xl-order-7{order:7}.ant-col-xl-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xl-push-6{left:25%}.ant-col-xl-pull-6{right:25%}.ant-col-xl-offset-6{margin-left:25%}.ant-col-xl-order-6{order:6}.ant-col-xl-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xl-push-5{left:20.83333333%}.ant-col-xl-pull-5{right:20.83333333%}.ant-col-xl-offset-5{margin-left:20.83333333%}.ant-col-xl-order-5{order:5}.ant-col-xl-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xl-push-4{left:16.66666667%}.ant-col-xl-pull-4{right:16.66666667%}.ant-col-xl-offset-4{margin-left:16.66666667%}.ant-col-xl-order-4{order:4}.ant-col-xl-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xl-push-3{left:12.5%}.ant-col-xl-pull-3{right:12.5%}.ant-col-xl-offset-3{margin-left:12.5%}.ant-col-xl-order-3{order:3}.ant-col-xl-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xl-push-2{left:8.33333333%}.ant-col-xl-pull-2{right:8.33333333%}.ant-col-xl-offset-2{margin-left:8.33333333%}.ant-col-xl-order-2{order:2}.ant-col-xl-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xl-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xl-pull-0.ant-col-rtl,.ant-col-xl-push-0,.ant-col-xl-push-1.ant-col-rtl{left:auto}.ant-col-xl-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xl-pull-0,.ant-col-xl-push-0.ant-col-rtl{right:auto}.ant-col-xl-offset-1{margin-left:4.16666667%}.ant-col-xl-order-1{order:1}.ant-col-xl-0{display:none}.ant-col-xl-offset-0{margin-left:0}.ant-col-xl-order-0{order:0}.ant-col-xl-offset-0.ant-col-rtl{margin-right:0}.ant-col-xl-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xl-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xl-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xl-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xl-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xl-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xl-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xl-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xl-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xl-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xl-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xl-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xl-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xl-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xl-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xl-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xl-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xl-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xl-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xl-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xl-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xl-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xl-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xl-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xl-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xl-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xl-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xl-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xl-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xl-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xl-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xl-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xl-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xl-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xl-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xl-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xl-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xl-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xl-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xl-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xl-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xl-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xl-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xl-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xl-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xl-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xl-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xl-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xl-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xl-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xl-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xl-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xl-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xl-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xl-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xl-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xl-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xl-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xl-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xl-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xl-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xl-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xl-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xl-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xl-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xl-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xl-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xl-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xl-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xl-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xl-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xl-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:1600px){.ant-col-xxl-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xxl-push-24{left:100%}.ant-col-xxl-pull-24{right:100%}.ant-col-xxl-offset-24{margin-left:100%}.ant-col-xxl-order-24{order:24}.ant-col-xxl-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xxl-push-23{left:95.83333333%}.ant-col-xxl-pull-23{right:95.83333333%}.ant-col-xxl-offset-23{margin-left:95.83333333%}.ant-col-xxl-order-23{order:23}.ant-col-xxl-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xxl-push-22{left:91.66666667%}.ant-col-xxl-pull-22{right:91.66666667%}.ant-col-xxl-offset-22{margin-left:91.66666667%}.ant-col-xxl-order-22{order:22}.ant-col-xxl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xxl-push-21{left:87.5%}.ant-col-xxl-pull-21{right:87.5%}.ant-col-xxl-offset-21{margin-left:87.5%}.ant-col-xxl-order-21{order:21}.ant-col-xxl-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xxl-push-20{left:83.33333333%}.ant-col-xxl-pull-20{right:83.33333333%}.ant-col-xxl-offset-20{margin-left:83.33333333%}.ant-col-xxl-order-20{order:20}.ant-col-xxl-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xxl-push-19{left:79.16666667%}.ant-col-xxl-pull-19{right:79.16666667%}.ant-col-xxl-offset-19{margin-left:79.16666667%}.ant-col-xxl-order-19{order:19}.ant-col-xxl-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xxl-push-18{left:75%}.ant-col-xxl-pull-18{right:75%}.ant-col-xxl-offset-18{margin-left:75%}.ant-col-xxl-order-18{order:18}.ant-col-xxl-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xxl-push-17{left:70.83333333%}.ant-col-xxl-pull-17{right:70.83333333%}.ant-col-xxl-offset-17{margin-left:70.83333333%}.ant-col-xxl-order-17{order:17}.ant-col-xxl-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xxl-push-16{left:66.66666667%}.ant-col-xxl-pull-16{right:66.66666667%}.ant-col-xxl-offset-16{margin-left:66.66666667%}.ant-col-xxl-order-16{order:16}.ant-col-xxl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xxl-push-15{left:62.5%}.ant-col-xxl-pull-15{right:62.5%}.ant-col-xxl-offset-15{margin-left:62.5%}.ant-col-xxl-order-15{order:15}.ant-col-xxl-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xxl-push-14{left:58.33333333%}.ant-col-xxl-pull-14{right:58.33333333%}.ant-col-xxl-offset-14{margin-left:58.33333333%}.ant-col-xxl-order-14{order:14}.ant-col-xxl-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xxl-push-13{left:54.16666667%}.ant-col-xxl-pull-13{right:54.16666667%}.ant-col-xxl-offset-13{margin-left:54.16666667%}.ant-col-xxl-order-13{order:13}.ant-col-xxl-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xxl-push-12{left:50%}.ant-col-xxl-pull-12{right:50%}.ant-col-xxl-offset-12{margin-left:50%}.ant-col-xxl-order-12{order:12}.ant-col-xxl-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xxl-push-11{left:45.83333333%}.ant-col-xxl-pull-11{right:45.83333333%}.ant-col-xxl-offset-11{margin-left:45.83333333%}.ant-col-xxl-order-11{order:11}.ant-col-xxl-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xxl-push-10{left:41.66666667%}.ant-col-xxl-pull-10{right:41.66666667%}.ant-col-xxl-offset-10{margin-left:41.66666667%}.ant-col-xxl-order-10{order:10}.ant-col-xxl-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xxl-push-9{left:37.5%}.ant-col-xxl-pull-9{right:37.5%}.ant-col-xxl-offset-9{margin-left:37.5%}.ant-col-xxl-order-9{order:9}.ant-col-xxl-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xxl-push-8{left:33.33333333%}.ant-col-xxl-pull-8{right:33.33333333%}.ant-col-xxl-offset-8{margin-left:33.33333333%}.ant-col-xxl-order-8{order:8}.ant-col-xxl-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xxl-push-7{left:29.16666667%}.ant-col-xxl-pull-7{right:29.16666667%}.ant-col-xxl-offset-7{margin-left:29.16666667%}.ant-col-xxl-order-7{order:7}.ant-col-xxl-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xxl-push-6{left:25%}.ant-col-xxl-pull-6{right:25%}.ant-col-xxl-offset-6{margin-left:25%}.ant-col-xxl-order-6{order:6}.ant-col-xxl-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xxl-push-5{left:20.83333333%}.ant-col-xxl-pull-5{right:20.83333333%}.ant-col-xxl-offset-5{margin-left:20.83333333%}.ant-col-xxl-order-5{order:5}.ant-col-xxl-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xxl-push-4{left:16.66666667%}.ant-col-xxl-pull-4{right:16.66666667%}.ant-col-xxl-offset-4{margin-left:16.66666667%}.ant-col-xxl-order-4{order:4}.ant-col-xxl-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xxl-push-3{left:12.5%}.ant-col-xxl-pull-3{right:12.5%}.ant-col-xxl-offset-3{margin-left:12.5%}.ant-col-xxl-order-3{order:3}.ant-col-xxl-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xxl-push-2{left:8.33333333%}.ant-col-xxl-pull-2{right:8.33333333%}.ant-col-xxl-offset-2{margin-left:8.33333333%}.ant-col-xxl-order-2{order:2}.ant-col-xxl-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xxl-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xxl-pull-0.ant-col-rtl,.ant-col-xxl-push-0,.ant-col-xxl-push-1.ant-col-rtl{left:auto}.ant-col-xxl-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xxl-pull-0,.ant-col-xxl-push-0.ant-col-rtl{right:auto}.ant-col-xxl-offset-1{margin-left:4.16666667%}.ant-col-xxl-order-1{order:1}.ant-col-xxl-0{display:none}.ant-col-xxl-offset-0{margin-left:0}.ant-col-xxl-order-0{order:0}.ant-col-xxl-offset-0.ant-col-rtl{margin-right:0}.ant-col-xxl-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xxl-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xxl-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xxl-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xxl-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xxl-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xxl-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xxl-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xxl-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xxl-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xxl-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xxl-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xxl-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xxl-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xxl-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xxl-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xxl-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xxl-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xxl-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xxl-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xxl-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xxl-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xxl-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xxl-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xxl-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xxl-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xxl-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xxl-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xxl-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xxl-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xxl-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xxl-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xxl-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xxl-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xxl-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xxl-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xxl-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xxl-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xxl-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xxl-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xxl-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xxl-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xxl-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xxl-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xxl-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xxl-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xxl-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xxl-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xxl-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xxl-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xxl-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xxl-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xxl-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xxl-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xxl-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xxl-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xxl-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xxl-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xxl-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xxl-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xxl-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xxl-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xxl-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xxl-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xxl-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xxl-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xxl-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xxl-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xxl-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xxl-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xxl-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xxl-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}.ant-input-affix-wrapper{position:relative;width:100%;padding:3px 7px;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s;display:inline-flex}.ant-input-affix-wrapper-disabled,.ant-input-affix-wrapper[disabled]{background-color:#f5f5f5;cursor:not-allowed;pointer-events:none;opacity:1}.ant-input-affix-wrapper::-moz-placeholder{opacity:1}.ant-input-affix-wrapper::placeholder{color:#bfbfbf}.ant-input-affix-wrapper:placeholder-shown{text-overflow:ellipsis}.ant-input-affix-wrapper:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-input-affix-wrapper:hover{border-right-width:0;border-left-width:1px!important}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-input-affix-wrapper-focused,.ant-input-rtl .ant-input-affix-wrapper:focus{border-right-width:0;border-left-width:1px!important}.ant-input-affix-wrapper-disabled:hover,.ant-input-affix-wrapper[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-input-affix-wrapper-disabled{color:rgba(0,0,0,.25)}.ant-input-affix-wrapper[disabled]{color:rgba(0,0,0,.25)}.ant-input-affix-wrapper-borderless,.ant-input-affix-wrapper-borderless-disabled,.ant-input-affix-wrapper-borderless-focused,.ant-input-affix-wrapper-borderless:focus,.ant-input-affix-wrapper-borderless:hover,.ant-input-affix-wrapper-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input-affix-wrapper{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-affix-wrapper-lg{padding:3.4px 11px;font-size:14px}.ant-input-affix-wrapper-sm{padding:0 7px}.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:#40a9ff;border-right-width:1px!important;z-index:1}.ant-input-rtl .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-right-width:0;border-left-width:1px!important}.ant-input-search-with-button .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{z-index:0}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus{z-index:1}.ant-input-affix-wrapper-disabled .ant-input[disabled]{background:0 0}.ant-input-affix-wrapper>input.ant-input{padding:0;border:none;outline:0}.ant-input-affix-wrapper>input.ant-input:focus{box-shadow:none}.ant-input-affix-wrapper::before{width:0;visibility:hidden;content:'\a0'}.ant-input-prefix,.ant-input-suffix{display:flex;flex:none;align-items:center}.ant-input-prefix{margin-right:4px}.ant-input-suffix{margin-left:4px}.ant-input-clear-icon{margin:0 4px;color:rgba(0,0,0,.25);font-size:12px;vertical-align:-1px;cursor:pointer;transition:color .3s}.ant-input,.ant-input-group{margin:0;line-height:1.66667;width:100%;list-style:none;font-variant:tabular-nums;box-sizing:border-box;font-feature-settings:tnum}.ant-input-clear-icon:hover{color:rgba(0,0,0,.45)}.ant-input,.ant-input-clear-icon:active{color:rgba(0,0,0,.85)}.ant-input-clear-icon-hidden{visibility:hidden}.ant-input-clear-icon:last-child{margin-right:0}.ant-input-affix-wrapper-textarea-with-clear-btn{padding:0!important;border:0!important}.ant-input-affix-wrapper-textarea-with-clear-btn .ant-input-clear-icon{position:absolute;top:8px;right:8px;z-index:1}.ant-input{position:relative;display:inline-block;padding:3px 7px;font-size:12px;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s}.ant-input::-moz-placeholder{opacity:1}.ant-input::placeholder{color:#bfbfbf}.ant-input-disabled,.ant-input[disabled]{background-color:#f5f5f5;cursor:not-allowed;color:rgba(0,0,0,.25);opacity:1;pointer-events:none}.ant-input:placeholder-shown{text-overflow:ellipsis}.ant-input:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-input:hover{border-right-width:0;border-left-width:1px!important}.ant-input-focused,.ant-input:focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-input-focused,.ant-input-rtl .ant-input:focus{border-right-width:0;border-left-width:1px!important}.ant-input-disabled:hover,.ant-input[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-input-group,.ant-input-group-addon{color:rgba(0,0,0,.85);position:relative}.ant-input-borderless,.ant-input-borderless-disabled,.ant-input-borderless-focused,.ant-input-borderless:focus,.ant-input-borderless:hover,.ant-input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-lg{padding:3.4px 11px;font-size:14px}.ant-input-sm{padding:0 7px}.ant-input-group{padding:0;font-size:12px;display:table;border-collapse:separate;border-spacing:0}.ant-input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.ant-input-group>[class*=col-]{padding-right:8px}.ant-input-group>[class*=col-]:last-child{padding-right:0}.ant-input-group-addon,.ant-input-group-wrap,.ant-input-group>.ant-input{display:table-cell}.ant-input-group-addon:not(:first-child):not(:last-child),.ant-input-group-wrap:not(:first-child):not(:last-child),.ant-input-group>.ant-input:not(:first-child):not(:last-child){border-radius:0}.ant-input-group-addon,.ant-input-group-wrap{width:1px;white-space:nowrap;vertical-align:middle}.ant-input-group-wrap>*{display:block!important}.ant-input-group .ant-input{float:left;width:100%;margin-bottom:0;text-align:inherit}.ant-input-group .ant-input:focus,.ant-input-group .ant-input:hover{z-index:1;border-right-width:1px}.ant-input-search-with-button .ant-input-group .ant-input:hover{z-index:0}.ant-input-group-addon{padding:0 7px;font-weight:400;font-size:12px;text-align:center;background-color:#fafafa;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s}.ant-input-group-addon .ant-select{margin:-4px -7px}.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:1px solid transparent;box-shadow:none}.ant-input-group .ant-input-affix-wrapper:not(:first-child),.ant-input-group-addon:last-child,.ant-input-group-addon:last-child .ant-select .ant-select-selector,.ant-input-group>.ant-input-affix-wrapper:not(:first-child) .ant-input,.ant-input-group>.ant-input:last-child,.ant-input-group>.ant-input:last-child .ant-select .ant-select-selector{border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-group .ant-input-affix-wrapper:not(:last-child),.ant-input-group-addon:first-child,.ant-input-group-addon:first-child .ant-select .ant-select-selector,.ant-input-group>.ant-input-affix-wrapper:not(:last-child) .ant-input,.ant-input-group>.ant-input:first-child,.ant-input-group>.ant-input:first-child .ant-select .ant-select-selector{border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-number-focused,.ant-input-number:focus{box-shadow:0 0 0 2px rgba(24,144,255,.2);outline:0}.ant-input-group-addon .ant-select-focused .ant-select-selector,.ant-input-group-addon .ant-select-open .ant-select-selector{color:#1890ff}.ant-input-group-addon:first-child{border-right:0}.ant-input-group-addon:last-child{border-left:0}.ant-input-group-lg .ant-input,.ant-input-group-lg>.ant-input-group-addon{padding:3.4px 11px;font-size:14px}.ant-input-group-sm .ant-input,.ant-input-group-sm>.ant-input-group-addon{padding:0 7px}.ant-input-group-lg .ant-select-single .ant-select-selector{height:32px}.ant-input-group-sm .ant-select-single .ant-select-selector{height:22px}.ant-input-search-button,.ant-input[type=color]{height:28px}.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child){border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-group.ant-input-group-compact{display:block}.ant-input-group.ant-input-group-compact::after,.ant-input-group.ant-input-group-compact::before{display:table;content:''}.ant-input-group.ant-input-group-compact::after{clear:both}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child){border-right-width:1px}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child):hover{z-index:1}.ant-input-group.ant-input-group-compact>*{display:inline-block;float:none;vertical-align:top;border-radius:0}.ant-input-group.ant-input-group-compact>.ant-input-affix-wrapper,.ant-input-group.ant-input-group-compact>.ant-picker-range{display:inline-flex}.ant-input-group.ant-input-group-compact>:not(:last-child){margin-right:-1px;border-right-width:1px}.ant-input-group.ant-input-group-compact .ant-input{float:none}.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector{border-right-width:1px;border-radius:0}.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-select-focused,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-arrow,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:focus,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:hover{z-index:1}.ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>:last-child{border-right-width:1px;border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input{vertical-align:top}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper{margin-left:-1px}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper .ant-input-affix-wrapper,.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input-group-addon>.ant-input-search-button{border-radius:0}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-radius:2px 0 0 2px}.ant-input-group-rtl .ant-input-group-addon:first-child,.ant-input-group>.ant-input-rtl:first-child{border-radius:0 2px 2px 0}.ant-input-group-rtl .ant-input-group-addon:first-child{border-right:1px solid #d9d9d9;border-left:0}.ant-input-group-rtl .ant-input-group-addon:last-child{border-right:0;border-left:1px solid #d9d9d9}.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child),.ant-input-group-rtl.ant-input-group-addon:last-child,.ant-input-group-rtl.ant-input-group>.ant-input:last-child{border-radius:2px 0 0 2px}.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child),.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:first-child{border-radius:0 2px 2px 0}.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:not(:last-child){margin-right:0;margin-left:-1px;border-left-width:1px}.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:last-child{border-left-width:1px;border-radius:2px 0 0 2px}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl+.ant-input-group-wrapper-rtl{margin-right:-1px;margin-left:0}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-radius:0 2px 2px 0}.ant-input-group-wrapper{display:inline-block;width:100%;text-align:start;vertical-align:top}.ant-input-password-icon{color:rgba(0,0,0,.45);cursor:pointer;transition:all .3s}.ant-input-password-icon:hover{color:rgba(0,0,0,.85)}.ant-input[type=color].ant-input-lg{height:32px}.ant-input[type=color].ant-input-sm{height:22px;padding-top:3px;padding-bottom:3px}.ant-input-textarea-show-count::after{float:right;color:rgba(0,0,0,.45);white-space:nowrap;content:attr(data-count);pointer-events:none}.ant-input-search .ant-input:focus,.ant-input-search .ant-input:hover{border-color:#40a9ff}.ant-input-search .ant-input:focus+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),.ant-input-search .ant-input:hover+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-left-color:#40a9ff}.ant-input-search .ant-input-affix-wrapper{border-radius:0}.ant-input-search .ant-input-lg{line-height:1.66647}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child{left:-1px;padding:0;border:0}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button{padding-top:0;padding-bottom:0;border-radius:0 2px 2px 0}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary){color:rgba(0,0,0,.45)}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading::before{top:0;right:0;bottom:0;left:0}.ant-input-search-button:focus,.ant-input-search-button:hover{z-index:1}.ant-input-search-large .ant-input-search-button{height:32px}.ant-input-search-small .ant-input-search-button{height:22px}.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl>input.ant-input{border:none;outline:0}.ant-input-affix-wrapper-rtl .ant-input-prefix{margin:0 0 0 4px}.ant-input-affix-wrapper-rtl .ant-input-suffix{margin:0 4px 0 0}.ant-input-textarea-rtl.ant-input-textarea-show-count::after{text-align:left}.ant-input-affix-wrapper-rtl .ant-input-clear-icon:last-child{margin-right:4px;margin-left:0}.ant-input-affix-wrapper-rtl .ant-input-clear-icon{right:auto;left:8px}.ant-input-search-rtl .ant-input:focus+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),.ant-input-search-rtl .ant-input:hover+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-right-color:#40a9ff;border-left-color:#d9d9d9}.ant-input-search-rtl>.ant-input-group>.ant-input-affix-wrapper-focused,.ant-input-search-rtl>.ant-input-group>.ant-input-affix-wrapper:hover{border-right-color:#40a9ff}.ant-input-search-rtl>.ant-input-group>.ant-input-group-addon{right:-1px;left:auto}.ant-input-search-rtl>.ant-input-group>.ant-input-group-addon .ant-input-search-button{border-radius:2px 0 0 2px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ant-input{height:28px}.ant-input-lg{height:32px}.ant-input-sm{height:22px}.ant-input-affix-wrapper>input.ant-input{height:auto}}textarea.nz-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only{width:28px;height:28px}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm{width:22px;height:22px}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg{width:32px;height:32px}.ant-input-number{box-sizing:border-box;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:relative;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667;background-image:none;transition:all .3s;display:inline-block;width:90px;margin:0;padding:0;border:1px solid #d9d9d9;border-radius:2px}.ant-input-number::-moz-placeholder{opacity:1}.ant-input-number::placeholder{color:#bfbfbf}.ant-input-number:placeholder-shown{text-overflow:ellipsis}.ant-input-rtl .ant-input-number:hover{border-right-width:0;border-left-width:1px!important}.ant-input-number-focused,.ant-input-number:focus{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-input-number-focused,.ant-input-rtl .ant-input-number:focus{border-right-width:0;border-left-width:1px!important}.ant-input-number[disabled]{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-input-number[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-input-number-borderless,.ant-input-number-borderless-disabled,.ant-input-number-borderless-focused,.ant-input-number-borderless:focus,.ant-input-number-borderless:hover,.ant-input-number-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}.ant-input-number-focused,.ant-input-number:hover{border-color:#40a9ff;border-right-width:1px!important}textarea.ant-input-number{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-number-handler{position:relative;display:block;width:100%;height:50%;overflow:hidden;color:rgba(0,0,0,.45);font-weight:700;line-height:0;text-align:center;transition:all .1s linear}.ant-input-number-handler:active{background:#f4f4f4}.ant-input-number-handler:hover .ant-input-number-handler-down-inner,.ant-input-number-handler:hover .ant-input-number-handler-up-inner{color:#40a9ff}.ant-input-number-handler-down-inner,.ant-input-number-handler-up-inner{display:inline-block;color:inherit;font-style:normal;text-transform:none;vertical-align:-.125em;position:absolute;right:4px;width:12px;height:12px;color:rgba(0,0,0,.45);line-height:12px;transition:all .1s linear;user-select:none}.ant-input-number-handler-down-inner>*,.ant-input-number-handler-up-inner>*{line-height:1}.ant-input-number-handler-down-inner svg,.ant-input-number-handler-up-inner svg{display:inline-block}.ant-input-number-handler-down-inner::before,.ant-input-number-handler-up-inner::before{display:none}.ant-input-number-handler-down-inner .ant-input-number-handler-down-inner-icon,.ant-input-number-handler-down-inner .ant-input-number-handler-up-inner-icon,.ant-input-number-handler-up-inner .ant-input-number-handler-down-inner-icon,.ant-input-number-handler-up-inner .ant-input-number-handler-up-inner-icon{display:block}.ant-input-number:hover+.ant-form-item-children-icon{opacity:0;transition:opacity .24s linear .24s}.ant-input-rtl .ant-input-number-focused{border-right-width:0;border-left-width:1px!important}.ant-input-number-disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-input-number-disabled:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-input-number-disabled .ant-input-number-input{cursor:not-allowed}.ant-input-number-disabled .ant-input-number-handler-wrap,.ant-input-number-readonly .ant-input-number-handler-wrap{display:none}.ant-input-number-input{width:100%;height:26px;padding:0 7px;text-align:left;background-color:transparent;border:0;border-radius:2px;outline:0;transition:all .3s linear;-moz-appearance:textfield!important}.ant-input-number-input::-moz-placeholder{opacity:1}.ant-input-number-input::placeholder{color:#bfbfbf}.ant-input-number-input:placeholder-shown{text-overflow:ellipsis}.ant-input-number-input[type=number]::-webkit-inner-spin-button,.ant-input-number-input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.ant-input-number-lg{padding:0;font-size:14px}.ant-input-number-lg input{height:30px}.ant-input-number-sm{padding:0}.ant-input-number-sm input{height:20px;padding:0 7px}.ant-input-number-handler-wrap{position:absolute;top:0;right:0;width:22px;height:100%;background:#fff;border-left:1px solid #d9d9d9;border-radius:0 2px 2px 0;opacity:0;transition:opacity .24s linear .1s}.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-down-inner,.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-up-inner{min-width:auto;margin-right:0;font-size:7px}.ant-input-number-borderless .ant-input-number-handler-wrap{border-left-width:0}.ant-input-number-handler-wrap:hover .ant-input-number-handler{height:40%}.ant-input-number-handler-down:hover,.ant-input-number-handler-up:hover{height:60%!important}.ant-input-number:hover .ant-input-number-handler-wrap{opacity:1}.ant-input-number-handler-up{border-top-right-radius:2px;cursor:pointer}.ant-input-number-handler-up-inner{top:50%;margin-top:-5px;text-align:center}.ant-input-number-handler-down{top:0;border-top:1px solid #d9d9d9;border-bottom-right-radius:2px;cursor:pointer}.ant-input-number-handler-down-inner{top:50%;text-align:center;transform:translateY(-50%)}.ant-input-number-borderless .ant-input-number-handler-down{border-top-width:0}.ant-input-number-handler-down-disabled,.ant-input-number-handler-up-disabled{cursor:not-allowed}.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner,.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner{color:rgba(0,0,0,.25)}.ant-input-number-borderless{box-shadow:none}.ant-input-number-out-of-range input{color:#ff4d4f}.ant-input-number-rtl .ant-input-number-handler-wrap{right:auto;left:0;border-right:1px solid #d9d9d9;border-left:0;border-radius:2px 0 0 2px}.ant-input-number-rtl.ant-input-number-borderless .ant-input-number-handler-wrap{border-right-width:0}.ant-input-number-rtl .ant-input-number-input{direction:ltr;text-align:right}.ant-form-rtl,.ant-layout-rtl,.ant-list-rtl,.ant-list-rtl .ReactVirtualized__List .ant-list-item,.ant-mention-wrapper .ant-mention-editor-rtl,.ant-menu.ant-menu-rtl,.ant-message-rtl,.ant-message-rtl span,.ant-modal-wrap-rtl,.ant-modal-wrap-rtl .ant-modal-confirm-body,.ant-notification-rtl,.ant-page-header-rtl,.ant-pagination-options-quick-jumper input-rtl,.ant-popover-rtl,.ant-progress-rtl,.ant-radio-group.ant-radio-group-rtl,.ant-radio-wrapper.ant-radio-wrapper-rtl,.ant-rate-rtl,.ant-select-dropdown-rtl,.ant-select-rtl,.ant-skeleton-rtl,.ant-slider-rtl,.ant-spin-rtl{direction:rtl}.ant-layout{display:flex;flex:auto;flex-direction:column;min-height:0;background:#f0f2f5}.ant-layout,.ant-layout *{box-sizing:border-box}.ant-layout.ant-layout-has-sider{flex-direction:row}.ant-layout.ant-layout-has-sider>.ant-layout,.ant-layout.ant-layout-has-sider>.ant-layout-content{width:0}.ant-layout-footer,.ant-layout-header{flex:0 0 auto}.ant-layout-header{height:64px;padding:0 50px;color:rgba(0,0,0,.85);line-height:64px;background:#001529}.ant-layout-footer{padding:24px 50px;color:rgba(0,0,0,.85);font-size:12px;background:#f0f2f5}.ant-layout-content{flex:auto;min-height:0}.ant-layout-sider{position:relative;min-width:0;background:#001529;transition:all .2s}.ant-layout-sider-children{height:100%;margin-top:-.1px;padding-top:.1px}.ant-layout-sider-children .ant-menu.ant-menu-inline-collapsed{width:auto}.ant-layout-sider-has-trigger{padding-bottom:48px}.ant-layout-sider-trigger{position:fixed;bottom:0;z-index:1;height:48px;color:#fff;line-height:48px;text-align:center;background:#002140;cursor:pointer;transition:all .2s}.ant-layout-sider-zero-width>*{overflow:hidden}.ant-layout-sider-zero-width-trigger{position:absolute;top:64px;right:-36px;z-index:1;width:36px;height:42px;color:#fff;font-size:18px;line-height:42px;text-align:center;background:#001529;border-radius:0 2px 2px 0;cursor:pointer;transition:background .3s ease}.ant-layout-sider-zero-width-trigger::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;transition:all .3s;content:''}.ant-layout-sider-zero-width-trigger:hover::after{background:rgba(255,255,255,.1)}.ant-layout-sider-zero-width-trigger-right{left:-36px;border-radius:2px 0 0 2px}.ant-layout-sider-light{background:#fff}.ant-layout-sider-light .ant-layout-sider-trigger,.ant-layout-sider-light .ant-layout-sider-zero-width-trigger{color:rgba(0,0,0,.85);background:#fff}nz-content,nz-footer,nz-header{display:block}.ant-form-item .ant-mentions,.ant-form-item textarea.ant-input{height:auto}.ant-form-item .ant-upload{background:0 0}.ant-form-item .ant-upload.ant-upload-drag{background:#fafafa}.ant-form-item input[type=radio],.ant-form-item input[type=checkbox]{width:14px;height:14px}.ant-form-item .ant-checkbox-inline,.ant-form-item .ant-radio-inline{display:inline-block;margin-left:8px;font-weight:400;vertical-align:middle;cursor:pointer}.ant-form-item .ant-checkbox-inline:first-child,.ant-form-item .ant-checkbox-vertical+.ant-checkbox-vertical,.ant-form-item .ant-radio-inline:first-child,.ant-form-item .ant-radio-vertical+.ant-radio-vertical{margin-left:0}.ant-form-item .ant-checkbox-vertical,.ant-form-item .ant-radio-vertical{display:block}.ant-form-item .ant-input-number+.ant-form-text{margin-left:8px}.ant-form-item .ant-input-number-handler-wrap{z-index:2}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100%}.ant-form-item .ant-input-group .ant-cascader-picker,.ant-form-item .ant-input-group .ant-select,.ant-form-item .ant-picker-calendar-month-select,.ant-form-item .ant-picker-calendar-year-select,.ant-modal{width:auto}.ant-form-inline{display:flex;flex-wrap:wrap}.ant-form-inline .ant-form-item{flex:none;flex-wrap:nowrap;margin-right:16px;margin-bottom:0}.ant-form-inline .ant-form-item-with-help{margin-bottom:16px}.ant-form-inline .ant-form-item>.ant-form-item-control,.ant-form-inline .ant-form-item>.ant-form-item-label{display:inline-block;vertical-align:top}.ant-form-inline .ant-form-item>.ant-form-item-label{flex:none}.ant-form-inline .ant-form-item .ant-form-item-has-feedback,.ant-form-inline .ant-form-item .ant-form-text{display:inline-block}.ant-form-horizontal .ant-form-item-label{flex-grow:0}.ant-form-horizontal .ant-form-item-control{flex:1 1 0}.ant-form-vertical .ant-form-item{flex-direction:column}.ant-form-vertical .ant-form-item-label>label{height:auto}.ant-col-24.ant-form-item-label,.ant-col-xl-24.ant-form-item-label,.ant-form-vertical .ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-col-24.ant-form-item-label>label,.ant-col-xl-24.ant-form-item-label>label,.ant-form-vertical .ant-form-item-label>label{margin:0}.ant-col-24.ant-form-item-label>label::after,.ant-col-xl-24.ant-form-item-label>label::after,.ant-form-vertical .ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-24.ant-form-item-label,.ant-form-rtl.ant-col-xl-24.ant-form-item-label,.ant-form-rtl.ant-form-vertical .ant-form-item-label{text-align:right}@media (max-width:575px){.ant-col-xs-24.ant-form-item-label>label,.ant-form-item .ant-form-item-label>label{margin:0}.ant-col-xs-24.ant-form-item-label>label::after,.ant-form-item .ant-form-item-label>label::after{display:none}.ant-form-item .ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-form-rtl.ant-form-item .ant-form-item-label{text-align:right}.ant-form .ant-form-item{flex-wrap:wrap}.ant-form .ant-form-item .ant-form-item-control,.ant-form .ant-form-item .ant-form-item-label{flex:0 0 100%;max-width:100%}.ant-col-xs-24.ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-form-rtl.ant-col-xs-24.ant-form-item-label{text-align:right}}@media (max-width:767px){.ant-col-sm-24.ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-col-sm-24.ant-form-item-label>label{margin:0}.ant-col-sm-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-sm-24.ant-form-item-label{text-align:right}}@media (max-width:991px){.ant-col-md-24.ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-col-md-24.ant-form-item-label>label{margin:0}.ant-col-md-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-md-24.ant-form-item-label{text-align:right}}@media (max-width:1199px){.ant-col-lg-24.ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-col-lg-24.ant-form-item-label>label{margin:0}.ant-col-lg-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-lg-24.ant-form-item-label{text-align:right}}@media (max-width:1599px){.ant-col-xl-24.ant-form-item-label{padding:0 0 4px;line-height:1.66667;white-space:initial;text-align:left}.ant-col-xl-24.ant-form-item-label>label{margin:0}.ant-col-xl-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-xl-24.ant-form-item-label{text-align:right}}.ant-form-item-explain.ant-form-item-explain-error{color:#ff4d4f}.ant-form-item-explain.ant-form-item-explain-warning{color:#faad14}.ant-form-item-has-feedback .ant-input{padding-right:24px}.ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix{padding-right:18px}.ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix{right:28px}.ant-form-item-has-feedback .ant-cascader-picker-clear,.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-arrow,.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-clear,.ant-form-item-has-feedback>.ant-select .ant-select-arrow,.ant-form-item-has-feedback>.ant-select .ant-select-clear{right:32px}.ant-form-item-has-feedback .ant-switch{margin:2px 0 4px}.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-selection-selected-value,.ant-form-item-has-feedback>.ant-select .ant-select-selection-selected-value{padding-right:42px}.ant-form-item-has-feedback .ant-cascader-picker-arrow{margin-right:19px}.ant-form-item-has-feedback .ant-picker{padding-right:22.6px}.ant-form-item-has-feedback .ant-picker-large{padding-right:26.6px}.ant-form-item-has-feedback .ant-picker-small{padding-right:22.6px}.ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon{position:absolute;top:50%;right:0;z-index:1;width:28px;height:20px;margin-top:-10px;font-size:12px;line-height:20px;text-align:center;visibility:visible;animation:zoomIn .3s cubic-bezier(.12,.4,.29,1.46);pointer-events:none}.ant-notification .notification-fade-effect,.ant-notification-fade-appear,.ant-notification-fade-enter,.ant-notification-fade-leave,.ant-show-help-appear,.ant-show-help-enter,.ant-show-help-leave{animation-timing-function:cubic-bezier(.645,.045,.355,1)}.ant-form-item-has-success.ant-form-item-has-feedback .ant-form-item-children-icon{color:#52c41a;animation-name:diffZoomIn1!important}.ant-form-item-has-warning .ant-form-item-split{color:#faad14}.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled),.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled),.ant-form-item-has-warning .ant-input:not(.ant-input-disabled):hover{background-color:#fff;border-color:#faad14}.ant-form-item-has-warning .ant-calendar-picker-open .ant-calendar-picker-input,.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused,.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled)-focused,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled):focus{border-color:#ffc53d;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(250,173,20,.2)}.ant-form-item-has-warning .ant-input-prefix{color:#faad14}.ant-form-item-has-warning .ant-input-group-addon{color:#faad14;border-color:#faad14}.ant-form-item-has-warning .has-feedback{color:#faad14}.ant-form-item-has-warning.ant-form-item-has-feedback .ant-form-item-children-icon{color:#faad14;animation-name:diffZoomIn3!important}.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{background-color:#fff;border-color:#faad14!important}.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector,.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector{border-color:#ffc53d;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(250,173,20,.2)}.ant-form-item-has-warning .ant-input-number,.ant-form-item-has-warning .ant-picker{background-color:#fff;border-color:#faad14}.ant-form-item-has-warning .ant-input-number-focused,.ant-form-item-has-warning .ant-input-number:focus,.ant-form-item-has-warning .ant-picker-focused,.ant-form-item-has-warning .ant-picker:focus{border-color:#ffc53d;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(250,173,20,.2)}.ant-form-item-has-warning .ant-input-number:not([disabled]):hover,.ant-form-item-has-warning .ant-picker:not([disabled]):hover{background-color:#fff;border-color:#faad14}.ant-form-item-has-warning .ant-cascader-picker:focus .ant-cascader-input{border-color:#ffc53d;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(250,173,20,.2)}.ant-form-item-has-error .ant-form-item-split{color:#ff4d4f}.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled),.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover,.ant-form-item-has-error .ant-input:not(.ant-input-disabled),.ant-form-item-has-error .ant-input:not(.ant-input-disabled):hover{background-color:#fff;border-color:#ff4d4f}.ant-form-item-has-error .ant-calendar-picker-open .ant-calendar-picker-input,.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused,.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus,.ant-form-item-has-error .ant-input:not(.ant-input-disabled)-focused,.ant-form-item-has-error .ant-input:not(.ant-input-disabled):focus{border-color:#ff7875;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-form-item-has-error .ant-input-prefix{color:#ff4d4f}.ant-form-item-has-error .ant-input-group-addon{color:#ff4d4f;border-color:#ff4d4f}.ant-form-item-has-error .has-feedback{color:#ff4d4f}.ant-form-item-has-error.ant-form-item-has-feedback .ant-form-item-children-icon{color:#ff4d4f;animation-name:diffZoomIn2!important}.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{background-color:#fff;border-color:#ff4d4f!important}.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector,.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector{border-color:#ff7875;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-form-item-has-error .ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:0;box-shadow:none}.ant-form-item-has-error .ant-select.ant-select-auto-complete .ant-input:focus{border-color:#ff4d4f}.ant-form-item-has-error .ant-input-number,.ant-form-item-has-error .ant-picker{background-color:#fff;border-color:#ff4d4f}.ant-form-item-has-error .ant-input-number-focused,.ant-form-item-has-error .ant-input-number:focus,.ant-form-item-has-error .ant-picker-focused,.ant-form-item-has-error .ant-picker:focus{border-color:#ff7875;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-form-item-has-error .ant-input-number:not([disabled]):hover,.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor,.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):hover,.ant-form-item-has-error .ant-picker:not([disabled]):hover{background-color:#fff;border-color:#ff4d4f}.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):focus,.ant-form-item-has-error .ant-mention-wrapper.ant-mention-active:not([disabled]) .ant-mention-editor{border-color:#ff7875;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-form-item-has-error .ant-cascader-picker:hover .ant-cascader-picker-label:hover+.ant-cascader-input.ant-input{border-color:#ff4d4f}.ant-form-item-has-error .ant-cascader-picker:focus .ant-cascader-input{background-color:#fff;border-color:#ff7875;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-form-item-has-error .ant-transfer-list{border-color:#ff4d4f}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]){border-color:#d9d9d9}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover{border-right-width:0;border-left-width:1px!important}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus{border-right-width:0;border-left-width:1px!important}.ant-form-item-has-error .ant-radio-button-wrapper{border-color:#ff4d4f!important}.ant-form-item-has-error .ant-radio-button-wrapper:not(:first-child)::before{background-color:#ff4d4f}.ant-form-item-is-validating.ant-form-item-has-feedback .ant-form-item-children-icon{display:inline-block;color:#1890ff}.ant-form{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum}.ant-form legend{display:block;width:100%;margin-bottom:20px;padding:0;color:rgba(0,0,0,.45);font-size:14px;line-height:inherit;border:0;border-bottom:1px solid #d9d9d9}.ant-form label{font-size:12px}.ant-form input[type=search]{box-sizing:border-box}.ant-form input[type=radio],.ant-form input[type=checkbox]{line-height:normal}.ant-form input[type=file]{display:block}.ant-form input[type=range]{display:block;width:100%}.ant-form select[multiple],.ant-form select[size]{height:auto}.ant-form input[type=radio]:focus,.ant-form input[type=checkbox]:focus,.ant-form input[type=file]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.ant-form output{display:block;padding-top:15px;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667}.ant-form .ant-form-text{display:inline-block;padding-right:8px}.ant-form-small .ant-form-item-label>label{height:22px}.ant-form-small .ant-form-item-control-input{min-height:22px}.ant-form-large .ant-form-item-label>label{height:32px}.ant-form-large .ant-form-item-control-input{min-height:32px}.ant-form-item{box-sizing:border-box;margin:0 0 16px;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;vertical-align:top}.ant-form-item-with-help{margin-bottom:0}.ant-form-item-hidden,.ant-form-item-hidden.ant-row{display:none}.ant-form-item-label{display:inline-block;flex-grow:0;overflow:hidden;white-space:nowrap;text-align:right;vertical-align:middle}.ant-form-item-label-left,.ant-form-rtl .ant-form-item-label{text-align:left}.ant-form-item-label>label{position:relative;display:inline-flex;align-items:center;height:28px;color:rgba(0,0,0,.85);font-size:12px}.ant-form-item-label>label>.anticon{font-size:12px;vertical-align:top}.ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{display:inline-block;margin-right:4px;color:#ff4d4f;font-size:12px;font-family:SimSun,sans-serif;line-height:1;content:'*'}.ant-form-hide-required-mark .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{display:none}.ant-form-item-label>label .ant-form-item-optional{display:inline-block;margin-left:0;color:rgba(0,0,0,.45)}.ant-form-hide-required-mark .ant-form-item-label>label .ant-form-item-optional{display:none}.ant-form-item-label>label .ant-form-item-tooltip{color:rgba(0,0,0,.45);cursor:help;writing-mode:horizontal-tb;margin-inline-start:0}.ant-form-item-label>label::after{content:':';position:relative;top:-.5px;margin:0 8px 0 2px}.ant-form-item-label>label.ant-form-item-no-colon::after,.ant-menu-submenu-popup::before{content:' '}.ant-form-item-control{display:flex;flex-direction:column;flex-grow:1}.ant-form-item-control:first-child:not([class^=ant-col-]):not([class*=' ant-col-']){width:100%}.ant-form-item-control-input{position:relative;display:flex;align-items:center;min-height:28px}.ant-form-item-control-input-content{flex:auto;max-width:100%}.ant-form-item-explain,.ant-form-item-extra{clear:both;min-height:16px;color:rgba(0,0,0,.45);font-size:12px;line-height:1.66667;transition:color .3s cubic-bezier(.215,.61,.355,1);margin-top:-2px;margin-bottom:-2px}.ant-form-item .ant-input-textarea-show-count::after{margin-bottom:-22px}.ant-show-help-appear,.ant-show-help-enter,.ant-show-help-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.ant-show-help-appear.ant-show-help-appear-active,.ant-show-help-enter.ant-show-help-enter-active{animation-name:antShowHelpIn;animation-play-state:running}.ant-show-help-leave.ant-show-help-leave-active{animation-name:antShowHelpOut;animation-play-state:running;pointer-events:none}.ant-show-help-appear,.ant-show-help-enter{opacity:0}@keyframes antShowHelpIn{0%{transform:translateY(-5px);opacity:0}100%{transform:translateY(0);opacity:1}}@keyframes antShowHelpOut{to{transform:translateY(-5px);opacity:0}}@keyframes diffZoomIn1{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes diffZoomIn2{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes diffZoomIn3{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}.ant-form-rtl .ant-form-item-label>label.ant-form-item-required::before{margin-right:0;margin-left:4px}.ant-form-rtl .ant-form-item-label>label::after{margin:0 2px 0 8px}.ant-form-rtl .ant-form-item-label>label .ant-form-item-optional{margin-right:0;margin-left:0}.ant-col-rtl .ant-form-item-control:first-child{width:100%}.ant-form-rtl .ant-form-item-has-feedback .ant-input{padding-right:7px;padding-left:24px}.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix{padding-right:7px;padding-left:18px}.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input{padding:0}.ant-form-rtl .ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix{right:auto;left:28px}.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-clear,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-arrow,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-clear,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-arrow,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-clear{left:32px;right:auto}.ant-form-rtl .ant-form-item-has-feedback .ant-input-number{padding-left:18px}.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-selection-selected-value,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-selection-selected-value{padding-right:0;padding-left:42px}.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-arrow{margin-right:0;margin-left:19px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker{padding-right:7px;padding-left:22.6px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker-large{padding-right:11px;padding-left:26.6px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker-small{padding-right:7px;padding-left:22.6px}.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon{right:auto;left:0}.ant-form-rtl.ant-form-inline .ant-form-item{margin-right:0;margin-left:16px}.ant-list{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;position:relative}.ant-list *{outline:0}.ant-list-pagination{margin-top:16px;text-align:right}.ant-list-pagination .ant-pagination-options{text-align:left}.ant-list-more{margin-top:8px;text-align:center}.ant-list-more button{padding-right:32px;padding-left:32px}.ant-list-spin{min-height:40px;text-align:center}.ant-list-empty-text{padding:8px;color:rgba(0,0,0,.25);font-size:12px;text-align:center}.ant-list-items{margin:0;padding:0;list-style:none}.ant-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;color:rgba(0,0,0,.85)}.ant-list-item-meta{display:flex;flex:1;align-items:flex-start;max-width:100%}.ant-list-item-meta-avatar{margin-right:8px}.ant-list-item-meta-content{flex:1 0;width:0;color:rgba(0,0,0,.85)}.ant-list-item-meta-title{margin-bottom:4px;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667}.ant-list-item-meta-title>a{color:rgba(0,0,0,.85);transition:all .3s}.ant-list-item-meta-title>a:hover{color:#1890ff}.ant-list-item-meta-description{color:rgba(0,0,0,.45);font-size:12px;line-height:1.66667}.ant-list-item-action{flex:0 0 auto;margin-left:48px;padding:0;font-size:0;list-style:none}.ant-list-empty,.ant-list-item-action>li{font-size:12px;color:rgba(0,0,0,.45);text-align:center}.ant-list-item-action>li{position:relative;display:inline-block;padding:0 4px;line-height:1.66667}.ant-list-item-action>li:first-child{padding-left:0}.ant-list-item-action-split{position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background-color:#f0f0f0}.ant-list-footer,.ant-list-header{background:0 0;padding-top:8px;padding-bottom:8px}.ant-list-empty{padding:8px 0}.ant-list-split .ant-list-item:last-child{border-bottom:none}.ant-list-split .ant-list-header,.ant-list-split.ant-list-something-after-last-item .ant-spin-container>.ant-list-items>.ant-list-item:last-child{border-bottom:1px solid #f0f0f0}.ant-list-loading .ant-list-spin-nested-loading{min-height:32px}.ant-list-lg .ant-list-item{padding:12px 16px}.ant-list-sm .ant-list-item{padding:4px 12px}.ant-list-vertical .ant-list-item{align-items:initial}.ant-list-vertical .ant-list-item-main{display:block;flex:1}.ant-list-vertical .ant-list-item-extra{margin-left:40px}.ant-list-vertical .ant-list-item-meta{margin-bottom:8px}.ant-list-vertical .ant-list-item-meta-title{margin-bottom:8px;color:rgba(0,0,0,.85);font-size:14px;line-height:24px}.ant-menu-dark .ant-menu-item-danger.ant-menu-item,.ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover,.ant-menu-dark .ant-menu-item-danger.ant-menu-item>a,.ant-menu-item-danger.ant-menu-item,.ant-menu-item-danger.ant-menu-item-active,.ant-menu-item-danger.ant-menu-item-selected,.ant-menu-item-danger.ant-menu-item-selected>a,.ant-menu-item-danger.ant-menu-item-selected>a:hover,.ant-menu-item-danger.ant-menu-item:hover{color:#ff4d4f}.ant-list-vertical .ant-list-item-action{margin-top:8px;margin-left:auto}.ant-list-vertical .ant-list-item-action>li{padding:0 8px}.ant-list-vertical .ant-list-item-action>li:first-child{padding-left:0}.ant-list-grid .ant-col>.ant-list-item{display:block;max-width:100%;margin-bottom:8px;padding-top:0;padding-bottom:0;border-bottom:none}.ant-list-item-no-flex{display:block}.ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action{float:right}.ant-list-bordered{border:1px solid #d9d9d9;border-radius:2px}.ant-list-bordered .ant-list-footer,.ant-list-bordered .ant-list-header,.ant-list-bordered .ant-list-item{padding-right:16px;padding-left:16px}.ant-list-bordered .ant-list-pagination{margin:8px 16px}.ant-list-bordered.ant-list-sm .ant-list-footer,.ant-list-bordered.ant-list-sm .ant-list-header,.ant-list-bordered.ant-list-sm .ant-list-item{padding:4px 12px}.ant-list-bordered.ant-list-lg .ant-list-footer,.ant-list-bordered.ant-list-lg .ant-list-header,.ant-list-bordered.ant-list-lg .ant-list-item{padding:12px 16px}.ant-list-rtl .ant-list-vertical .ant-list-item-action>li:first-child,.ant-list.ant-list-rtl .ant-list-item-action>li:first-child{padding-right:0;padding-left:8px}@media screen and (max-width:768px){.ant-list-item-action,.ant-list-vertical .ant-list-item-extra{margin-left:24px}}@media screen and (max-width:576px){.ant-list-item{flex-wrap:wrap}.ant-list-item-action{margin-left:12px}.ant-list-vertical .ant-list-item{flex-wrap:wrap-reverse}.ant-list-vertical .ant-list-item-main{min-width:220px}.ant-list-vertical .ant-list-item-extra{margin:auto auto 16px}}.ant-list-rtl{text-align:right}.ant-list-rtl .ant-list-pagination,.ant-menu{text-align:left}.ant-list-rtl .ant-list-item-meta-avatar{margin-right:0;margin-left:8px}.ant-list-rtl .ant-list-item-action{margin-right:48px;margin-left:0}.ant-list-rtl .ant-list-item-action-split{right:auto;left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-extra{margin-right:40px;margin-left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-action{margin-right:auto}.ant-list-rtl .ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action{float:left}@media screen and (max-width:768px){.ant-list-rtl .ant-list-item-action,.ant-list-rtl .ant-list-vertical .ant-list-item-extra{margin-right:24px;margin-left:0}}@media screen and (max-width:576px){.ant-list-rtl .ant-list-item-action{margin-right:22px;margin-left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-extra{margin:auto auto 16px}}.ant-menu,.ant-menu ol,.ant-menu ul{margin:0;padding:0;list-style:none}nz-list,nz-list nz-spin,nz-list-empty,nz-list-footer,nz-list-header,nz-list-item-extra,nz-list-pagination{display:block}.ant-menu::after,.ant-menu::before{display:table;content:''}.ant-menu-item-danger.ant-menu-item:active{background:#fff1f0}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected{background-color:#fff1f0}.ant-menu-inline .ant-menu-item-danger.ant-menu-item::after{border-right-color:#ff4d4f}.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected{color:#fff;background-color:#ff4d4f}.ant-menu{box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;color:rgba(0,0,0,.85);font-size:12px;line-height:0;background:#fff;outline:0;transition:background .3s,width .3s cubic-bezier(.2,0,0,1) 0s}.ant-menu::after{clear:both}.ant-menu.ant-menu-root:focus-visible{box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-menu-overflow{display:flex}.ant-menu-hidden,.ant-menu-submenu-hidden,.ant-menu-submenu-horizontal .ant-menu-submenu-arrow{display:none}.ant-menu-overflow-item{flex:none}.ant-menu-item-group-title{height:1.66667;padding:8px 16px;color:rgba(0,0,0,.45);font-size:12px;line-height:1.66667;transition:all .3s}.ant-menu-horizontal .ant-menu-submenu{transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu,.ant-menu-submenu-inline{transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1),padding .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu-selected{color:#1890ff}.ant-menu-submenu .ant-menu-sub{cursor:initial;transition:background .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item a{color:rgba(0,0,0,.85)}.ant-menu-item a:hover{color:#1890ff}.ant-menu-item a::before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:transparent;content:''}.ant-menu-item>.ant-badge a{color:rgba(0,0,0,.85)}.ant-menu-item-selected,.ant-menu-item-selected a,.ant-menu-item-selected a:hover,.ant-menu-item>.ant-badge a:hover{color:#1890ff}.ant-menu-item-divider{height:1px;overflow:hidden;line-height:0;background-color:#f0f0f0}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu{margin-top:-1px}.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu .ant-menu-submenu-title:hover{background-color:transparent}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected{background-color:#e6f7ff}.ant-menu-inline,.ant-menu-vertical,.ant-menu-vertical-left{border-right:1px solid #f0f0f0}.ant-menu-vertical-right{border-left:1px solid #f0f0f0}.ant-menu-vertical-left.ant-menu-sub,.ant-menu-vertical-right.ant-menu-sub,.ant-menu-vertical.ant-menu-sub{min-width:160px;max-height:calc(100vh - 100px);padding:0;overflow:hidden;border-right:0}.ant-menu-vertical-left.ant-menu-sub:not([class*='-active']),.ant-menu-vertical-right.ant-menu-sub:not([class*='-active']),.ant-menu-vertical.ant-menu-sub:not([class*='-active']){overflow-x:hidden;overflow-y:auto}.ant-menu-vertical-left.ant-menu-sub .ant-menu-item,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item,.ant-menu-vertical.ant-menu-sub .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-vertical-left.ant-menu-sub .ant-menu-item::after,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item::after,.ant-menu-vertical.ant-menu-sub .ant-menu-item::after{border-right:0}.ant-menu-vertical-left.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-left.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical.ant-menu-sub>.ant-menu-item,.ant-menu-vertical.ant-menu-sub>.ant-menu-submenu{transform-origin:0 0}.ant-menu-horizontal.ant-menu-sub{min-width:114px}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu-title{transition:border-color .3s,background .3s}.ant-menu-item,.ant-menu-submenu-title{position:relative;display:block;margin:0;padding:0 12px;white-space:nowrap;cursor:pointer;transition:border-color .3s,background .3s,padding .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item .ant-menu-item-icon,.ant-menu-item .anticon,.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-submenu-title .anticon{min-width:14px;font-size:12px;transition:font-size .15s cubic-bezier(.215,.61,.355,1),margin .3s cubic-bezier(.645,.045,.355,1),color .3s}.ant-menu-item .ant-menu-item-icon+span,.ant-menu-item .anticon+span,.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu-submenu-title .anticon+span{margin-left:8px;opacity:1;transition:opacity .3s cubic-bezier(.645,.045,.355,1),margin .3s,color .3s}.ant-menu-submenu-arrow,.ant-menu-submenu-expand-icon,.ant-menu-submenu>.ant-menu-submenu-title::after{transition:transform .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item .ant-menu-item-icon.svg,.ant-menu-submenu-title .ant-menu-item-icon.svg{vertical-align:-.125em}.ant-menu-item.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-item.ant-menu-item-only-child>.anticon,.ant-menu-submenu-title.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-submenu-title.ant-menu-item-only-child>.anticon{margin-right:0}.ant-menu-item:focus-visible,.ant-menu-submenu-title:focus-visible{box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-menu>.ant-menu-item-divider{height:1px;margin:1px 0;padding:0;overflow:hidden;line-height:0;background-color:#f0f0f0}.ant-menu-submenu-popup{position:absolute;z-index:1050;background:0 0;border-radius:2px;box-shadow:none;transform-origin:0 0}.ant-menu-submenu-popup::before{position:absolute;top:-7px;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;opacity:.0001}.ant-menu-submenu-placement-rightTop::before{top:0;left:-7px}.ant-menu-submenu>.ant-menu{background-color:#fff;border-radius:2px}.ant-menu-submenu-popup>.ant-menu{background-color:#fff}.ant-menu-submenu-arrow,.ant-menu-submenu-expand-icon{position:absolute;top:50%;right:16px;width:10px;color:rgba(0,0,0,.85);transform:translateY(-50%)}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-active,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-open,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-selected,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item:hover,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-active,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-open,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-selected,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu:hover,.ant-menu-submenu:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-submenu:hover>.ant-menu-submenu-title>.ant-menu-submenu-expand-icon,.ant-menu-vertical .ant-menu-submenu-selected,.ant-menu-vertical-left .ant-menu-submenu-selected,.ant-menu-vertical-right .ant-menu-submenu-selected{color:#1890ff}.ant-menu-submenu-arrow::after,.ant-menu-submenu-arrow::before{position:absolute;width:6px;height:1.5px;background-color:currentColor;border-radius:2px;transition:background .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1),top .3s cubic-bezier(.645,.045,.355,1),color .3s cubic-bezier(.645,.045,.355,1);content:''}.ant-menu-submenu-arrow::before{transform:rotate(45deg) translateY(-2.5px)}.ant-menu-submenu-arrow::after{transform:rotate(-45deg) translateY(2.5px)}.ant-menu-inline-collapsed .ant-menu-submenu-arrow::before,.ant-menu-submenu-inline .ant-menu-submenu-arrow::before{transform:rotate(-45deg) translateX(2.5px)}.ant-menu-inline-collapsed .ant-menu-submenu-arrow::after,.ant-menu-submenu-inline .ant-menu-submenu-arrow::after{transform:rotate(45deg) translateX(-2.5px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow{transform:translateY(-2px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after{transform:rotate(-45deg) translateX(-2.5px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{transform:rotate(45deg) translateX(2.5px)}.ant-menu-horizontal{line-height:38px;border:0;border-bottom:1px solid #f0f0f0;box-shadow:none}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu{margin-top:-1px;margin-bottom:0;padding:0 12px}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-active::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-open::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-selected::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item:hover::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-active::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-open::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-selected::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu:hover::after{border-bottom:2px solid #1890ff}.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{position:relative;top:1px;display:inline-block;vertical-align:bottom}.ant-menu-horizontal>.ant-menu-item::after,.ant-menu-horizontal>.ant-menu-submenu::after{position:absolute;right:20px;bottom:0;left:20px;border-bottom:2px solid transparent;transition:border-color .3s cubic-bezier(.645,.045,.355,1);content:''}.ant-menu-horizontal>.ant-menu-submenu>.ant-menu-submenu-title{padding:0}.ant-menu-horizontal>.ant-menu-item a{color:rgba(0,0,0,.85)}.ant-menu-horizontal>.ant-menu-item a:hover,.ant-menu-horizontal>.ant-menu-item-selected a{color:#1890ff}.ant-menu-horizontal>.ant-menu-item a::before{bottom:-2px}.ant-menu-horizontal::after{display:block;clear:both;height:0;content:'\20'}.ant-menu-inline .ant-menu-item,.ant-menu-vertical .ant-menu-item,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-right .ant-menu-item{position:relative}.ant-menu-inline .ant-menu-item::after,.ant-menu-vertical .ant-menu-item::after,.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-vertical-right .ant-menu-item::after{position:absolute;top:0;right:0;bottom:0;border-right:3px solid #1890ff;transform:scaleY(.0001);opacity:0;transition:transform .15s cubic-bezier(.215,.61,.355,1),opacity .15s cubic-bezier(.215,.61,.355,1);content:''}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-item,.ant-menu-vertical .ant-menu-submenu-title,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-left .ant-menu-submenu-title,.ant-menu-vertical-right .ant-menu-item,.ant-menu-vertical-right .ant-menu-submenu-title{height:32px;margin-top:0;margin-bottom:0;padding:0 16px;overflow:hidden;line-height:32px;text-overflow:ellipsis}.ant-menu-inline .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-inline .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-submenu-title{padding-right:34px}.ant-menu-inline .ant-menu-submenu,.ant-menu-vertical .ant-menu-submenu,.ant-menu-vertical-left .ant-menu-submenu,.ant-menu-vertical-right .ant-menu-submenu{padding-bottom:.02px}.ant-menu-inline .ant-menu-item:not(:last-child),.ant-menu-vertical .ant-menu-item:not(:last-child),.ant-menu-vertical-left .ant-menu-item:not(:last-child),.ant-menu-vertical-right .ant-menu-item:not(:last-child){margin-bottom:0}.ant-menu-inline>.ant-menu-item,.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-left>.ant-menu-item,.ant-menu-vertical-left>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-right>.ant-menu-item,.ant-menu-vertical-right>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical>.ant-menu-item,.ant-menu-vertical>.ant-menu-submenu>.ant-menu-submenu-title{height:32px;line-height:32px}.ant-menu-inline{width:100%}.ant-menu-inline .ant-menu-item-selected::after,.ant-menu-inline .ant-menu-selected::after{transform:scaleY(1);opacity:1;transition:transform .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title{width:calc(100% + 1px)}.ant-menu-inline.ant-menu-root .ant-menu-item,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title{display:flex;align-items:center;transition:border-color .3s,background .3s,padding .1s cubic-bezier(.215,.61,.355,1)}.ant-menu-inline.ant-menu-root .ant-menu-item>.ant-menu-title-content,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title>.ant-menu-title-content{flex:auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.ant-menu-inline.ant-menu-root .ant-menu-item>*,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title>*{flex:none}.ant-menu.ant-menu-inline-collapsed{width:80px}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title{left:0;padding:0 calc(50% - 14px / 2);text-overflow:clip}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:0}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon{margin:0;font-size:14px;line-height:32px}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span{display:inline-block;opacity:0}.ant-menu.ant-menu-inline-collapsed .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed .anticon{display:inline-block}.ant-menu.ant-menu-inline-collapsed-tooltip{pointer-events:none}.ant-menu.ant-menu-inline-collapsed-tooltip .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed-tooltip .anticon{display:none}.ant-menu.ant-menu-inline-collapsed-tooltip a{color:rgba(255,255,255,.85)}.ant-menu.ant-menu-inline-collapsed .ant-menu-item-group-title{padding-right:4px;padding-left:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-menu-item-group-list{margin:0;padding:0}.ant-menu-item-group-list .ant-menu-item,.ant-menu-item-group-list .ant-menu-submenu-title{padding:0 16px 0 28px}.ant-menu-root.ant-menu-inline,.ant-menu-root.ant-menu-vertical,.ant-menu-root.ant-menu-vertical-left,.ant-menu-root.ant-menu-vertical-right{box-shadow:none}.ant-menu-root.ant-menu-inline-collapsed .ant-menu-item>.ant-menu-inline-collapsed-noicon,.ant-menu-root.ant-menu-inline-collapsed .ant-menu-submenu .ant-menu-submenu-title>.ant-menu-inline-collapsed-noicon{font-size:14px;text-align:center}.ant-menu-rtl .ant-menu-item-group-title,.ant-menu-rtl.ant-menu-inline .ant-menu-item,.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical .ant-menu-item,.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-submenu-title,.ant-menu.ant-menu-rtl{text-align:right}.ant-menu-sub.ant-menu-inline{padding:0;background:#fafafa;border-radius:0;box-shadow:none}.ant-menu-sub.ant-menu-inline>.ant-menu-item,.ant-menu-sub.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{height:32px;line-height:32px;list-style-position:inside;list-style-type:disc}.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-left:32px}.ant-menu-item-disabled,.ant-menu-submenu-disabled{color:rgba(0,0,0,.25)!important;background:0 0;cursor:not-allowed}.ant-menu-item-disabled::after,.ant-menu-submenu-disabled::after{border-color:transparent!important}.ant-menu-item-disabled a,.ant-menu-submenu-disabled a{color:rgba(0,0,0,.25)!important;pointer-events:none}.ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-submenu-disabled>.ant-menu-submenu-title{color:rgba(0,0,0,.25)!important;cursor:not-allowed}.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:rgba(0,0,0,.25)!important}.ant-layout-header .ant-menu{line-height:inherit}.ant-menu-light .ant-menu-item-active,.ant-menu-light .ant-menu-item:hover,.ant-menu-light .ant-menu-submenu-active,.ant-menu-light .ant-menu-submenu-title:hover,.ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open{color:#1890ff}.ant-menu-dark .ant-menu-sub,.ant-menu.ant-menu-dark,.ant-menu.ant-menu-dark .ant-menu-sub{color:rgba(255,255,255,.65);background:#001529}.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:.45;transition:all .3s}.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::before{background:#fff}.ant-menu-dark.ant-menu-submenu-popup{background:0 0}.ant-menu-dark .ant-menu-inline.ant-menu-sub{background:#000c17}.ant-menu-dark.ant-menu-horizontal{border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item,.ant-menu-dark.ant-menu-horizontal>.ant-menu-submenu{top:0;margin-top:0;padding:0 12px;border-color:#001529;border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item:hover{background-color:#1890ff}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item>a::before{bottom:0}.ant-menu-dark .ant-menu-item,.ant-menu-dark .ant-menu-item-group-title,.ant-menu-dark .ant-menu-item>a,.ant-menu-dark .ant-menu-item>span>a{color:rgba(255,255,255,.65)}.ant-menu-dark.ant-menu-inline,.ant-menu-dark.ant-menu-vertical,.ant-menu-dark.ant-menu-vertical-left,.ant-menu-dark.ant-menu-vertical-right{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-vertical .ant-menu-item,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item::after{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title{width:100%}.ant-menu-dark .ant-menu-item-active,.ant-menu-dark .ant-menu-item:hover,.ant-menu-dark .ant-menu-submenu-active,.ant-menu-dark .ant-menu-submenu-open,.ant-menu-dark .ant-menu-submenu-selected,.ant-menu-dark .ant-menu-submenu-title:hover{color:#fff;background-color:transparent}.ant-menu-dark .ant-menu-item-active>a,.ant-menu-dark .ant-menu-item-active>span>a,.ant-menu-dark .ant-menu-item:hover>a,.ant-menu-dark .ant-menu-item:hover>span>a,.ant-menu-dark .ant-menu-submenu-active>a,.ant-menu-dark .ant-menu-submenu-active>span>a,.ant-menu-dark .ant-menu-submenu-open>a,.ant-menu-dark .ant-menu-submenu-open>span>a,.ant-menu-dark .ant-menu-submenu-selected>a,.ant-menu-dark .ant-menu-submenu-selected>span>a,.ant-menu-dark .ant-menu-submenu-title:hover>a,.ant-menu-dark .ant-menu-submenu-title:hover>span>a{color:#fff}.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow{opacity:1}.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:#fff}.ant-menu-dark .ant-menu-item:hover{background-color:transparent}.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected,.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected,.ant-menu.ant-menu-dark .ant-menu-item-selected{background-color:#1890ff}.ant-menu-dark .ant-menu-item-selected{color:#fff;border-right:0}.ant-menu-dark .ant-menu-item-selected::after{border-right:0}.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon,.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon+span,.ant-menu-dark .ant-menu-item-selected .anticon,.ant-menu-dark .ant-menu-item-selected .anticon+span,.ant-menu-dark .ant-menu-item-selected>a,.ant-menu-dark .ant-menu-item-selected>a:hover,.ant-menu-dark .ant-menu-item-selected>span>a,.ant-menu-dark .ant-menu-item-selected>span>a:hover{color:#fff}.ant-menu-dark .ant-menu-item-disabled,.ant-menu-dark .ant-menu-item-disabled>a,.ant-menu-dark .ant-menu-item-disabled>span>a,.ant-menu-dark .ant-menu-submenu-disabled,.ant-menu-dark .ant-menu-submenu-disabled>a,.ant-menu-dark .ant-menu-submenu-disabled>span>a{color:rgba(255,255,255,.35)!important;opacity:.8}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title{color:rgba(255,255,255,.35)!important}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:rgba(255,255,255,.35)!important}.ant-menu-rtl.ant-menu-inline,.ant-menu-rtl.ant-menu-vertical{border-right:none;border-left:1px solid #f0f0f0}.ant-menu-rtl.ant-menu-dark.ant-menu-inline,.ant-menu-rtl.ant-menu-dark.ant-menu-vertical{border-left:none}.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub>.ant-menu-submenu,.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub>.ant-menu-submenu,.ant-menu-rtl.ant-menu-vertical.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical.ant-menu-sub>.ant-menu-submenu{transform-origin:top right}.ant-menu-rtl .ant-menu-item .ant-menu-item-icon,.ant-menu-rtl .ant-menu-item .anticon,.ant-menu-rtl .ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-rtl .ant-menu-submenu-title .anticon{margin-right:auto;margin-left:8px}.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child>.anticon,.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child>.anticon{margin-left:0}.ant-menu-submenu-rtl.ant-menu-submenu-popup{transform-origin:100% 0}.ant-menu-rtl .ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow{right:auto;left:16px}.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow::before{transform:rotate(-45deg) translateY(-2px)}.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow::after{transform:rotate(45deg) translateY(2px)}.ant-menu-rtl.ant-menu-inline .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item::after{right:auto;left:0}.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title{padding-right:0;padding-left:34px}.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title{padding-right:16px;padding-left:34px}.ant-menu-rtl.ant-menu-inline-collapsed.ant-menu-vertical .ant-menu-submenu-title{padding:0 calc(50% - 14px / 2)}.ant-menu-rtl .ant-menu-item-group-list .ant-menu-item,.ant-menu-rtl .ant-menu-item-group-list .ant-menu-submenu-title{padding:0 28px 0 16px}.ant-menu-sub.ant-menu-inline{border:0}.ant-menu-rtl.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-right:32px;padding-left:0}.ant-mention-wrapper,.ant-mention-wrapper .ant-mention-editor{position:relative;color:rgba(0,0,0,.85);font-size:12px;padding:0;line-height:1.66667;width:100%}.ant-menu-submenu.ant-menu-submenu-placement-bottom{top:6px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-right{left:4px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-right.ant-menu-submenu-rtl{left:auto;right:4px}.ant-menu-submenu.ant-menu-submenu-placement-left{right:4px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-left.ant-menu-submenu-rtl{right:auto;left:4px}.ant-mention-wrapper{box-sizing:border-box;margin:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;vertical-align:middle}.ant-mention-wrapper .ant-mention-editor{min-width:0;background-color:#fff;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s;display:block;height:auto;min-height:28px}.ant-mention-wrapper .ant-mention-editor::-moz-placeholder{opacity:1}.ant-mention-wrapper .ant-mention-editor::placeholder{color:#bfbfbf}.ant-mention-wrapper .ant-mention-editor:placeholder-shown{text-overflow:ellipsis}.ant-mention-wrapper .ant-mention-editor:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:hover{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper .ant-mention-editor-focused,.ant-mention-wrapper .ant-mention-editor:focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-mention-wrapper .ant-mention-editor-focused,.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:focus{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper .ant-mention-editor-disabled:hover,.ant-mention-wrapper .ant-mention-editor[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-mention-wrapper .ant-mention-editor-disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-mention-wrapper .ant-mention-editor[disabled]{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-mention-wrapper .ant-mention-editor-borderless,.ant-mention-wrapper .ant-mention-editor-borderless-disabled,.ant-mention-wrapper .ant-mention-editor-borderless-focused,.ant-mention-wrapper .ant-mention-editor-borderless:focus,.ant-mention-wrapper .ant-mention-editor-borderless:hover,.ant-mention-wrapper .ant-mention-editor-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-mention-wrapper .ant-mention-editor{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-mention-wrapper .ant-mention-editor-lg{padding:3.4px 11px;font-size:14px}.ant-mention-dropdown,.ant-message{font-size:12px;font-variant:tabular-nums}.ant-mention-wrapper .ant-mention-editor-sm{padding:0 7px}.ant-mention-wrapper .ant-mention-editor-wrapper{height:auto;overflow-y:auto}.ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-mention-dropdown,.ant-message-notice-content,.ant-modal-content,.ant-notification-notice{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}.ant-input-rtl .ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper.disabled .ant-mention-editor{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-mention-wrapper.disabled .ant-mention-editor:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-mention-wrapper .public-DraftEditorPlaceholder-root{position:absolute;pointer-events:none}.ant-mention-wrapper .public-DraftEditorPlaceholder-root .public-DraftEditorPlaceholder-inner{height:auto;padding:5px 7px;color:#bfbfbf;white-space:pre-wrap;word-wrap:break-word;outline:0;opacity:1}.ant-mention-wrapper .DraftEditor-editorContainer .public-DraftEditor-content{height:auto;padding:5px 7px}.ant-mention-dropdown{box-sizing:border-box;margin:1.5em 0 0;padding:0;color:rgba(0,0,0,.85);line-height:1.66667;list-style:none;font-feature-settings:tnum;z-index:1050;min-width:120px;max-height:250px;overflow-x:hidden;overflow-y:auto;background-color:#fff;border-radius:2px;outline:0}.ant-mention-dropdown-placement-top{margin-top:-.1em}.ant-mention-dropdown-notfound.ant-mention-dropdown-item{color:rgba(0,0,0,.25)}.ant-mention-dropdown-notfound.ant-mention-dropdown-item .anticon-loading{display:block;color:#1890ff;text-align:center}.ant-mention-dropdown-item{position:relative;display:block;padding:5px 8px;overflow:hidden;color:rgba(0,0,0,.85);font-weight:400;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background .3s}.ant-mention-dropdown-item:hover{background-color:#f5f5f5}.ant-mention-dropdown-item-active,.ant-mention-dropdown-item.focus{background-color:#e6f7ff}.ant-mention-dropdown-item-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-mention-dropdown-item-disabled:hover{color:rgba(0,0,0,.25);background-color:#fff;cursor:not-allowed}.ant-mention-dropdown-item-selected,.ant-mention-dropdown-item-selected:hover{color:rgba(0,0,0,.85);font-weight:700;background-color:#f5f5f5}.ant-mention-dropdown-item-divider{height:1px;margin:1px 0;overflow:hidden;line-height:0;background-color:#f0f0f0}.ant-message,.ant-modal{line-height:1.66667;list-style:none;font-feature-settings:tnum;box-sizing:border-box}.ant-mention-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px}.ant-message{margin:0;padding:0;color:rgba(0,0,0,.85);position:fixed;top:8px;left:0;z-index:1010;width:100%;pointer-events:none}.ant-message-notice{padding:8px;text-align:center}.ant-message-notice-content{display:inline-block;padding:8px 16px;background:#fff;border-radius:2px;pointer-events:all}.ant-message-success .anticon{color:#52c41a}.ant-message-error .anticon{color:#ff4d4f}.ant-message-warning .anticon{color:#faad14}.ant-message-info .anticon,.ant-message-loading .anticon{color:#1890ff}.ant-message .anticon{position:relative;top:1px;margin-right:8px;font-size:14px}.ant-message-notice.ant-move-up-leave.ant-move-up-leave-active{animation-name:MessageMoveOut;animation-duration:.3s}@keyframes MessageMoveOut{0%{max-height:150px;padding:8px;opacity:1}100%{max-height:0;padding:0;opacity:0}}.ant-message-rtl .anticon{margin-right:0;margin-left:8px}.ant-modal{padding:0 0 24px;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;pointer-events:none;position:relative;top:100px;max-width:calc(100vw - 32px);margin:0 auto}.ant-modal.ant-zoom-enter,.ant-modal.antzoom-appear{transform:none;opacity:0;animation-duration:.3s;user-select:none}.ant-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;height:100%;background-color:rgba(0,0,0,.45)}.ant-modal-mask-hidden{display:none}.ant-modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;outline:0;-webkit-overflow-scrolling:touch;z-index:1000}.ant-modal-title{margin:0;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;line-height:22px;word-wrap:break-word}.ant-modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:0;border-radius:2px;pointer-events:auto}.ant-modal-close{position:absolute;top:0;right:0;z-index:10;padding:0;color:rgba(0,0,0,.45);font-weight:700;line-height:1;text-decoration:none;background:0 0;border:0;outline:0;cursor:pointer;transition:color .3s}.ant-modal-close-x{display:block;width:44px;height:44px;font-size:14px;font-style:normal;line-height:44px;text-align:center;text-transform:none;text-rendering:auto}.ant-modal-close:focus,.ant-modal-close:hover{color:rgba(0,0,0,.75);text-decoration:none}.ant-modal-header{padding:11px 16px;color:rgba(0,0,0,.85);background:#fff;border-bottom:1px solid #f0f0f0;border-radius:2px 2px 0 0}.ant-modal-body{padding:16px;font-size:12px;line-height:1.66667;word-wrap:break-word}.ant-modal-footer{padding:8px 16px;text-align:right;background:0 0;border-top:1px solid #f0f0f0;border-radius:0 0 2px 2px}.ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger){margin-bottom:0;margin-left:8px}.ant-modal-open{overflow:hidden}.ant-modal-centered{text-align:center}.ant-modal-centered::before{display:inline-block;width:0;height:100%;vertical-align:middle;content:''}.ant-modal-centered .ant-modal{top:0;display:inline-block;text-align:left;vertical-align:middle}@media (max-width:767px){.ant-modal{max-width:calc(100vw - 16px);margin:8px auto}.ant-modal-centered .ant-modal{flex:1}}.ant-modal-confirm .ant-modal-header{display:none}.ant-modal-confirm-body-wrapper::after,.ant-modal-confirm-body-wrapper::before{display:table;content:''}.ant-modal-confirm .ant-modal-body{padding:24px 24px 16px}.ant-modal-confirm-body-wrapper::after{clear:both}.ant-modal-confirm-body .ant-modal-confirm-title{display:block;overflow:hidden;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;line-height:1.4}.ant-modal-confirm-body .ant-modal-confirm-content{margin-top:8px;color:rgba(0,0,0,.85);font-size:12px}.ant-modal-confirm-body>.anticon{float:left;margin-right:16px;font-size:22px}.ant-modal-confirm-body>.anticon+.ant-modal-confirm-title+.ant-modal-confirm-content{margin-left:38px}.ant-modal-confirm .ant-modal-confirm-btns{float:right;margin-top:24px}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn+.ant-btn{margin-bottom:0;margin-left:8px}.ant-modal-confirm-error .ant-modal-confirm-body>.anticon{color:#ff4d4f}.ant-modal-confirm-confirm .ant-modal-confirm-body>.anticon,.ant-modal-confirm-warning .ant-modal-confirm-body>.anticon{color:#faad14}.ant-modal-confirm-info .ant-modal-confirm-body>.anticon{color:#1890ff}.ant-modal-confirm-success .ant-modal-confirm-body>.anticon{color:#52c41a}.ant-modal-wrap-rtl .ant-modal-close{right:initial;left:0}.ant-modal-wrap-rtl .ant-modal-footer{text-align:left}.ant-modal-wrap-rtl .ant-modal-footer .ant-btn+.ant-btn{margin-right:8px;margin-left:0}.ant-modal-wrap-rtl .ant-modal-confirm-body>.anticon{float:right;margin-right:0;margin-left:16px}.ant-modal-wrap-rtl .ant-modal-confirm-body>.anticon+.ant-modal-confirm-title+.ant-modal-confirm-content{margin-right:38px;margin-left:0}.ant-modal-wrap-rtl .ant-modal-confirm-btns{float:left}.ant-modal-wrap-rtl .ant-modal-confirm-btns .ant-btn+.ant-btn{margin-right:8px;margin-left:0}.ant-modal-wrap-rtl.ant-modal-centered .ant-modal{text-align:right}.ant-notification{box-sizing:border-box;margin:0 24px 0 0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;position:fixed;z-index:1010}.ant-notification-bottomLeft,.ant-notification-topLeft{margin-right:0;margin-left:24px}.ant-notification-bottomLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-bottomLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,.ant-notification-topLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-topLeft .ant-notification-fade-enter.ant-notification-fade-enter-active{animation-name:NotificationLeftFadeIn}.ant-notification-close-icon{font-size:12px;cursor:pointer}.ant-notification-hook-holder{position:relative}.ant-notification-notice{position:relative;width:384px;max-width:calc(100vw - 24px * 2);margin-bottom:16px;margin-left:auto;padding:12px 16px;overflow:hidden;line-height:1.66667;word-wrap:break-word;background:#fff;border-radius:2px}.ant-notification-bottomLeft .ant-notification-notice,.ant-notification-topLeft .ant-notification-notice{margin-right:auto;margin-left:0}.ant-notification-notice-message{margin-bottom:8px;color:rgba(0,0,0,.85);font-size:14px;line-height:24px}.ant-notification-notice-message-single-line-auto-margin{display:block;width:calc(384px - 16px * 2 - 24px - 48px - 100%);max-width:4px;background-color:transparent;pointer-events:none}.ant-notification-notice-message-single-line-auto-margin::before{display:block;content:''}.ant-notification-notice-description{font-size:12px}.ant-notification-notice-closable .ant-notification-notice-message{padding-right:24px}.ant-notification-notice-with-icon .ant-notification-notice-message{margin-bottom:4px;margin-left:48px;font-size:14px}.ant-notification-notice-with-icon .ant-notification-notice-description{margin-left:48px;font-size:12px}.ant-notification-notice-icon{position:absolute;margin-left:4px;font-size:24px;line-height:24px}.anticon.ant-notification-notice-icon-success{color:#52c41a}.anticon.ant-notification-notice-icon-info{color:#1890ff}.anticon.ant-notification-notice-icon-warning{color:#faad14}.anticon.ant-notification-notice-icon-error{color:#ff4d4f}.ant-notification-notice-close{position:absolute;top:16px;right:22px;color:rgba(0,0,0,.45);outline:0}.ant-page-header,.ant-pagination-jump-next .ant-pagination-item-container,.ant-pagination-jump-prev .ant-pagination-item-container{position:relative}.ant-notification-notice-close:hover{color:rgba(0,0,0,.67)}.ant-notification-notice-btn{float:right;margin-top:16px}.ant-notification .notification-fade-effect{animation-duration:.24s;animation-fill-mode:both}.ant-notification-fade-appear,.ant-notification-fade-enter{animation-duration:.24s;animation-fill-mode:both;opacity:0;animation-play-state:paused}.ant-notification-fade-leave{animation-fill-mode:both;animation-duration:.2s;animation-play-state:paused}.ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-fade-enter.ant-notification-fade-enter-active{animation-name:NotificationFadeIn;animation-play-state:running}.ant-notification-fade-leave.ant-notification-fade-leave-active{animation-name:NotificationFadeOut;animation-play-state:running}@keyframes NotificationFadeIn{0%{left:384px;opacity:0}100%{left:0;opacity:1}}@keyframes NotificationLeftFadeIn{0%{right:384px;opacity:0}100%{right:0;opacity:1}}@keyframes NotificationFadeOut{0%{max-height:150px;margin-bottom:16px;opacity:1}100%{max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;opacity:0}}.ant-notification-rtl .ant-notification-notice-closable .ant-notification-notice-message{padding-right:0;padding-left:24px}.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-description,.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-message{margin-right:48px;margin-left:0}.ant-notification-rtl .ant-notification-notice-icon{margin-right:4px;margin-left:0}.ant-notification-rtl .ant-notification-notice-close{right:auto;left:22px}.ant-notification-rtl .ant-notification-notice-btn{float:left}.ant-page-header{box-sizing:border-box;margin:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;padding:8px 8px 16px 0;background-color:#fff}.ant-page-header-content,.ant-page-header.has-breadcrumb{padding-top:8px}.ant-page-header-ghost{background-color:inherit}.ant-page-header.has-footer{padding-bottom:0}.ant-page-header-back{margin-right:8px;font-size:16px;line-height:1}.ant-page-header-back-button{text-decoration:none;outline:0;transition:color .3s;color:#000;cursor:pointer}.ant-page-header-back-button:focus,.ant-page-header-back-button:hover{color:#40a9ff}.ant-page-header-back-button:active{color:#096dd9}.ant-page-header .ant-divider-vertical{height:14px;margin:0 8px;vertical-align:middle}.ant-breadcrumb+.ant-page-header-heading{margin-top:4px}.ant-page-header-heading{display:flex}.ant-page-header-heading-left{display:flex;align-items:center;margin:2px 0;overflow:hidden}.ant-page-header-heading-title{margin-right:8px;margin-bottom:0;color:rgba(0,0,0,.85);font-weight:600;font-size:16px;line-height:32px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-page-header-heading .ant-avatar{margin-right:8px}.ant-page-header-heading-sub-title{margin-right:8px;color:rgba(0,0,0,.45);font-size:12px;line-height:1.66667;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-page-header-heading-extra{margin:2px 0;white-space:nowrap}.ant-page-header-heading-extra>*{margin-left:8px;white-space:unset}.ant-page-header-heading-extra>:first-child{margin-left:0}.ant-page-header-footer{margin-top:8px}.ant-page-header-footer .ant-tabs>.ant-tabs-nav{margin:0}.ant-page-header-footer .ant-tabs>.ant-tabs-nav::before{border:none}.ant-page-header-footer .ant-tabs .ant-tabs-tab{padding-top:4px;padding-bottom:4px;font-size:14px}.ant-page-header-compact .ant-page-header-heading{flex-wrap:wrap}.ant-page-header-rtl .ant-page-header-back{float:right;margin-right:0;margin-left:16px}.ant-page-header-rtl .ant-page-header-heading .ant-avatar,.ant-page-header-rtl .ant-page-header-heading-title{margin-right:0;margin-left:8px}.ant-page-header-rtl .ant-page-header-heading-sub-title{float:right;margin-right:0;margin-left:12px}.ant-page-header-rtl .ant-page-header-heading-tags{float:right}.ant-page-header-rtl .ant-page-header-heading-extra{float:left}.ant-page-header-rtl .ant-page-header-heading-extra>*{margin-right:8px;margin-left:0}.ant-pagination,.ant-pagination ol,.ant-pagination ul{margin:0;list-style:none;padding:0}.ant-page-header-rtl .ant-page-header-heading-extra>:first-child{margin-right:0}.ant-page-header-rtl .ant-page-header-footer .ant-tabs-bar .ant-tabs-nav{float:right}.ant-page-header-back-button{border:0;background:0 0;padding:0;line-height:inherit;display:inline-block}nz-page-header,nz-page-header-content,nz-page-header-footer{display:block}.ant-pagination{box-sizing:border-box;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;font-feature-settings:tnum}.ant-pagination::after{display:block;clear:both;height:0;overflow:hidden;visibility:hidden;content:' '}.ant-pagination-item,.ant-pagination-total-text{display:inline-block;margin-right:8px;line-height:26px}.ant-pagination-total-text{height:28px;vertical-align:middle}.ant-pagination-item{min-width:28px;height:28px;text-align:center;vertical-align:middle;list-style:none;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;outline:0;cursor:pointer;user-select:none}.ant-pagination-item a{display:block;padding:0 6px;color:rgba(0,0,0,.85);transition:none}.ant-pagination-item-active a,.ant-pagination-item:focus-visible a,.ant-pagination-item:hover a{color:#1890ff}.ant-pagination-item a:hover{text-decoration:none}.ant-pagination-item:focus-visible,.ant-pagination-item:hover{border-color:#1890ff;transition:all .3s}.ant-pagination-item-active{font-weight:500;background:#fff;border-color:#1890ff}.ant-pagination-item-active:focus-visible,.ant-pagination-item-active:hover,.ant-pagination-next:hover button,.ant-pagination-prev:hover button{border-color:#40a9ff}.ant-pagination-item-active:focus-visible a,.ant-pagination-item-active:hover a{color:#40a9ff}.ant-pagination-jump-next,.ant-pagination-jump-prev{outline:0}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon{color:#1890ff;font-size:12px;letter-spacing:-1px;opacity:0;transition:all .2s}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon-svg,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon-svg{top:0;right:0;bottom:0;left:0;margin:auto}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis{position:absolute;top:0;right:0;bottom:0;left:0;display:block;margin:auto;color:rgba(0,0,0,.25);font-family:Arial,Helvetica,sans-serif;letter-spacing:2px;text-align:center;text-indent:.13em;opacity:1;transition:all .2s}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-next,.ant-pagination-prev,.ant-select-multiple .ant-select-selection-search-input,.ant-select-multiple .ant-select-selection-search-mirror,.ant-statistic-content,.ant-steps-item-icon{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji'}.ant-pagination-jump-next:focus-visible .ant-pagination-item-link-icon,.ant-pagination-jump-next:hover .ant-pagination-item-link-icon,.ant-pagination-jump-prev:focus-visible .ant-pagination-item-link-icon,.ant-pagination-jump-prev:hover .ant-pagination-item-link-icon{opacity:1}.ant-pagination-jump-next:focus-visible .ant-pagination-item-ellipsis,.ant-pagination-jump-next:hover .ant-pagination-item-ellipsis,.ant-pagination-jump-prev:focus-visible .ant-pagination-item-ellipsis,.ant-pagination-jump-prev:hover .ant-pagination-item-ellipsis,.ant-pagination.ant-pagination-disabled .ant-pagination-item-link-icon{opacity:0}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-prev{margin-right:8px}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-next,.ant-pagination-prev{display:inline-block;min-width:28px;height:28px;color:rgba(0,0,0,.85);line-height:28px;text-align:center;vertical-align:middle;list-style:none;border-radius:2px;cursor:pointer;transition:all .3s}.ant-pagination-next,.ant-pagination-prev{font-family:Arial,Helvetica,sans-serif;outline:0}.ant-pagination-next button,.ant-pagination-prev button{color:rgba(0,0,0,.85);cursor:pointer;user-select:none}.ant-pagination-next .ant-pagination-item-link,.ant-pagination-prev .ant-pagination-item-link{display:block;width:100%;height:100%;padding:0;font-size:12px;text-align:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;outline:0;transition:all .3s}.ant-pagination-next:focus-visible .ant-pagination-item-link,.ant-pagination-next:hover .ant-pagination-item-link,.ant-pagination-prev:focus-visible .ant-pagination-item-link,.ant-pagination-prev:hover .ant-pagination-item-link{color:#1890ff;border-color:#1890ff}.ant-pagination-disabled,.ant-pagination-disabled:focus-visible,.ant-pagination-disabled:hover{cursor:not-allowed}.ant-pagination-disabled .ant-pagination-item-link,.ant-pagination-disabled:focus-visible .ant-pagination-item-link,.ant-pagination-disabled:hover .ant-pagination-item-link{color:rgba(0,0,0,.25);border-color:#d9d9d9;cursor:not-allowed}.ant-pagination-slash{margin:0 10px 0 5px}.ant-pagination-options{display:inline-block;margin-left:16px;vertical-align:middle}@media all and (-ms-high-contrast:none){.ant-pagination-options,.ant-pagination-options ::-ms-backdrop{vertical-align:top}}.ant-pagination-options-size-changer.ant-select{display:inline-block;width:auto}.ant-pagination-options-quick-jumper{display:inline-block;height:28px;margin-left:4px;line-height:28px;vertical-align:top}.ant-pagination-options-quick-jumper input{position:relative;display:inline-block;min-width:0;padding:3px 7px;color:rgba(0,0,0,.85);font-size:12px;line-height:1.66667;background-color:#fff;background-image:none;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s;width:50px;height:28px;margin:0 8px}.ant-pagination-options-quick-jumper input::-moz-placeholder{opacity:1}.ant-pagination-options-quick-jumper input::placeholder{color:#bfbfbf}.ant-pagination-options-quick-jumper input:placeholder-shown{text-overflow:ellipsis}.ant-pagination-options-quick-jumper input:hover{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-pagination-options-quick-jumper input:hover{border-right-width:0;border-left-width:1px!important}.ant-pagination-options-quick-jumper input-focused,.ant-pagination-options-quick-jumper input:focus{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-pagination-options-quick-jumper input-focused,.ant-input-rtl .ant-pagination-options-quick-jumper input:focus{border-right-width:0;border-left-width:1px!important}.ant-pagination-options-quick-jumper input-disabled:hover,.ant-pagination-options-quick-jumper input[disabled]:hover{border-color:#d9d9d9;border-right-width:1px!important}.ant-pagination-options-quick-jumper input-disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-pagination-options-quick-jumper input[disabled]{background-color:#f5f5f5;cursor:not-allowed;opacity:1;color:rgba(0,0,0,.25);pointer-events:none}.ant-pagination-options-quick-jumper input-borderless,.ant-pagination-options-quick-jumper input-borderless-disabled,.ant-pagination-options-quick-jumper input-borderless-focused,.ant-pagination-options-quick-jumper input-borderless:focus,.ant-pagination-options-quick-jumper input-borderless:hover,.ant-pagination-options-quick-jumper input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}.ant-popover-inner,.ant-select-dropdown{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}textarea.ant-pagination-options-quick-jumper input{max-width:100%;height:auto;min-height:28px;line-height:1.66667;vertical-align:bottom;transition:all .3s,height 0s}.ant-pagination-options-quick-jumper input-lg{padding:3.4px 11px;font-size:14px}.ant-pagination-options-quick-jumper input-sm{padding:0 7px}.ant-pagination-simple .ant-pagination-next,.ant-pagination-simple .ant-pagination-prev{height:22px;line-height:22px;vertical-align:top}.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link,.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link{height:22px;background-color:transparent;border:0}.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link::after,.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link::after{height:22px;line-height:22px}.ant-pagination-simple .ant-pagination-simple-pager{display:inline-block;height:22px;margin-right:8px}.ant-pagination-simple .ant-pagination-simple-pager input{box-sizing:border-box;height:100%;margin-right:8px;padding:0 6px;text-align:center;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;outline:0;transition:border-color .3s}.ant-pagination-simple .ant-pagination-simple-pager input:hover{border-color:#1890ff}.ant-pagination-simple .ant-pagination-simple-pager input[disabled]{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-pagination.mini .ant-pagination-item:not(.ant-pagination-item-active),.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link,.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link{background:0 0;border-color:transparent}.ant-pagination.mini .ant-pagination-simple-pager,.ant-pagination.mini .ant-pagination-total-text{height:22px;line-height:22px}.ant-pagination.mini .ant-pagination-item{min-width:22px;height:22px;margin:0;line-height:20px}.ant-pagination.mini .ant-pagination-next,.ant-pagination.mini .ant-pagination-prev{min-width:22px;height:22px;margin:0;line-height:22px}.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link::after,.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link::after{height:22px;line-height:22px}.ant-pagination.mini .ant-pagination-jump-next,.ant-pagination.mini .ant-pagination-jump-prev{height:22px;margin-right:0;line-height:22px}.ant-pagination.mini .ant-pagination-options{margin-left:2px}.ant-pagination.mini .ant-pagination-options-size-changer{top:1px}.ant-pagination.mini .ant-pagination-options-quick-jumper{height:22px;line-height:22px}.ant-popover,.ant-progress{line-height:1.66667;font-size:12px;box-sizing:border-box;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-pagination.mini .ant-pagination-options-quick-jumper input{padding:0 7px;width:44px;height:22px}.ant-pagination.ant-pagination-disabled{cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item{background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item a{color:rgba(0,0,0,.25);background:0 0;border:none;cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active{background:#dbdbdb;border-color:transparent}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a{color:#fff}.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{color:rgba(0,0,0,.25);background:#f5f5f5;border-color:#d9d9d9;cursor:not-allowed}.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{background:0 0}.ant-pagination.ant-pagination-disabled .ant-pagination-item-ellipsis{opacity:1}.ant-pagination.ant-pagination-disabled .ant-pagination-simple-pager{color:rgba(0,0,0,.25)}@media only screen and (max-width:992px){.ant-pagination-item-after-jump-prev,.ant-pagination-item-before-jump-next{display:none}}@media only screen and (max-width:576px){.ant-pagination-options{display:none}}.ant-pagination-rtl .ant-pagination-item,.ant-pagination-rtl .ant-pagination-jump-next,.ant-pagination-rtl .ant-pagination-jump-prev,.ant-pagination-rtl .ant-pagination-prev,.ant-pagination-rtl .ant-pagination-total-text{margin-right:0;margin-left:8px}.ant-pagination-rtl .ant-pagination-slash{margin:0 5px 0 10px}.ant-pagination-rtl .ant-pagination-options{margin-right:16px;margin-left:0}.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-size-changer.ant-select{margin-right:0;margin-left:8px}.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-quick-jumper{margin-left:0}.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager,.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager input{margin-right:0;margin-left:8px}.ant-pagination-rtl.ant-pagination.mini .ant-pagination-options{margin-right:2px;margin-left:0}nz-pagination{display:block}.ant-popover-hidden,.ant-radio+span:empty{display:none}.ant-popover{margin:0;padding:0;color:rgba(0,0,0,.85);top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:left;cursor:auto;user-select:text}.ant-popover::after{position:absolute;background:rgba(255,255,255,.01);content:''}.ant-popover-placement-top,.ant-popover-placement-topLeft,.ant-popover-placement-topRight{padding-bottom:10px}.ant-popover-placement-right,.ant-popover-placement-rightBottom,.ant-popover-placement-rightTop{padding-left:10px}.ant-popover-placement-bottom,.ant-popover-placement-bottomLeft,.ant-popover-placement-bottomRight{padding-top:10px}.ant-popover-placement-left,.ant-popover-placement-leftBottom,.ant-popover-placement-leftTop{padding-right:10px}.ant-popover-inner{background-color:#fff;background-clip:padding-box;border-radius:2px;box-shadow:0 0 8px rgba(0,0,0,.15)\9}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ant-popover-inner{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}}.ant-popover-title{min-width:177px;min-height:28px;margin:0;padding:5px 12px 4px;color:rgba(0,0,0,.85);font-weight:500;border-bottom:1px solid #f0f0f0}.ant-popover-inner-content{padding:8px 12px;color:rgba(0,0,0,.85)}.ant-popover-message{position:relative;padding:4px 0 12px;color:rgba(0,0,0,.85);font-size:12px}.ant-popover-message>.anticon{position:absolute;top:8px;color:#faad14;font-size:12px}.ant-popover-message-title{padding-left:20px}.ant-popover-buttons{margin-bottom:4px;text-align:right}.ant-popover-buttons button{margin-left:8px}.ant-popover-arrow{position:absolute;display:block;width:8.49px;height:8.49px;overflow:hidden;background:0 0;pointer-events:none}.ant-popover-arrow-content{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:6px;height:6px;margin:auto;background-color:#fff;content:'';pointer-events:auto}.ant-progress,.ant-progress-steps{display:inline-block}.ant-popover-placement-top .ant-popover-arrow,.ant-popover-placement-topLeft .ant-popover-arrow,.ant-popover-placement-topRight .ant-popover-arrow{bottom:1.51px}.ant-popover-placement-top .ant-popover-arrow-content,.ant-popover-placement-topLeft .ant-popover-arrow-content,.ant-popover-placement-topRight .ant-popover-arrow-content{box-shadow:3px 3px 7px rgba(0,0,0,.07);transform:translateY(-4.24px) rotate(45deg)}.ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translateX(-50%)}.ant-popover-placement-topLeft .ant-popover-arrow{left:16px}.ant-popover-placement-topRight .ant-popover-arrow{right:16px}.ant-popover-placement-right .ant-popover-arrow,.ant-popover-placement-rightBottom .ant-popover-arrow,.ant-popover-placement-rightTop .ant-popover-arrow{left:1.51px}.ant-popover-placement-right .ant-popover-arrow-content,.ant-popover-placement-rightBottom .ant-popover-arrow-content,.ant-popover-placement-rightTop .ant-popover-arrow-content{box-shadow:-3px 3px 7px rgba(0,0,0,.07);transform:translateX(4.24px) rotate(45deg)}.ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%)}.ant-popover-placement-rightTop .ant-popover-arrow{top:12px}.ant-popover-placement-bottom .ant-popover-arrow,.ant-popover-placement-bottomLeft .ant-popover-arrow,.ant-popover-placement-bottomRight .ant-popover-arrow{top:1.51px}.ant-popover-placement-bottom .ant-popover-arrow-content,.ant-popover-placement-bottomLeft .ant-popover-arrow-content,.ant-popover-placement-bottomRight .ant-popover-arrow-content{box-shadow:-2px -2px 5px rgba(0,0,0,.06);transform:translateY(4.24px) rotate(45deg)}.ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translateX(-50%)}.ant-popover-placement-bottomLeft .ant-popover-arrow{left:16px}.ant-popover-placement-bottomRight .ant-popover-arrow{right:16px}.ant-popover-placement-left .ant-popover-arrow,.ant-popover-placement-leftBottom .ant-popover-arrow,.ant-popover-placement-leftTop .ant-popover-arrow{right:1.51px}.ant-popover-placement-left .ant-popover-arrow-content,.ant-popover-placement-leftBottom .ant-popover-arrow-content,.ant-popover-placement-leftTop .ant-popover-arrow-content{box-shadow:3px -3px 7px rgba(0,0,0,.07);transform:translateX(-4.24px) rotate(45deg)}.ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%)}.ant-popover-placement-leftTop .ant-popover-arrow{top:12px}.ant-popover-magenta .ant-popover-arrow-content,.ant-popover-magenta .ant-popover-inner,.ant-popover-pink .ant-popover-arrow-content,.ant-popover-pink .ant-popover-inner{background-color:#eb2f96}.ant-popover-red .ant-popover-arrow-content,.ant-popover-red .ant-popover-inner{background-color:#f5222d}.ant-popover-volcano .ant-popover-arrow-content,.ant-popover-volcano .ant-popover-inner{background-color:#fa541c}.ant-popover-orange .ant-popover-arrow-content,.ant-popover-orange .ant-popover-inner{background-color:#fa8c16}.ant-popover-yellow .ant-popover-arrow-content,.ant-popover-yellow .ant-popover-inner{background-color:#fadb14}.ant-popover-gold .ant-popover-arrow-content,.ant-popover-gold .ant-popover-inner{background-color:#faad14}.ant-popover-cyan .ant-popover-arrow-content,.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2}.ant-popover-lime .ant-popover-arrow-content,.ant-popover-lime .ant-popover-inner{background-color:#a0d911}.ant-popover-green .ant-popover-arrow-content,.ant-popover-green .ant-popover-inner{background-color:#52c41a}.ant-popover-blue .ant-popover-arrow-content,.ant-popover-blue .ant-popover-inner{background-color:#1890ff}.ant-popover-geekblue .ant-popover-arrow-content,.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb}.ant-popover-purple .ant-popover-arrow-content,.ant-popover-purple .ant-popover-inner{background-color:#722ed1}.ant-popover-rtl{text-align:right}.ant-popover-rtl .ant-popover-message-title{padding-right:20px;padding-left:8px}.ant-popover-rtl .ant-popover-buttons{text-align:left}.ant-popover-rtl .ant-popover-buttons button{margin-right:8px;margin-left:0}.ant-popover{position:relative}.ant-progress{margin:0;padding:0;color:rgba(0,0,0,.85)}.ant-progress-line{position:relative;width:100%;font-size:12px}.ant-progress-steps-outer{display:flex;flex-direction:row;align-items:center}.ant-progress-steps-item{flex-shrink:0;min-width:2px;margin-right:2px;background:#f3f3f3;transition:all .3s}.ant-progress-steps-item-active{background:#1890ff}.ant-progress-small.ant-progress-line,.ant-progress-small.ant-progress-line .ant-progress-text .anticon{font-size:12px}.ant-progress-outer{display:inline-block;width:100%;margin-right:0;padding-right:0}.ant-progress-show-info .ant-progress-outer{margin-right:calc(-2em - 8px);padding-right:calc(2em + 8px)}.ant-progress-inner{position:relative;display:inline-block;width:100%;overflow:hidden;vertical-align:middle;background-color:#f5f5f5;border-radius:100px}.ant-progress-circle-trail{stroke:#f5f5f5}.ant-progress-circle-path{animation:ant-progress-appear .3s}.ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#1890ff}.ant-progress-bg,.ant-progress-success-bg{position:relative;background-color:#1890ff;border-radius:100px;transition:all .4s cubic-bezier(.08,.82,.17,1) 0s}.ant-progress-success-bg{position:absolute;top:0;left:0;background-color:#52c41a}.ant-progress-text{display:inline-block;width:2em;margin-left:8px;color:rgba(0,0,0,.85);font-size:1em;line-height:1;white-space:nowrap;text-align:left;vertical-align:middle;word-break:normal}.ant-progress-text .anticon{font-size:12px}.ant-progress-status-active .ant-progress-bg::before{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;border-radius:10px;opacity:0;animation:ant-progress-active 2.4s cubic-bezier(.23,1,.32,1) infinite;content:''}.ant-progress-status-exception .ant-progress-bg{background-color:#ff4d4f}.ant-progress-status-exception .ant-progress-text{color:#ff4d4f}.ant-progress-status-exception .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#ff4d4f}.ant-progress-status-success .ant-progress-bg{background-color:#52c41a}.ant-progress-status-success .ant-progress-text{color:#52c41a}.ant-progress-status-success .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#52c41a}.ant-progress-circle .ant-progress-inner{position:relative;line-height:1;background-color:transparent}.ant-progress-circle .ant-progress-text{position:absolute;top:50%;left:50%;width:100%;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:.833333em;line-height:1;white-space:normal;text-align:center;transform:translate(-50%,-50%)}.ant-progress-circle .ant-progress-text .anticon{font-size:1.16666667em}.ant-progress-circle.ant-progress-status-exception .ant-progress-text{color:#ff4d4f}.ant-progress-circle.ant-progress-status-success .ant-progress-text{color:#52c41a}@keyframes ant-progress-active{0%{transform:translateX(-100%) scaleX(0);opacity:.1}20%{transform:translateX(-100%) scaleX(0);opacity:.5}100%{transform:translateX(0) scaleX(1);opacity:0}}.ant-progress-rtl.ant-progress-show-info .ant-progress-outer{margin-right:0;margin-left:calc(-2em - 8px);padding-right:0;padding-left:calc(2em + 8px)}.ant-progress-rtl .ant-progress-success-bg{right:0;left:auto}.ant-progress-rtl.ant-progress-line .ant-progress-text,.ant-progress-rtl.ant-progress-steps .ant-progress-text{margin-right:8px;margin-left:0;text-align:right}.ant-radio-group{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;font-size:0;line-height:unset}.ant-radio,.ant-radio-wrapper{box-sizing:border-box;padding:0;color:rgba(0,0,0,.85);line-height:1.66667;position:relative;cursor:pointer;font-size:12px;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-radio-group .ant-badge-count{z-index:1}.ant-radio-group>.ant-badge:not(:first-child)>.ant-radio-button-wrapper{border-left:none}.ant-radio-wrapper{margin:0 6px 0 0;display:inline-flex;align-items:baseline}.ant-radio-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-radio{margin:0;top:.2em;display:inline-block;outline:0}.ant-radio-input:focus+.ant-radio-inner,.ant-radio-wrapper:hover .ant-radio,.ant-radio:hover .ant-radio-inner{border-color:#1890ff}.ant-radio-input:focus+.ant-radio-inner{box-shadow:0 0 0 3px rgba(24,144,255,.08)}.ant-radio-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:50%;visibility:hidden;animation:antRadioEffect .36s ease-in-out;animation-fill-mode:both;content:''}.ant-radio-inner,.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle,.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle,.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle{border-radius:50%}.ant-radio-wrapper:hover .ant-radio::after,.ant-radio:hover::after,.ant-tooltip{visibility:visible}.ant-radio-inner{position:relative;top:0;left:0;display:block;width:14px;height:14px;background-color:#fff;border-color:#d9d9d9;border-style:solid;border-width:1px;transition:all .3s}.ant-radio-inner::after{position:absolute;top:3px;left:3px;display:block;width:6px;height:6px;background-color:#1890ff;border-top:0;border-left:0;border-radius:6px;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:' '}.ant-radio-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer;opacity:0}.ant-radio-button-wrapper-disabled,.ant-radio-disabled,.ant-radio-disabled .ant-radio-inner,.ant-radio-disabled .ant-radio-input,.ant-radio-disabled+span{cursor:not-allowed}.ant-radio-checked .ant-radio-inner{border-color:#1890ff}.ant-radio-checked .ant-radio-inner::after{transform:scale(1);opacity:1;transition:all .3s cubic-bezier(.78,.14,.15,.86)}.ant-radio-disabled .ant-radio-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-radio-disabled .ant-radio-inner::after{background-color:rgba(0,0,0,.2)}.ant-radio-disabled+span{color:rgba(0,0,0,.25)}span.ant-radio+*{padding-right:8px;padding-left:8px}.ant-radio-button-wrapper{position:relative;display:inline-block;height:28px;margin:0;padding:0 7px;color:rgba(0,0,0,.85);font-size:12px;line-height:26px;background:#fff;border:1px solid #d9d9d9;border-top-width:1.02px;border-left-width:0;cursor:pointer;transition:color .3s,background .3s,border-color .3s,box-shadow .3s}.ant-radio-button-wrapper a{color:rgba(0,0,0,.85)}.ant-radio-button-wrapper>.ant-radio-button{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%}.ant-radio-group-large .ant-radio-button-wrapper{height:32px;font-size:14px;line-height:30px}.ant-radio-group-small .ant-radio-button-wrapper{height:22px;padding:0 7px;line-height:20px}.ant-radio-button-wrapper:not(:first-child)::before{position:absolute;top:-1px;left:-1px;display:block;box-sizing:content-box;width:1px;height:100%;padding:1px 0;background-color:#d9d9d9;transition:background-color .3s;content:''}.ant-radio-button-wrapper:first-child{border-left:1px solid #d9d9d9;border-radius:2px 0 0 2px}.ant-radio-button-wrapper:last-child{border-radius:0 2px 2px 0}.ant-radio-button-wrapper:first-child:last-child{border-radius:2px}.ant-radio-button-wrapper:hover{position:relative;color:#1890ff}.ant-radio-button-wrapper:focus-within{box-shadow:0 0 0 3px rgba(24,144,255,.08)}.ant-radio-button-wrapper .ant-radio-inner,.ant-radio-button-wrapper input[type=radio],.ant-radio-button-wrapper input[type=checkbox]{width:0;height:0;opacity:0;pointer-events:none}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){z-index:1;color:#1890ff;background:#fff;border-color:#1890ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before{background-color:#1890ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child{border-color:#1890ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#40a9ff;border-color:#40a9ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before{background-color:#40a9ff}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#096dd9;border-color:#096dd9}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before{background-color:#096dd9}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within{box-shadow:0 0 0 3px rgba(24,144,255,.08)}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:#fff;background:#1890ff;border-color:#1890ff}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#fff;background:#40a9ff;border-color:#40a9ff}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#fff;background:#096dd9;border-color:#096dd9}.ant-radio-button-wrapper-disabled,.ant-radio-button-wrapper-disabled:first-child,.ant-radio-button-wrapper-disabled:hover{color:rgba(0,0,0,.25);background-color:#f5f5f5;border-color:#d9d9d9}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within{box-shadow:0 0 0 3px rgba(24,144,255,.08)}.ant-radio-button-wrapper-disabled:first-child{border-left-color:#d9d9d9}.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked{color:rgba(0,0,0,.25);background-color:#e6e6e6;border-color:#d9d9d9;box-shadow:none}@keyframes antRadioEffect{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}.ant-radio-wrapper.ant-radio-wrapper-rtl{margin-right:0;margin-left:6px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl{border-right-width:0;border-left-width:1px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:not(:first-child)::before{right:-1px;left:0}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:first-child{border-right:1px solid #d9d9d9;border-radius:0 2px 2px 0}.ant-radio-button-wrapper-checked:not([class*=' ant-radio-button-wrapper-disabled']).ant-radio-button-wrapper:first-child{border-right-color:#40a9ff}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:last-child{border-radius:2px 0 0 2px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper-disabled:first-child{border-right-color:#d9d9d9}.ant-rate,.ant-rate-star,.ant-rate-text{display:inline-block}.ant-rate{box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;margin:0;padding:0;color:#fadb14;font-size:16px;line-height:unset;list-style:none;outline:0}.ant-rate-disabled .ant-rate-star{cursor:default}.ant-rate-disabled .ant-rate-star:hover{transform:scale(1)}.ant-rate-star{position:relative;color:inherit;cursor:pointer}.ant-rate-star:not(:last-child){margin-right:8px}.ant-rate-star>div{transition:all .3s}.ant-rate-star>div:focus-visible,.ant-rate-star>div:hover{transform:scale(1.1)}.ant-rate-star>div:focus:not(:focus-visible){outline:0}.ant-rate-star-first,.ant-rate-star-second{color:#f0f0f0;transition:all .3s;user-select:none}.ant-rate-star-first .anticon,.ant-rate-star-second .anticon{vertical-align:middle}.ant-rate-star-first{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;opacity:0}.ant-rate-star-half .ant-rate-star-first,.ant-rate-star-half .ant-rate-star-second{opacity:1}.ant-rate-star-full .ant-rate-star-second,.ant-rate-star-half .ant-rate-star-first{color:inherit}.ant-rate-text{margin:0 8px;font-size:12px}.ant-rate-rtl .ant-rate-star:not(:last-child){margin-right:0;margin-left:8px}.ant-rate-rtl .ant-rate-star-first{right:0;left:auto}.ant-select-single .ant-select-selector{display:flex}.ant-select-single .ant-select-selector .ant-select-selection-search{position:absolute;top:0;right:7px;bottom:0;left:7px}.ant-select-single .ant-select-selector .ant-select-selection-search-input{width:100%}.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-single .ant-select-selector .ant-select-selection-placeholder{padding:0;line-height:26px;transition:all .3s}@supports (-moz-appearance:meterbar){.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-single .ant-select-selector .ant-select-selection-placeholder{line-height:26px}}.ant-select-single .ant-select-selector .ant-select-selection-item{position:relative;user-select:none}.ant-select-single .ant-select-selector .ant-select-selection-placeholder{pointer-events:none}.ant-select-single .ant-select-selector .ant-select-selection-item::after,.ant-select-single .ant-select-selector .ant-select-selection-placeholder::after,.ant-select-single .ant-select-selector::after{display:inline-block;width:0;visibility:hidden;content:'\a0'}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder::after,.ant-select-single.ant-select-customize-input .ant-select-selector::after{display:none}.ant-select-single.ant-select-show-arrow .ant-select-selection-search{right:19px}.ant-select-single.ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-right:15px}.ant-select-single.ant-select-open .ant-select-selection-item{color:#bfbfbf}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{width:100%;height:28px;padding:0 7px}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{height:26px}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector::after{line-height:26px}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search{position:static;width:100%}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder{position:absolute;right:0;left:0;padding:0 7px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{height:32px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder,.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector::after{line-height:30px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input{height:30px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector{height:22px;padding:0 7px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder,.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector::after{line-height:20px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input{height:20px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search{right:7px;left:7px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{right:25px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-right:18px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{padding:0 11px}.ant-select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%}.ant-select-selection-overflow-item{flex:none;align-self:center;max-width:100%}.ant-select-multiple .ant-select-selector{display:flex;flex-wrap:wrap;align-items:center;padding:0 3px}.ant-select-show-search.ant-select-multiple .ant-select-selector{cursor:text}.ant-select-disabled.ant-select-multiple .ant-select-selector{background:#f5f5f5;cursor:not-allowed}.ant-select-multiple .ant-select-selector::after{display:inline-block;width:0;margin:3px 0;line-height:20px;content:'\a0'}.ant-select-multiple.ant-select-allow-clear .ant-select-selector,.ant-select-multiple.ant-select-show-arrow .ant-select-selector{padding-right:20px}.ant-select-multiple .ant-select-selection-item{position:relative;display:flex;flex:none;box-sizing:border-box;max-width:100%;height:20px;margin-top:3px;margin-bottom:3px;line-height:18px;background:#f5f5f5;border:1px solid #f0f0f0;border-radius:2px;cursor:default;transition:font-size .3s,line-height .3s,height .3s;user-select:none;margin-inline-end:3px;padding-inline-start:4px;padding-inline-end:2px}.ant-select-disabled.ant-select-multiple .ant-select-selection-item{color:#bfbfbf;border-color:#d9d9d9;cursor:not-allowed}.ant-select-multiple .ant-select-selection-item-content{display:inline-block;margin-right:2px;overflow:hidden;white-space:pre;text-overflow:ellipsis}.ant-select-multiple .ant-select-selection-item-remove{color:inherit;font-style:normal;text-align:center;text-transform:none;vertical-align:-.125em;display:inline-block;color:rgba(0,0,0,.45);font-weight:700;font-size:10px;line-height:inherit;cursor:pointer}.ant-select-multiple .ant-select-selection-item-remove>*{line-height:1}.ant-select-multiple .ant-select-selection-item-remove svg{display:inline-block}.ant-select-disabled .ant-select-selection-item-remove,.ant-select-multiple .ant-select-selection-item-remove::before{display:none}.ant-select-multiple .ant-select-selection-item-remove .ant-select-multiple .ant-select-selection-item-remove-icon{display:block}.ant-select-multiple .ant-select-selection-item-remove>.anticon{vertical-align:-.2em}.ant-select-multiple .ant-select-selection-item-remove:hover{color:rgba(0,0,0,.75)}.ant-select-multiple .ant-select-selection-overflow-item+.ant-select-selection-overflow-item .ant-select-selection-search{margin-inline-start:0}.ant-select-multiple .ant-select-selection-search{position:relative;max-width:100%;margin-top:3px;margin-bottom:3px;margin-inline-start:4px}.ant-select-multiple .ant-select-selection-search-input,.ant-select-multiple .ant-select-selection-search-mirror{height:20px;line-height:20px;transition:all .3s}.ant-select-multiple .ant-select-selection-search-input{width:100%;min-width:4.1px}.ant-select-multiple .ant-select-selection-search-mirror{position:absolute;top:0;left:0;z-index:999;white-space:pre;visibility:hidden}.ant-select-multiple .ant-select-selection-placeholder{position:absolute;top:50%;right:7px;left:7px;transform:translateY(-50%);transition:all .3s}.ant-select-multiple.ant-select-lg .ant-select-selector::after{line-height:26px}.ant-select-multiple.ant-select-lg .ant-select-selection-search{height:26px;line-height:26px}.ant-select-multiple.ant-select-lg .ant-select-selection-search-input,.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror{height:26px;line-height:24px}.ant-select-multiple.ant-select-sm .ant-select-selector::after{line-height:16px}.ant-select-multiple.ant-select-sm .ant-select-selection-item{height:16px;line-height:14px}.ant-select-multiple.ant-select-sm .ant-select-selection-search{height:16px;line-height:16px;margin-inline-start:3px}.ant-select-multiple.ant-select-sm .ant-select-selection-search-input,.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror{height:16px;line-height:14px}.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{left:7px}.ant-select-multiple.ant-select-lg .ant-select-selection-item{height:24px;line-height:24px}.ant-select{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;position:relative;display:inline-block;cursor:pointer}.ant-select:not(.ant-select-customize-input) .ant-select-selector{position:relative;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:pointer}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector{cursor:text}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:auto}.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-color:#40a9ff;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-right-width:0;border-left-width:1px!important}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0,0,0,.25);background:#f5f5f5;cursor:not-allowed}.ant-select-multiple.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#f5f5f5}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:not-allowed}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{margin:0;padding:0;background:0 0;border:none;outline:0;appearance:none}.ant-select-arrow,.ant-select-clear{position:absolute;right:7px;width:12px;height:12px;margin-top:-6px;font-size:12px;line-height:1;text-transform:none;text-align:center;font-style:normal}.ant-cascader-picker-label:hover+.ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover+.ant-cascader-input),.ant-cascader-picker:focus .ant-cascader-input{border-right-width:1px!important;border-color:#40a9ff}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button{display:none;-webkit-appearance:none}.ant-select-arrow,.ant-select-arrow svg{display:inline-block}.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:#40a9ff;border-right-width:1px!important}.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-right-width:0;border-left-width:1px!important}.ant-select-selection-item{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media all and (-ms-high-contrast:none){.ant-select-selection-item,.ant-select-selection-item ::-ms-backdrop{flex:auto}}.ant-select-selection-placeholder{flex:1;overflow:hidden;color:#bfbfbf;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}@media all and (-ms-high-contrast:none){.ant-select-selection-placeholder,.ant-select-selection-placeholder ::-ms-backdrop{flex:auto}}.ant-select-arrow{color:inherit;vertical-align:-.125em;top:53%;color:rgba(0,0,0,.25);pointer-events:none}.ant-select-arrow>*{line-height:1}.ant-select-arrow::before{display:none}.ant-select-arrow .ant-select-arrow-icon{display:block}.ant-select-arrow .anticon{vertical-align:top;transition:transform .3s}.ant-select-arrow .anticon>svg{vertical-align:top}.ant-select-arrow .anticon:not(.ant-select-suffix){pointer-events:auto}.ant-select-disabled .ant-select-arrow{cursor:not-allowed}.ant-select-clear{top:50%;z-index:1;display:inline-block;color:rgba(0,0,0,.25);background:#fff;cursor:pointer;opacity:0;transition:color .3s ease,opacity .15s ease;text-rendering:auto}.ant-select-clear::before{display:block}.ant-select-clear:hover{color:rgba(0,0,0,.45)}.ant-select:hover .ant-select-clear{opacity:1}.ant-select-dropdown{margin:0;color:rgba(0,0,0,.85);line-height:1.66667;list-style:none;font-feature-settings:tnum;z-index:1050;box-sizing:border-box;padding:4px 0;overflow:hidden;font-size:12px;font-variant:initial;background-color:#fff;border-radius:2px;outline:0}.ant-select-dropdown-empty,.ant-select-item-empty{color:rgba(0,0,0,.25)}.ant-select-item,.ant-select-item-empty{display:block;padding:5px 8px;line-height:18px;font-size:12px;position:relative;min-height:28px;font-weight:400}.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft,.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownIn}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpOut}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownOut}.ant-select-item{color:rgba(0,0,0,.85);cursor:pointer;transition:background .3s ease}.ant-select-item-group{color:rgba(0,0,0,.45);font-size:12px;cursor:default}.ant-select-lg,.ant-spin-sm .ant-spin-dot{font-size:14px}.ant-select-item-option{display:flex}.ant-select-item-option-content{flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-select-item-option-state{flex:none}.ant-select-item-option-active:not(.ant-select-item-option-disabled){background-color:#f5f5f5}.ant-select-item-option-selected:not(.ant-select-item-option-disabled){color:rgba(0,0,0,.85);font-weight:600;background-color:#e6f7ff}.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state{color:#1890ff}.ant-select-item-option-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-select-item-option-grouped{padding-left:16px}.ant-select-borderless .ant-select-selector{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.ant-select-rtl .ant-select-arrow,.ant-select-rtl .ant-select-clear{right:initial;left:7px}.ant-select-dropdown-rtl .ant-select-item-option-grouped{padding-right:16px;padding-left:8px}.ant-select-rtl.ant-select-multiple.ant-select-allow-clear .ant-select-selector,.ant-select-rtl.ant-select-multiple.ant-select-show-arrow .ant-select-selector{padding-right:3px;padding-left:20px}.ant-select-rtl.ant-select-multiple .ant-select-selection-item{text-align:right}.ant-select-rtl.ant-select-multiple .ant-select-selection-item-content{margin-right:0;margin-left:2px;text-align:right}.ant-select-rtl.ant-select-multiple .ant-select-selection-search-mirror{right:0;left:auto}.ant-select-rtl.ant-select-multiple .ant-select-selection-placeholder{right:7px;left:auto}.ant-select-rtl.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{right:7px}.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-placeholder{right:0;left:9px;text-align:right}.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-search{right:7px;left:19px}.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-item,.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-right:0;padding-left:15px}.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{right:6px}.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-right:0;padding-left:18px}.ant-select-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px;display:block}.ant-select-dropdown .cdk-virtual-scroll-content-wrapper{right:0}.ant-select-dropdown .full-width{contain:initial}.ant-select-dropdown .full-width .cdk-virtual-scroll-content-wrapper{position:static}.ant-skeleton{display:table;width:100%}.ant-skeleton-header{display:table-cell;padding-right:8px;vertical-align:top}.ant-skeleton-header .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:28px;height:28px;line-height:28px}.ant-skeleton-header .ant-skeleton-avatar-lg{width:32px;height:32px;line-height:32px}.ant-skeleton-header .ant-skeleton-avatar-sm{width:22px;height:22px;line-height:22px}.ant-skeleton-content{display:table-cell;width:100%;vertical-align:top}.ant-skeleton-content .ant-skeleton-title{width:100%;height:14px;margin-top:8px;background:rgba(190,190,190,.2);border-radius:4px}.ant-skeleton-content .ant-skeleton-title+.ant-skeleton-paragraph{margin-top:20px}.ant-skeleton-content .ant-skeleton-paragraph{padding:0}.ant-skeleton-content .ant-skeleton-paragraph>li{width:100%;height:14px;list-style:none;background:rgba(190,190,190,.2);border-radius:4px}.ant-skeleton-content .ant-skeleton-paragraph>li:last-child:not(:first-child):not(:nth-child(2)){width:61%}.ant-skeleton-content .ant-skeleton-paragraph>li+li{margin-top:12px}.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title{margin-top:8px}.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title+.ant-skeleton-paragraph{margin-top:20px}.ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton-round .ant-skeleton-content .ant-skeleton-title{border-radius:100px}.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton.ant-skeleton-active .ant-skeleton-button,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title,.ant-skeleton.ant-skeleton-active .ant-skeleton-image,.ant-skeleton.ant-skeleton-active .ant-skeleton-input{background:linear-gradient(90deg,rgba(190,190,190,.2) 25%,rgba(129,129,129,.24) 37%,rgba(190,190,190,.2) 63%);background-size:400% 100%;animation:ant-skeleton-loading 1.4s ease infinite}.ant-skeleton-element{display:inline-block;width:auto}.ant-skeleton-element .ant-skeleton-button{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);border-radius:2px;width:56px;height:28px;line-height:28px}.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle{width:28px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round{border-radius:28px}.ant-skeleton-element .ant-skeleton-button-lg{width:64px;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle{width:32px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round{border-radius:32px}.ant-skeleton-element .ant-skeleton-button-sm{width:44px;height:22px;line-height:22px}.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle{width:22px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round{border-radius:22px}.ant-skeleton-element .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-image-svg.ant-skeleton-image-circle,.ant-skeleton-element .ant-skeleton-image.ant-skeleton-image-circle{border-radius:50%}.ant-skeleton-element .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:28px;height:28px;line-height:28px}.ant-skeleton-element .ant-skeleton-avatar-lg{width:32px;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-avatar-sm{width:22px;height:22px;line-height:22px}.ant-skeleton-element .ant-skeleton-input{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:100%;height:28px;line-height:28px}.ant-skeleton-element .ant-skeleton-input-lg{width:100%;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-input-sm{width:100%;height:22px;line-height:22px}.ant-skeleton-element .ant-skeleton-image{display:flex;align-items:center;justify-content:center;vertical-align:top;background:rgba(190,190,190,.2);width:96px;height:96px;line-height:96px}.ant-skeleton-element .ant-skeleton-image-path{fill:#bfbfbf}.ant-skeleton-element .ant-skeleton-image-svg{width:48px;height:48px;line-height:48px;max-width:192px;max-height:192px}.ant-slider,.ant-spin{font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;box-sizing:border-box}.ant-slider-rail,.ant-slider-track{border-radius:2px;transition:background-color .3s}@keyframes ant-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.ant-skeleton-rtl .ant-skeleton-header{padding-right:0;padding-left:16px}.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title{animation-name:ant-skeleton-loading-rtl}@keyframes ant-skeleton-loading-rtl{0%{background-position:0 50%}100%{background-position:100% 50%}}.ant-slider{color:rgba(0,0,0,.85);position:relative;height:12px;margin:10px 6px;padding:4px 0;cursor:pointer;touch-action:none}.ant-slider-vertical{width:12px;height:100%;margin:6px 10px;padding:0 4px}.ant-slider-vertical .ant-slider-rail{width:4px;height:100%}.ant-slider-vertical .ant-slider-track{width:4px}.ant-slider-vertical .ant-slider-handle{margin-top:-6px;margin-left:-5px}.ant-slider-vertical .ant-slider-mark{top:0;left:12px;width:18px;height:100%}.ant-slider-vertical .ant-slider-mark-text{left:4px;white-space:nowrap}.ant-slider-vertical .ant-slider-step{width:4px;height:100%}.ant-slider-vertical .ant-slider-dot{top:auto;left:2px;margin-bottom:-4px}.ant-slider-tooltip .ant-tooltip-inner{min-width:unset}.ant-slider-rtl.ant-slider-vertical .ant-slider-handle{margin-right:-5px;margin-left:0}.ant-slider-dot,.ant-slider-dot:first-child,.ant-slider-dot:last-child{margin-left:-4px}.ant-slider-rtl.ant-slider-vertical .ant-slider-mark{right:12px;left:auto}.ant-slider-rtl.ant-slider-vertical .ant-slider-mark-text{right:4px;left:auto}.ant-slider-rtl.ant-slider-vertical .ant-slider-dot{right:2px;left:auto}.ant-slider-with-marks{margin-bottom:28px}.ant-slider-rail{position:absolute;width:100%;height:4px;background-color:#f5f5f5}.ant-slider-track{position:absolute;height:4px;background-color:#91d5ff}.ant-slider-handle{position:absolute;width:12px;height:12px;margin-top:-4px;background-color:#fff;border:2px solid #91d5ff;border-radius:50%;box-shadow:0;cursor:pointer;transition:border-color .3s,box-shadow .6s,transform .3s cubic-bezier(.18,.89,.32,1.28)}.ant-slider-handle-dragging.ant-slider-handle-dragging.ant-slider-handle-dragging,.ant-slider-handle:focus{border-color:#46a6ff;box-shadow:0 0 0 5px rgba(24,144,255,.12)}.ant-slider-handle:focus{outline:0}.ant-slider-handle.ant-tooltip-open{border-color:#1890ff}.ant-slider:hover .ant-slider-rail{background-color:#e1e1e1}.ant-slider:hover .ant-slider-track{background-color:#69c0ff}.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open){border-color:#69c0ff}.ant-slider-mark{position:absolute;top:14px;left:0;width:100%;font-size:12px}.ant-slider-mark-text{position:absolute;display:inline-block;color:rgba(0,0,0,.45);text-align:center;word-break:keep-all;cursor:pointer;user-select:none}.ant-slider-mark-text-active{color:rgba(0,0,0,.85)}.ant-slider-step{position:absolute;width:100%;height:4px;background:0 0}.ant-slider-dot{position:absolute;top:-2px;width:8px;height:8px;background-color:#fff;border:2px solid #f0f0f0;border-radius:50%;cursor:pointer}.ant-slider-dot-active{border-color:#8cc8ff}.ant-slider-disabled{cursor:not-allowed}.ant-slider-disabled .ant-slider-track{background-color:rgba(0,0,0,.25)!important}.ant-slider-disabled .ant-slider-dot,.ant-slider-disabled .ant-slider-handle{background-color:#fff;border-color:rgba(0,0,0,.25)!important;box-shadow:none;cursor:not-allowed}.ant-slider-disabled .ant-slider-dot,.ant-slider-disabled .ant-slider-mark-text{cursor:not-allowed!important}.ant-slider-rtl .ant-slider-mark{right:0;left:auto}.ant-slider-rtl .ant-slider-dot,.ant-slider-rtl .ant-slider-dot:first-child,.ant-slider-rtl .ant-slider-dot:last-child{margin-right:-4px;margin-left:0}.ant-spin{margin:0;padding:0;position:absolute;display:none;color:#1890ff;text-align:center;vertical-align:middle;opacity:0;transition:transform .3s cubic-bezier(.78,.14,.15,.86)}.ant-spin-spinning{position:static;display:inline-block;opacity:1}.ant-spin-nested-loading{position:relative}.ant-spin-nested-loading>div>.ant-spin{position:absolute;top:0;left:0;z-index:4;display:block;width:100%;height:100%;max-height:400px}.ant-spin-nested-loading>div>.ant-spin .ant-spin-dot{position:absolute;top:50%;left:50%;margin:-10px}.ant-spin-nested-loading>div>.ant-spin .ant-spin-text{position:absolute;top:50%;width:100%;padding-top:6px;text-shadow:0 1px 2px #fff}.ant-spin-nested-loading>div>.ant-spin.ant-spin-show-text .ant-spin-dot{margin-top:-20px}.ant-spin-nested-loading>div>.ant-spin-sm .ant-spin-dot{margin:-7px}.ant-spin-nested-loading>div>.ant-spin-sm .ant-spin-text{padding-top:3px}.ant-spin-nested-loading>div>.ant-spin-sm.ant-spin-show-text .ant-spin-dot{margin-top:-17px}.ant-spin-nested-loading>div>.ant-spin-lg .ant-spin-dot{margin:-16px}.ant-spin-nested-loading>div>.ant-spin-lg .ant-spin-text{padding-top:12px}.ant-spin-nested-loading>div>.ant-spin-lg.ant-spin-show-text .ant-spin-dot{margin-top:-26px}.ant-statistic,.ant-steps{margin:0;line-height:1.66667;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-spin-container{position:relative;transition:opacity .3s}.ant-spin-container::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:none\9;width:100%;height:100%;background:#fff;opacity:0;transition:all .3s;content:'';pointer-events:none}.ant-spin-blur{clear:both;overflow:hidden;opacity:.5;user-select:none;pointer-events:none}.ant-spin-blur::after{opacity:.4;pointer-events:auto}.ant-spin-tip{color:rgba(0,0,0,.45)}.ant-spin-dot{position:relative;display:inline-block;width:1em;height:1em}.ant-spin-dot-item{position:absolute;display:block;width:9px;height:9px;background-color:#1890ff;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.ant-spin-dot-item:nth-child(1){top:0;left:0}.ant-spin-dot-item:nth-child(2){top:0;right:0;animation-delay:.4s}.ant-spin-dot-item:nth-child(3){right:0;bottom:0;animation-delay:.8s}.ant-spin-dot-item:nth-child(4){bottom:0;left:0;animation-delay:1.2s}.ant-spin-dot-spin{transform:rotate(45deg);animation:antRotate 1.2s infinite linear}.ant-spin-sm .ant-spin-dot i{width:6px;height:6px}.ant-spin-lg .ant-spin-dot{font-size:32px}.ant-spin-lg .ant-spin-dot i{width:14px;height:14px}.ant-spin.ant-spin-show-text .ant-spin-text{display:block}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.ant-spin-blur{background:#fff;opacity:.5}}@keyframes antSpinMove{to{opacity:1}}@keyframes antRotate{to{transform:rotate(405deg)}}.ant-spin-rtl .ant-spin-dot-spin{transform:rotate(-45deg);animation-name:antRotateRtl}@keyframes antRotateRtl{to{transform:rotate(-405deg)}}nz-spin{display:block}.ant-statistic{box-sizing:border-box;padding:0;color:rgba(0,0,0,.85);font-size:12px}.ant-statistic-title{margin-bottom:0;color:rgba(0,0,0,.45);font-size:12px}.ant-statistic-content{color:rgba(0,0,0,.85);font-size:20px}.ant-statistic-content-value{display:inline-block;direction:ltr}.ant-cascader-menu-rtl .ant-cascader-menu,.ant-cascader-picker-rtl,.ant-statistic-rtl,.ant-steps-rtl,.ant-switch-rtl,.ant-table-rtl,.ant-table-wrapper-rtl,.ant-tabs-dropdown-rtl,.ant-tabs-rtl,.ant-tag.ant-tag-rtl,.ant-timeline-rtl,.ant-tooltip-rtl,.ant-transfer-rtl,.ant-typography-rtl,.ant-upload-list-rtl,.ant-upload-rtl{direction:rtl}.ant-statistic-content-prefix,.ant-statistic-content-suffix{display:inline-block}.ant-statistic-content-prefix{margin-right:4px}.ant-statistic-content-suffix{margin-left:4px}.ant-statistic-rtl .ant-statistic-content-prefix{margin-right:0;margin-left:4px}.ant-statistic-rtl .ant-statistic-content-suffix{margin-right:4px;margin-left:0}.ant-steps{box-sizing:border-box;padding:0;color:rgba(0,0,0,.85);display:flex;width:100%;font-size:0;text-align:initial}.ant-steps-item{position:relative;display:inline-block;flex:1;overflow:hidden;vertical-align:top}.ant-steps-item-container{outline:0}.ant-steps-item:last-child{flex:none}.ant-steps-item:last-child>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item:last-child>.ant-steps-item-container>.ant-steps-item-tail{display:none}.ant-steps-item-content,.ant-steps-item-icon{display:inline-block;vertical-align:top}.ant-steps-item-icon{width:24px;height:24px;margin:2px 8px 2px 0;font-size:12px;line-height:24px;text-align:center;border:1px solid rgba(0,0,0,.25);border-radius:24px;transition:background-color .3s,border-color .3s}.ant-steps-item-icon .ant-steps-icon{position:relative;top:0;color:#1890ff;line-height:1}.ant-steps-item-tail{position:absolute;top:12px;left:0;width:100%;padding:0 10px}.ant-steps-item-tail::after{display:inline-block;width:100%;height:1px;background:#f0f0f0;border-radius:1px;transition:background .3s;content:''}.ant-steps-item-title{position:relative;display:inline-block;padding-right:16px;color:rgba(0,0,0,.85);font-size:14px;line-height:28px}.ant-steps-item-description,.ant-steps-item-subtitle{color:rgba(0,0,0,.45);font-size:12px}.ant-steps-item-title::after{position:absolute;top:14px;left:100%;display:block;width:9999px;height:1px;background:#f0f0f0;content:''}.ant-steps-item-subtitle{display:inline;margin-left:8px;font-weight:400}.ant-steps-item-wait .ant-steps-item-icon{background-color:#fff;border-color:rgba(0,0,0,.25)}.ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon{color:rgba(0,0,0,.25)}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:rgba(0,0,0,.45)}.ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:rgba(0,0,0,.25)}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#f0f0f0}.ant-steps-item-process .ant-steps-item-icon{background-color:#fff;border-color:#1890ff}.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon{color:#1890ff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:rgba(0,0,0,.85)}.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#1890ff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#f0f0f0}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-icon{background:#1890ff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-icon .ant-steps-icon{color:#fff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-title{font-weight:500}.ant-steps-item-finish .ant-steps-item-icon{background-color:#fff;border-color:#1890ff}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#1890ff}.ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon{color:#1890ff}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title,.ant-switch{color:rgba(0,0,0,.85)}.ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#1890ff}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:rgba(0,0,0,.45)}.ant-steps-item-error .ant-steps-item-icon>.ant-steps-icon,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:#ff4d4f}.ant-steps-item-error .ant-steps-item-icon{background-color:#fff;border-color:#ff4d4f}.ant-steps-item-error .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#ff4d4f}.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-tail::after,.g2-radar__legend-item::after,.number-info:not(:first-child)::after{background-color:#f0f0f0}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role=button]:hover .ant-steps-item-icon .ant-steps-icon,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-description,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-title,.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon{color:#1890ff}.ant-steps-item.ant-steps-next-error .ant-steps-item-title::after{background:#ff4d4f}.ant-steps-item-disabled{cursor:not-allowed}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]{cursor:pointer}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-description,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-icon .ant-steps-icon,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-title{transition:color .3s}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role=button]:hover .ant-steps-item-icon{border-color:#1890ff}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-left:16px;white-space:nowrap}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-left:0}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title{padding-right:0}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-tail{display:none}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-description{max-width:140px;white-space:normal}.ant-steps-item-custom>.ant-steps-item-container>.ant-steps-item-icon{height:auto;background:0 0;border:0}.ant-steps-item-custom>.ant-steps-item-container>.ant-steps-item-icon>.ant-steps-icon{top:2px;left:.5px;width:20px;height:20px;font-size:20px;line-height:20px}.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon{width:auto;background:0 0}.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-left:12px}.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-left:0}.ant-steps-small .ant-steps-item-icon{width:20px;height:20px;margin:0 8px 0 0;font-size:12px;line-height:20px;text-align:center;border-radius:20px}.ant-steps-small .ant-steps-item-title{padding-right:12px;font-size:12px;line-height:20px}.ant-steps-small .ant-steps-item-title::after{top:10px}.ant-steps-small .ant-steps-item-description{color:rgba(0,0,0,.45);font-size:12px}.ant-steps-small .ant-steps-item-tail{top:8px}.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon{width:inherit;height:inherit;line-height:inherit;background:0 0;border:0;border-radius:0}.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon>.ant-steps-icon{font-size:20px;line-height:20px;transform:none}.ant-steps-vertical{display:flex;flex-direction:column}.ant-steps-vertical>.ant-steps-item{display:block;flex:1 0 auto;padding-left:0;overflow:visible}.ant-steps-vertical>.ant-steps-item .ant-steps-item-icon{float:left;margin-right:12px}.ant-steps-vertical>.ant-steps-item .ant-steps-item-content{display:block;min-height:48px;overflow:hidden}.ant-steps-vertical>.ant-steps-item .ant-steps-item-title{line-height:24px}.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-title,.ant-switch{line-height:20px}.ant-steps-vertical>.ant-steps-item .ant-steps-item-description{padding-bottom:12px}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{position:absolute;top:0;left:12px;width:1px;height:100%;padding:30px 0 6px}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail::after{width:1px;height:100%}.ant-steps-vertical>.ant-steps-item:not(:last-child)>.ant-steps-item-container>.ant-steps-item-tail{display:block}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after{display:none}.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail{position:absolute;top:0;left:10px;padding:26px 0 6px}.ant-steps-label-vertical .ant-steps-item{overflow:visible}.ant-steps-label-vertical .ant-steps-item-tail{margin-left:58px;padding:3.5px 24px}.ant-steps-label-vertical .ant-steps-item-content{display:block;width:108px;margin-top:8px;text-align:center}.ant-steps-label-vertical .ant-steps-item-icon{display:inline-block;margin-left:42px}.ant-steps-label-vertical .ant-steps-item-title{padding-right:0;padding-left:0}.ant-steps-label-vertical .ant-steps-item-title::after{display:none}.ant-steps-label-vertical .ant-steps-item-subtitle{display:block;margin-bottom:4px;margin-left:0;line-height:1.66667}.ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon{margin-left:46px}.ant-steps-dot .ant-steps-item-title,.ant-steps-dot.ant-steps-small .ant-steps-item-title{line-height:1.66667}.ant-steps-dot .ant-steps-item-tail,.ant-steps-dot.ant-steps-small .ant-steps-item-tail{top:4px;width:100%;margin:0 0 0 70px;padding:0}.ant-steps-dot .ant-steps-item-tail::after,.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after{width:calc(100% - 20px);height:3px;margin-left:12px}.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot{left:2px}.ant-steps-dot .ant-steps-item-icon,.ant-steps-dot.ant-steps-small .ant-steps-item-icon{width:8px;height:8px;margin-left:67px;padding-right:0;line-height:8px;background:0 0;border:0}.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{position:relative;float:left;width:100%;height:100%;border-radius:100px;transition:all .3s}.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after,.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after{position:absolute;top:-12px;left:-26px;width:60px;height:32px;background:rgba(0,0,0,.001);content:''}.ant-steps-dot .ant-steps-item-content,.ant-steps-dot.ant-steps-small .ant-steps-item-content{width:140px}.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon,.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon{position:relative;top:-1px;width:10px;height:10px;line-height:10px;background:0 0}.ant-steps-dot .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot{left:0}.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon{margin-top:8px;margin-left:0;background:0 0}.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{top:2px;left:-9px;margin:0;padding:22px 0 4px}.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot{left:0}.ant-steps-vertical.ant-steps-dot .ant-steps-item-content{width:inherit}.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot{left:-2px}.ant-steps-navigation{padding-top:12px}.ant-steps-navigation.ant-steps-small .ant-steps-item-container{margin-left:-12px}.ant-steps-navigation .ant-steps-item{overflow:visible;text-align:center}.ant-steps-navigation .ant-steps-item-container{display:inline-block;height:100%;margin-left:-16px;padding-bottom:12px;text-align:left;transition:opacity .3s}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title::after,.ant-steps-navigation .ant-steps-item:last-child::after{display:none}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-content{max-width:auto}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title{max-width:100%;padding-right:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role=button]{cursor:pointer}.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role=button]:hover{opacity:.85}.ant-steps-navigation .ant-steps-item:last-child{flex:1}.ant-steps-navigation .ant-steps-item::after{position:absolute;top:50%;left:100%;display:inline-block;width:12px;height:12px;margin-top:-14px;margin-left:-2px;border:1px solid rgba(0,0,0,.25);border-bottom:none;border-left:none;transform:rotate(45deg);content:''}.ant-steps-navigation .ant-steps-item::before{position:absolute;bottom:0;left:50%;display:inline-block;width:0;height:2px;background-color:#1890ff;transition:width .3s,left .3s;transition-timing-function:ease-out;content:''}.ant-steps-navigation .ant-steps-item.ant-steps-item-active::before{left:0;width:100%}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item{margin-right:0!important}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item::before{display:none}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item.ant-steps-item-active::before{top:0;right:0;left:unset;display:block;width:3px;height:calc(100% - 24px)}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item::after{position:relative;top:-2px;left:50%;display:block;width:8px;height:8px;margin-bottom:8px;text-align:center;transform:rotate(135deg)}.ant-switch,nz-switch{display:inline-block}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{visibility:hidden}.ant-steps.ant-steps-rtl .ant-steps-item-icon{margin-right:0;margin-left:8px}.ant-steps-rtl .ant-steps-item-tail{right:0;left:auto}.ant-steps-rtl .ant-steps-item-title{padding-right:0;padding-left:16px}.ant-steps-rtl .ant-steps-item-title::after{right:100%;left:auto}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-right:16px;padding-left:0}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-right:0}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title{padding-left:0}.ant-steps-rtl .ant-steps-item-custom .ant-steps-item-icon>.ant-steps-icon{right:.5px;left:auto}.ant-steps-rtl.ant-steps-navigation.ant-steps-small .ant-steps-item-container{margin-right:-12px;margin-left:0}.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container{margin-right:-16px;margin-left:0;text-align:right}.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title{padding-left:0}.ant-steps-rtl.ant-steps-navigation .ant-steps-item::after{right:100%;left:auto;margin-right:-2px;margin-left:0;transform:rotate(225deg)}.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-right:12px;padding-left:0}.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-right:0}.ant-steps-rtl.ant-steps-small .ant-steps-item-title{padding-right:0;padding-left:12px}.ant-steps-rtl.ant-steps-vertical>.ant-steps-item .ant-steps-item-icon{float:right;margin-right:0;margin-left:12px}.ant-steps-rtl.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:12px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail{right:10px;left:auto}.ant-steps-rtl.ant-steps-label-vertical .ant-steps-item-title{padding-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail{margin:0 70px 0 0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail::after,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after{margin-right:12px;margin-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot{right:2px;left:auto}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon{margin-right:67px;margin-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{float:right}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after{right:-26px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon{margin-right:0;margin-left:16px}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:-9px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot{right:0;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-icon-dot{right:-2px;left:auto}.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child.ant-steps-item-active{padding-right:4px}.ant-steps-with-progress .ant-steps-item{padding-top:4px}.ant-steps-with-progress .ant-steps-item .ant-steps-item-tail{top:4px!important}.ant-steps-with-progress.ant-steps-horizontal .ant-steps-item:first-child{padding-bottom:4px;padding-left:4px}.ant-steps-with-progress .ant-steps-item-icon{position:relative}.ant-steps-with-progress .ant-steps-item-icon .ant-progress{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.ant-switch{margin:0;padding:0;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:relative;box-sizing:border-box;min-width:40px;height:20px;vertical-align:middle;background-color:rgba(0,0,0,.25);border:0;border-radius:100px;cursor:pointer;transition:all .2s;user-select:none}.ant-switch:focus{outline:0;box-shadow:0 0 0 2px rgba(0,0,0,.1)}.ant-switch-checked:focus{box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-switch:focus:hover{box-shadow:none}.ant-switch-checked{background-color:#1890ff}.ant-switch-disabled,.ant-switch-loading{cursor:not-allowed;opacity:.4}.ant-switch-disabled *,.ant-switch-loading *{box-shadow:none;cursor:not-allowed}.ant-switch-inner{display:block;margin:0 4px 0 22px;color:#fff;font-size:12px;transition:margin .2s}.ant-switch-handle,.ant-switch-handle::before,.img-thm__icon,.img-thm__mask{transition:all .2s ease-in-out}.ant-switch-checked .ant-switch-inner{margin:0 22px 0 4px}.ant-switch-handle{position:absolute;top:2px;left:2px;width:16px;height:16px}.ant-switch-handle::before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px 0 rgba(0,35,11,.2);content:''}.ant-switch-checked .ant-switch-handle{left:calc(100% - 16px - 2px)}.ant-switch:not(.ant-switch-disabled):active .ant-switch-handle::before{right:-30%;left:0}.ant-switch:not(.ant-switch-disabled):active.ant-switch-checked .ant-switch-handle::before{right:0;left:-30%}.ant-switch-loading-icon{position:relative;top:2px;color:rgba(0,0,0,.65);vertical-align:top}.ant-switch-checked .ant-switch-loading-icon{color:#1890ff}.ant-switch-small{min-width:24px;height:14px;line-height:14px}.ant-table,.ant-table-filter-dropdown,.ant-tabs-dropdown{line-height:1.66667;font-feature-settings:tnum;list-style:none;font-variant:tabular-nums;box-sizing:border-box}.ant-switch-small .ant-switch-inner{margin:0 5px 0 16px;font-size:12px}.ant-switch-small .ant-switch-handle{width:10px;height:10px}.ant-switch-small .ant-switch-loading-icon{top:.5px;font-size:9px}.ant-switch-small.ant-switch-checked .ant-switch-inner{margin:0 16px 0 5px}.ant-switch-small.ant-switch-checked .ant-switch-handle{left:calc(100% - 10px - 2px)}.ant-switch-rtl .ant-switch-inner{margin:0 22px 0 4px}.ant-switch-rtl .ant-switch-handle{right:2px;left:auto}.ant-switch-rtl:not(.ant-switch-rtl-disabled):active .ant-switch-handle::before{right:0;left:-30%}.ant-switch-rtl:not(.ant-switch-rtl-disabled):active.ant-switch-checked .ant-switch-handle::before{right:-30%;left:0}.ant-switch-rtl.ant-switch-checked .ant-switch-inner{margin:0 4px 0 22px}.ant-switch-rtl.ant-switch-checked .ant-switch-handle{right:calc(100% - 16px - 2px)}.ant-switch-rtl.ant-switch-small.ant-switch-checked .ant-switch-handle{right:calc(100% - 10px - 2px)}.ant-table-wrapper::after,.ant-table-wrapper::before{display:table;content:''}.ant-table.ant-table-middle{font-size:12px}.ant-table.ant-table-middle .ant-table-footer,.ant-table.ant-table-middle .ant-table-tbody>tr>td,.ant-table.ant-table-middle .ant-table-thead>tr>th,.ant-table.ant-table-middle .ant-table-title,.ant-table.ant-table-middle tfoot>tr>td,.ant-table.ant-table-middle tfoot>tr>th{padding:8px}.ant-table.ant-table-middle .ant-table-filter-trigger{margin-right:-4px}.ant-table.ant-table-middle .ant-table-expanded-row-fixed{margin:-8px}.ant-table.ant-table-middle .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin:-8px -8px -8px 25px}.ant-table.ant-table-small{font-size:12px}.ant-table.ant-table-small .ant-table-footer,.ant-table.ant-table-small .ant-table-tbody>tr>td,.ant-table.ant-table-small .ant-table-thead>tr>th,.ant-table.ant-table-small .ant-table-title,.ant-table.ant-table-small tfoot>tr>td,.ant-table.ant-table-small tfoot>tr>th{padding:4px}.ant-table.ant-table-small .ant-table-filter-trigger{margin-right:-2px}.ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:-4px}.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin:-4px -4px -4px 21px}.ant-table-small .ant-table-thead>tr>th{background-color:#fafafa}.ant-table-small .ant-table-selection-column{width:46px;min-width:46px}.ant-table.ant-table-bordered>.ant-table-title{border:1px solid #f0f0f0;border-bottom:0}.ant-table.ant-table-bordered>.ant-table-container{border:1px solid #f0f0f0;border-right:0;border-bottom:0}.ant-table-thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr:not(:last-child)>th{border-bottom:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th{border-right:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th::before{background-color:transparent!important}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>.ant-table-cell-fix-right-first::after{border-right:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-12px -9px}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td>.ant-table-expanded-row-fixed::after{position:absolute;top:0;right:1px;bottom:0;border-right:1px solid #f0f0f0;content:''}.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-expanded-row>td,.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-placeholder>td{border-right:0}.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-8px -9px}.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-4px -5px}.ant-table.ant-table-bordered>.ant-table-footer{border:1px solid #f0f0f0;border-top:0}.ant-table-cell .ant-table-container:first-child{border-top:0}.ant-table-cell-scrollbar{box-shadow:0 1px 0 1px #fafafa}.ant-table-wrapper{clear:both;max-width:100%}.ant-table-wrapper::after{clear:both}.ant-table{margin:0;padding:0;color:rgba(0,0,0,.85);position:relative;font-size:12px;background:#fff;border-radius:2px}.ant-table-footer,.ant-table-thead>tr>th{color:rgba(0,0,0,.85);background:#fafafa}.ant-table table{width:100%;text-align:left;border-radius:2px 2px 0 0;border-collapse:separate;border-spacing:0}.ant-table tfoot>tr>td,.ant-table tfoot>tr>th,.ant-table-tbody>tr>td,.ant-table-thead>tr>th{position:relative;padding:12px 8px;overflow-wrap:break-word}.ant-table-cell-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.ant-table-cell-ellipsis.ant-table-cell-fix-left-last,.ant-table-cell-ellipsis.ant-table-cell-fix-right-first{overflow:visible}.ant-table-cell-ellipsis.ant-table-cell-fix-left-last .ant-table-cell-content,.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content{display:block;overflow:hidden;text-overflow:ellipsis}.ant-table-cell-ellipsis .ant-table-column-title{overflow:hidden;text-overflow:ellipsis;word-break:keep-all}.ant-table-footer,.ant-table-title{padding:12px 8px}.ant-table-thead>tr>th{position:relative;font-weight:500;text-align:left;transition:background .3s ease}.ant-table-thead>tr>th[colspan]:not([colspan='1']){text-align:center}.ant-table-thead>tr>th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before{position:absolute;top:50%;right:0;width:1px;height:1.6em;background-color:rgba(0,0,0,.06);transform:translateY(-50%);transition:background-color .3s;content:''}.ant-table-thead>tr:not(:last-child)>th[colspan]{border-bottom:0}.ant-table-tbody>tr>td{border-bottom:1px solid #f0f0f0;transition:background .3s}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td,.notice-icon .ant-list-item:last-child{border-bottom:0}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table{margin:-12px -8px -12px 25px}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:first-child,.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:last-child,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:first-child,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:last-child{border-radius:0}.ant-table-tbody>tr.ant-table-row:hover>td{background:#fafafa}.ant-table-tbody>tr.ant-table-row-selected>td{background:#e6f7ff;border-color:rgba(0,0,0,.03)}.ant-table-tbody>tr.ant-table-row-selected:hover>td{background:#dcf4ff}.ant-table-summary{background:#fff}div.ant-table-summary{box-shadow:0 -1px 0 #f0f0f0}.ant-table-summary>tr>td,.ant-table-summary>tr>th{border-bottom:1px solid #f0f0f0}.ant-table-pagination.ant-pagination{margin:16px 0}.ant-table-pagination{display:flex;flex-wrap:wrap;row-gap:4px}.ant-table-pagination>*{flex:none}.ant-table-pagination-left{justify-content:flex-start}.ant-table-pagination-center{justify-content:center}.ant-table-pagination-right{justify-content:flex-end}.ant-table-thead th.ant-table-column-has-sorters{cursor:pointer;transition:all .3s}.ant-table-thead th.ant-table-column-has-sorters:hover{background:rgba(0,0,0,.04)}.ant-table-thead th.ant-table-column-has-sorters:hover::before{background-color:transparent!important}.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover,.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover,.ant-table-thead th.ant-table-column-sort{background:#f5f5f5}.ant-table-thead th.ant-table-column-sort::before{background-color:transparent!important}td.ant-table-column-sort{background:#fafafa}.ant-table-column-title{position:relative;z-index:1;flex:1}.ant-table-column-sorters{display:flex;flex:auto;align-items:center;justify-content:space-between}.ant-table-column-sorters::after{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;content:''}.ant-table-column-sorter{color:#bfbfbf;font-size:0;transition:color .3s}.ant-table-column-sorter-inner{display:inline-flex;flex-direction:column;align-items:center}.ant-table-filter-column,.ant-table-filter-dropdown-btns{display:flex;justify-content:space-between}.ant-table-column-sorter-down,.ant-table-column-sorter-up{font-size:11px}.ant-table-column-sorter-down.active,.ant-table-column-sorter-up.active{color:#1890ff}.ant-table-column-sorter-up+.ant-table-column-sorter-down{margin-top:-.3em}.ant-table-column-sorters:hover .ant-table-column-sorter{color:#a6a6a6}.ant-table-filter-trigger{position:relative;display:flex;align-items:center;margin:-4px -4px -4px 4px;padding:0 4px;color:#bfbfbf;font-size:12px;border-radius:2px;cursor:pointer;transition:all .3s}.ant-table-filter-trigger:hover{color:rgba(0,0,0,.45);background:rgba(0,0,0,.04)}.ant-table-filter-trigger.active{color:#1890ff}.ant-table-filter-dropdown{margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;min-width:120px;background-color:#fff;border-radius:2px;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}.ant-table-filter-dropdown .ant-dropdown-menu{max-height:264px;overflow-x:hidden;border:0;box-shadow:none}.ant-table-filter-dropdown-submenu>ul{max-height:calc(100vh - 130px);overflow-x:hidden;overflow-y:auto}.ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span{padding-left:8px}.ant-table-filter-dropdown-btns{padding:7px 8px 7px 3px;overflow:hidden;background-color:inherit;border-top:1px solid #f0f0f0}.ant-table-selection-col{width:32px}.ant-table-bordered .ant-table-selection-col{width:50px}table tr td.ant-table-selection-column,table tr th.ant-table-selection-column{padding-right:4px;padding-left:4px;text-align:center}table tr td.ant-table-selection-column .ant-radio-wrapper,table tr th.ant-table-selection-column .ant-radio-wrapper{margin-right:0}table tr th.ant-table-selection-column::after{background-color:transparent!important}.ant-table-selection{position:relative;display:inline-flex;flex-direction:column}.ant-table-selection-extra{position:absolute;top:0;z-index:1;cursor:pointer;transition:all .3s;margin-inline-start:100%;padding-inline-start:0}.ant-table-selection-extra .anticon{color:#bfbfbf;font-size:10px}.ant-table-selection-extra .anticon:hover{color:#a6a6a6}.ant-table-expand-icon-col{width:48px}.ant-table-row-expand-icon-cell{text-align:center}.ant-table-row-indent{float:left;height:1px}.ant-table-row-expand-icon{text-decoration:none;cursor:pointer;position:relative;display:inline-flex;float:left;box-sizing:border-box;width:17px;height:17px;padding:0;color:inherit;line-height:17px;background:#fff;border:1px solid #f0f0f0;border-radius:2px;outline:0;transform:scale(.82352941);transition:all .3s;user-select:none}.ant-table-row-expand-icon:focus,.ant-table-row-expand-icon:hover{color:#40a9ff}.ant-table-row-expand-icon:active{color:#096dd9}.ant-table-row-expand-icon:active,.ant-table-row-expand-icon:focus,.ant-table-row-expand-icon:hover{border-color:currentColor}.ant-table-row-expand-icon::after,.ant-table-row-expand-icon::before{position:absolute;background:currentColor;transition:transform .3s ease-out;content:''}.ant-table-row-expand-icon::before{top:7px;right:3px;left:3px;height:1px}.ant-table-row-expand-icon::after{top:3px;bottom:3px;left:7px;width:1px;transform:rotate(90deg)}.ant-table-row-expand-icon-collapsed::before{transform:rotate(-180deg)}.ant-table-row-expand-icon-collapsed::after{transform:rotate(0)}.ant-table-row-expand-icon-spaced{background:0 0;border:0;visibility:hidden}.ant-table-row-expand-icon-spaced::after,.ant-table-row-expand-icon-spaced::before{display:none;content:none}.ant-table-row-indent+.ant-table-row-expand-icon{margin-top:1.5px;margin-right:4px}tr.ant-table-expanded-row:hover>td,tr.ant-table-expanded-row>td{background:#fbfbfb}tr.ant-table-expanded-row .ant-descriptions-view{display:flex}tr.ant-table-expanded-row .ant-descriptions-view table{flex:auto;width:auto}.ant-table .ant-table-expanded-row-fixed{position:relative;margin:-12px -8px;padding:12px 8px}.ant-table-tbody>tr.ant-table-placeholder{text-align:center}.ant-table-empty .ant-table-tbody>tr.ant-table-placeholder{color:rgba(0,0,0,.25)}.ant-table-tbody>tr.ant-table-placeholder:hover>td{background:#fff}.ant-table-cell-fix-left,.ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important;z-index:2;background:#fff}.ant-table .ant-table-container::after,.ant-table .ant-table-container::before,.ant-table-cell-fix-left-first::after,.ant-table-cell-fix-left-last::after,.ant-table-cell-fix-right-first::after,.ant-table-cell-fix-right-last::after{position:absolute;transition:box-shadow .3s;width:30px;top:0;content:'';pointer-events:none}.ant-table-cell-fix-left-first::after,.ant-table-cell-fix-left-last::after{right:0;bottom:-1px;transform:translateX(100%)}.ant-table-cell-fix-right-first::after,.ant-table-cell-fix-right-last::after{bottom:-1px;left:0;transform:translateX(-100%)}.ant-table .ant-table-container::after,.ant-table .ant-table-container::before{bottom:0;z-index:1}.ant-table .ant-table-container::before{left:0}.ant-table .ant-table-container::after{right:0}.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container{position:relative}.ant-table-ping-left .ant-table-cell-fix-left-first::after,.ant-table-ping-left .ant-table-cell-fix-left-last::after,.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container::before{box-shadow:inset 10px 0 8px -8px rgba(0,0,0,.15)}.ant-table-ping-left .ant-table-cell-fix-left-last::before{background-color:transparent!important}.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container{position:relative}.ant-table-sticky-holder,.ant-table-sticky-scroll{position:sticky;z-index:3}.ant-table-ping-right .ant-table-cell-fix-right-first::after,.ant-table-ping-right .ant-table-cell-fix-right-last::after,.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container::after{box-shadow:inset -10px 0 8px -8px rgba(0,0,0,.15)}.ant-table-sticky-scroll{bottom:0;display:flex;align-items:center;background:#fff;border-top:1px solid #f0f0f0;opacity:.6}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after{opacity:1}.ant-table-sticky-scroll:hover{transform-origin:center bottom}.ant-table-sticky-scroll-bar{height:8px;background-color:rgba(0,0,0,.35);border-radius:4px}.ant-table-sticky-scroll-bar-active,.ant-table-sticky-scroll-bar:hover{background-color:rgba(0,0,0,.8)}@media all and (-ms-high-contrast:none){.ant-table-ping-left .ant-table-cell-fix-left-last::after,.ant-table-ping-right .ant-table-cell-fix-right-first::after{box-shadow:none!important}}.ant-table-title{border-radius:2px 2px 0 0}.ant-table-title+.ant-table-container{border-top-left-radius:0;border-top-right-radius:0}.ant-table-title+.ant-table-container table>thead>tr:first-child th:first-child,.ant-table-title+.ant-table-container table>thead>tr:first-child th:last-child{border-radius:0}.ant-table-container,.ant-table-container table>thead>tr:first-child th:first-child{border-top-left-radius:2px}.ant-table-container,.ant-table-container table>thead>tr:first-child th:last-child{border-top-right-radius:2px}.ant-table-footer{border-radius:0 0 2px 2px}.ant-table-wrapper-rtl .ant-table table{text-align:right}.ant-table-wrapper-rtl .ant-table-thead>tr>th[colspan]:not([colspan='1']){text-align:center}.ant-table-wrapper-rtl .ant-table-thead>tr>th{text-align:right}.ant-table-wrapper-rtl .ant-table thead>tr>th.ant-table-selection-column,.ant-table-wrapper-rtl .ant-table-selection{text-align:center}.ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table.ant-table-rtl{margin:-12px 25px -12px -8px}.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-left{justify-content:flex-end}.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-right{justify-content:flex-start}.ant-table-wrapper-rtl .ant-table-column-sorter{margin-right:4px;margin-left:0}.ant-table-wrapper-rtl .ant-table-filter-column-title{padding:12px 8px 12px 2.3em}.ant-table-rtl .ant-table-thead tr th.ant-table-column-has-sorters .ant-table-filter-column-title{padding:0 0 0 2.3em}.ant-table-wrapper-rtl .ant-table-filter-trigger-container{right:auto;left:0}.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span,.ant-dropdown-rtl .ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-dropdown-rtl .ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span{padding-right:8px;padding-left:0}.ant-table-wrapper-rtl .ant-table-row-expand-icon,.ant-table-wrapper-rtl .ant-table-row-indent{float:right}.ant-table-wrapper-rtl .ant-table-row-indent+.ant-table-row-expand-icon{margin-right:0;margin-left:4px}.ant-table-wrapper-rtl .ant-table-row-expand-icon::after{transform:rotate(-90deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::before{transform:rotate(180deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::after{transform:rotate(0)}nz-table,nz-table-inner-default,nz-table-inner-scroll,nz-table-selection,nz-table-title-footer{display:block}nz-filter-trigger{display:inline-flex}.nz-table-out-bordered>.ant-table-container,.nz-table-out-bordered>.ant-table-title{border:1px solid #f0f0f0;border-bottom:0}.nz-table-out-bordered>.ant-table-footer{border:1px solid #f0f0f0;border-top:0}cdk-virtual-scroll-viewport.ant-table-body{overflow-y:scroll}.nz-table-hide-scrollbar{scrollbar-color:#fafafa #fafafa}.nz-table-hide-scrollbar::-webkit-scrollbar{background-color:#fafafa}.ant-table.ant-table-small .nz-table-hide-scrollbar{scrollbar-color:#fafafa #fafafa}.ant-table.ant-table-small .nz-table-hide-scrollbar::-webkit-scrollbar{background-color:transparent}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr>th{border-right:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr:not(:last-child)>th{border-bottom:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr>.ant-table-cell-fix-right-first::after{border-right:1px solid #f0f0f0}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-12px -9px}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed::after{position:absolute;top:0;right:1px;bottom:0;border-right:1px solid #f0f0f0;content:''}.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr.ant-table-expanded-row>td,.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr.ant-table-placeholder>td{border-right:0}.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-8px -9px}.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-4px -5px}.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab{padding:4px 0;font-size:12px}.ant-tabs-large>.ant-tabs-nav .ant-tabs-tab{padding:8px 0;font-size:14px}.ant-tabs-card.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab{padding:6px 8px}.ant-tabs-card.ant-tabs-large>.ant-tabs-nav .ant-tabs-tab{padding:7px 8px 6px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab{margin:0 0 0 32px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab:last-of-type{margin-left:0}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .anticon{margin-right:0;margin-left:8px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove{margin-right:4px;margin-left:0}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0}.ant-tabs-rtl.ant-tabs-left>.ant-tabs-content-holder,.ant-tabs-rtl.ant-tabs-right>.ant-tabs-nav{order:0}.ant-tabs-rtl.ant-tabs-right>.ant-tabs-content-holder{order:1}.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-right:0;margin-left:2px}.ant-tabs-dropdown-rtl .ant-tabs-dropdown-menu-item{text-align:right}.ant-tabs-bottom,.ant-tabs-top{flex-direction:column}.ant-tabs-bottom>.ant-tabs-nav,.ant-tabs-bottom>div>.ant-tabs-nav,.ant-tabs-top>.ant-tabs-nav,.ant-tabs-top>div>.ant-tabs-nav{margin:0 0 8px}.ant-tabs-bottom>.ant-tabs-nav::before,.ant-tabs-bottom>div>.ant-tabs-nav::before,.ant-tabs-top>.ant-tabs-nav::before,.ant-tabs-top>div>.ant-tabs-nav::before{position:absolute;right:0;left:0;border-bottom:1px solid #f0f0f0;content:''}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar{height:2px}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:width .3s,left .3s,right .3s}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{top:0;bottom:0;width:30px}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{left:0;box-shadow:inset 10px 0 8px -8px rgba(0,0,0,.08)}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::after{right:0;box-shadow:inset -10px 0 8px -8px rgba(0,0,0,.08)}.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>.ant-tabs-nav::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>div>.ant-tabs-nav::before{bottom:0}.ant-tabs-bottom>.ant-tabs-nav,.ant-tabs-bottom>div>.ant-tabs-nav{order:1;margin-top:8px;margin-bottom:0}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>.ant-tabs-nav::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>div>.ant-tabs-nav::before{top:0}.ant-tabs-bottom>.ant-tabs-content-holder,.ant-tabs-bottom>div>.ant-tabs-content-holder{order:0}.ant-tabs-left>.ant-tabs-nav,.ant-tabs-left>div>.ant-tabs-nav,.ant-tabs-right>.ant-tabs-nav,.ant-tabs-right>div>.ant-tabs-nav{flex-direction:column;min-width:50px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab{padding:4px 16px;text-align:center}.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin:8px 0 0}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap{flex-direction:column}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{right:0;left:0;height:30px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{top:0;box-shadow:inset 0 10px 8px -8px rgba(0,0,0,.08)}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::after{bottom:0;box-shadow:inset 0 -10px 8px -8px rgba(0,0,0,.08)}.ant-cascader-menus,.ant-tabs-dropdown-menu,.ant-tooltip-inner,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05)}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar{width:2px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:height .3s,top .3s}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-operations{flex:1 0 auto;flex-direction:column}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar{right:0}.ant-tabs-left>.ant-tabs-content-holder,.ant-tabs-left>div>.ant-tabs-content-holder{margin-left:-1px;border-left:1px solid #f0f0f0}.ant-tabs-left>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-left>div>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{padding-left:16px}.ant-tabs-right>.ant-tabs-nav,.ant-tabs-right>div>.ant-tabs-nav{order:1}.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar{left:0}.ant-tabs-right>.ant-tabs-content-holder,.ant-tabs-right>div>.ant-tabs-content-holder{order:0;margin-right:-1px;border-right:1px solid #f0f0f0}.ant-tabs-right>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-right>div>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{padding-right:16px}.ant-tabs-dropdown{margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;position:absolute;top:-9999px;left:-9999px;z-index:1050;display:block}.ant-tabs-dropdown-hidden{display:none}.ant-tabs-dropdown-menu{max-height:200px;margin:0;padding:4px 0;overflow-x:hidden;overflow-y:auto;text-align:left;list-style-type:none;background-color:#fff;background-clip:padding-box;border-radius:2px;outline:0}.ant-tabs-dropdown-menu-item{min-width:120px;margin:0;padding:5px 8px;overflow:hidden;color:rgba(0,0,0,.85);font-weight:400;font-size:12px;line-height:18px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.ant-tabs,.ant-timeline,.ant-tooltip,.ant-transfer{line-height:1.66667;font-feature-settings:tnum}.ant-tabs-dropdown-menu-item:hover{background:#f5f5f5}.ant-tabs-dropdown-menu-item-disabled,.ant-tabs-dropdown-menu-item-disabled:hover{color:rgba(0,0,0,.25);background:0 0;cursor:not-allowed}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab{margin:0;padding:4px 8px;background:#fafafa;border:1px solid #f0f0f0;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab-active{color:#1890ff;background:#fff}.ant-tabs-card>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-ink-bar{visibility:hidden}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:2px}.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab{border-radius:2px 2px 0 0}.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab-active{border-bottom-color:#fff}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 0 2px 2px}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab-active{border-top-color:#fff}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-top:2px}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab{border-radius:2px 0 0 2px}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab-active{border-right-color:#fff}.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 2px 2px 0}.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab-active{border-left-color:#fff}.ant-tabs{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;list-style:none;display:flex;overflow:hidden}.ant-tabs>.ant-tabs-nav,.ant-tabs>div>.ant-tabs-nav{position:relative;display:flex;flex:none;align-items:center}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap{position:relative;display:inline-block;display:flex;flex:auto;align-self:stretch;overflow:hidden;white-space:nowrap;transform:translate(0)}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{position:absolute;z-index:1;opacity:0;transition:opacity .3s;content:'';pointer-events:none}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-list{position:relative;display:flex;transition:transform .3s}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-operations{display:flex;align-self:stretch}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-operations-hidden,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-operations-hidden{position:absolute;visibility:hidden;pointer-events:none}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-more,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-more{position:relative;padding:4px 8px;background:0 0;border:0}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-more::after,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-more::after{position:absolute;right:0;bottom:0;left:0;height:5px;transform:translateY(100%);content:''}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add{min-width:40px;padding:0 4px;background:#fafafa;border:1px solid #f0f0f0;border-radius:2px 2px 0 0;outline:0;cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:hover,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:hover{color:#40a9ff}.ant-tabs-tab-btn:active,.ant-tabs-tab-btn:focus,.ant-tabs-tab-remove:active,.ant-tabs-tab-remove:focus,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:focus,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:focus{color:#096dd9}.ant-tabs-extra-content{flex:none}.ant-tabs-centered>.ant-tabs-nav .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping]),.ant-tabs-centered>div>.ant-tabs-nav .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping]){justify-content:center}.ant-tabs-ink-bar{position:absolute;background:#1890ff;pointer-events:none}.ant-tabs-dropdown-menu-item a[nz-tab-link],.ant-tabs-tab{position:relative}.ant-tabs-tab,.ant-tabs-tab-remove{background:0 0;cursor:pointer;font-size:12px;outline:0}.ant-tabs-tab{display:inline-flex;align-items:center;padding:8px 0;border:0}.ant-tabs-tab-btn{outline:0;transition:all .3s}.ant-tabs-tab-remove{flex:none;margin-right:0;margin-left:4px;color:rgba(0,0,0,.45);border:none;transition:all .3s}.ant-tabs-tab-remove:hover{color:rgba(0,0,0,.85)}.ant-tabs-tab:hover{color:#40a9ff}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#1890ff;text-shadow:0 0 .25px currentColor}.ant-tabs-tab.ant-tabs-tab-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:active,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:focus,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:active,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:focus{color:rgba(0,0,0,.25)}.ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0}.ant-tabs-tab .anticon{margin-right:8px}.ant-tabs-tab+.ant-tabs-tab{margin:0 0 0 32px}.ant-tabs-content{display:flex;width:100%}.ant-tabs-content-holder{flex:auto;min-width:0;min-height:0}.ant-tabs-content-animated{transition:margin .3s}.ant-tabs-tabpane{flex:none;width:100%;outline:0}a[nz-tab-link]::before{position:absolute;top:0;left:0;right:0;bottom:0;background-color:transparent;content:''}a[nz-tab-link]~*{position:relative}nz-tab-nav-operation,nz-tabs-nav,nz-tabset{display:block}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu{max-height:200px;margin:0;padding:4px 0;overflow-x:hidden;overflow-y:auto;text-align:left;list-style-type:none;background-color:#fff;background-clip:padding-box;border-radius:2px;outline:0}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item{min-width:120px;margin:0;padding:5px 8px;overflow:hidden;color:rgba(0,0,0,.85);font-weight:400;font-size:12px;line-height:18px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item:hover{background:#f5f5f5}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover{color:rgba(0,0,0,.25);background:0 0;cursor:not-allowed}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled a,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover a{pointer-events:none;color:rgba(0,0,0,.25)}.ant-tabs-rtl .ant-tabs-rtl-tab-next{right:auto;left:2px}.ant-tabs-tab-disabled a{pointer-events:none;color:rgba(0,0,0,.25)}.ant-tag{box-sizing:border-box;margin:0 8px 0 0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;height:auto;padding:0 7px;font-size:12px;line-height:18px;white-space:nowrap;background:#fafafa;border:1px solid #d9d9d9;border-radius:2px;opacity:1;transition:all .3s}.ant-tag-checkable,.ant-tag-has-color{border-color:transparent}.ant-tag,.ant-tag a,.ant-tag a:hover{color:rgba(0,0,0,.85)}.ant-tag>a:first-child:last-child{display:inline-block;margin:0 -8px;padding:0 8px}.ant-tag-hidden,.ant-timeline-item-last>.ant-timeline-item-tail,.ant-timeline-item-pending .ant-timeline-item-tail{display:none}.ant-tag-close-icon{margin-left:3px;color:rgba(0,0,0,.45);font-size:10px;cursor:pointer;transition:all .3s}.ant-tag-close-icon:hover{color:rgba(0,0,0,.85)}.ant-tag-has-color,.ant-tag-has-color .anticon-close,.ant-tag-has-color .anticon-close:hover,.ant-tag-has-color a,.ant-tag-has-color a:hover{color:#fff}.ant-tag-checkable{background-color:transparent;cursor:pointer}.ant-tag-checkable:not(.ant-tag-checkable-checked):hover{color:#1890ff}.ant-tag-checkable-checked,.ant-tag-checkable:active{color:#fff}.ant-tag-checkable-checked{background-color:#1890ff}.ant-tag-checkable:active{background-color:#096dd9}.ant-tag-pink{color:#c41d7f;background:#fff0f6;border-color:#ffadd2}.ant-tag-pink-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96}.ant-tag-magenta{color:#c41d7f;background:#fff0f6;border-color:#ffadd2}.ant-tag-magenta-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96}.ant-tag-red{color:#cf1322;background:#fff1f0;border-color:#ffa39e}.ant-tag-red-inverse{color:#fff;background:#f5222d;border-color:#f5222d}.ant-tag-volcano{color:#d4380d;background:#fff2e8;border-color:#ffbb96}.ant-tag-volcano-inverse{color:#fff;background:#fa541c;border-color:#fa541c}.ant-tag-orange{color:#d46b08;background:#fff7e6;border-color:#ffd591}.ant-tag-orange-inverse{color:#fff;background:#fa8c16;border-color:#fa8c16}.ant-tag-yellow{color:#d4b106;background:#feffe6;border-color:#fffb8f}.ant-tag-yellow-inverse{color:#fff;background:#fadb14;border-color:#fadb14}.ant-tag-gold{color:#d48806;background:#fffbe6;border-color:#ffe58f}.ant-tag-gold-inverse{color:#fff;background:#faad14;border-color:#faad14}.ant-tag-cyan{color:#08979c;background:#e6fffb;border-color:#87e8de}.ant-tag-cyan-inverse{color:#fff;background:#13c2c2;border-color:#13c2c2}.ant-tag-lime{color:#7cb305;background:#fcffe6;border-color:#eaff8f}.ant-tag-lime-inverse{color:#fff;background:#a0d911;border-color:#a0d911}.ant-tag-green{color:#389e0d;background:#f6ffed;border-color:#b7eb8f}.ant-tag-green-inverse{color:#fff;background:#52c41a;border-color:#52c41a}.ant-tag-blue{color:#096dd9;background:#e6f7ff;border-color:#91d5ff}.ant-tag-blue-inverse{color:#fff;background:#1890ff;border-color:#1890ff}.ant-tag-geekblue{color:#1d39c4;background:#f0f5ff;border-color:#adc6ff}.ant-tag-geekblue-inverse{color:#fff;background:#2f54eb;border-color:#2f54eb}.ant-tag-purple{color:#531dab;background:#f9f0ff;border-color:#d3adf7}.ant-tag-purple-inverse{color:#fff;background:#722ed1;border-color:#722ed1}.ant-tag-success{color:#52c41a;background:#f6ffed;border-color:#b7eb8f}.ant-tag-processing{color:#1890ff;background:#e6f7ff;border-color:#91d5ff}.ant-tag-error{color:#f5222d;background:#fff1f0;border-color:#ffa39e}.ant-tag-warning{color:#fa8c16;background:#fff7e6;border-color:#ffd591}.ant-tag>.anticon+span,.ant-tag>span+.anticon{margin-left:7px}.ant-tag.ant-tag-rtl{margin-right:0;margin-left:8px;text-align:right}.ant-tag-rtl .ant-tag-close-icon{margin-right:3px;margin-left:0}.ant-tag-rtl.ant-tag>.anticon+span,.ant-tag-rtl.ant-tag>span+.anticon{margin-right:7px;margin-left:0}.ant-timeline,.ant-timeline-item{margin:0;list-style:none;font-size:12px}.ant-timeline{box-sizing:border-box;color:rgba(0,0,0,.85);font-variant:tabular-nums;padding:0}.ant-timeline-item{position:relative;padding-bottom:20px}.ant-timeline-item-tail{position:absolute;top:10px;left:4px;height:calc(100% - 10px);border-left:2px solid #f0f0f0}.ant-timeline-item-pending .ant-timeline-item-head{font-size:12px;background-color:transparent}.ant-timeline-item-head{position:absolute;width:10px;height:10px;background-color:#fff;border:2px solid transparent;border-radius:100px}.ant-timeline-item-head-blue{color:#1890ff;border-color:#1890ff}.ant-timeline-item-head-red{color:#ff4d4f;border-color:#ff4d4f}.ant-timeline-item-head-green{color:#52c41a;border-color:#52c41a}.ant-timeline-item-head-gray{color:rgba(0,0,0,.25);border-color:rgba(0,0,0,.25)}.ant-tooltip,.ant-transfer{color:rgba(0,0,0,.85);list-style:none}.ant-timeline-item-head-custom{position:absolute;top:5.5px;left:5px;width:auto;height:auto;margin-top:0;padding:3px 1px;line-height:1;text-align:center;border:0;border-radius:0;transform:translate(-50%,-50%)}.ant-timeline-item-content{position:relative;top:-7px;margin:0 0 0 18px;word-break:break-word}.ant-timeline-item-last>.ant-timeline-item-content{min-height:48px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail,.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-label .ant-timeline-item-tail,.ant-timeline.ant-timeline-right .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-tail{left:50%}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-head{margin-left:-4px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom{margin-left:1px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content{left:calc(50% - 4px);width:calc(50% - 14px);text-align:left}.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:calc(50% - 12px);margin:0;text-align:right}.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail{left:calc(100% - 4px - 2px)}.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:calc(100% - 18px)}.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail{display:block;height:calc(100% - 14px);border-left:2px dotted #f0f0f0}.ant-timeline.ant-timeline-reverse .ant-timeline-item-last .ant-timeline-item-tail{display:none}.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail{top:15px;display:block;height:calc(100% - 15px);border-left:2px dotted #f0f0f0}.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-content{min-height:48px}.ant-timeline.ant-timeline-label .ant-timeline-item-label{position:absolute;top:-7px;width:calc(50% - 12px);text-align:right}.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label{left:calc(50% + 14px);width:calc(50% - 14px);text-align:left}.ant-timeline-rtl .ant-timeline-item-tail{right:4px;left:auto;border-right:2px solid #f0f0f0;border-left:none}.ant-timeline-rtl .ant-timeline-item-head-custom{right:5px;left:auto;transform:translate(50%,-50%)}.ant-timeline-rtl .ant-timeline-item-content{margin:0 18px 0 0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-tail{right:50%;left:auto}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head{margin-right:-4px;margin-left:0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom{margin-right:1px;margin-left:0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content{right:calc(50% - 4px);left:auto;text-align:right}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{text-align:left}.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail{right:0;left:auto}.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:100%;margin-right:18px;text-align:right}.ant-timeline-rtl.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail{border-right:2px dotted #f0f0f0;border-left:none}.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-label{text-align:left}.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label{right:calc(50% + 14px);text-align:right}.ant-tooltip{box-sizing:border-box;margin:0;padding:0;font-size:12px;font-variant:tabular-nums;z-index:1070;display:block;width:max-content;max-width:250px}.ant-tooltip-hidden{display:none}.ant-tooltip-placement-top,.ant-tooltip-placement-topLeft,.ant-tooltip-placement-topRight{padding-bottom:8px}.ant-tooltip-placement-right,.ant-tooltip-placement-rightBottom,.ant-tooltip-placement-rightTop{padding-left:8px}.ant-tooltip-placement-bottom,.ant-tooltip-placement-bottomLeft,.ant-tooltip-placement-bottomRight{padding-top:8px}.ant-tooltip-placement-left,.ant-tooltip-placement-leftBottom,.ant-tooltip-placement-leftTop{padding-right:8px}.ant-tooltip-inner{min-width:30px;min-height:32px;padding:6px 8px;color:#fff;text-align:left;text-decoration:none;word-wrap:break-word;background-color:rgba(0,0,0,.75);border-radius:2px}.ant-tooltip-arrow{position:absolute;display:block;width:13.07px;height:13.07px;overflow:hidden;background:0 0;pointer-events:none}.ant-tooltip-arrow-content{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:5px;height:5px;margin:auto;background-color:rgba(0,0,0,.75);content:'';pointer-events:auto}.ant-tooltip-placement-top .ant-tooltip-arrow,.ant-tooltip-placement-topLeft .ant-tooltip-arrow,.ant-tooltip-placement-topRight .ant-tooltip-arrow{bottom:-5.07px}.ant-tooltip-placement-leftBottom .ant-tooltip-arrow,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow{bottom:5px}.ant-tooltip-placement-top .ant-tooltip-arrow-content,.ant-tooltip-placement-topLeft .ant-tooltip-arrow-content,.ant-tooltip-placement-topRight .ant-tooltip-arrow-content{box-shadow:3px 3px 7px rgba(0,0,0,.07);transform:translateY(-6.54px) rotate(45deg)}.ant-tooltip-placement-top .ant-tooltip-arrow{left:50%;transform:translateX(-50%)}.ant-tooltip-placement-topLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-topRight .ant-tooltip-arrow{right:13px}.ant-tooltip-placement-right .ant-tooltip-arrow,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow,.ant-tooltip-placement-rightTop .ant-tooltip-arrow{left:-5.07px}.ant-tooltip-placement-right .ant-tooltip-arrow-content,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content,.ant-tooltip-placement-rightTop .ant-tooltip-arrow-content{box-shadow:-3px 3px 7px rgba(0,0,0,.07);transform:translateX(6.54px) rotate(45deg)}.ant-tooltip-placement-right .ant-tooltip-arrow{top:50%;transform:translateY(-50%)}.ant-tooltip-placement-rightTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-left .ant-tooltip-arrow,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow,.ant-tooltip-placement-leftTop .ant-tooltip-arrow{right:-5.07px}.ant-tooltip-placement-left .ant-tooltip-arrow-content,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content,.ant-tooltip-placement-leftTop .ant-tooltip-arrow-content{box-shadow:3px -3px 7px rgba(0,0,0,.07);transform:translateX(-6.54px) rotate(45deg)}.ant-tooltip-placement-left .ant-tooltip-arrow{top:50%;transform:translateY(-50%)}.ant-tooltip-placement-leftTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-bottom .ant-tooltip-arrow,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{top:-5.07px}.ant-tooltip-placement-bottom .ant-tooltip-arrow-content,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content{box-shadow:-3px -3px 7px rgba(0,0,0,.07);transform:translateY(6.54px) rotate(45deg)}.ant-tooltip-placement-bottom .ant-tooltip-arrow{left:50%;transform:translateX(-50%)}.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{right:13px}.ant-tooltip-magenta .ant-tooltip-arrow-content,.ant-tooltip-magenta .ant-tooltip-inner,.ant-tooltip-pink .ant-tooltip-arrow-content,.ant-tooltip-pink .ant-tooltip-inner{background-color:#eb2f96}.ant-tooltip-red .ant-tooltip-arrow-content,.ant-tooltip-red .ant-tooltip-inner{background-color:#f5222d}.ant-tooltip-volcano .ant-tooltip-arrow-content,.ant-tooltip-volcano .ant-tooltip-inner{background-color:#fa541c}.ant-tooltip-orange .ant-tooltip-arrow-content,.ant-tooltip-orange .ant-tooltip-inner{background-color:#fa8c16}.ant-tooltip-yellow .ant-tooltip-arrow-content,.ant-tooltip-yellow .ant-tooltip-inner{background-color:#fadb14}.ant-tooltip-gold .ant-tooltip-arrow-content,.ant-tooltip-gold .ant-tooltip-inner{background-color:#faad14}.ant-tooltip-cyan .ant-tooltip-arrow-content,.ant-tooltip-cyan .ant-tooltip-inner{background-color:#13c2c2}.ant-tooltip-lime .ant-tooltip-arrow-content,.ant-tooltip-lime .ant-tooltip-inner{background-color:#a0d911}.ant-tooltip-green .ant-tooltip-arrow-content,.ant-tooltip-green .ant-tooltip-inner{background-color:#52c41a}.ant-tooltip-blue .ant-tooltip-arrow-content,.ant-tooltip-blue .ant-tooltip-inner{background-color:#1890ff}.ant-tooltip-geekblue .ant-tooltip-arrow-content,.ant-tooltip-geekblue .ant-tooltip-inner{background-color:#2f54eb}.ant-tooltip-purple .ant-tooltip-arrow-content,.ant-tooltip-purple .ant-tooltip-inner{background-color:#722ed1}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small>.ant-table-content>.ant-table-body>table>.ant-table-thead>tr>th,.ant-upload.ant-upload-drag,.result .ant-steps .ant-steps-head,.result .ant-steps .ant-steps-title,.result__extra{background:#fafafa}.ant-tooltip-rtl .ant-tooltip-inner{text-align:right}.ant-tooltip{position:relative}.ant-transfer-customize-list .ant-transfer-list{flex:1 1 50%;width:auto;height:auto;min-height:200px}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small{border:0;border-radius:0}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small>.ant-table-content .ant-table-row:last-child td{border-bottom:1px solid #f0f0f0}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small .ant-table-body{margin:0}.ant-transfer-customize-list .ant-table-wrapper .ant-table-pagination.ant-pagination{margin:16px 0 4px}.ant-transfer-customize-list .ant-input[disabled]{background-color:transparent}.ant-transfer{box-sizing:border-box;margin:0;padding:0;font-size:12px;font-variant:tabular-nums;position:relative;display:flex;align-items:stretch}.ant-transfer-disabled .ant-transfer-list{background:#f5f5f5}.ant-transfer-list{display:flex;flex-direction:column;width:180px;height:200px;border:1px solid #d9d9d9;border-radius:2px}.ant-transfer-list-header,.modal-header,.st .ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td{border-bottom:1px solid #f0f0f0}.ant-transfer-list-footer,.ant-transfer-list-pagination,.drawer-footer,.modal-footer{border-top:1px solid #f0f0f0}.ant-transfer-list-with-pagination{width:250px;height:auto}.ant-transfer-list-search{padding-right:24px;padding-left:8px}.ant-transfer-list-search-action{position:absolute;top:8px;right:12px;bottom:12px;width:28px;color:rgba(0,0,0,.25);line-height:28px;text-align:center}.ant-transfer-list-search-action .anticon{color:rgba(0,0,0,.25);transition:all .3s}.ant-transfer-list-search-action .anticon:hover{color:rgba(0,0,0,.45)}span.ant-transfer-list-search-action{pointer-events:none}.ant-transfer-list-header{display:flex;flex:none;align-items:center;height:36px;padding:7px 8px 8px;color:rgba(0,0,0,.85);background:#fff;border-radius:2px 2px 0 0}.ant-transfer-list-header>:not(:last-child){margin-right:4px}.ant-transfer-list-header>*{flex:none}.ant-transfer-list-header-title{flex:auto;overflow:hidden;white-space:nowrap;text-align:right;text-overflow:ellipsis}.ant-transfer-list-header-dropdown{font-size:10px;transform:translateY(10%);cursor:pointer}.ant-transfer-list-header-dropdown[disabled]{cursor:not-allowed}.ant-transfer-list-body{display:flex;flex:auto;flex-direction:column;overflow:hidden;font-size:12px}.ant-transfer-list-body-search-wrapper{position:relative;flex:none;padding:8px}.ant-transfer-list-content{flex:auto;margin:0;padding:0;overflow:auto;list-style:none}.ant-transfer-list-content-item{display:flex;align-items:center;min-height:28px;padding:3px 8px;line-height:22px;transition:all .3s}.ant-transfer-list-content-item>:not(:last-child){margin-right:8px}.ant-transfer-list-content-item>*{flex:none}.ant-transfer-list-content-item-text{flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-transfer-list-content-item-remove{text-decoration:none;outline:0;cursor:pointer;transition:color .3s;position:relative;color:#d9d9d9}.ant-transfer-list-content-item-remove:focus,.ant-transfer-list-content-item-remove:hover{color:#40a9ff}.ant-transfer-list-content-item-remove:active{color:#096dd9}.ant-transfer-list-content-item-remove::after{position:absolute;top:-3px;right:-50%;bottom:-3px;left:-50%;content:''}.ant-transfer-list-content-item-remove:hover{color:#40a9ff}.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background-color:#f5f5f5;cursor:pointer}.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled).ant-transfer-list-content-item-checked:hover{background-color:#dcf4ff}.ant-transfer-list-content-show-remove .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background:0 0;cursor:default}.ant-transfer-list-content-item-checked{background-color:#e6f7ff}.ant-transfer-list-content-item-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-transfer-list-pagination{padding:4px 0;text-align:right}.ant-transfer-list-body-not-found{flex:none;width:100%;margin:auto 0;color:rgba(0,0,0,.25);text-align:center}.ant-transfer-rtl .ant-transfer-list-header-title,.ant-transfer-rtl .ant-transfer-list-pagination{text-align:left}.ant-transfer-operation{display:flex;flex:none;flex-direction:column;align-self:center;margin:0 8px;vertical-align:middle}.ant-transfer-operation .ant-btn{display:block}.ant-transfer-operation .ant-btn:first-child{margin-bottom:4px}.ant-transfer-operation .ant-btn .anticon{font-size:12px}.ant-transfer .ant-empty-image{max-height:-4px}.ant-transfer-rtl .ant-transfer-list-search{padding-right:8px;padding-left:24px}.ant-transfer-rtl .ant-transfer-list-search-action{right:auto;left:12px}.ant-transfer-rtl .ant-transfer-list-footer,.ant-transfer-rtl .ant-transfer-list-header{right:0;left:auto}.ant-transfer-rtl .ant-transfer-list-header>:not(:last-child){margin-right:0;margin-left:4px}.ant-transfer-rtl .ant-transfer-list-content-item>:not(:last-child){margin-right:0;margin-left:8px}.ant-typography{color:rgba(0,0,0,.85);overflow-wrap:break-word}.ant-typography.ant-typography-secondary{color:rgba(0,0,0,.45)}.ant-typography.ant-typography-success{color:#52c41a}.ant-typography.ant-typography-warning{color:#faad14}.ant-typography.ant-typography-danger{color:#ff4d4f}a.ant-typography.ant-typography-danger:active,a.ant-typography.ant-typography-danger:focus,a.ant-typography.ant-typography-danger:hover{color:#ff7875}.ant-typography.ant-typography-disabled{color:rgba(0,0,0,.25);cursor:not-allowed;user-select:none}.ant-typography p,div.ant-typography{margin-bottom:1em}.ant-typography h1,.ant-typography h2,.ant-typography h3,.ant-typography h4,.ant-typography h5,h1.ant-typography,h2.ant-typography,h3.ant-typography,h4.ant-typography,h5.ant-typography{margin-bottom:.5em;color:rgba(0,0,0,.85);font-weight:600}.ant-typography h1,h1.ant-typography{font-size:33px;line-height:1.23}.ant-typography h2,h2.ant-typography{font-size:26px;line-height:1.35}.ant-typography h3,h3.ant-typography{font-size:21px;line-height:1.35}.ant-typography h4,h4.ant-typography{font-size:18px;line-height:1.4}.ant-typography h5,h5.ant-typography{font-size:14px;line-height:1.5}.ant-typography div+h1,.ant-typography div+h2,.ant-typography div+h3,.ant-typography div+h4,.ant-typography div+h5,.ant-typography h1+h1,.ant-typography h1+h2,.ant-typography h1+h3,.ant-typography h1+h4,.ant-typography h1+h5,.ant-typography h2+h1,.ant-typography h2+h2,.ant-typography h2+h3,.ant-typography h2+h4,.ant-typography h2+h5,.ant-typography h3+h1,.ant-typography h3+h2,.ant-typography h3+h3,.ant-typography h3+h4,.ant-typography h3+h5,.ant-typography h4+h1,.ant-typography h4+h2,.ant-typography h4+h3,.ant-typography h4+h4,.ant-typography h4+h5,.ant-typography h5+h1,.ant-typography h5+h2,.ant-typography h5+h3,.ant-typography h5+h4,.ant-typography h5+h5,.ant-typography li+h1,.ant-typography li+h2,.ant-typography li+h3,.ant-typography li+h4,.ant-typography li+h5,.ant-typography p+h1,.ant-typography p+h2,.ant-typography p+h3,.ant-typography p+h4,.ant-typography p+h5,.ant-typography ul+h1,.ant-typography ul+h2,.ant-typography ul+h3,.ant-typography ul+h4,.ant-typography ul+h5,.ant-typography+h1.ant-typography,.ant-typography+h2.ant-typography,.ant-typography+h3.ant-typography,.ant-typography+h4.ant-typography,.ant-typography+h5.ant-typography{margin-top:1.2em}.ant-typography code,.ant-typography kbd{margin:0 .2em;border:1px solid rgba(100,100,100,.2)}a.ant-typography-ellipsis,span.ant-typography-ellipsis{display:inline-block}.ant-typography a,a.ant-typography{color:#1890ff;outline:0;cursor:pointer;transition:color .3s;text-decoration:none}.ant-typography a:focus,.ant-typography a:hover,a.ant-typography:focus,a.ant-typography:hover{color:#40a9ff}.ant-typography a:active,a.ant-typography:active{color:#096dd9}.ant-typography a:active,.ant-typography a:hover,a.ant-typography:active,a.ant-typography:hover{text-decoration:none}.ant-typography a.ant-typography-disabled,.ant-typography a[disabled],a.ant-typography.ant-typography-disabled,a.ant-typography[disabled]{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-typography a.ant-typography-disabled:active,.ant-typography a.ant-typography-disabled:hover,.ant-typography a[disabled]:active,.ant-typography a[disabled]:hover,a.ant-typography.ant-typography-disabled:active,a.ant-typography.ant-typography-disabled:hover,a.ant-typography[disabled]:active,a.ant-typography[disabled]:hover{color:rgba(0,0,0,.25)}.ant-typography a.ant-typography-disabled:active,.ant-typography a[disabled]:active,a.ant-typography.ant-typography-disabled:active,a.ant-typography[disabled]:active{pointer-events:none}.ant-typography code{padding:.2em .4em .1em;font-size:85%;background:rgba(150,150,150,.1);border-radius:3px}.ant-typography kbd{padding:.15em .4em .1em;font-size:90%;background:rgba(150,150,150,.06);border-bottom-width:2px;border-radius:3px}.ant-typography mark{padding:0;background-color:#ffe58f}.ant-typography ins,.ant-typography u{text-decoration:underline;text-decoration-skip-ink:auto}.ant-typography del,.ant-typography s,.task__item-done,.text-deleted{text-decoration:line-through}.ant-typography strong{font-weight:600}.ant-typography-copy,.ant-typography-edit,.ant-typography-expand{color:#1890ff;text-decoration:none;outline:0;cursor:pointer;transition:color .3s;margin-left:4px}.ant-typography-copy:focus,.ant-typography-copy:hover,.ant-typography-edit:focus,.ant-typography-edit:hover,.ant-typography-expand:focus,.ant-typography-expand:hover{color:#40a9ff}.ant-typography-copy:active,.ant-typography-edit:active,.ant-typography-expand:active{color:#096dd9}.ant-typography-copy-success,.ant-typography-copy-success:focus,.ant-typography-copy-success:hover{color:#52c41a}.ant-typography-edit-content{position:relative}div.ant-typography-edit-content{left:-8px;margin-top:-4px;margin-bottom:calc(1em - 3px - 1px)}.ant-typography-edit-content-confirm{position:absolute;right:10px;bottom:8px;color:rgba(0,0,0,.45);pointer-events:none}.ant-typography-edit-content textarea{-moz-transition:none}.ant-typography ol,.ant-typography ul{margin:0 0 1em;padding:0}.ant-typography ol li,.ant-typography ul li{margin:0 0 0 20px;padding:0 0 0 4px}.ant-typography ul{list-style-type:circle}.ant-typography ul ul{list-style-type:disc}.ant-typography ol{list-style-type:decimal}.ant-typography blockquote,.ant-typography pre{margin:1em 0}.ant-typography pre{padding:.4em .6em;white-space:pre-wrap;word-wrap:break-word;background:rgba(150,150,150,.1);border:1px solid rgba(100,100,100,.2);border-radius:3px}.ant-typography pre code{display:inline;margin:0;padding:0;font-size:inherit;font-family:inherit;background:0 0;border:0}.ant-typography blockquote{padding:0 0 0 .6em;border-left:4px solid rgba(100,100,100,.2);opacity:.85}.ant-typography-single-line{white-space:nowrap}.ant-typography-ellipsis-single-line{overflow:hidden;text-overflow:ellipsis}a.ant-typography-ellipsis-single-line,span.ant-typography-ellipsis-single-line{vertical-align:bottom}.ant-typography-ellipsis-multiple-line{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;/*! autoprefixer: ignore next */-webkit-box-orient:vertical}.ant-typography-rtl .ant-typography-copy,.ant-typography-rtl .ant-typography-edit,.ant-typography-rtl .ant-typography-expand{margin-right:4px;margin-left:0}.ant-typography-rtl .ant-typography-expand{float:left}div.ant-typography-edit-content.ant-typography-rtl{right:-8px;left:auto}.ant-typography-rtl .ant-typography-edit-content-confirm{right:auto;left:10px}.ant-typography-rtl.ant-typography ol li,.ant-typography-rtl.ant-typography ul li{margin:0 20px 0 0;padding:0 4px 0 0}.ant-upload{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;outline:0}.ant-upload p{margin:0}.ant-upload-btn{display:block;width:100%;outline:0}.ant-upload input[type=file]{cursor:pointer}.ant-upload.ant-upload-select{display:inline-block}.ant-upload.ant-upload-disabled{cursor:not-allowed}.ant-upload.ant-upload-select-picture-card{width:104px;height:104px;margin-right:8px;margin-bottom:8px;text-align:center;vertical-align:top;background-color:#fafafa;border:1px dashed #d9d9d9;border-radius:2px;cursor:pointer;transition:border-color .3s}.ant-upload.ant-upload-select-picture-card>.ant-upload{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.ant-upload.ant-upload-select-picture-card:hover{border-color:#1890ff}.ant-upload-disabled.ant-upload.ant-upload-select-picture-card:hover{border-color:#d9d9d9}.ant-upload.ant-upload-drag{position:relative;width:100%;height:100%;text-align:center;border:1px dashed #d9d9d9;border-radius:2px;cursor:pointer;transition:border-color .3s}.ant-upload.ant-upload-drag .ant-upload{padding:8px 0}.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled){border-color:#096dd9}.ant-upload.ant-upload-drag.ant-upload-disabled{cursor:not-allowed}.ant-upload.ant-upload-drag .ant-upload-btn{display:table;height:100%}.ant-upload.ant-upload-drag .ant-upload-drag-container{display:table-cell;vertical-align:middle}.ant-upload-list-item-name,.ant-upload-picture-card-wrapper{display:inline-block;width:100%}.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover{border-color:#40a9ff}.ant-upload.ant-upload-drag p.ant-upload-drag-icon{margin-bottom:20px}.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon{color:#40a9ff;font-size:48px}.ant-upload.ant-upload-drag p.ant-upload-text{margin:0 0 4px;color:rgba(0,0,0,.85);font-size:14px}.ant-upload.ant-upload-drag p.ant-upload-hint{color:rgba(0,0,0,.45);font-size:12px}.ant-upload.ant-upload-drag .anticon-plus{color:rgba(0,0,0,.25);font-size:30px;transition:all .3s}.ant-upload.ant-upload-drag .anticon-plus:hover,.ant-upload.ant-upload-drag:hover .anticon-plus{color:rgba(0,0,0,.45)}.ant-upload-list::after,.ant-upload-list::before,.ant-upload-picture-card-wrapper::after,.ant-upload-picture-card-wrapper::before{display:table;content:''}.ant-upload-picture-card-wrapper::after{clear:both}.ant-upload-list{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;line-height:1.66667}.ant-upload-list::after{clear:both}.ant-upload-list-item{position:relative;height:20px;margin-top:4px;font-size:12px}.ant-upload-list-item-name{padding-left:20px;overflow:hidden;line-height:1.66667;white-space:nowrap;text-overflow:ellipsis}.ant-upload-list-item-card-actions{position:absolute;right:0}.ant-upload-list-item-card-actions-btn{opacity:0}.ant-upload-list-item-card-actions-btn.ant-btn-sm{height:20px;line-height:1}.ant-upload-list-item-card-actions.picture{top:22px;line-height:0}.ant-upload-list-item-card-actions-btn:focus,.ant-upload-list-item-card-actions.picture .ant-upload-list-item-card-actions-btn{opacity:1}.ant-upload-list-item-card-actions .anticon{color:rgba(0,0,0,.45)}.ant-upload-list-item-info{height:100%;padding:0 4px;transition:background-color .3s}.ant-upload-list-item-info>span{display:block;width:100%;height:100%}.ant-upload-list-item-info .ant-upload-text-icon .anticon,.ant-upload-list-item-info .anticon-loading .anticon{position:absolute;top:4px;color:rgba(0,0,0,.45);font-size:12px}.ant-upload-list-item .anticon-close{position:absolute;top:6px;right:4px;color:rgba(0,0,0,.45);font-size:10px;line-height:0;cursor:pointer;opacity:0;transition:all .3s}.ant-upload-list-item-error .ant-upload-list-item-card-actions-btn,.ant-upload-list-item:hover .ant-upload-list-item-card-actions-btn,.ant-upload-list-item:hover .anticon-close{opacity:1}.ant-upload-list-item .anticon-close:hover{color:rgba(0,0,0,.85)}.ant-upload-list-item:hover .ant-upload-list-item-info{background-color:#f5f5f5}.ant-upload-list-picture .ant-upload-list-item:hover,.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info,.ant-upload-list-picture-card .ant-upload-list-item:hover,.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info{background:0 0}.ant-upload-list-item-error,.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon,.ant-upload-list-item-error .ant-upload-list-item-name,.ant-upload-list-item-error .ant-upload-text-icon>.anticon{color:#ff4d4f}.ant-upload-list-item-progress{position:absolute;bottom:-12px;width:100%;padding-left:24px;font-size:12px;line-height:0}.ant-upload-list-picture .ant-upload-list-item,.ant-upload-list-picture-card .ant-upload-list-item{position:relative;height:66px;padding:4px;border:1px solid #d9d9d9;border-radius:2px}.ant-upload-list-picture .ant-upload-list-item-error,.ant-upload-list-picture-card .ant-upload-list-item-error{border-color:#ff4d4f}.ant-upload-list-picture .ant-upload-list-item-uploading,.ant-upload-list-picture-card .ant-upload-list-item-uploading{border-style:dashed}.ant-upload-list-picture .ant-upload-list-item-thumbnail,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail{width:48px;height:48px;line-height:54px;text-align:center;opacity:.8}.ant-upload-list-picture .ant-upload-list-item-thumbnail .anticon,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail .anticon{font-size:26px}.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'],.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff']{fill:#fff2f0}.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'],.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff']{fill:#ff4d4f}.ant-upload-list-picture .ant-upload-list-item-icon,.ant-upload-list-picture-card .ant-upload-list-item-icon{position:absolute;top:50%;left:50%;font-size:26px;transform:translate(-50%,-50%)}.ant-upload-list-picture .ant-upload-list-item-icon .anticon,.ant-upload-list-picture-card .ant-upload-list-item-icon .anticon{font-size:26px}.ant-upload-list-picture .ant-upload-list-item-image,.ant-upload-list-picture-card .ant-upload-list-item-image{max-width:100%}.ant-upload-list-picture .ant-upload-list-item-thumbnail img,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img{display:block;width:48px;height:48px;overflow:hidden}.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-picture-card .ant-upload-list-item-name{display:inline-block;box-sizing:border-box;max-width:100%;margin:0 0 0 8px;padding-right:8px;padding-left:48px;overflow:hidden;line-height:44px;white-space:nowrap;text-overflow:ellipsis;transition:all .3s}.ant-upload-list-picture .ant-upload-list-item-uploading .ant-upload-list-item-name,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-name{line-height:28px}.ant-upload-list-picture .ant-upload-list-item-progress,.ant-upload-list-picture-card .ant-upload-list-item-progress{bottom:14px;width:calc(100% - 24px);margin-top:0;padding-left:56px}.ant-upload-list-picture .anticon-close,.ant-upload-list-picture-card .anticon-close{position:absolute;top:8px;right:8px;line-height:1;opacity:1}.ant-upload-list-picture-card-container{display:inline-block;width:104px;height:104px;margin:0 4px 4px 0;vertical-align:top}.ant-upload-list-picture-card.ant-upload-list::after{display:none}.ant-upload-list-picture-card .ant-upload-list-item{height:100%;margin:0}.ant-upload-list-picture-card .ant-upload-list-item-info{position:relative;height:100%;overflow:hidden}.ant-upload-list-picture-card .ant-upload-list-item-info::before{position:absolute;z-index:1;width:100%;height:100%;background-color:rgba(0,0,0,.5);opacity:0;transition:all .3s;content:' '}.ant-result-content,.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item{background-color:#fafafa}.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info::before{opacity:1}.ant-upload-list-picture-card .ant-upload-list-item-actions{position:absolute;top:50%;left:50%;z-index:10;white-space:nowrap;transform:translate(-50%,-50%);opacity:0;transition:all .3s}.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye{z-index:10;width:16px;margin:0 4px;color:rgba(255,255,255,.85);font-size:16px;cursor:pointer;transition:all .3s}.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover{color:#fff}.ant-upload-list-picture-card .ant-upload-list-item-actions:hover,.ant-upload-list-picture-card .ant-upload-list-item-info:hover+.ant-upload-list-item-actions{opacity:1}.ant-upload-list-picture-card .ant-upload-list-item-thumbnail,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img{position:static;display:block;width:100%;height:100%;object-fit:contain}.ant-upload-list-picture-card .ant-upload-list-item-name{display:none;margin:8px 0 0;padding:0;line-height:1.66667;text-align:center}.ant-upload-list-picture-card .ant-upload-list-item-file+.ant-upload-list-item-name{position:absolute;bottom:10px;display:block}.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info{height:auto}.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-delete,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-eye,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info::before{display:none}.ant-upload-list-picture-card .ant-upload-list-item-progress{bottom:32px;width:calc(100% - 14px);padding-left:0}.ant-upload-list-picture-container,.ant-upload-list-text-container{transition:opacity .3s,height .3s}.ant-upload-list-picture-container::before,.ant-upload-list-text-container::before{display:table;width:0;height:0;content:''}.ant-upload-list-picture-container .ant-upload-span,.ant-upload-list-text-container .ant-upload-span{display:block;flex:auto}.ant-upload-list-picture .ant-upload-span,.ant-upload-list-text .ant-upload-span{display:flex;align-items:center}.ant-upload-list-picture .ant-upload-span>*,.ant-upload-list-text .ant-upload-span>*{flex:none}.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-text .ant-upload-list-item-name{flex:auto;padding:0 4px}.ant-upload-list-picture .ant-upload-list-item-card-actions,.ant-upload-list-text .ant-upload-list-item-card-actions,.ant-upload-list-text .ant-upload-text-icon .anticon{position:static}.ant-upload-list .ant-upload-animate-inline-appear,.ant-upload-list .ant-upload-animate-inline-enter,.ant-upload-list .ant-upload-animate-inline-leave{animation-duration:.3s;animation-fill-mode:cubic-bezier(.78,.14,.15,.86)}.ant-upload-list .ant-upload-animate-inline-appear,.ant-upload-list .ant-upload-animate-inline-enter{animation-name:uploadAnimateInlineIn}.ant-upload-list .ant-upload-animate-inline-leave{animation-name:uploadAnimateInlineOut}@keyframes uploadAnimateInlineIn{from{width:0;height:0;margin:0;padding:0;opacity:0}}@keyframes uploadAnimateInlineOut{to{width:0;height:0;margin:0;padding:0;opacity:0}}.ant-upload-rtl.ant-upload.ant-upload-select-picture-card{margin-right:auto;margin-left:8px}.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-1{padding-right:22px;padding-left:14px}.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-2{padding-right:22px;padding-left:28px}.ant-upload-list-rtl .ant-upload-list-item-name{padding-right:20px;padding-left:0}.ant-upload-list-rtl .ant-upload-list-item-name-icon-count-1{padding-left:14px}.ant-upload-list-rtl .ant-upload-list-item-card-actions{right:auto;left:0}.ant-upload-list-rtl .ant-upload-list-item-card-actions .anticon{padding-right:0;padding-left:5px}.ant-upload-list-rtl .ant-upload-list-item-info{padding:0 4px 0 12px}.ant-upload-list-rtl .ant-upload-list-item .anticon-close{right:auto;left:4px}.ant-upload-list-rtl .ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon{padding-right:0;padding-left:5px}.ant-upload-list-rtl .ant-upload-list-item-progress{padding-right:24px;padding-left:0}.ant-upload-list-picture .ant-upload-list-item-info,.ant-upload-list-picture-card .ant-upload-list-item-info{padding:0}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-thumbnail,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-thumbnail{right:8px;left:auto}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-icon,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-icon{right:50%;left:auto;transform:translate(50%,-50%)}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name{margin:0 8px 0 0;padding-right:48px;padding-left:8px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-1,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-1{padding-right:48px;padding-left:18px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-2,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-2{padding-right:48px;padding-left:36px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-progress,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-progress{padding-right:0;padding-left:0}.ant-upload-list-rtl.ant-upload-list-picture .anticon-close,.ant-upload-list-rtl.ant-upload-list-picture-card .anticon-close{right:auto;left:8px}.ant-upload-list-rtl .ant-upload-list-picture-card-container{margin:0 0 4px 4px}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-actions{right:50%;left:auto;transform:translate(50%,-50%)}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-file+.ant-upload-list-item-name{margin:8px 0 0;padding:0}.ant-cascader,.ant-cascader-picker,.ant-select-auto-complete{box-sizing:border-box;margin:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;line-height:1.66667}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item{float:unset}.ant-select-auto-complete{padding:0}.ant-select-auto-complete .ant-select-clear{right:13px}.ant-select-dropdown-hidden{display:none}.ant-cascader{padding:0}.ant-cascader-input.ant-input{position:static;width:100%;padding-right:24px;background-color:transparent!important;cursor:pointer}.ant-cascader-picker-show-search .ant-cascader-input.ant-input{position:relative}.ant-cascader-picker{padding:0;position:relative;display:inline-block;background-color:#fff;border-radius:2px;outline:0;cursor:pointer;transition:color .3s}.ant-cascader-picker-with-value .ant-cascader-picker-label,.ellipsis__shadow{color:transparent}.ant-cascader-picker-disabled{color:rgba(0,0,0,.25);background:#f5f5f5;cursor:not-allowed}.ant-cascader-picker-disabled .ant-cascader-input{cursor:not-allowed}.ant-cascader-picker:focus .ant-cascader-input{outline:0;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.ant-input-rtl .ant-cascader-picker:focus .ant-cascader-input{border-right-width:0;border-left-width:1px!important}.ant-cascader-picker-borderless .ant-cascader-input{border-color:transparent!important;box-shadow:none!important}.ant-cascader-picker-show-search.ant-cascader-picker-focused{color:rgba(0,0,0,.25)}.ant-cascader-picker-label{position:absolute;top:50%;left:0;width:100%;height:20px;margin-top:-10px;padding:0 20px 0 8px;overflow:hidden;line-height:20px;white-space:nowrap;text-overflow:ellipsis}.ant-cascader-picker-arrow,.ant-cascader-picker-clear{position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;line-height:12px;font-size:12px;right:8px}.ant-cascader-picker-clear{z-index:2;color:rgba(0,0,0,.25);background:#fff;cursor:pointer;opacity:0;transition:color .3s ease,opacity .15s ease}.ant-cascader-picker-clear:hover{color:rgba(0,0,0,.45)}.ant-cascader-picker:hover .ant-cascader-picker-clear{opacity:1}.ant-cascader-picker-arrow{z-index:1;color:rgba(0,0,0,.25)}.ant-cascader-menu,.ant-cascader-menus ol,.ant-cascader-menus ul{margin:0;list-style:none}.ant-input-rtl .ant-cascader-picker-label:hover+.ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover+.ant-cascader-input){border-right-width:0;border-left-width:1px!important}.ant-cascader-picker-small .ant-cascader-picker-arrow,.ant-cascader-picker-small .ant-cascader-picker-clear{right:8px}.ant-cascader-menus{z-index:1050;font-size:12px;white-space:nowrap;background:#fff;border-radius:2px}.ant-cascader-menus-empty,.ant-cascader-menus-hidden{display:none}.ant-cascader-menus.ant-slide-up-appear.ant-slide-up-appear-active.ant-cascader-menus-placement-topLeft,.ant-cascader-menus.ant-slide-up-enter.ant-slide-up-enter-active.ant-cascader-menus-placement-topLeft{animation-name:antSlideDownIn}.ant-cascader-menus.ant-slide-up-leave.ant-slide-up-leave-active.ant-cascader-menus-placement-bottomLeft{animation-name:antSlideUpOut}.ant-cascader-menus.ant-slide-up-leave.ant-slide-up-leave-active.ant-cascader-menus-placement-topLeft{animation-name:antSlideDownOut}.ant-cascader-menu{display:inline-block;min-width:111px;height:180px;padding:4px 0;overflow:auto;vertical-align:top;border-right:1px solid #f0f0f0;-ms-overflow-style:-ms-autohiding-scrollbar}.alain-pro__light .alain-pro__sider .ant-menu-light,.ant-cascader-menu:last-child{border-right-color:transparent}.ant-cascader-menu:first-child{border-radius:2px 0 0 2px}.ant-cascader-menu:last-child{margin-right:-1px;border-radius:0 2px 2px 0}.ant-cascader-menu:only-child{border-radius:2px}.ant-cascader-menu-item{padding:5px 8px;overflow:hidden;line-height:18px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.ant-cascader-menu-item:hover{background:#f5f5f5}.ant-cascader-menu-item-disabled{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-cascader-menu-item-disabled:hover{background:0 0}.ant-cascader-menu-empty .ant-cascader-menu-item{color:rgba(0,0,0,.25);cursor:default;pointer-events:none}.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled),.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover{font-weight:600;background-color:#e6f7ff}.ant-cascader-menu-item-expand{position:relative;padding-right:24px}.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-item-loading-icon{position:absolute;right:8px;color:rgba(0,0,0,.45);font-size:10px}.ant-cascader-menu-rtl .ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-rtl .ant-cascader-menu-item-loading-icon,.ant-cascader-picker-rtl .ant-cascader-picker-arrow,.ant-cascader-picker-rtl .ant-cascader-picker-clear,.ant-cascader-picker-rtl.ant-cascader-picker-small .ant-cascader-picker-arrow,.ant-cascader-picker-rtl.ant-cascader-picker-small .ant-cascader-picker-clear{right:auto;left:8px}.ant-cascader-menu-item-disabled.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-item-disabled.ant-cascader-menu-item-loading-icon,.ant-tree-checkbox-disabled+span{color:rgba(0,0,0,.25)}.ant-cascader-menu-item .ant-cascader-menu-item-keyword{color:#ff4d4f}.ant-cascader-picker-rtl .ant-cascader-input.ant-input{padding-right:7px;padding-left:24px;text-align:right}.ant-cascader-picker-rtl .ant-cascader-picker-label{padding:0 8px 0 20px;text-align:right}.ant-cascader-menu-rtl .ant-cascader-menu{border-right:none;border-left:1px solid #f0f0f0}.ant-cascader-menu-rtl .ant-cascader-menu:first-child{border-radius:0 2px 2px 0}.ant-cascader-menu-rtl .ant-cascader-menu:last-child{margin-right:0;margin-left:-1px;border-left-color:transparent;border-radius:2px 0 0 2px}.ant-cascader-menu-rtl .ant-cascader-menu:only-child{border-radius:2px}.ant-cascader-menu-rtl .ant-cascader-menu-item-expand{padding-right:8px;padding-left:24px}.ant-tree-checkbox,.ant-tree-checkbox-wrapper{box-sizing:border-box;padding:0;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-cascader-menu-rtl .ant-cascader-menu-item-loading-icon{transform:scaleY(-1)}.ant-cascader-menus{position:relative;margin-top:2px;margin-bottom:2px}nz-tree-virtual-scroll-view{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}nz-tree-virtual-scroll-view .ant-tree-list,nz-tree-virtual-scroll-view .ant-tree-list-holder{height:100%}nz-tree-view .ant-tree-switcher+.ant-tree-switcher.nz-tree-leaf-line-icon,nz-tree-virtual-scroll-view .ant-tree-switcher+.ant-tree-switcher.nz-tree-leaf-line-icon{display:none}nz-tree-view .ant-tree-list-holder-inner{display:flex;flex-direction:column}.ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line::before{top:auto!important;bottom:auto!important;height:10px!important}.ant-tree.ant-tree-directory .ant-tree-treenode{position:relative}.ant-tree.ant-tree-directory .ant-tree-treenode::before{position:absolute;top:0;right:0;bottom:4px;left:0;transition:background-color .3s;content:'';pointer-events:none}.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before{background:#f5f5f5}.ant-tree.ant-tree-directory .ant-tree-treenode>*{z-index:1}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-switcher{transition:color .3s}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper{border-radius:0;user-select:none}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected{color:#fff;background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode-selected::before,.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before{background:#1890ff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher{color:#fff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper{color:#fff;background:0 0}.ant-tree-checkbox{color:rgba(0,0,0,.85);position:relative;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-tree-checkbox-input:focus+.ant-tree-checkbox-inner,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner,.ant-tree-checkbox:hover .ant-tree-checkbox-inner{border-color:#1890ff}.ant-tree-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox::after,.ant-tree-checkbox:hover::after{visibility:visible}.ant-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:14px;height:14px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-tree .ant-tree-treenode-rtl,.ant-tree-checkbox-rtl,.ant-tree-rtl{direction:rtl}.ant-tree-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5px;height:8px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-tree-checkbox-disabled,.ant-tree-checkbox-disabled .ant-tree-checkbox-input,.ant-tree-checkbox-disabled+span{cursor:not-allowed}.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-tree-checkbox-checked .ant-tree-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after{border-color:rgba(0,0,0,.25);animation-name:none}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after{border-color:#f5f5f5;border-collapse:separate;animation-name:none}.ant-tree-checkbox-disabled:hover::after,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-disabled::after{visibility:hidden}.ant-tree-checkbox-wrapper{margin:0;color:rgba(0,0,0,.85);display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-tree-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-tree-checkbox-wrapper+.ant-tree-checkbox-wrapper{margin-left:8px}.ant-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-select-tree-checkbox,.ant-select-tree-checkbox-wrapper,.ant-tree,.ant-tree-checkbox-group{padding:0;box-sizing:border-box;font-size:12px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;color:rgba(0,0,0,.85)}.ant-tree-checkbox-group{margin:0;line-height:1.66667;display:inline-block}.ant-tree-checkbox-group-item{margin-right:6px}.ant-tree-checkbox-group-item:last-child{margin-right:0}.ant-tree-checkbox-group-item+.ant-tree-checkbox-group-item{margin-left:0}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after{top:50%;left:50%;width:6px;height:6px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after{background-color:rgba(0,0,0,.25);border-color:rgba(0,0,0,.25)}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item{margin-right:0;margin-left:6px}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item:last-child{margin-left:0!important}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item+.ant-tree-checkbox-group-item{margin-left:6px}.ant-tree{margin:0;line-height:1.66667;background:#fff;border-radius:2px;transition:background-color .3s}.ant-tree-focused:not(:hover):not(.ant-tree-active-focused){background:#e6f7ff}.ant-tree-list-holder-inner{align-items:flex-start}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner{align-items:stretch}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper{flex:auto}.ant-tree .ant-tree-treenode{display:flex;align-items:flex-start;padding:0 0 2px;outline:0}.ant-select-tree-switcher,.ant-tree-switcher{flex:none;align-self:stretch;user-select:none}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper{background:#f5f5f5}.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title{color:inherit;font-weight:500}.ant-tree-indent{align-self:stretch;white-space:nowrap;user-select:none}.ant-tree-indent-unit{display:inline-block;width:20px}.ant-tree-switcher{position:relative;width:20px;margin:0;line-height:20px;text-align:center;cursor:pointer}.ant-tree-switcher .ant-select-tree-switcher-icon,.ant-tree-switcher .ant-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-tree-switcher .ant-select-tree-switcher-icon svg,.ant-tree-switcher .ant-tree-switcher-icon svg{transition:transform .3s}.ant-tree-switcher-noop{cursor:default}.ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-tree-switcher-loading-icon{color:#1890ff}.ant-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-tree-switcher-leaf-line::after,.ant-tree-switcher-leaf-line::before{position:absolute;margin-left:-1px;content:' '}.ant-tree-switcher-leaf-line::before{top:0;bottom:-2px;border-left:1px solid #d9d9d9}.ant-tree-switcher-leaf-line::after{width:6px;height:10px;border-bottom:1px solid #d9d9d9}.ant-tree-checkbox{top:initial;margin:3px 8px 0 0}.ant-tree .ant-tree-node-content-wrapper{position:relative;z-index:auto;min-height:20px;margin:0;padding:0 4px;color:inherit;line-height:20px;background:0 0;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-tree .ant-tree-node-content-wrapper:hover{background-color:#f5f5f5}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:#bae7ff}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:top}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle:empty,.ant-tree-show-line .ant-tree-indent-unit-end::before{display:none}.ant-tree-unselectable .ant-tree-node-content-wrapper:hover{background-color:transparent}.ant-tree-node-content-wrapper[draggable=true]{line-height:20px;user-select:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#1890ff;border-radius:1px;pointer-events:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #1890ff;border-radius:50%;content:''}.ant-tree .ant-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #1890ff}.ant-tree-show-line .ant-tree-indent-unit{position:relative;height:100%}.ant-tree-show-line .ant-tree-indent-unit::before{position:absolute;top:0;right:10px;bottom:-2px;border-right:1px solid #d9d9d9;content:''}.ant-tree-show-line .ant-tree-switcher{background:#fff}.ant-tree-show-line .ant-tree-switcher-line-icon{vertical-align:-.225em}.ant-tree-rtl .ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{right:-6px;left:unset}.ant-tree-rtl .ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit::before{right:auto;left:-11px;border-right:none;border-left:1px solid #d9d9d9}.ant-tree-rtl.ant-tree-checkbox,.ant-tree-select-dropdown-rtl .ant-select-tree-checkbox{margin:3px 0 0 8px}.font-highlight{color:#ff4d4f}.ant-tree-child-tree{overflow:hidden}nz-tree{display:block}.ant-select-tree-checkbox{position:relative;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-select-tree-checkbox-input:focus+.ant-select-tree-checkbox-inner,.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner,.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner{border-color:#1890ff}.ant-select-tree-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #1890ff;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox::after,.ant-select-tree-checkbox:hover::after{visibility:visible}.ant-input-number__hide-step .ant-input-number-handler-wrap,.ant-select-tree-checkbox-disabled:hover::after,.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-disabled::after,.exception__img-block::after{visibility:hidden}.ant-select-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:14px;height:14px;direction:ltr;background-color:#fff;border:1px solid #d9d9d9;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-picker-calendar-rtl,.ant-result-rtl,.ant-select-tree-checkbox-rtl,.ant-space-rtl,.ant-tree-select-dropdown-rtl,.avatar-list-rtl,.error-collect-rtl,.exception-rtl,.global-footer-rtl,.loading-default-rtl,.onboarding-rtl,.page-header-rtl,.result-rtl,.setting-drawer-rtl,.tag-select-rtl{direction:rtl}.ant-select-tree-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5px;height:8px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-select-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner{background-color:#1890ff;border-color:#1890ff}.ant-select-tree-checkbox-disabled{cursor:not-allowed}.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after{border-color:rgba(0,0,0,.25);animation-name:none}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-input{cursor:not-allowed}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner{background-color:#f5f5f5;border-color:#d9d9d9!important}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after{border-color:#f5f5f5;border-collapse:separate;animation-name:none}.ant-select-tree-checkbox-disabled+span{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-select-tree-checkbox-wrapper{margin:0;display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-select-tree-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-select-tree-checkbox-wrapper+.ant-select-tree-checkbox-wrapper{margin-left:8px}.ant-select-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-select-tree-checkbox-group{box-sizing:border-box;margin:0;padding:0;color:rgba(0,0,0,.85);font-size:12px;font-variant:tabular-nums;line-height:1.66667;list-style:none;font-feature-settings:tnum;display:inline-block}.ant-select-tree-checkbox-group-item{margin-right:6px}.ant-select-tree-checkbox-group-item:last-child{margin-right:0}.ant-select-tree-checkbox-group-item+.ant-select-tree-checkbox-group-item{margin-left:0}.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner{background-color:#fff;border-color:#d9d9d9}.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after{top:50%;left:50%;width:6px;height:6px;background-color:#1890ff;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after{background-color:rgba(0,0,0,.25);border-color:rgba(0,0,0,.25)}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item{margin-right:0;margin-left:6px}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item:last-child{margin-left:0!important}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item+.ant-select-tree-checkbox-group-item{margin-left:6px}.ant-tree-select-dropdown{padding:4px 2px 0}.ant-tree-select-dropdown .ant-select-tree{border-radius:0}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner{align-items:stretch}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode{padding-bottom:4px}.ant-picker-calendar,.ant-select-tree{padding:0;font-size:12px;box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode .ant-select-tree-node-content-wrapper{flex:auto}.ant-select-tree{margin:0;color:rgba(0,0,0,.85);line-height:1.66667;background:#fff;border-radius:2px;transition:background-color .3s}.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused){background:#e6f7ff}.ant-select-tree-list-holder-inner{align-items:flex-start}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner{align-items:stretch}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-node-content-wrapper{flex:auto}.ant-select-tree .ant-select-tree-treenode{display:flex;align-items:flex-start;padding:0 0 2px;outline:0}.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper{color:rgba(0,0,0,.25);cursor:not-allowed}.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover{background:0 0}.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper{background:#f5f5f5}.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title{color:inherit;font-weight:500}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value,.ant-select-tree-switcher-loading-icon{color:#1890ff}.ant-select-tree-indent{align-self:stretch;white-space:nowrap;user-select:none}.ant-select-tree-indent-unit{display:inline-block;width:20px}.ant-select-tree-switcher{position:relative;width:20px;margin:0;line-height:20px;text-align:center;cursor:pointer}.ant-select-tree-switcher .ant-select-tree-switcher-icon,.ant-select-tree-switcher .ant-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-select-tree-switcher .ant-select-tree-switcher-icon svg,.ant-select-tree-switcher .ant-tree-switcher-icon svg{transition:transform .3s}.ant-select-tree-switcher-noop{cursor:default}.ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-select-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-select-tree-switcher-leaf-line::before{position:absolute;top:0;bottom:-2px;margin-left:-1px;border-left:1px solid #d9d9d9;content:' '}.ant-select-tree-switcher-leaf-line::after{position:absolute;width:6px;height:10px;margin-left:-1px;border-bottom:1px solid #d9d9d9;content:' '}.ant-select-tree-checkbox{top:initial;margin:3px 8px 0 0}.ant-select-tree .ant-select-tree-node-content-wrapper{position:relative;z-index:auto;min-height:20px;margin:0;padding:0 4px;color:inherit;line-height:20px;background:0 0;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-select-tree .ant-select-tree-node-content-wrapper:hover{background-color:#f5f5f5}.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected{background-color:#bae7ff}.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:top}.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle:empty,.ant-select-tree-show-line .ant-select-tree-indent-unit-end::before{display:none}.ant-select-tree-unselectable .ant-select-tree-node-content-wrapper:hover{background-color:transparent}.ant-select-tree-node-content-wrapper[draggable=true]{line-height:20px;user-select:none}.ant-select-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#1890ff;border-radius:1px;pointer-events:none}.ant-select-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #1890ff;border-radius:50%;content:''}.ant-select-tree .ant-select-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #1890ff}.ant-select-tree-show-line .ant-select-tree-indent-unit{position:relative;height:100%}.ant-select-tree-show-line .ant-select-tree-indent-unit::before{position:absolute;top:0;right:10px;bottom:-2px;border-right:1px solid #d9d9d9;content:''}.ant-select-tree-show-line .ant-select-tree-switcher{background:#fff}.ant-select-tree-show-line .ant-select-tree-switcher-line-icon{vertical-align:-.225em}.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher-loading-icon{transform:scaleY(-1)}.ant-tree.ant-select-tree.ant-tree-show-line nz-tree-node[builtin]:not(:last-child)>li::before{content:' ';width:1px;border-left:1px solid #d9d9d9;height:calc(100% - 16px);position:absolute;left:12px;margin:26px 0}.ant-select-dropdown.ant-select-tree-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px;overflow:auto}.ant-picker-calendar{margin:0;color:rgba(0,0,0,.85);line-height:1.66667;background:#fff}.ant-picker-calendar-header{display:flex;justify-content:flex-end;padding:8px 0}.ant-picker-calendar-header .ant-picker-calendar-year-select{min-width:80px}.ant-picker-calendar-header .ant-picker-calendar-month-select{min-width:70px;margin-left:4px}.ant-picker-calendar-header .ant-picker-calendar-mode-switch{margin-left:4px}.ant-picker-calendar .ant-picker-panel{background:#fff;border:0;border-top:1px solid #f0f0f0;border-radius:0}.ant-picker-calendar .ant-picker-panel .ant-picker-date-panel,.ant-picker-calendar .ant-picker-panel .ant-picker-month-panel{width:auto}.ant-picker-calendar .ant-picker-panel .ant-picker-body{padding:4px 0}.ant-picker-calendar .ant-picker-panel .ant-picker-content{width:100%}.ant-picker-calendar-mini{border-radius:2px}.ant-picker-calendar-mini .ant-picker-calendar-header{padding-right:4px;padding-left:4px}.ant-picker-calendar-mini .ant-picker-panel{border-radius:0 0 2px 2px}.ant-picker-calendar-mini .ant-picker-content{height:256px}.ant-picker-calendar-mini .ant-picker-content th{height:auto;padding:0;line-height:18px}.ant-picker-calendar-full .ant-picker-panel{display:block;width:100%;text-align:right;background:#fff;border:0}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell .ant-picker-calendar-date-today::before,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell::before{display:none}.ant-picker-calendar-full .ant-picker-panel .ant-picker-body td,.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{padding:0}.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{height:auto;padding:0 12px 5px 0;line-height:18px}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell:hover .ant-picker-calendar-date{background:#f5f5f5}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today{background:#e6f7ff}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date{display:block;width:auto;height:auto;margin:0 2px;padding:2px 4px 0;border:0;border-top:2px solid #f0f0f0;border-radius:0;transition:background .3s}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-value{line-height:24px;transition:color .3s}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content{position:static;width:auto;height:86px;overflow-y:auto;color:rgba(0,0,0,.85);line-height:1.66667;text-align:left}.ant-image,.half-float{position:relative}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today{border-color:#1890ff}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today .ant-picker-calendar-date-value{color:rgba(0,0,0,.85)}@media only screen and (max-width:480px){.ant-picker-calendar-header{display:block}.ant-picker-calendar-header .ant-picker-calendar-year-select{width:50%}.ant-picker-calendar-header .ant-picker-calendar-month-select{width:calc(50% - 4px)}.ant-picker-calendar-header .ant-picker-calendar-mode-switch{width:100%;margin-top:4px;margin-left:0}.ant-picker-calendar-header .ant-picker-calendar-mode-switch>label{width:50%;text-align:center}}.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-mode-switch,.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-month-select{margin-right:4px;margin-left:0}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel{text-align:left}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{padding:0 0 5px 12px}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content{text-align:right}.ant-result{padding:48px 32px}.ant-result-success .ant-result-icon>.anticon{color:#52c41a}.ant-result-error .ant-result-icon>.anticon{color:#ff4d4f}.ant-result-info .ant-result-icon>.anticon{color:#1890ff}.ant-result-warning .ant-result-icon>.anticon{color:#faad14}.ant-result-image{width:250px;height:295px;margin:auto}.ant-result-icon{margin-bottom:24px;text-align:center}.ant-result-icon>.anticon{font-size:64px}.ant-result-title{color:rgba(0,0,0,.85);font-size:20px;line-height:1.8;text-align:center}.ant-result-subtitle{color:rgba(0,0,0,.45);font-size:12px;line-height:1.6;text-align:center}.ant-result-extra{margin:24px 0 0;text-align:center}.ant-result-extra>*{margin-right:8px}.ant-result-extra>:last-child{margin-right:0}.ant-result-content{margin-top:24px;padding:24px 40px}.ant-result-rtl .ant-result-extra>*{margin-right:0;margin-left:8px}.ant-result-rtl .ant-result-extra>:last-child{margin-left:0}nz-result{display:block}.ant-space{display:inline-flex}.ant-space-vertical{flex-direction:column}.ant-space-align-center{align-items:center}.ant-space-align-start{align-items:flex-start}.ant-space-align-end{align-items:flex-end}.ant-space-align-baseline{align-items:baseline}.ant-space-item:empty{display:none}nz-space-item{display:block}.ant-image{display:inline-block}.ant-image-mask,.ant-image-placeholder{position:absolute;left:0;right:0;bottom:0}.ant-image-img{display:block;width:100%;height:auto}.ant-image-img-placeholder{background-color:#f5f5f5;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=);background-repeat:no-repeat;background-position:center center;background-size:30%}.ant-image-mask{top:0;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.5);cursor:pointer;opacity:0;transition:opacity .3s}.ant-image-mask-info .anticon{margin-inline-end:0}.ant-image-mask:hover{opacity:1}.ant-image-placeholder{top:0}.ant-image-preview{pointer-events:none;height:100%;text-align:center}.ant-image-preview.ant-zoom-enter,.ant-image-preview.antzoom-appear{transform:none;opacity:0;animation-duration:.3s;user-select:none}.cdk-overlay-backdrop.ant-image-preview-mask,.img-thm:hover .img-thm__icon,.loading-backdrop{opacity:1}.ant-image-preview-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;height:100%;background-color:rgba(0,0,0,.45)}.ant-image-preview-mask-hidden{display:none}.ant-image-preview-wrap{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;outline:0;-webkit-overflow-scrolling:touch;z-index:1080}.ant-image-preview-body{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.ant-image-preview-img{max-width:100%;max-height:100%;vertical-align:middle;transform:scale3d(1,1,1);cursor:grab;transition:transform .3s cubic-bezier(.215,.61,.355,1) 0s;user-select:none;pointer-events:auto}.ant-image-preview-img-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .3s cubic-bezier(.215,.61,.355,1) 0s}.ant-image-preview-img-wrapper::before{display:inline-block;width:1px;height:50%;margin-right:-1px;content:''}.ant-image-preview-moving .ant-image-preview-img{cursor:grabbing}.ant-image-preview-moving .ant-image-preview-img-wrapper{transition-duration:0s}.ant-image-preview-operations{box-sizing:border-box;margin:0;padding:0;font-size:12px;font-variant:tabular-nums;line-height:1.66667;font-feature-settings:tnum;position:absolute;top:0;right:0;z-index:1;display:flex;flex-direction:row-reverse;align-items:center;width:100%;color:rgba(255,255,255,.85);list-style:none;background:rgba(0,0,0,.1);pointer-events:auto}.ant-image-preview-operations-icon,.ant-image-preview-switch-left>.anticon,.ant-image-preview-switch-right>.anticon{font-size:18px}.ant-image-preview-operations-operation{margin-left:8px;padding:8px;cursor:pointer}.ant-image-preview-operations-operation-disabled{color:rgba(255,255,255,.25);pointer-events:none}.ant-image-preview-operations-operation:last-of-type{margin-left:0}.ant-image-preview-switch-left,.ant-image-preview-switch-right{position:absolute;top:50%;right:10px;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:-22px;color:rgba(255,255,255,.85);background:rgba(0,0,0,.1);border-radius:50%;cursor:pointer;pointer-events:auto}.ant-image-preview-switch-left-disabled,.ant-image-preview-switch-right-disabled{color:rgba(255,255,255,.25);cursor:not-allowed}.ant-form-item-label em,.dd-btn{color:#bfbfbf}.ant-image-preview-switch-left-disabled>.anticon,.ant-image-preview-switch-right-disabled>.anticon{cursor:not-allowed}.ant-image-preview-switch-left{left:10px}.ant-image-preview-switch-right{right:10px}sf+st{margin-top:16px}.ant-btn+.ant-btn,.ant-btn+nz-button-group,.ant-btn+nz-dropdown,.ant-btn+nz-popconfirm,nz-button-group+.ant-btn,nz-button-group+nz-popconfirm,nz-dropdown+.ant-btn,nz-popconfirm+.ant-btn,nz-popconfirm+nz-button-group,nz-popconfirm+nz-popconfirm{margin-left:8px}.ant-btn-group .ant-btn+.ant-btn{margin-left:-1px}.ant-transfer-operation .ant-btn+.ant-btn{margin-left:initial}[dir=rtl] .ant-btn+.ant-btn,[dir=rtl] .ant-btn+nz-button-group,[dir=rtl] .ant-btn+nz-dropdown,[dir=rtl] .ant-btn+nz-popconfirm,[dir=rtl] nz-button-group+.ant-btn,[dir=rtl] nz-button-group+nz-popconfirm,[dir=rtl] nz-dropdown+.ant-btn,[dir=rtl] nz-popconfirm+.ant-btn,[dir=rtl] nz-popconfirm+nz-button-group,[dir=rtl] nz-popconfirm+nz-popconfirm{margin-right:8px;margin-left:inherit}a:focus{text-decoration:none}.ant-card{margin-bottom:16px}.ant-card__body-nopadding .ant-card-body{padding:0!important}@media (min-width:300px){.ant-drawer-left .drawer-sm,.ant-drawer-right .drawer-sm{width:auto!important;max-width:300px}}@media (max-width:299px){.ant-drawer-left .drawer-sm,.ant-drawer-right .drawer-sm{width:100%!important}}@media (min-width:600px){.ant-drawer-left .drawer-md,.ant-drawer-right .drawer-md{width:auto!important;max-width:600px}}@media (max-width:599px){.ant-drawer-left .drawer-md,.ant-drawer-right .drawer-md{width:100%!important}}@media (min-width:900px){.ant-drawer-left .drawer-lg,.ant-drawer-right .drawer-lg{width:auto!important;max-width:900px}}@media (max-width:899px){.ant-drawer-left .drawer-lg,.ant-drawer-right .drawer-lg{width:100%!important}}@media (min-width:1200px){.ant-drawer-left .drawer-xl,.ant-drawer-right .drawer-xl{width:auto!important;max-width:1200px}}@media (max-width:1199px){.ant-drawer-left .drawer-xl,.ant-drawer-right .drawer-xl{width:100%!important}}.drawer-footer{position:absolute;bottom:0;left:0;width:100%;padding:8px 16px;text-align:right;background:#fff;border-radius:0 0 2px 2px}.ant-form-item-control em{margin-left:8px}[dir=rtl] .ant-form-item-control em{margin-right:8px;margin-left:inherit}@media (min-width:576px){.modal-sm .ant-modal{width:auto!important;max-width:300px}}@media (min-width:768px){.modal-md .ant-modal{width:auto!important;max-width:600px}}@media (min-width:992px){.modal-lg .ant-modal{width:auto!important;max-width:900px}}@media (min-width:1600px){.modal-xl .ant-modal{width:auto!important;max-width:1200px}}.modal-header{display:flex;justify-content:space-between;margin:-16px -16px 16px;padding:11px 16px;background:#fff;border-radius:2px 2px 0 0}.modal-title{margin:0;color:rgba(0,0,0,.85);font-weight:500;font-size:14px;line-height:22px;word-wrap:break-word}.modal-title small{margin-left:8px;color:#8c8c8c;font-size:12px}.modal-spin{display:block;min-height:150px;line-height:150px;text-align:center}.modal-footer{margin:16px -16px -16px;padding:8px 16px;text-align:right;border-radius:0 0 2px 2px}.modal-include-tabs nz-tabset{margin-top:-16px}.modal-body-nopadding .ant-modal-body{padding:0!important}.ant-table td .img,.ant-table td>img{max-width:32px;max-height:32px;margin-right:4px;vertical-align:middle;border-radius:4px}.ant-table-rep__hide-header-footer .ant-table-footer,.ant-table-rep__hide-header-footer .ant-table-title,.ant-table-rep__title{display:none}[dir=rtl] .ant-table td .img,[dir=rtl] .ant-table td>img{margin-right:inherit;margin-left:4px}@media screen and (max-width:767px){.ant-table-rep__title{display:inline-block;width:100px;padding-right:8px;color:rgba(0,0,0,.5);text-align:right}.ant-table-rep__hide-header-footer .ant-table-footer,.ant-table-rep__hide-header-footer .ant-table-title{display:block}.ant-table-rep .ant-table table{width:100%!important;table-layout:auto!important}.ant-table-rep .ant-table-thead{display:none}.ant-table-rep .ant-table-title{text-align:center;background:#f0f0f0}.ant-table-rep .ant-table-tbody>tr:nth-child(4n+3){background:#f9f9f9}.ant-table-rep .ant-table-tbody>tr>td{display:flex;align-items:center;width:100%;padding:6px 4px;white-space:inherit;text-align:left!important;border-bottom:none}.ant-table-rep .ant-table-tbody>tr>td .ant-table-rep__title+:not(.ant-avatar){flex:1;word-break:break-all}}.ant-tag__plus .ant-tag{background:#fff;border-style:dashed}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small{font-size:65%}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small{font-size:75%}.h1{font-size:32px}.h2{font-size:24px}.h3{font-size:20px}.h4{font-size:16px}.h5{font-size:14px}.h6{font-size:12px}.list-styled{list-style:inherit;padding-right:18px;padding-left:0}.list-unstyled{list-style:none;padding-right:0;padding-left:inherit}fieldset{border:none}.display-1{font-size:32px}.display-2{font-size:24px}.display-3{font-size:20px}.search__form .ant-form-item{margin-right:0;margin-bottom:16px}.search__form .ant-form-item-control{flex:1}.file-manager,.sf__object-card .sf__fixed{flex-wrap:wrap}.half-float img{display:block;max-width:100%;height:auto}.half-float .half-float-bottom{position:absolute;left:50%;z-index:2}.half-float.half-float-sm{margin-bottom:42px}.half-float.half-float-sm .half-float-bottom{bottom:-32px;width:64px;height:64px;margin-left:-32px}.half-float.half-float-md{margin-bottom:50px}.half-float.half-float-md .half-float-bottom{bottom:-40px;width:80px;height:80px;margin-left:-40px}.half-float.half-float-lg{margin-bottom:58px}.half-float.half-float-lg .half-float-bottom{bottom:-48px;width:96px;height:96px;margin-left:-48px}.row-masonry{position:relative;width:100%;margin:0;padding:0;column-gap:16px}.row-masonry>.col-masonry{display:inline-block;width:100%;min-height:1em;margin-bottom:15px}.sf__array>.ant-form-item,.sf__title{margin-bottom:8px}.row-masonry img{max-width:100%}@media only screen and (min-width:480px){.row-masonry-xs-1{column-count:1;columns:1}.row-masonry-xs-2{column-count:2;columns:2}.row-masonry-xs-3{column-count:3;columns:3}.row-masonry-xs-4{column-count:4;columns:4}.row-masonry-xs-5{column-count:5;columns:5}.row-masonry-xs-6{column-count:6;columns:6}.row-masonry-xs-7{column-count:7;columns:7}.row-masonry-xs-8{column-count:8;columns:8}.row-masonry-xs-9{column-count:9;columns:9}}@media only screen and (min-width:576px){.row-masonry-sm-1{column-count:1;columns:1}.row-masonry-sm-2{column-count:2;columns:2}.row-masonry-sm-3{column-count:3;columns:3}.row-masonry-sm-4{column-count:4;columns:4}.row-masonry-sm-5{column-count:5;columns:5}.row-masonry-sm-6{column-count:6;columns:6}.row-masonry-sm-7{column-count:7;columns:7}.row-masonry-sm-8{column-count:8;columns:8}.row-masonry-sm-9{column-count:9;columns:9}}@media only screen and (min-width:768px){.row-masonry-md-1{column-count:1;columns:1}.row-masonry-md-2{column-count:2;columns:2}.row-masonry-md-3{column-count:3;columns:3}.row-masonry-md-4{column-count:4;columns:4}.row-masonry-md-5{column-count:5;columns:5}.row-masonry-md-6{column-count:6;columns:6}.row-masonry-md-7{column-count:7;columns:7}.row-masonry-md-8{column-count:8;columns:8}.row-masonry-md-9{column-count:9;columns:9}}@media only screen and (min-width:992px){.row-masonry-lg-1{column-count:1;columns:1}.row-masonry-lg-2{column-count:2;columns:2}.row-masonry-lg-3{column-count:3;columns:3}.row-masonry-lg-4{column-count:4;columns:4}.row-masonry-lg-5{column-count:5;columns:5}.row-masonry-lg-6{column-count:6;columns:6}.row-masonry-lg-7{column-count:7;columns:7}.row-masonry-lg-8{column-count:8;columns:8}.row-masonry-lg-9{column-count:9;columns:9}}@media only screen and (min-width:1200px){.row-masonry-xl-1{column-count:1;columns:1}.row-masonry-xl-2{column-count:2;columns:2}.row-masonry-xl-3{column-count:3;columns:3}.row-masonry-xl-4{column-count:4;columns:4}.row-masonry-xl-5{column-count:5;columns:5}.row-masonry-xl-6{column-count:6;columns:6}.row-masonry-xl-7{column-count:7;columns:7}.row-masonry-xl-8{column-count:8;columns:8}.row-masonry-xl-9{column-count:9;columns:9}}.header-dropdown{background-color:#fff;border-radius:4px}@media screen and (max-width:480px){.header-dropdown{right:0!important;left:0!important;width:100%!important;border-radius:0!important}}.sf{display:block}.sf__optional{margin-left:2px;color:rgba(0,0,0,.35)}.sf__fixed{display:flex}.sf__title{padding:0 16px;font-weight:700;text-align:left}.sf__object-card .ant-card-body{padding-left:0}.sf__object-card-fold .ant-card-body{display:none}.sf__array-add{margin-right:16px}.sf__array-container .ant-card{margin:0 16px 16px 0}.sf__array-container .ant-card-body{padding-bottom:0}.sf__array-container .ant-card .sf__array-remove{position:absolute;top:-16px;right:-16px;display:none;width:32px;height:32px;font-size:20px;line-height:32px;text-align:center;background:rgba(0,0,0,.26);border-radius:50%;cursor:pointer}.sf__array-container .ant-card .sf__array-remove i{color:#fff}.sf__array-container .ant-card:hover .sf__array-remove{display:block}@media (max-width:767px){.sf__array>.ant-form-item>.ant-form-item-control-wrapper,.sf__array>.ant-form-item>.ant-form-item-label{flex:0 0 100%;max-width:100%}.sf__array>.ant-form-item>.ant-form-item-label{display:flex;margin-bottom:8px}.sf__array-container .ant-card{margin-right:0}.sf__array-container .ant-card .sf__array-remove{right:8px;display:block}.sf__array-container>.sf__array-item{flex:0 0 100%;max-width:100%}}.sf__checkbox-list{display:block;width:100%}@media (min-width:768px){.sf__checkbox-list .ant-col{margin-top:8px}}.sf .ant-upload-select-picture-card i{color:#999;font-size:32px}.sf .ant-upload.ant-upload-drag{height:180px}.sf .ant-transfer-list{background:#fff}.sf .ant-transfer-list-header label{position:unset}.sf .ant-transfer .ant-btn+.ant-btn{margin-left:0}.sf__no-error .ant-form-item{margin-bottom:8px}.sf__inline .sf__item{display:inline-block;margin-bottom:8px;vertical-align:top}.sf__inline .ant-form-inline>.sf__item,.sf__inline .sf__array-container .ant-card-body>.sf__item{margin-bottom:0}.sf__inline .ant-form-inline .ant-select{min-width:100px}.sf__inline .sf__array-container>.sf__array-item{flex:initial;width:100%;max-width:100%}.sf__inline .sf__array-container .ant-card{margin:0}.sf__inline .sf__array-container .ant-card-body{padding:8px 0 0 8px}.sf__inline .sf-btns{margin-right:0}@media (max-width:767px){.sf__inline .sf__item{display:block;width:100%}.sf__inline .sf__item .ant-form-item{display:block!important;width:initial!important;margin-right:0}.sf__inline .ant-form-item-control,.sf__inline .ant-form-item-label{display:block!important;padding:inherit}}.sf__horizontal .ant-form-item-label>label{display:flex;justify-content:flex-end}.sf__horizontal .sf__label-text{overflow:hidden;text-overflow:ellipsis}@media (max-width:767px){.sf__horizontal .ant-form-item-label>label{justify-content:flex-start}}.sf__no-colon .ant-form-item-label label::after{content:' '}.sf__compact .ant-form-item{margin-bottom:8px}.sf__compact .sf__array-container .ant-card{margin:0 8px 8px 0}.sf__compact .sf__array-item .ant-card-body{padding:8px}.acl__hide{display:none!important}.setting-drawer__content{position:relative;min-height:100%;background:#fff}.setting-drawer__handle,.theme-btn{position:fixed;display:flex;cursor:pointer}.setting-drawer__body-item{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}.setting-drawer__body-item:first-child{padding-top:0}.setting-drawer__body-item:last-child{padding-bottom:0}.setting-drawer__title{margin-bottom:12px;color:rgba(0,0,0,.85);font-size:14px;line-height:22px}.setting-drawer__theme{margin-top:24px;overflow:hidden}.setting-drawer__theme-tag{float:left;width:20px;height:20px;margin-right:8px;color:#fff;font-weight:700;text-align:center;border-radius:2px;cursor:pointer}.setting-drawer__handle{right:0;z-index:999;align-items:center;justify-content:center;font-size:16px;text-align:center;border-radius:4px 0 0 4px;transition:right .3s cubic-bezier(.9,0,.3,.7);pointer-events:auto}.setting-drawer__handle-icon{color:#fff}.setting-drawer__handle-opened{z-index:1001}.setting-drawer-rtl .setting-drawer__handle{right:inherit;left:0;border-radius:0 4px 4px 0}.theme-btn{right:32px;bottom:102px;z-index:2147483640;flex-direction:column}.theme-btn-active{width:44px;height:44px;color:#1890ff;font-size:22px;line-height:44px}.theme-btn .ant-avatar{color:#000;background-color:#fff;box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);transition:color .3s}.theme-btn .ant-avatar:hover,.yn__yes{color:#1890ff}.bg-blue-dark-h,.bg-blue-h,.bg-blue-light-h,.bg-cyan-dark-h,.bg-cyan-h,.bg-cyan-light-h,.bg-error-h,.bg-geekblue-dark-h,.bg-geekblue-h,.bg-geekblue-light-h,.bg-gold-dark-h,.bg-gold-h,.bg-gold-light-h,.bg-green-dark-h,.bg-green-h,.bg-green-light-h,.bg-grey-dark-h,.bg-grey-darker-h,.bg-grey-h,.bg-grey-light-h,.bg-grey-lighter-h,.bg-highlight-h,.bg-info-h,.bg-lime-dark-h,.bg-lime-h,.bg-lime-light-h,.bg-magenta-dark-h,.bg-magenta-h,.bg-magenta-light-h,.bg-normal-h,.bg-orange-dark-h,.bg-orange-h,.bg-orange-light-h,.bg-primary-h,.bg-processing-h,.bg-purple-dark-h,.bg-purple-h,.bg-purple-light-h,.bg-red-dark-h,.bg-red-h,.bg-red-light-h,.bg-success-h,.bg-volcano-dark-h,.bg-volcano-h,.bg-volcano-light-h,.bg-warning-h,.bg-yellow-dark-h,.bg-yellow-h,.bg-yellow-light-h{transition:background-color .3s}.theme-btn-rtl{right:inherit;left:32px}.yn__no,.yn__yes{display:inline-flex;align-items:center;font-style:normal}.yn__no span,.yn__yes span{margin-left:4px}.yn__no{color:#8c8c8c}.pro-passport__langs .anticon,.text-white{color:#fff!important}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.border{border:1px solid #f0f0f0!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-1{border:1px solid #f0f0f0!important}.rounded-md,.rounded-sm{border-radius:2px}.rounded-top-left-md,.rounded-top-left-sm{border-top-left-radius:2px}.rounded-top-right-md,.rounded-top-right-sm{border-top-right-radius:2px}.rounded-bottom-left-md,.rounded-bottom-left-sm{border-bottom-left-radius:2px}.rounded-bottom-right-md,.rounded-bottom-right-sm{border-bottom-right-radius:2px}.border-top-1{border-top:1px solid #f0f0f0!important}.border-right-1{border-right:1px solid #f0f0f0!important}.border-bottom-1{border-bottom:1px solid #f0f0f0!important}.border-left-1{border-left:1px solid #f0f0f0!important}.border-red{border-color:#f5222d!important}.border-volcano{border-color:#fa541c!important}.border-orange{border-color:#fa8c16!important}.border-gold{border-color:#faad14!important}.border-yellow{border-color:#fadb14!important}.border-lime{border-color:#a0d911!important}.border-green{border-color:#52c41a!important}.border-cyan{border-color:#13c2c2!important}.border-blue{border-color:#1890ff!important}.border-geekblue{border-color:#2f54eb!important}.border-purple{border-color:#722ed1!important}.border-magenta{border-color:#eb2f96!important}.border-grey{border-color:#bfbfbf!important}.border-primary{border-color:#1890ff!important}.border-success{border-color:#52c41a!important}.border-error{border-color:#ff4d4f!important}.border-warning{border-color:#faad14!important}.border-info,.border-processing{border-color:#1890ff!important}.border-highlight{border-color:#ff4d4f!important}.border-normal{border-color:#d9d9d9!important}.rounded-lg{border-radius:4px}.rounded-top-left-lg{border-top-left-radius:4px}.rounded-top-right-lg{border-top-right-radius:4px}.rounded-bottom-left-lg{border-bottom-left-radius:4px}.rounded-bottom-right-lg{border-bottom-right-radius:4px}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.border-white{border-color:#fff!important}.rotate-360{transform:rotate(360deg)}.rotate-345{transform:rotate(345deg)}.rotate-330{transform:rotate(330deg)}.rotate-315{transform:rotate(315deg)}.rotate-300{transform:rotate(300deg)}.rotate-285{transform:rotate(285deg)}.rotate-270{transform:rotate(270deg)}.rotate-255{transform:rotate(255deg)}.rotate-240{transform:rotate(240deg)}.rotate-225{transform:rotate(225deg)}.rotate-210{transform:rotate(210deg)}.rotate-195{transform:rotate(195deg)}.rotate-180{transform:rotate(180deg)}.rotate-165{transform:rotate(165deg)}.rotate-150{transform:rotate(150deg)}.rotate-135{transform:rotate(135deg)}.rotate-120{transform:rotate(120deg)}.rotate-105{transform:rotate(105deg)}.rotate-90{transform:rotate(90deg)}.rotate-75{transform:rotate(75deg)}.rotate-60{transform:rotate(60deg)}.rotate-45{transform:rotate(45deg)}.rotate-30{transform:rotate(30deg)}.rotate-15{transform:rotate(15deg)}code{margin:0 4px;padding:2px 4px;font-size:90%;background-color:#f7f7f7;border:1px solid #eee;border-radius:2px}.pr0,.px0{padding-right:0!important}.pl0,.px0,[dir=rtl] .pr0{padding-left:0!important}.pb0,.py0{padding-bottom:0!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-hover{cursor:pointer}.text-hover:hover{color:#1890ff!important}.bg-red-light{background-color:#ff4d4f!important}.bg-red{background-color:#f5222d!important}.bg-red-dark{background-color:#cf1322!important}.bg-red-light-h:hover{background-color:#ff4d4f!important}.bg-red-h:hover{background-color:#f5222d!important}.bg-red-dark-h:hover{background-color:#cf1322!important}.text-red-light{color:#ff4d4f!important}.text-red{color:#f5222d!important}.text-red-dark{color:#cf1322!important}.bg-volcano-light{background-color:#ff7a45!important}.bg-volcano{background-color:#fa541c!important}.bg-volcano-dark{background-color:#d4380d!important}.bg-volcano-light-h:hover{background-color:#ff7a45!important}.bg-volcano-h:hover{background-color:#fa541c!important}.bg-volcano-dark-h:hover{background-color:#d4380d!important}.text-volcano-light{color:#ff7a45!important}.text-volcano{color:#fa541c!important}.text-volcano-dark{color:#d4380d!important}.bg-orange-light{background-color:#ffa940!important}.bg-orange{background-color:#fa8c16!important}.bg-orange-dark{background-color:#d46b08!important}.bg-orange-light-h:hover{background-color:#ffa940!important}.bg-orange-h:hover{background-color:#fa8c16!important}.bg-orange-dark-h:hover{background-color:#d46b08!important}.text-orange-light{color:#ffa940!important}.text-orange{color:#fa8c16!important}.text-orange-dark{color:#d46b08!important}.bg-gold-light{background-color:#ffc53d!important}.bg-gold{background-color:#faad14!important}.bg-gold-dark{background-color:#d48806!important}.bg-gold-light-h:hover{background-color:#ffc53d!important}.bg-gold-h:hover{background-color:#faad14!important}.bg-gold-dark-h:hover{background-color:#d48806!important}.text-gold-light{color:#ffc53d!important}.text-gold{color:#faad14!important}.text-gold-dark{color:#d48806!important}.bg-yellow-light{background-color:#ffec3d!important}.bg-yellow{background-color:#fadb14!important}.bg-yellow-dark{background-color:#d4b106!important}.bg-yellow-light-h:hover{background-color:#ffec3d!important}.bg-yellow-h:hover{background-color:#fadb14!important}.bg-yellow-dark-h:hover{background-color:#d4b106!important}.text-yellow-light{color:#ffec3d!important}.text-yellow{color:#fadb14!important}.text-yellow-dark{color:#d4b106!important}.bg-lime-light{background-color:#bae637!important}.bg-lime{background-color:#a0d911!important}.bg-lime-dark{background-color:#7cb305!important}.bg-lime-light-h:hover{background-color:#bae637!important}.bg-lime-h:hover{background-color:#a0d911!important}.bg-lime-dark-h:hover{background-color:#7cb305!important}.text-lime-light{color:#bae637!important}.text-lime{color:#a0d911!important}.text-lime-dark{color:#7cb305!important}.bg-green-light{background-color:#73d13d!important}.bg-green{background-color:#52c41a!important}.bg-green-dark{background-color:#389e0d!important}.bg-green-light-h:hover{background-color:#73d13d!important}.bg-green-h:hover{background-color:#52c41a!important}.bg-green-dark-h:hover{background-color:#389e0d!important}.text-green-light{color:#73d13d!important}.text-green{color:#52c41a!important}.text-green-dark{color:#389e0d!important}.bg-cyan-light{background-color:#36cfc9!important}.bg-cyan{background-color:#13c2c2!important}.bg-cyan-dark{background-color:#08979c!important}.bg-cyan-light-h:hover{background-color:#36cfc9!important}.bg-cyan-h:hover{background-color:#13c2c2!important}.bg-cyan-dark-h:hover{background-color:#08979c!important}.text-cyan-light{color:#36cfc9!important}.text-cyan{color:#13c2c2!important}.text-cyan-dark{color:#08979c!important}.bg-blue-light{background-color:#40a9ff!important}.bg-blue{background-color:#1890ff!important}.bg-blue-dark{background-color:#096dd9!important}.bg-blue-light-h:hover{background-color:#40a9ff!important}.bg-blue-h:hover{background-color:#1890ff!important}.bg-blue-dark-h:hover{background-color:#096dd9!important}.text-blue-light{color:#40a9ff!important}.text-blue{color:#1890ff!important}.text-blue-dark{color:#096dd9!important}.bg-geekblue-light{background-color:#597ef7!important}.bg-geekblue{background-color:#2f54eb!important}.bg-geekblue-dark{background-color:#1d39c4!important}.bg-geekblue-light-h:hover{background-color:#597ef7!important}.bg-geekblue-h:hover{background-color:#2f54eb!important}.bg-geekblue-dark-h:hover{background-color:#1d39c4!important}.text-geekblue-light{color:#597ef7!important}.text-geekblue{color:#2f54eb!important}.text-geekblue-dark{color:#1d39c4!important}.bg-purple-light{background-color:#9254de!important}.bg-purple{background-color:#722ed1!important}.bg-purple-dark{background-color:#531dab!important}.bg-purple-light-h:hover{background-color:#9254de!important}.bg-purple-h:hover{background-color:#722ed1!important}.bg-purple-dark-h:hover{background-color:#531dab!important}.text-purple-light{color:#9254de!important}.text-purple{color:#722ed1!important}.text-purple-dark{color:#531dab!important}.bg-magenta-light{background-color:#f759ab!important}.bg-magenta{background-color:#eb2f96!important}.bg-magenta-dark{background-color:#c41d7f!important}.bg-magenta-light-h:hover{background-color:#f759ab!important}.bg-magenta-h:hover{background-color:#eb2f96!important}.bg-magenta-dark-h:hover{background-color:#c41d7f!important}.text-magenta-light{color:#f759ab!important}.text-magenta{color:#eb2f96!important}.text-magenta-dark{color:#c41d7f!important}.bg-grey-light{background-color:#d9d9d9!important}.bg-grey{background-color:#bfbfbf!important}.bg-grey-dark{background-color:#8c8c8c!important}.bg-grey-light-h:hover{background-color:#d9d9d9!important}.bg-grey-h:hover{background-color:#bfbfbf!important}.bg-grey-dark-h:hover{background-color:#8c8c8c!important}.text-grey-light{color:#d9d9d9!important}.text-grey{color:#bfbfbf!important}.text-grey-dark{color:#8c8c8c!important}.bg-primary-light{background-color:#40a9ff!important}.bg-primary{background-color:#1890ff!important}.bg-primary-dark{background-color:#096dd9!important}.bg-primary-h:hover{background-color:#1890ff!important}.text-primary-light{color:#40a9ff!important}.text-primary{color:#1890ff!important}.text-primary-dark{color:#096dd9!important}.bg-success-light{background-color:#73d13d!important}.bg-success{background-color:#52c41a!important}.bg-success-dark{background-color:#389e0d!important}.bg-success-h:hover{background-color:#52c41a!important}.text-success-light{color:#73d13d!important}.text-success{color:#52c41a!important}.text-success-dark{color:#389e0d!important}.bg-error-light{background-color:#ff7875!important}.bg-error{background-color:#ff4d4f!important}.bg-error-dark{background-color:#d9363e!important}.bg-error-h:hover{background-color:#ff4d4f!important}.text-error-light{color:#ff7875!important}.text-error{color:#ff4d4f!important}.text-error-dark{color:#d9363e!important}.bg-warning-light{background-color:#ffc53d!important}.bg-warning{background-color:#faad14!important}.bg-warning-dark{background-color:#d48806!important}.bg-warning-h:hover{background-color:#faad14!important}.text-warning-light{color:#ffc53d!important}.text-warning{color:#faad14!important}.text-warning-dark{color:#d48806!important}.bg-info-light{background-color:#40a9ff!important}.bg-info{background-color:#1890ff!important}.bg-info-dark{background-color:#096dd9!important}.bg-info-h:hover{background-color:#1890ff!important}.text-info-light{color:#40a9ff!important}.text-info{color:#1890ff!important}.text-info-dark{color:#096dd9!important}.bg-processing-light{background-color:#40a9ff!important}.bg-processing{background-color:#1890ff!important}.bg-processing-dark{background-color:#096dd9!important}.bg-processing-h:hover{background-color:#1890ff!important}.text-processing-light{color:#40a9ff!important}.text-processing{color:#1890ff!important}.text-processing-dark{color:#096dd9!important}.bg-highlight-light{background-color:#ff7875!important}.bg-highlight{background-color:#ff4d4f!important}.bg-highlight-dark{background-color:#d9363e!important}.bg-highlight-h:hover{background-color:#ff4d4f!important}.text-highlight-light{color:#ff7875!important}.text-highlight{color:#ff4d4f!important}.text-highlight-dark{color:#d9363e!important}.bg-normal-light{background-color:#e6d8d8!important}.bg-normal{background-color:#d9d9d9!important}.bg-normal-dark{background-color:#b3a8a8!important}.bg-normal-h:hover{background-color:#d9d9d9!important}.bg-grey-lighter,.bg-grey-lighter-h:hover{background-color:#f5f5f5!important}.text-normal-light{color:#e6d8d8!important}.text-normal{color:#d9d9d9!important}.text-normal-dark{color:#b3a8a8!important}.bg-grey-darker,.bg-grey-darker-h:hover{background-color:#262626!important}.text-grey-lighter{color:#f5f5f5!important}.text-grey-darker{color:#262626!important}.disabled,.no-data{color:rgba(0,0,0,.25)}.d-none{display:none!important}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.flex-center,.flex-center-between{display:flex!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center,.flex-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.flex-1{flex:1!important}.flex-column{flex-direction:column!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-center-between{align-items:center!important;justify-content:space-between!important}.float-none{float:none!important}.float-left{float:left!important}.float-right{float:right!important}.icon-sm{font-size:24px!important}.icon-md{font-size:48px!important}.icon-lg{font-size:72px!important}.icon-xl{font-size:96px!important}.icon-xxl{font-size:120px!important}.img-fluid{max-width:100%;height:auto}.point{cursor:pointer}.no-resize{min-width:100%;max-width:100%;resize:none}.no-data{font-size:16px;line-height:64px;text-align:center}.no-data i{position:relative;top:3px;margin-right:16px;font-size:24px}.fixed-top,.page-loading{top:0;right:0}.block-center{margin:0 auto}.mr0,.mx0{margin-right:0!important}.ml0,.mx0{margin-left:0!important}.mt0,.my0{margin-top:0!important}.mb0,.my0{margin-bottom:0!important}.bg-center{background-position:center center;background-size:cover}.page-loading{position:absolute;bottom:0;left:0;z-index:10000;padding-top:200px;text-align:center;background:#f5f5f5}.pt0,.py0{padding-top:0!important}.color-weak{display:block;filter:invert(80%)}.disabled{pointer-events:none}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-bottom,.fixed-top{position:fixed;z-index:9;left:0}.fixed-bottom{right:0;bottom:0}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}@media (max-width:575px){.hidden-xs{display:none!important}}@media (max-width:991px){.hidden-md{display:none!important}}@media (max-width:1199px){.hidden-lg{display:none!important}}@media (max-width:1599px){.hidden-xl{display:none!important}}@media (min-width:768px){.hidden-pc{display:none!important}}.m0{margin:0!important}.mr-xs,.mx-xs{margin-right:4px!important}.ml-xs,.mx-xs{margin-left:4px!important}.mt-xs,.my-xs{margin-top:4px!important}.mb-xs,.my-xs{margin-bottom:4px!important}.p0{padding:0!important}.pr-xs,.px-xs{padding-right:4px!important}.pl-xs,.px-xs{padding-left:4px!important}.pt-xs,.py-xs{padding-top:4px!important}.pb-xs,.py-xs{padding-bottom:4px!important}.m-xs{margin:4px!important}.mr-sm,.mx-sm{margin-right:8px!important}.ml-sm,.mx-sm{margin-left:8px!important}.mt-sm,.my-sm{margin-top:8px!important}.mb-sm,.my-sm{margin-bottom:8px!important}.p-xs{padding:4px!important}.pr-sm,.px-sm{padding-right:8px!important}.pl-sm,.px-sm,[dir=rtl] .pr-sm{padding-left:8px!important}.pt-sm,.py-sm{padding-top:8px!important}.pb-sm,.py-sm{padding-bottom:8px!important}.m-sm{margin:8px!important}.mr-md,.mx-md{margin-right:16px!important}.ml-md,.mx-md{margin-left:16px!important}.mt-md,.my-md{margin-top:16px!important}.mb-md,.my-md{margin-bottom:16px!important}.p-sm{padding:8px!important}.pr-md,.px-md{padding-right:16px!important}.pl-md,.px-md{padding-left:16px!important}.pt-md,.py-md{padding-top:16px!important}.pb-md,.py-md{padding-bottom:16px!important}.m-md{margin:16px!important}.mr-lg,.mx-lg{margin-right:24px!important}.ml-lg,.mx-lg{margin-left:24px!important}.mt-lg,.my-lg{margin-top:24px!important}.mb-lg,.my-lg{margin-bottom:24px!important}.p-md{padding:16px!important}.pr-lg,.px-lg{padding-right:24px!important}.pl-lg,.px-lg,[dir=rtl] .pr-lg{padding-left:24px!important}.pt-lg,.py-lg{padding-top:24px!important}.pb-lg,.py-lg{padding-bottom:24px!important}.m-lg{margin:24px!important}.mr-xl,.mx-xl{margin-right:32px!important}.ml-xl,.mx-xl{margin-left:32px!important}.mt-xl,.my-xl{margin-top:32px!important}.mb-xl,.my-xl{margin-bottom:32px!important}.p-lg{padding:24px!important}.pr-xl,.px-xl{padding-right:32px!important}.pl-xl,.px-xl{padding-left:32px!important}.pt-xl,.py-xl{padding-top:32px!important}.pb-xl,.py-xl{padding-bottom:32px!important}.m-xl{margin:32px!important}.mr-xxl,.mx-xxl{margin-right:48px!important}.ml-xxl,.mx-xxl{margin-left:48px!important}.mt-xxl,.my-xxl{margin-top:48px!important}.mb-xxl,.my-xxl{margin-bottom:48px!important}.p-xl{padding:32px!important}.pr-xxl,.px-xxl{padding-right:48px!important}.pl-xxl,.px-xxl,[dir=rtl] .pr-xxl{padding-left:48px!important}.pt-xxl,.py-xxl{padding-top:48px!important}.pb-xxl,.py-xxl{padding-bottom:48px!important}.m-xxl{margin:48px!important}.p-xxl{padding:48px!important}[dir=rtl] .mr0{margin-left:0!important;margin-right:inherit!important}[dir=rtl] .ml0{margin-right:0!important;margin-left:inherit!important}[dir=rtl] .pr0{padding-right:inherit!important}[dir=rtl] .pl0{padding-right:0!important;padding-left:inherit!important}[dir=rtl] .mr-xs{margin-left:4px!important;margin-right:inherit!important}[dir=rtl] .ml-xs{margin-right:4px!important;margin-left:inherit!important}[dir=rtl] .pr-xs{padding-left:4px!important;padding-right:inherit!important}[dir=rtl] .pl-xs{padding-right:4px!important;padding-left:inherit!important}[dir=rtl] .mr-sm{margin-left:8px!important;margin-right:inherit!important}[dir=rtl] .ml-sm{margin-right:8px!important;margin-left:inherit!important}[dir=rtl] .pr-sm{padding-right:inherit!important}[dir=rtl] .pl-sm{padding-right:8px!important;padding-left:inherit!important}[dir=rtl] .mr-md{margin-left:16px!important;margin-right:inherit!important}[dir=rtl] .ml-md{margin-right:16px!important;margin-left:inherit!important}[dir=rtl] .pr-md{padding-left:16px!important;padding-right:inherit!important}[dir=rtl] .pl-md{padding-right:16px!important;padding-left:inherit!important}[dir=rtl] .mr-lg{margin-left:24px!important;margin-right:inherit!important}[dir=rtl] .ml-lg{margin-right:24px!important;margin-left:inherit!important}[dir=rtl] .pr-lg{padding-right:inherit!important}[dir=rtl] .pl-lg{padding-right:24px!important;padding-left:inherit!important}[dir=rtl] .mr-xl{margin-left:32px!important;margin-right:inherit!important}[dir=rtl] .ml-xl{margin-right:32px!important;margin-left:inherit!important}[dir=rtl] .pr-xl{padding-left:32px!important;padding-right:inherit!important}[dir=rtl] .pl-xl{padding-right:32px!important;padding-left:inherit!important}[dir=rtl] .mr-xxl{margin-left:48px!important;margin-right:inherit!important}[dir=rtl] .ml-xxl{margin-right:48px!important;margin-left:inherit!important}[dir=rtl] .pr-xxl{padding-right:inherit!important}[dir=rtl] .pl-xxl{padding-right:48px!important;padding-left:inherit!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right,[dir=rtl] .text-left{text-align:right!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-nowrap{white-space:nowrap!important}.text-wrap{white-space:pre-wrap!important}.text-truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.font-weight-normal{font-weight:400}.font-weight-bold,.se__title{font-weight:700}.text-xs{font-size:10px!important}.text-sm{font-size:12px!important}.text-md{font-size:14px!important}.text-lg{font-size:16px!important}.text-xl{font-size:20px!important}.text-xxl{font-size:26px!important}[dir=rtl] .text-right{text-align:left!important}.width-xs{width:80px!important}.max-width-xs{max-width:80px!important}.min-width-xs{min-width:80px!important}.width-sm{width:160px!important}.max-width-sm{max-width:160px!important}.min-width-sm{min-width:160px!important}.width-md{width:240px!important}.max-width-md{max-width:240px!important}.min-width-md{min-width:240px!important}.width-lg{width:320px!important}.max-width-lg{max-width:320px!important}.min-width-lg{min-width:320px!important}.width-xl{width:400px!important}.max-width-xl{max-width:400px!important}.min-width-xl{min-width:400px!important}.width-xxl{width:480px!important}.max-width-xxl{max-width:480px!important}.min-width-xxl{min-width:480px!important}.width-10{width:10%!important}.max-width-10{max-width:10%!important}.min-width-10{min-width:10%!important}.width-20{width:20%!important}.max-width-20{max-width:20%!important}.min-width-20{min-width:20%!important}.width-30{width:30%!important}.max-width-30{max-width:30%!important}.min-width-30{min-width:30%!important}.width-40{width:40%!important}.max-width-40{max-width:40%!important}.min-width-40{min-width:40%!important}.width-50{width:50%!important}.max-width-50{max-width:50%!important}.min-width-50{min-width:50%!important}.width-60{width:60%!important}.max-width-60{max-width:60%!important}.min-width-60{min-width:60%!important}.width-70{width:70%!important}.max-width-70{max-width:70%!important}.min-width-70{min-width:70%!important}.width-80{width:80%!important}.max-width-80{max-width:80%!important}.min-width-80{min-width:80%!important}.width-90{width:90%!important}.max-width-90{max-width:90%!important}.min-width-90{min-width:90%!important}.width-100{width:100%!important}.max-width-100{max-width:100%!important}.min-width-100{min-width:100%!important}@media (max-width:767px){.hidden-mobile,.hidden-sm{display:none!important}.max-width-sm,.min-width-sm,.width-sm{width:100%!important}}.scrollbar{overflow:auto}.scrollbar-x{overflow-x:auto;overflow-y:hidden}.scrollbar-y{overflow-x:hidden;overflow-y:auto}.ant-anchor-wrapper,.ant-dialog-wrap,.ant-drawer-body,.ant-drawer-wrapper-body,.scrollbar,body,textarea.ant-input{scrollbar-color:rgba(0,0,0,.3) #6e6e6e;scrollbar-width:thin}.ant-anchor-wrapper::-webkit-scrollbar,.ant-dialog-wrap::-webkit-scrollbar,.ant-drawer-body::-webkit-scrollbar,.ant-drawer-wrapper-body::-webkit-scrollbar,.scrollbar::-webkit-scrollbar,body::-webkit-scrollbar,textarea.ant-input::-webkit-scrollbar{width:6px;height:6px}.ant-anchor-wrapper::-webkit-scrollbar-track,.ant-dialog-wrap::-webkit-scrollbar-track,.ant-drawer-body::-webkit-scrollbar-track,.ant-drawer-wrapper-body::-webkit-scrollbar-track,.scrollbar::-webkit-scrollbar-track,body::-webkit-scrollbar-track,textarea.ant-input::-webkit-scrollbar-track{box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.ant-anchor-wrapper::-webkit-scrollbar-thumb,.ant-dialog-wrap::-webkit-scrollbar-thumb,.ant-drawer-body::-webkit-scrollbar-thumb,.ant-drawer-wrapper-body::-webkit-scrollbar-thumb,.scrollbar::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,textarea.ant-input::-webkit-scrollbar-thumb{background-color:#6e6e6e;outline:#333 solid 1px}.st{display:block}.st__p-left .ant-table-pagination{display:block;float:none;text-align:left}.st__p-center .ant-table-pagination{display:block;float:none;text-align:center}.st__btn-sub .st__btn-text{color:inherit}.st__btn-disabled .st__btn-text{color:rgba(0,0,0,.25);pointer-events:none}.st .nz-resizable-handle{display:flex;align-items:center;justify-content:center}.st .nz-resizable-handle>i{width:1px;height:60%;background:#d9d9d9}.st .nz-resizable-preview{border-width:0 1px 0 0}.st .nz-resizable.ant-table-column-has-sorters .nz-resizable-handle{margin-right:8px}.st .ant-table~nz-pagination>.ant-pagination{margin-bottom:0}.st__filter-keyword{padding:8px}.st .ant-table-column-title{display:flex;align-items:center}.st__head-optional,.st__head-tip{margin-left:2px;color:rgba(0,0,0,.35)}.st .ant-table-thead>tr>th .ant-table-filter-selected.ant-table-filter-icon{color:#1890ff}.st__checkall-selection{display:inline-block;margin-left:4px}.sv,.sv__container{display:block}.st .ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table{margin:0}.st .ant-table-cell-fix-left-first::after,.st .ant-table-cell-fix-left-last::after{transform:translateX(80%)}.st .ant-table-cell-fix-right-first::after,.st .ant-table-cell-fix-right-last::after{transform:translateX(-80%)}@media screen and (min-width:768px){.st__width-strict .ant-table-body>table,.st__width-strict .ant-table-content>table{word-wrap:break-word!important;table-layout:fixed!important}}.sv+.sv{margin-top:8px}.sv__container .ant-row{margin-bottom:-8px;overflow:hidden}.sv__item-fixed{display:flex}.sv__item-fixed .sv__label{flex:0 0 auto;overflow:hidden;text-align:right;text-overflow:ellipsis}.sv__item-fixed .sv__detail{flex:1 0 0}.sv__item+.ant-divider{margin:0 0 8px}.sv__title{display:block;float:none;clear:both;width:100%;margin-bottom:8px;color:rgba(0,0,0,.85);font-weight:500;font-size:14px}.sv__detail,.sv__label{display:table-cell;line-height:22px;padding-bottom:8px}.sv__label{color:rgba(0,0,0,.5);white-space:nowrap}.sv__label:not(.sv__label-empty)::after{position:relative;top:-.5px;margin:0 8px 0 2px;content:':'}.sv__label-optional{margin-left:2px;color:rgba(0,0,0,.35)}.sv__label-optional-no-text{margin-left:0}.sv__label-optional>.anticon{margin-left:2px}.sv__detail{width:100%;color:rgba(0,0,0,.85);word-break:break-all}.sv__type-primary .sv__detail{color:#1890ff}.sv__type-success .sv__detail{color:#52c41a}.sv__type-danger .sv__detail{color:#ff4d4f}.sv__type-warning .sv__detail{color:#faad14}.sv__default::before{content:-}.sv__default~.sv__unit{display:none!important}.sv__unit{display:inline;margin-left:8px;color:#8c8c8c}.sv__small .ant-row{margin-bottom:-8px}.sv__small .sv__title{margin-bottom:12px;color:rgba(0,0,0,.85)}.sv__small .sv__detail,.sv__small .sv__label{padding-bottom:8px}.sv__value{display:inline-flex;align-items:center}.sv__value-prefix,.sv__value-unit{color:rgba(0,0,0,.5);font-size:12px;font-style:normal}.sv__value-prefix{padding-right:3px}.sv__value-text{font-size:18px}.sv__value-unit{padding-left:3px}.sv__value:not(:first-child){position:relative;margin-left:8px;padding-left:14px}.sv__value:not(:first-child)::before{position:absolute;left:0;width:6px;color:rgba(0,0,0,.5);content:/}.sv__value-small .sv__value-text{font-size:14px}.sv__value-large .sv__value-text{font-size:24px}.sv__large .sv__title{font-size:16px}.sv__horizontal .sv__label-width{display:flex;justify-content:flex-end}.se__title,.sv__vertical .sv__detail,.sv__vertical .sv__label{display:block}.sv__horizontal .sv__label-width .sv__label-text{overflow:hidden;text-overflow:ellipsis}.sv__vertical .sv__label{padding-bottom:8px}.sv__no-colon::after{content:' '!important}.se__title{float:none;clear:both;width:100%;color:rgba(0,0,0,.85);font-size:14px;line-height:1.66667}.se__item:last-child{margin-bottom:0;padding-bottom:0}.se__item-empty::before{display:inline-block;content:''}.se__item+.ant-divider{margin:0 0 16px}.se__label{display:table-cell;flex:0 0 auto;width:initial;white-space:nowrap;text-align:right}.se__label-optional{margin-left:2px;color:rgba(0,0,0,.35)}.se__label-optional-no-text{margin-left:0}.se__label-optional>.anticon{margin-left:2px}.se__control{flex:1 0 0;width:100%}.se__compact>.se__item,.se__compact>.se__title{margin-bottom:8px}.se__compact>.se__item+.ant-divider,.se__compact>.se__title+.ant-divider{margin:0 0 8px}.se__compact .ant-form-item-extra{display:none}.se__line{padding-bottom:8px;border-bottom:1px dashed #f0f0f0}.se__hide-label .se__nolabel,.se__inline .se__nolabel,.se__vertical .se__nolabel{display:none!important}.se__horizontal>.se__item{display:flex}.se__horizontal>.se__item:last-child{margin-bottom:0}.se__horizontal>.se__item .se__label{display:flex;justify-content:flex-end}.se__horizontal>.se__item .se__label-text{overflow:hidden;text-overflow:ellipsis}.se__horizontal>.se__item .ant-form-item-required::before{line-height:inherit}.se__horizontal>.se__item .ant-form-item-label>label::after{margin-left:4px}.se__vertical>.se__item{display:block;width:100%}.se__inline .ant-form-item-label,.se__inline .se__control{display:inline-block;width:initial!important;text-align:left;vertical-align:top}.se__inline>.se__item{margin-right:16px}.se__inline>.se__item[col='1']{flex-basis:auto;width:100%}.se__inline>.se__item:last-child{margin-right:0}.se__no-colon::after{content:' '!important}@media (max-width:767px){.se__horizontal>.se__item{display:block}.se__horizontal>.se__item .ant-form-item-label{width:100%!important;text-align:left}.se__horizontal>.se__item .se__label{justify-content:normal}.se__horizontal .se__control,.se__horizontal .se__label,.se__vertical .se__control,.se__vertical .se__label{width:100%!important}}.avatar-list,.avatar-list__item,.avatar-list__wrap{display:inline-block}.avatar-list__wrap{margin-left:8px;padding:0;font-size:0}.avatar-list__item{width:28px;height:28px;margin-left:-8px;font-size:12px}.avatar-list__item .ant-avatar{border:1px solid #fff;cursor:pointer}.footer-toolbar,.notice-icon__clear{border-top:1px solid #f0f0f0;transition:all .3s}.avatar-list__large{width:32px;height:32px}.avatar-list__small{width:22px;height:22px}.avatar-list__mini{width:20px;height:20px}.avatar-list__mini .ant-avatar{width:20px;height:20px;line-height:20px}.avatar-list__mini .ant-avatar-string{font-size:12px;line-height:18px}ellipsis{display:inline}.ellipsis{display:inline-block;width:100%;overflow:hidden;word-break:break-all}.ellipsis__lines{position:relative}.ellipsis__line-clamp{position:relative;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.ellipsis__shadow{position:absolute;z-index:-999;display:block;opacity:0}.error-collect{padding-right:24px;color:#f5222d;cursor:pointer}.error-collect__count{padding-left:8px}.error-collect-rtl{padding-right:0;padding-left:24px}.error-collect-rtl .error-collect__count{padding-right:8px;padding-left:0}.exception{display:flex;align-items:center;height:100%}.exception__img-block{flex:0 0 62.5%;width:62.5%;padding-right:152px;zoom:1}.exception__img-block::after,.exception__img-block::before{display:table;content:' '}.exception__img-block::after{clear:both;height:0;font-size:0}.exception__img{float:right;width:100%;max-width:430px;height:360px;background-repeat:no-repeat;background-position:50% 50%;background-size:100% 100%}.exception__cont{flex:auto}.exception__cont-title{margin-bottom:24px;color:#434e59;font-weight:600;font-size:72px;line-height:72px}.exception__cont-desc{margin-bottom:16px;color:rgba(0,0,0,.45);font-size:20px;line-height:28px}.exception__cont-actions .ant-btn:not(:last-child){margin-right:8px}@media screen and (max-width:1200px){.exception__img-block{padding-right:88px}}@media screen and (max-width:576px){.exception{display:block;text-align:center}.exception__img-block{margin:0 auto 24px;padding-right:0}}@media screen and (max-width:480px){.exception__img-block{margin-bottom:-24px;overflow:hidden}}.exception-rtl .exception__cont-actions .ant-btn:not(:last-child){margin-right:0}.footer-toolbar{position:fixed;right:0;bottom:0;display:flex;height:48px;padding:0 16px;line-height:48px;background:#fff;box-shadow:0 -1px 2px rgba(0,0,0,.03)}.footer-toolbar__left{flex:1}.full-content{display:block;height:100%;overflow:auto}.full-content__body{overflow:hidden}.global-footer{display:block;margin:48px 0 24px;padding:0 16px;text-align:center}.global-footer__links{margin-bottom:8px}.global-footer__links-item{display:inline-block;color:rgba(0,0,0,.45);transition:all .3s}.global-footer__links-item:not(:last-child){margin-right:40px}.global-footer__links-item:hover{color:rgba(0,0,0,.85)}.global-footer__copyright{color:rgba(0,0,0,.45);font-size:12px}.global-footer-rtl .global-footer__links-item:not(:last-child){margin-right:inherit;margin-left:40px}.notice-icon{width:336px}.notice-icon__btn{display:inline-block;cursor:pointer;transition:all .3s}.notice-icon .ant-popover-inner-content{padding:0}.notice-icon .ant-tabs-bar{margin-bottom:4px}.notice-icon .ant-tabs-nav .ant-tabs-tab{margin-right:32px;padding:12px 16px}.notice-icon .ant-tabs-nav .ant-tabs-tab:last-child{margin-right:0}.notice-icon .ant-tabs-nav-scroll{text-align:center}.notice-icon .ant-list{max-height:400px;overflow:auto}.notice-icon .ant-list-item{padding-right:24px;padding-left:24px;overflow:hidden;cursor:pointer;transition:all .3s}.page-header,.page-header .ant-tabs-bar{border-bottom:1px solid #f0f0f0}.notice-icon .ant-list-item:hover{background:#e6f7ff}.notice-icon .ant-list-item-meta{width:100%}.notice-icon .ant-list-item-meta-title{margin-bottom:8px;font-weight:400}.notice-icon .ant-list-item .ant-avatar{margin-top:4px;background:#fff}.notice-icon__notfound{padding:73px 0 88px;color:rgba(0,0,0,.45);text-align:center}.notice-icon__clear,.notice-icon__clear:hover{color:rgba(0,0,0,.85)}.notice-icon__notfound-img{display:inline-block;height:76px;margin-bottom:16px}.notice-icon__clear{height:46px;line-height:46px;text-align:center;border-radius:0 0 2px 2px;cursor:pointer}.notice-icon__item-desc,.notice-icon__item-time{font-size:12px;line-height:1.66667}.notice-icon__item .ant-badge-count{top:-10px}.notice-icon__item-read{opacity:.4}.notice-icon__item-time{margin-top:4px}.notice-icon__item-extra{float:right;margin-top:-1.5px;margin-right:0;color:rgba(0,0,0,.45);font-weight:400}.page-header{display:block;padding:8px 16px 0;background-color:#fff}.page-header__wide{max-width:1200px;margin:auto}.page-header .ant-breadcrumb{margin-bottom:8px}.page-header .ant-tabs{margin:0 0 -9px}.page-header__detail{display:flex}.page-header__row{display:flex;width:100%}.page-header__logo{flex:0 1 auto;margin-right:8px;padding-top:1px}.page-header__logo img{display:block;width:28px;height:28px;border-radius:2px}.page-header__title{color:rgba(0,0,0,.85);font-weight:500;font-size:20px}.page-header__title small{padding-left:8px;font-weight:400;font-size:14px}.page-header__action{min-width:266px;margin-left:56px}.page-header__desc,.page-header__title{flex:auto}.page-header__action,.page-header__extra,.page-header__main{flex:0 1 auto}.page-header__main{width:100%}.page-header__action,.page-header__desc,.page-header__extra,.page-header__logo,.page-header__title{margin-bottom:8px}.page-header__action,.page-header__extra{text-align:right}.page-header__extra{min-width:242px;margin-left:88px}@media screen and (max-width:1200px){.page-header__extra{margin-left:44px}}@media screen and (max-width:992px){.page-header__extra{margin-left:20px}}@media screen and (max-width:768px){.page-header__row{display:block}.page-header__action,.page-header__extra{margin-left:0;text-align:left}}@media screen and (max-width:576px){.page-header__detail{display:block}}@media screen and (max-width:480px){.page-header__action .ant-btn,.page-header__action .ant-btn-group{display:block;margin-bottom:8px}.page-header__action .ant-input-search-enter-button .ant-btn{margin-bottom:0}.page-header__action .ant-btn-group>.ant-btn{display:inline-block;margin-bottom:0}}.page-header-rtl .page-header__logo{margin-right:0;margin-left:8px}.page-header-rtl .page-header__title small{padding-right:8px;padding-left:0}.page-header-rtl .page-header__action{margin-right:56px;margin-left:0}.page-header-rtl .page-header__extra{margin-right:88px;margin-left:0}@media screen and (max-width:1200px){.page-header-rtl .page-header__extra{margin-right:44px;margin-left:0}}@media screen and (max-width:992px){.page-header-rtl .page-header__extra{margin-right:20px;margin-left:0}}.quick-menu{position:fixed;right:-1px;left:auto;z-index:11;display:block;backface-visibility:hidden;transition:margin .3s cubic-bezier(1,0,0,1)}.quick-menu,.quick-menu__ctrl{background-color:#fff;border:1px solid #fff;box-shadow:0 6px 16px -8px rgba(0,0,0,.08),0 9px 28px 0 rgba(0,0,0,.05),0 12px 48px 16px rgba(0,0,0,.03)}.quick-menu__inner{position:relative;padding:0 12px}.quick-menu__ctrl{position:absolute;top:-1px;left:-50px;width:50px;height:50px;text-align:center;border-right:0;border-radius:3px 0 0 3px;cursor:pointer}.quick-menu__ctrl-icon{font-size:20px;line-height:49px}.result{display:block;width:72%;margin:0 auto;text-align:center}.result__icon{margin-bottom:24px;font-size:72px;line-height:72px}.result__icon-success{color:#52c41a}.result__icon-error{color:#ff4d4f}.result__title{margin-bottom:16px;color:rgba(0,0,0,.85);font-weight:500;font-size:24px;line-height:32px}.result__desc{margin-bottom:24px;color:rgba(0,0,0,.45);font-size:14px;line-height:22px}.result__extra{padding:24px 40px;text-align:left;border-radius:2px}@media screen and (max-width:480px){.result{width:100%}.result__extra{padding:18px 20px}}.result__actions{margin-top:32px}.result__actions button:not(:last-child){margin-right:8px}.reuse-tab{display:block;background-color:#fff;outline:0;user-select:none}.reuse-tab .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{position:absolute;display:none;margin:0;color:rgba(0,0,0,.85);font-size:10px}.reuse-tab .ant-tabs-nav .ant-tabs-tab:hover .reuse-tab__op{display:block}.reuse-tab .ant-tabs-nav .ant-tabs-tab .reuse-tab__name-width{display:inline-block;overflow:hidden;text-overflow:ellipsis}.reuse-tab .ant-tabs>.ant-tabs-nav{margin:0}.reuse-tab__line{padding:8px;border-bottom:1px solid #d9d9d9}.reuse-tab__line .ant-tabs-nav::before{border-bottom:none}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab{padding:0}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{top:12px;right:2px}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab .reuse-tab__name{display:inline-block;padding:8px 20px}.reuse-tab__card{padding-top:8px}.reuse-tab__card .ant-tabs-nav-container{padding:0 8px}.reuse-tab__card .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{top:4px;right:4px}.reuse-tab__disabled{opacity:.8;pointer-events:none}.reuse-tab__cm .ant-menu{border:1px solid #e9e9e9}.g2-card__footer,.message__item,.quick-chat__reply{border-top:1px solid #f0f0f0}.tag-select{position:relative;display:block;max-height:24px;margin-left:-8px;overflow:hidden;line-height:1.66667;transition:all .3s;user-select:none}.tag-select__expanded{max-height:200px;transition:all .3s}.tag-select__has-expand{padding-right:50px}.tag-select .ant-tag{margin-right:24px;padding:0 8px}.tag-select__trigger{position:absolute;top:0;right:0}.loading-default,.onboarding__mask{position:fixed;top:0;left:0;bottom:0}.tag-select__trigger-icon{margin-left:8px;font-size:12px}.tag-select-rtl{margin-right:-8px;margin-left:0}.tag-select-rtl__has-expand{padding-right:0!important;padding-left:50px!important}.tag-select-rtl .tag-select .ant-tag{margin-right:0;margin-left:24px}.tag-select-rtl .tag-select__trigger{right:initial;left:0}.tag-select-rtl .tag-select__trigger-icon{margin-right:0;margin-left:8px}.loading-backdrop{z-index:9999;background-color:rgba(0,0,0,.15)}.loading-default{right:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center}.g2-mini-progress,.g2-pie,.pdf-container,g2,g2-bar,g2-chart,g2-custom,g2-gauge,g2-mini-area,g2-mini-bar,g2-single-bar,g2-tag-cloud,g2-timeline{display:block}.loading-default__icon{margin-bottom:8px;color:#1890ff;font-size:24px}.loading-default__text{color:#1890ff}.loading-default__custom{width:64px;height:64px;fill:#fff}.onboarding+.cdk-overlay-container{z-index:99999}.onboarding__mask{right:0;z-index:99998;background-color:#000;opacity:.5}.onboarding__item{position:absolute}.onboarding__light{position:absolute;z-index:99999;background-color:rgba(255,255,255,.9);animation:2.5s cubic-bezier(.55,.05,.6,.2) 0s infinite normal none running onboardingAnt;pointer-events:none}.g2-card,.g2-card__top,.pdf-container{position:relative}.onboarding__light-el{z-index:100000!important}.onboarding__light-ant{transition:all .3s ease-out}.onboarding__footer{margin-top:8px}.onboarding__total{color:rgba(0,0,0,.85)}.g2-card__meta,.g2-pie__legend-percent,.g2-pie__total-title{color:rgba(0,0,0,.45)}@keyframes onboardingAnt{0%,33%{box-shadow:#fff 0 0 0 2px,#fff 0 0 0}100%,66%{box-shadow:#fff 0 0 0 2px,rgba(255,255,255,.01) 0 0 0 10px}}.pdf-container{height:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}g2-bar,g2-tag-cloud{width:100%}.g2-card__top{width:100%;overflow:hidden}.g2-card__top-margin{margin-bottom:12px}.g2-card__top-has-margin{margin-bottom:20px}.g2-card__meta{height:22px;font-size:12px;line-height:22px}.g2-card__total,.g2-pie__legend-title{color:rgba(0,0,0,.85)}.g2-card__meta-wrap{float:left}.g2-card__meta-action{position:absolute;top:4px;right:0;line-height:1;cursor:pointer}.g2-card__avatar{position:relative;top:4px;float:left;margin-right:20px}.g2-card__total{height:38px;margin-top:4px;margin-bottom:0;overflow:hidden;font-size:30px;line-height:38px;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.g2-card__desc{width:100%;margin-bottom:12px}.g2-card__footer{margin-top:8px;padding-top:9px}.g2-card__footer>*{position:relative}.g2-mini-progress{position:relative;width:100%;padding:5px 0}.g2-mini-progress__wrap{position:relative;background-color:#f5f5f5}.g2-mini-progress__value{width:0;height:100%;background-color:#1890ff;border-radius:1px 0 0 1px;transition:all .4s cubic-bezier(.08,.82,.17,1) 0s}.g2-mini-progress__target{position:absolute;top:0;bottom:0}.g2-mini-progress__target-item{position:absolute;top:0;left:0;width:2px;height:4px;border-radius:100px}.g2-pie,.g2-pie__chart{position:relative}.g2-mini-progress__target-item:last-child{top:auto;bottom:0}.g2-pie__legend{position:absolute;top:50%;right:0;min-width:250px;margin:0 20px;padding:0;list-style:none;transform:translateY(-50%)}.g2-pie__legend-item{height:22px;margin-bottom:16px;line-height:22px;cursor:pointer}.g2-pie__legend-item:last-child{margin-bottom:0}.g2-pie__legend-dot{position:relative;top:-1px;display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:8px}.g2-pie__legend-value{position:absolute;right:0}.g2-pie__legend-has .g2-pie__chart{width:calc(100% - 240px)}.g2-pie__legend-block .g2-pie__chart{width:100%;margin:0 0 32px}.g2-pie__legend-block .g2-pie__legend{position:relative;min-width:auto;transform:none}.g2-pie__total{position:absolute;top:50%;left:50%;height:62px;text-align:center;transform:translate(-50%,-50%)}.g2-pie__total-title{height:22px;margin-bottom:8px;font-weight:400;font-size:14px;line-height:22px}.g2-pie__total-stat{display:block;height:32px;color:rgba(0,0,0,.85);font-size:1.2em;line-height:32px;white-space:nowrap}.g2-pie__mini .g2-pie__total-title{margin-top:4px;margin-bottom:0}.g2-radar{display:block}.g2-radar__legend{margin-top:16px}.g2-radar__legend-item{position:relative;color:rgba(0,0,0,.45);line-height:22px;text-align:center;cursor:pointer}.g2-radar__legend-item::after{position:absolute;top:8px;right:0;width:1px;height:40px;content:''}.g2-radar__legend-item:last-child::after{display:none}.g2-radar__legend-dot,.g2-water-wave,.number-info,.number-info__value-text,.trend{display:inline-block}.g2-radar__legend-title{margin-top:4px;margin-bottom:0;padding-left:16px;color:rgba(0,0,0,.85);font-size:24px;line-height:32px}.g2-radar__legend-dot{position:relative;top:-1px;width:6px;height:6px;margin-right:6px;border-radius:6px}.g2-water-wave{position:relative;transform-origin:left}.g2-water-wave__desc{position:absolute;top:32px;left:0;width:100%;text-align:center}.g2-water-wave__desc-title{color:rgba(0,0,0,.45);font-size:14px;line-height:22px}.g2-water-wave__desc-percent{color:rgba(0,0,0,.85);font-size:24px;line-height:32px}.g2-water-wave__canvas{transform:scale(.5);transform-origin:0 0}.number-info__title{margin-bottom:16px;color:rgba(0,0,0,.85);font-size:14px;transition:all .3s}.number-info__title-sub{height:22px;overflow:hidden;color:rgba(0,0,0,.45);font-size:12px;line-height:22px;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.number-info__value{margin-top:4px;overflow:hidden;font-size:0;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.number-info__value-suffix{margin-left:4px;color:rgba(0,0,0,.85);font-size:16px;font-style:normal}.number-info__value-text{height:32px;color:rgba(0,0,0,.85);font-size:24px;line-height:32px}.number-info__value-sub{margin-left:32px;color:rgba(0,0,0,.45);font-size:14px;vertical-align:top}.number-info__value-sub .anticon{margin-left:4px;font-size:12px;transform:scale(.82)}.number-info__value-sub .anticon-caret-up{color:#f5222d}.number-info__value-sub .anticon-caret-down{color:#52c41a}.number-info__light .number-info__value-text{color:rgba(0,0,0,.85)}.number-info:not(:first-child){position:relative;margin-left:32px;padding-left:32px}.number-info:not(:first-child)::after{position:absolute;top:0;bottom:0;left:0;width:1px;margin:8px 0;content:''}.trend{font-size:12px;line-height:22px}.trend__down,.trend__up{position:relative;top:1px;margin-left:4px}.trend__down i,.trend__up i{font-size:12px;transform:scale(.83)}.trend__up{color:#f5222d}.trend__down{top:-1px;color:#52c41a}.trend__grey .trend__down,.trend__grey .trend__up{color:rgba(0,0,0,.85)}.trend__reverse .trend__up{color:#52c41a}.trend__reverse .trend__down{color:#f5222d}.alain-pro__menu{display:block}.alain-pro__menu-item--disabled{pointer-events:none}.alain-pro__menu-only-icon .alain-pro__menu-item{padding-right:8px!important;padding-left:8px!important}.alain-pro__menu-only-icon .alain-pro__menu-item:first-child{padding-left:0}.alain-pro__menu-only-icon .alain-pro__menu-icon{margin-right:0;font-size:16px}.alain-pro__menu-title{position:relative}.alain-pro__menu-title-badge{display:flex;justify-content:center;width:18px;height:18px;padding:0;font-size:12px;line-height:18px;background:#1890ff;border-radius:50%}.alain-pro__menu-title-badge>em{color:#fff;font-style:normal}.alain-pro__menu-img{width:14px!important;height:14px!important}.alain-pro__side-nav .alain-pro__menu-title{display:flex;align-items:center}.alain-pro__side-nav .alain-pro__menu-title-text{flex:1}.alain-pro__side-nav .ant-menu-inline-collapsed .alain-pro__menu-title-badge{position:absolute;top:0;right:-16px;width:8px;height:8px}.alain-pro__side-nav .ant-menu-inline-collapsed .alain-pro__menu-title-badge>em{display:none}.alain-pro__main{min-height:100vh;background-color:#f0f2f5}.alain-pro__main>.ant-layout-header{height:56px;line-height:56px}.alain-pro__page-header-wrapper{position:relative;display:block;margin:-24px -24px 0}.alain-pro__page-header-content{margin:24px 24px 0}.alain-pro__page-grid{display:block;width:100%;height:100%;min-height:100%;transition:.3s}.alain-pro__page-grid-wide{max-width:1200px;margin:0 auto}.alain-pro__page-grid-no-spacing{width:initial;margin:-24px -24px 0}.alain-pro__fetching-icon{display:none}.alain-pro__fetching .alain-pro__fetching-icon{display:block}@media screen and (max-width:767px){.alain-pro__page-header-content{margin:24px 10px 0}}.alain-pro__header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 12px 0 0;background:#fff;box-shadow:0 1px 4px rgba(0,21,41,.08)}.alain-pro__header-logo{padding:0 24px}.alain-pro__header-right{display:flex;align-items:center;justify-items:center}.alain-pro__header-item{position:relative;display:flex;align-items:center;justify-items:center;height:56px;padding:0 12px;line-height:56px;cursor:pointer;transition:all .3s}.alain-pro__header-item-icon,.alain-pro__header-item>i{font-size:14px!important;transform:none!important}.alain-pro__header-item,.alain-pro__header-item-icon{color:rgba(0,0,0,.65)}.alain-pro__header-item:hover{background:rgba(0,0,0,.025)}.alain-pro__header-item:hover,.alain-pro__header-item:hover .alain-pro__header-item-icon{color:#000}.alain-pro__header-trigger{padding:0 24px}.alain-pro__header-trigger .alain-pro__header-item-icon{font-size:20px!important}.alain-pro__header-search:hover{background:0 0}.alain-pro__header-fixed{position:fixed;top:0;right:0;z-index:9;width:100%;transition:width .2s}.alain-pro__header-hide{opacity:0;transition:opacity .2s}@media only screen and (max-width:767px){.alain-pro__header-name{display:none}.alain-pro__header-trigger{padding:0 12px}.alain-pro__header-logo{position:relative;padding-right:12px;padding-left:12px}}layout-pro-header{z-index:1}[dir=rtl] .alain-pro__header-fixed{right:inherit;left:0}.alain-pro__top-nav{position:relative;width:100%;height:56px;padding:0 12px 0 0;box-shadow:0 1px 4px rgba(0,21,41,.08);transition:background .3s,width .2s}.alain-pro__top-nav .alain-pro__menu .ant-menu{display:flex;align-items:center;height:56px;border:none}.alain-pro__top-nav .alain-pro__menu-wrap{flex:1;padding-right:8px}.alain-pro__top-nav .alain-pro__menu-item{height:100%}.alain-pro__top-nav .alain-pro__menu-item .ant-menu-submenu-title{height:100%;padding:0 12px}.alain-pro__top-nav-main{display:flex;height:56px;padding-left:24px}.alain-pro__top-nav-main-wide{max-width:1200px;margin:auto;padding-left:4px}.alain-pro__top-nav-main-left{display:flex;flex:1}.alain-pro__top-nav-logo{width:165px}.alain-pro__top-nav-logo h1{margin:0 0 0 12px;color:#fff;font-size:16px}.alain-pro__top-nav .alain-pro__menu-title-badge{position:absolute;top:-16px;right:-16px}.alain-pro__sider,.alain-pro__sider-logo{position:relative;display:block;overflow:hidden}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item-icon{color:rgba(255,255,255,.65)}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover{background:#1890ff}.alain-pro__light .alain-pro__sider,.alain-pro__light .alain-pro__top-nav,.quick-chat,.quick-chat__bar--title:hover{background-color:#fff}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item-icon,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item-icon{color:#fff}.alain-pro__light .alain-pro__top-nav h1{color:#002140}[dir=rtl] .alain-pro__top-nav-logo h1{margin-right:12px;margin-left:0}.alain-pro__sider{z-index:10;min-height:100vh;box-shadow:2px 0 6px rgba(0,21,41,.35)}.alain-pro__sider-logo{height:56px;padding-left:24px;line-height:56px;background:#002140;transition:all .3s}.alain-pro__sider-logo img{display:inline-block;height:32px;vertical-align:middle}.alain-pro__sider-logo h1{display:inline-block;margin:0 0 0 12px;color:#fff;font-weight:600;font-size:20px;font-family:'Myriad Pro','Helvetica Neue',Arial,Helvetica,sans-serif;vertical-align:middle;transition:all .3s}.alain-pro__sider-fixed{position:fixed;top:0;left:0}.alain-pro__sider-fixed .alain-pro__side-nav-wrap{height:calc(100vh - 56px);padding-bottom:24px;overflow-y:scroll}.alain-pro__drawer .ant-drawer-wrapper-body{height:100%;overflow:auto}.alain-pro__drawer .ant-drawer-body{height:100vh;padding:0;overflow-x:hidden}.aside-collapsed .alain-pro__sider-logo{display:flex;justify-content:center;padding:0}.aside-collapsed .alain-pro__sider-logo h1{display:none}.alain-pro__light .alain-pro__sider{box-shadow:2px 0 8px 0 rgba(29,35,41,.05)}.alain-pro__light .alain-pro__sider-logo{background:#fff;box-shadow:1px 1px 0 0 #f0f0f0}.alain-pro__light .alain-pro__sider-logo h1{color:#1890ff}[dir=rtl] .alain-pro__sider-logo{padding-right:24px;padding-left:0}[dir=rtl] .alain-pro__sider-logo h1{margin-right:12px;margin-left:0}[dir=rtl] .alain-pro__sider-fixed{right:0;left:inherit}.alain-pro__footer,[dir=rtl] .aside-collapsed .alain-pro__sider-logo{padding:0}.ant-card{transition:none}.alain-pro__header-item .ant-badge-count{position:absolute;top:24px;right:12px}.full-content__hidden-title page-header,.full-content__opened .alain-pro__sider,.full-content__opened layout-pro-header,.full-content__opened reuse-tab{display:none!important}.footer-toolbar{z-index:99;width:auto}.footer-toolbar__body .alain-pro__body{margin-bottom:56px!important}.alain-pro__menu-side .footer-toolbar{left:256px}.alain-pro__menu-top .footer-toolbar{left:0}.aside-collapsed .footer-toolbar{left:80px}.page-header{padding-right:24px;padding-left:24px}.btn-flat{background:0 0!important;border-color:transparent!important;box-shadow:none!important}.ant-dropdown-menu-item{outline:0}@page{size:a3}.brand-page-loading{position:absolute;top:0;right:0;left:0;min-height:200px}.brand-top-right{position:absolute;top:8px;right:8px}.brand-top-left{position:absolute;top:8px;left:8px}.brand-range-picker__date{display:inline-block;width:240px}.alain-pro__header-search,.setting-drawer__blockChecbox{display:flex}.setting-drawer__handle-opened{right:300px!important}.setting-drawer__blockChecbox-item{position:relative;margin-right:16px;border-radius:2px;cursor:pointer}.setting-drawer__blockChecbox-item img{width:48px}.setting-drawer__blockChecbox-selectIcon{position:absolute;top:0;right:0;width:100%;height:100%;padding-top:15px;padding-left:24px;color:#1890ff;font-weight:700;font-size:14px}.setting-drawer__handle{top:114px;width:32px;height:32px;background:rgba(0,0,0,.38)}.setting-drawer__handle-icon{font-size:16px}.setting-drawer-rtl .setting-drawer__handle-opened{right:inherit!important;left:300px!important}.alain-pro__header-search .anticon-search{font-size:16px;cursor:pointer}.alain-pro__header-search-input{width:0;overflow:hidden;background:0 0;border-radius:0;transition:width .3s,margin-left .3s}.alain-pro__header-search-input .ant-select-selection{background:0 0}.alain-pro__header-search-input input{padding-right:0;padding-left:0;background:0 0;border:0;outline:0;box-shadow:none}.alain-pro__header-search-input,.alain-pro__header-search-input:focus,.alain-pro__header-search-input:hover,.message__tools{border-bottom:1px solid #d9d9d9}.alain-pro__header-search-show:hover{background:0 0!important}.alain-pro__header-search-show .alain-pro__header-search-input{width:210px;margin-left:8px}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-search-show .ant-input{color:#fff}.brand-bordered{overflow:hidden;border:1px solid rgba(24,28,33,.06)}.brand-bordered>[class*=ant-col-]::after,.brand-bordered>[class*=ant-col-]::before{position:absolute;display:block;content:''}.brand-bordered>[class*=ant-col-]::before{right:0;bottom:-1px;left:0;height:0;border-top:1px solid rgba(24,28,33,.06)}.brand-bordered>[class*=ant-col-]::after{top:0;bottom:0;left:-1px;width:0;border-left:1px solid rgba(24,28,33,.06)}.brand-border-width-2{border-width:2px!important}.brand-collapse-arrow-reverse .ant-collapse>.ant-collapse-item>.ant-collapse-header{padding-right:40px;padding-left:12px}.brand-collapse-arrow-reverse .ant-collapse>.ant-collapse-item>.ant-collapse-header .arrow{right:16px;left:unset}.dd-btn{display:block;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;cursor:pointer}.quick-chat,.quill-editor{line-height:initial}.dd-btn:hover{background:#f5f5f5;border:1px solid #f0f0f0}.attachment-img,.img-thm{background-color:transparent}.attachment{display:flex;align-items:center;margin-bottom:8px;padding:4px;border:1px solid #e8e8e8}.attachment-icon{padding:2px;font-size:40px}.attachment-img{width:64px;height:64px;background-position:center center;background-size:cover}.img-thm,.img-thm__img{height:auto;max-width:100%}.feed__icon{position:relative}.feed__icon-tag{position:absolute;top:-6px;right:-2px}.img-thm{position:relative;display:block}.img-thm__mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:block;background-color:rgba(0,0,0,.3)}.img-thm__icon{position:absolute;top:50%;left:50%;z-index:3;display:block;color:#fff;font-size:32px;opacity:0}.img-thm__img{z-index:1}.img-thm__zoom-in{overflow:hidden}.img-thm__zoom-in .img-thm__icon{transform:translate(-50%,-50%) scale(.6)}.img-thm__zoom-in .img-thm__img{transition:all .3s ease-in-out}.img-thm__zoom-in:hover .img-thm__icon{transform:translate(-50%,-50%) scale(1)}.img-thm__zoom-in:hover .img-thm__img{transform:scale(1.1)}.img-thm:not(:hover):not(:focus) .img-thm__mask{opacity:0}.quill-editor.ng-dirty.ng-invalid .ql-container,.quill-editor.ng-dirty.ng-invalid .ql-toolbar{border-color:#ff4d4f}.ql-snow .ql-size .ql-picker-item[data-value="10px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="10px"]::before{content:'10px'}.ql-snow .ql-size .ql-picker-item[data-value="12px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="12px"]::before{content:'12px'}.ql-snow .ql-size .ql-picker-item[data-value="14px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="14px"]::before{content:'14px'}.ql-snow .ql-size .ql-picker-item[data-value="16px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="16px"]::before{content:'16px'}.ql-snow .ql-size .ql-picker-item[data-value="18px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="18px"]::before{content:'18px'}.ql-snow .ql-size .ql-picker-item[data-value="20px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="20px"]::before{content:'20px'}.ql-snow .ql-size .ql-picker-item[data-value="24px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="24px"]::before{content:'24px'}app-file-manager file-manager{display:block;padding:24px;background:#fff}.file-manager{display:flex;margin-top:16px}.file-manager__header{display:flex;align-items:center;margin-top:16px;padding:0 32px 4px 12px;font-weight:700;border-bottom:2px solid rgba(0,0,0,.05)}.file-manager__header-name{flex:1}.file-manager__header-pixel{width:150px}.file-manager__header-time{width:130px}.file-manager__small .file-item{display:flex;align-items:center;width:100%;margin:0 0 2px;padding:4px 32px 4px 0;text-align:left}.file-manager__small .file-item__icon,.file-manager__small .file-item__img{display:block;width:32px;height:32px;margin:0 8px;font-size:20px;line-height:32px;text-align:center}.file-manager__small .file-item__name{flex:1}.file-manager__small .file-item__pixel{position:inherit;width:150px}.file-manager__small .file-item__pixel>span{background:0 0}.file-manager__small .file-item__time{display:block;width:130px}.file-item{position:relative;z-index:1;flex:0 0 auto;flex-shrink:0;width:9rem;margin:0 8px 8px 0;padding:16px 0 24px;text-align:center;border:1px solid transparent;cursor:pointer}.file-item:hover{border-color:rgba(0,0,0,.05)}.file-item:hover .file-item__actions{display:block}.file-item__selected{background-color:#e6f7ff!important;border-color:#1890ff!important}.course__img,.file-item__img{background-color:transparent}.file-item__selected .file-item__actions{display:block}.file-item__icon{display:block;margin:16px 0;font-size:40px}.file-item__img{display:block;width:4rem;height:4rem;margin:0 auto .75rem;font-size:2.5rem;line-height:4rem;background-position:center center;background-size:cover}.file-item__name{height:28px;padding:0 8px;overflow:hidden;color:#4e5155;line-height:28px;white-space:nowrap;text-overflow:ellipsis}.file-item__pixel{position:absolute;bottom:0;left:0;width:100%}.file-item__pixel>span{display:block;width:100%;padding:2px 0;background:rgba(0,0,0,.01)}.file-item__time{display:none}.file-item__actions{position:absolute;top:8px;right:8px;display:none}.ware__color{display:inline-block;width:12px;height:12px}.ware__imgs .se__label{padding-right:8px}.ware__imgs-wrap{display:flex;align-items:center}.ware__imgs-color{display:flex;margin:0;padding:0;list-style:none}.ware__imgs-item{position:relative;width:72px;height:72px;margin-right:16px;border:1px solid #ccc}.ware__imgs-item-img{width:70px;height:70px}.ware__imgs-item-img img{max-width:100%;max-height:100%}.ware__imgs-item-del{position:absolute;top:2px;right:4px;color:#fff;line-height:normal}.ware__imgs-item::before{position:absolute;top:24px;display:block;width:100%;color:#ccc;line-height:normal;text-align:center;content:'细节图'}.ware__imgs-item:first-child::before{content:'主图*'}.ware__imgs-item-exists::before{content:''}.faq-v1__item{display:flex;align-items:center;padding:8px}.faq-v1__item-icon{font-size:24px}.faq-v1__item-title{margin-bottom:0;font-weight:400;font-size:14px}.faq-v1__item-remark{margin-bottom:0;color:#bfbfbf}.faq-v1__item-hover{background-color:rgba(0,0,0,.02);cursor:pointer}.faq-v1__item-hover:hover{background-color:rgba(0,0,0,.04)}.faq-v1__item-hover:hover .faq__item-icon,.faq-v1__item-hover:hover .faq__item-title{color:#1890ff}.task__container{border-bottom:1px solid #f0f0f0}.task__container:last-child{border-bottom:none}.task__title{margin-bottom:16px;color:#a3a4a6;font-weight:400;font-size:12px}.task__item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid rgba(24,28,33,.06)}.task__item:first-child{border-top:none}.task__item-handle{margin-right:16px;color:#bfbfbf;font-size:12px;cursor:pointer}.task__item-done{color:#a3a4a6}.message__container{position:relative}.message__sidebox{position:absolute;top:0;left:0;width:250px;height:100%;background:#f5f5f5}.message__tools{display:flex;flex-wrap:wrap;align-items:center;padding:4px 24px;border-top:1px solid #d9d9d9}.message__tools-choose{display:flex;flex:1;flex-wrap:wrap;align-items:center}.message__content{min-height:600px}.message__item{display:flex;align-items:center;padding:4px 24px}.message__item:first-child{border-top:none}.message__item-from{display:flex;align-items:center;width:160px}.message__item-subject{width:100%;color:#595959}.message__item-subject:hover{color:#1890ff}.message__item-date{color:#bfbfbf;white-space:nowrap}.message__item-unread .message__item-subject{font-weight:700}@media (min-width:768px){.message__container{padding-left:250px}}@media (max-width:767px){.message__tools-choose{flex-basis:100%}.message__item{flex-wrap:wrap}}.course__img{display:block;padding-top:60%;background-position:center center;background-size:cover;border-top-left-radius:2px;border-top-right-radius:2px}.course__star .ant-rate{font-size:10px}.chat__container{display:flex;overflow:hidden;background:#fff;border:1px solid #f0f0f0}.chat__scroll-container{position:relative;width:100%}.chat__sidebox{display:flex;flex-direction:column;width:250px;box-shadow:6px 0 16px -8px rgba(0,0,0,.08),9px 0 28px 0 rgba(0,0,0,.05),12px 0 48px 16px rgba(0,0,0,.03);transition:.2s all}.chat__contact{display:flex;align-items:center;padding:8px 16px;color:#4e5155;cursor:pointer}.chat__contact:hover:not(.chat__contact-active){background-color:rgba(24,28,33,.03)}.chat__contact .ant-badge-status-text{color:#52c41a;font-size:12px}.chat__contact-offline{opacity:.7}.chat__contact-offline .ant-badge-status-text{color:#f5222d}.chat__contact-active{background-color:#e84c64}.chat__contact-active,.chat__contact-active .ant-badge-status-text{color:#fff}.chat__user-avatar{height:40px;border-radius:50%}.chat__message{display:flex;flex-shrink:0;margin-bottom:8px}.chat__message-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:24px}.chat__message-left{margin-right:58px}.chat__message-left .chat__message-avatar{margin-right:8px}.chat__message-right{flex-direction:row-reverse;margin-left:58px}.chat__message-right .chat__message-avatar{margin-left:8px}.chat__message-send{text-align:center}.chat__message-avatar{width:50px;text-align:center}.chat__message-text{width:100%;color:#bfbfbf;font-size:12px;text-align:center}.chat__message-time{padding-top:2px;color:#bfbfbf;font-size:12px;white-space:nowrap}.chat__message-msg{padding:4px 8px;background:#f5f5f5;border-radius:4px}.fc-antd .fc-event,.fc-antd .fc-scrollgrid,.fc-antd td,.fc-antd th{border:1px solid #f0f0f0}.chat__message-msg--name{display:block;margin-bottom:2px}[dir=rtl] .chat__message-left{margin-right:inherit;margin-left:58px}[dir=rtl] .chat__message-left .chat__message-avatar{margin-right:inherit;margin-left:8px}[dir=rtl] .chat__message-right{margin-right:inherit;margin-left:58px}[dir=rtl] .chat__message-right .chat__message-avatar{margin-right:inherit;margin-left:8px}.fc-antd a{color:inherit}.fc-antd a,.fc-antd a:hover{text-decoration:none}.fc-antd .fc-col-header-cell{padding:8px;color:rgba(0,0,0,.85)}.fc-antd .fc-day:not(.fc-axis){padding:4px}.fc-antd .fc-day.fc-day-today{background:rgba(232,232,232,.2)}.fc-antd .fc-event{background:#fff;box-shadow:0 0 8px 0 rgba(0,0,0,.055)}.fc-antd .fc-event-title-container{padding:4px 4px 4px 20px}.fc-antd .fc-event-title-container::before{position:absolute;top:50%;left:4px;display:block;width:10px;height:10px;margin-top:-5px;background:rgba(0,0,0,.2);border-radius:50%;content:' '}.fc-antd .fc-event-title{display:block;overflow:hidden;color:rgba(0,0,0,.85);white-space:nowrap;text-overflow:ellipsis}.fc-antd .fc-event.fc-not-start.fc-end .fc-event-main{padding-left:4px}.fc-antd .fc-event.fc-not-start.fc-end .fc-event-main::before{display:none}.fc-antd .fc-event-fill-primary,.fc-antd .fc-event-primary .fc-event-title-container::before{background-color:#1890ff}.fc-antd .fc-event-fill-success,.fc-antd .fc-event-success .fc-event-title-container::before{background-color:#52c41a}.fc-antd .fc-event-danger .fc-event-title-container::before,.fc-antd .fc-event-fill-danger{background-color:#f5222d}.fc-antd .fc-event-fill-warning,.fc-antd .fc-event-warning .fc-event-title-container::before{background-color:#fadb14}.fc-antd .fc-event-fill-purple,.fc-antd .fc-event-purple .fc-event-title-container::before{background-color:#722ed1}.fc-antd .fc-event-fill-magenta,.fc-antd .fc-event-magenta .fc-event-title-container::before{background-color:#eb2f96}.fc-antd .fc-popover-header{padding:8px 16px;background:#eee}.fc-antd .fc-popover-body{background:#fff}.pro-passport{display:flex;flex-basis:100%;align-items:stretch;justify-content:stretch;min-height:100vh;overflow:hidden}.pro-passport__langs{position:fixed;top:16px;left:16px;z-index:9999}.pro-passport__langs .alain-pro__header-item{height:auto;padding:0}.pro-passport__bg{padding:0 24px;background-color:transparent;background-position:center center;background-size:cover}.pro-passport__bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:.4}.pro-passport__form{padding:32px}.pro-passport__form-logo{height:32px;text-align:center}.pro-passport__form-logo img{max-height:100%}.pro-passport__form-title{margin:16px 0;color:#bfbfbf;text-align:center}@media (max-width:991px){.pro-passport__form{width:100%}}.quick-chat{position:fixed;top:auto;right:0;bottom:0;left:auto;z-index:98;display:flex;flex:1;flex-direction:column;width:320px;margin-right:30px;border:1px solid #f0f0f0;border-bottom:none;border-radius:4px 4px 0 0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14)}.quick-chat__bar{display:flex;flex-direction:row;align-items:center;height:32px;border-bottom:1px solid #f0f0f0;cursor:pointer;user-select:none}.quick-chat__bar--title{flex:1;height:32px;padding-left:16px;font-size:14px;line-height:32px}.quick-chat__bar--title-has-message{animation:antSwingIn 1.5s infinite}.quick-chat__bar--menu{display:flex;align-items:center;height:32px}.quick-chat__bar--menu .anticon{font-size:18px}.quick-chat__bar--close{padding:0 16px 0 8px}.quick-chat__body{max-height:370px;transition:max-height .5s cubic-bezier(0,1,0,1)}.quick-chat__content{position:relative;display:flex;flex-direction:column;height:320px}.app-dd__op,.quick-chat .chat__message{align-items:center}.quick-chat__content .chat__scroll-container{display:block}.quick-chat__reply{height:50px;padding:8px}.quick-chat__reply--ipt{display:block;width:100%;height:100%;background:0 0;border:none;outline:0}.quick-chat .chat__message-avatar{width:28px}.quick-chat .chat__user-avatar{height:20px}.quick-chat__collapsed .quick-chat__body{max-height:0}.quick-chat__collapsed .quick-chat__body .chat__scroll-container{display:none}[dir=rtl] .quick-chat{right:inherit;left:0;margin-right:inherit;margin-left:30px}[dir=rtl] .quick-chat__bar--title{padding-right:16px;padding-left:0}.app-dd{position:relative;display:block}.app-dd__op{position:absolute;top:-24px;right:24px;z-index:99;display:flex;justify-content:center}.app-dd__op-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:8px;color:#fff;background:rgba(0,0,0,.4);border-radius:0 0 4px 4px;cursor:pointer;pointer-events:auto}.app-dd__op-btn:hover{background:rgba(0,0,0,.3)}.app-dd__ph{opacity:.3}.app-dd__item{position:relative;display:block}.app-dd__item-btn{position:absolute;top:8px;right:8px;display:none;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(0,0,0,.02);cursor:pointer}.app-dd__item:hover .app-dd__item-refresh{display:flex}.app-dd__item-design{opacity:.8;user-select:none}.app-dd__item-design .app-dd__item-handle{display:flex!important;background:rgba(0,0,0,.1)}.app-dd__item-design .app-dd__item-refresh{display:none!important}.app-dd__item.cdk-drag-preview{border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.app-dd__item.cdk-drag-animating{transition:transform 250ms cubic-bezier(0,0,.2,1)} \ No newline at end of file diff --git a/src/assets/style.dark.css b/src/assets/style.dark.css new file mode 100644 index 00000000..1f6b0101 --- /dev/null +++ b/src/assets/style.dark.css @@ -0,0 +1 @@ +.ant-alert,body{font-variant:tabular-nums;font-size:14px}body,h1,h2,h3,h4,h5,h6{color:rgba(255,255,255,.85)}.ant-alert-close-icon,.ant-back-top,.ant-btn,.anticon[tabindex],a{cursor:pointer}dl,h1,h2,h3,h4,h5,h6,ol,p,pre,ul{margin-top:0}address,dl,ol,p,pre,ul{margin-bottom:1em}.ant-avatar,img{vertical-align:middle}.ant-btn,[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}.ant-picker-content,table{border-collapse:collapse}button,hr,input{overflow:visible}pre,textarea{overflow:auto}dd,h1,h2,h3,h4,h5,h6,legend{margin-bottom:.5em}.ant-badge-status,progress,sub,sup{vertical-align:baseline}[ant-click-animating-without-extra-node=true],[ant-click-animating=true],sub,sup{position:relative}.ant-carousel .slick-slider,.cdk-overlay-backdrop,html{-webkit-tap-highlight-color:transparent}.ant-alert.ant-alert-rtl,.ant-anchor-rtl,.ant-back-top-rtl,.ant-badge-rtl{direction:rtl}[class*=ant-] input::-ms-clear,[class*=ant-] input::-ms-reveal,[class*=ant-]::-ms-clear,[class^=ant-] input::-ms-clear,[class^=ant-] input::-ms-reveal,[class^=ant-]::-ms-clear{display:none}body,html{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;--antd-wave-shadow-color:#177ddc;--scroll-bar:0}.ant-pagination-item,body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji'}@-ms-viewport{width:device-width}body{margin:0;line-height:1.5715;background-color:#000;font-feature-settings:tnum}[tabindex='-1']:focus{outline:0!important}hr{box-sizing:content-box;height:0}h1,h2,h3,h4,h5,h6{font-weight:500}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{font-style:normal;line-height:inherit}.font-italic,dfn{font-style:italic}input[type=number],input[type=text],input[type=password],textarea{-webkit-appearance:none}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-left:0}blockquote,figure{margin:0 0 1em}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}a{color:#177ddc;text-decoration:none;background-color:transparent;outline:0;transition:color .3s;-webkit-text-decoration-skip:objects}a:hover{color:#165996}a:active{color:#388ed3}a:active,a:focus,a:hover{text-decoration:none;outline:0}a[disabled]{color:rgba(255,255,255,.3);cursor:not-allowed}code,kbd,pre,samp{font-size:1em;font-family:SFMono-Regular,Consolas,'Liberation Mono',Menlo,Courier,monospace}img{border-style:none}svg:not(:root){overflow:hidden}caption{padding-top:.75em;padding-bottom:.3em;color:rgba(255,255,255,.45);text-align:left;caption-side:bottom}button,input,optgroup,select,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;margin:0;padding:0}legend{display:block;width:100%;max-width:100%;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}.ant-input-number-handler-down-inner,.ant-input-number-handler-up-inner,.ant-select-arrow,.ant-select-multiple .ant-select-selection-item-remove,.anticon{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}.clearfix::after,.clearfix::before{display:table;content:''}mark{padding:.2em;background-color:#2b2611}::selection{color:#fff;background:#177ddc}.clearfix::after{clear:both}.anticon,.anticon svg{display:inline-block}.anticon{color:inherit;line-height:0;text-align:center;text-transform:none;vertical-align:-.125em}.anticon>*{line-height:1}.anticon::before{display:none}.anticon .anticon-icon{display:block}.anticon-spin,.anticon-spin::before{display:inline-block;animation:loadingCircle 1s infinite linear}.ant-fade-appear,.ant-fade-enter,.ant-fade-leave{animation-timing-function:linear}.ant-fade-appear,.ant-fade-enter,.ant-fade-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-fade-appear.ant-fade-appear-active,.ant-fade-enter.ant-fade-enter-active{animation-name:antFadeIn;animation-play-state:running}.ant-fade-leave.ant-fade-leave-active{animation-name:antFadeOut;animation-play-state:running;pointer-events:none}.ant-fade-appear,.ant-fade-enter{opacity:0}@keyframes antFadeIn{0%{opacity:0}100%{opacity:1}}@keyframes antFadeOut{0%{opacity:1}100%{opacity:0}}.ant-move-up-appear,.ant-move-up-enter,.ant-move-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-up-appear.ant-move-up-appear-active,.ant-move-up-enter.ant-move-up-enter-active{animation-name:antMoveUpIn;animation-play-state:running}.ant-move-up-leave.ant-move-up-leave-active{animation-name:antMoveUpOut;animation-play-state:running;pointer-events:none}.ant-move-up-appear,.ant-move-up-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-up-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-down-appear,.ant-move-down-enter,.ant-move-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-down-appear.ant-move-down-appear-active,.ant-move-down-enter.ant-move-down-enter-active{animation-name:antMoveDownIn;animation-play-state:running}.ant-move-down-leave.ant-move-down-leave-active{animation-name:antMoveDownOut;animation-play-state:running;pointer-events:none}.ant-move-down-appear,.ant-move-down-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-down-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-left-appear,.ant-move-left-enter,.ant-move-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-left-appear.ant-move-left-appear-active,.ant-move-left-enter.ant-move-left-enter-active{animation-name:antMoveLeftIn;animation-play-state:running}.ant-move-left-leave.ant-move-left-leave-active{animation-name:antMoveLeftOut;animation-play-state:running;pointer-events:none}.ant-move-left-appear,.ant-move-left-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-left-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}.ant-move-right-appear,.ant-move-right-enter,.ant-move-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-move-right-appear.ant-move-right-appear-active,.ant-move-right-enter.ant-move-right-enter-active{animation-name:antMoveRightIn;animation-play-state:running}.ant-move-right-leave.ant-move-right-leave-active{animation-name:antMoveRightOut;animation-play-state:running;pointer-events:none}.ant-move-right-appear,.ant-move-right-enter{opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-move-right-leave{animation-timing-function:cubic-bezier(.6,.04,.98,.34)}@keyframes antMoveDownIn{0%{transform:translateY(100%);transform-origin:0 0;opacity:0}100%{transform:translateY(0);transform-origin:0 0;opacity:1}}@keyframes antMoveDownOut{0%{transform:translateY(0);transform-origin:0 0;opacity:1}100%{transform:translateY(100%);transform-origin:0 0;opacity:0}}@keyframes antMoveLeftIn{0%{transform:translateX(-100%);transform-origin:0 0;opacity:0}100%{transform:translateX(0);transform-origin:0 0;opacity:1}}@keyframes antMoveLeftOut{0%{transform:translateX(0);transform-origin:0 0;opacity:1}100%{transform:translateX(-100%);transform-origin:0 0;opacity:0}}@keyframes antMoveRightIn{0%{transform:translateX(100%);transform-origin:0 0;opacity:0}100%{transform:translateX(0);transform-origin:0 0;opacity:1}}@keyframes antMoveRightOut{0%{transform:translateX(0);transform-origin:0 0;opacity:1}100%{transform:translateX(100%);transform-origin:0 0;opacity:0}}@keyframes antMoveUpIn{0%{transform:translateY(-100%);transform-origin:0 0;opacity:0}100%{transform:translateY(0);transform-origin:0 0;opacity:1}}@keyframes antMoveUpOut{0%{transform:translateY(0);transform-origin:0 0;opacity:1}100%{transform:translateY(-100%);transform-origin:0 0;opacity:0}}@keyframes loadingCircle{100%{transform:rotate(360deg)}}.ant-click-animating-node,[ant-click-animating-without-extra-node=true]::after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;border-radius:inherit;box-shadow:0 0 0 0 #177ddc;box-shadow:0 0 0 0 var(--antd-wave-shadow-color);opacity:.2;animation:fadeEffect 2s cubic-bezier(.08,.82,.17,1),waveEffect .4s cubic-bezier(.08,.82,.17,1);animation-fill-mode:forwards;content:'';pointer-events:none}@keyframes waveEffect{100%{box-shadow:0 0 0 #177ddc;box-shadow:0 0 0 6px var(--antd-wave-shadow-color)}}@keyframes fadeEffect{100%{opacity:0}}.ant-slide-up-appear,.ant-slide-up-enter,.ant-slide-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-up-appear.ant-slide-up-appear-active,.ant-slide-up-enter.ant-slide-up-enter-active{animation-name:antSlideUpIn;animation-play-state:running}.ant-slide-up-leave.ant-slide-up-leave-active{animation-name:antSlideUpOut;animation-play-state:running;pointer-events:none}.ant-slide-up-appear,.ant-slide-up-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-up-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-down-appear,.ant-slide-down-enter,.ant-slide-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-down-appear.ant-slide-down-appear-active,.ant-slide-down-enter.ant-slide-down-enter-active{animation-name:antSlideDownIn;animation-play-state:running}.ant-slide-down-leave.ant-slide-down-leave-active{animation-name:antSlideDownOut;animation-play-state:running;pointer-events:none}.ant-slide-down-appear,.ant-slide-down-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-down-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-left-appear,.ant-slide-left-enter,.ant-slide-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-left-appear.ant-slide-left-appear-active,.ant-slide-left-enter.ant-slide-left-enter-active{animation-name:antSlideLeftIn;animation-play-state:running}.ant-slide-left-leave.ant-slide-left-leave-active{animation-name:antSlideLeftOut;animation-play-state:running;pointer-events:none}.ant-slide-left-appear,.ant-slide-left-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-left-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}.ant-slide-right-appear,.ant-slide-right-enter,.ant-slide-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-slide-right-appear.ant-slide-right-appear-active,.ant-slide-right-enter.ant-slide-right-enter-active{animation-name:antSlideRightIn;animation-play-state:running}.ant-slide-right-leave.ant-slide-right-leave-active{animation-name:antSlideRightOut;animation-play-state:running;pointer-events:none}.ant-slide-right-appear,.ant-slide-right-enter{opacity:0;animation-timing-function:cubic-bezier(.23,1,.32,1)}.ant-slide-right-leave{animation-timing-function:cubic-bezier(.755,.05,.855,.06)}@keyframes antSlideUpIn{0%{transform:scaleY(.8);transform-origin:0 0;opacity:0}100%{transform:scaleY(1);transform-origin:0 0;opacity:1}}@keyframes antSlideUpOut{0%{transform:scaleY(1);transform-origin:0 0;opacity:1}100%{transform:scaleY(.8);transform-origin:0 0;opacity:0}}@keyframes antSlideDownIn{0%{transform:scaleY(.8);transform-origin:100% 100%;opacity:0}100%{transform:scaleY(1);transform-origin:100% 100%;opacity:1}}@keyframes antSlideDownOut{0%{transform:scaleY(1);transform-origin:100% 100%;opacity:1}100%{transform:scaleY(.8);transform-origin:100% 100%;opacity:0}}@keyframes antSlideLeftIn{0%{transform:scaleX(.8);transform-origin:0 0;opacity:0}100%{transform:scaleX(1);transform-origin:0 0;opacity:1}}@keyframes antSlideLeftOut{0%{transform:scaleX(1);transform-origin:0 0;opacity:1}100%{transform:scaleX(.8);transform-origin:0 0;opacity:0}}@keyframes antSlideRightIn{0%{transform:scaleX(.8);transform-origin:100% 0;opacity:0}100%{transform:scaleX(1);transform-origin:100% 0;opacity:1}}@keyframes antSlideRightOut{0%{transform:scaleX(1);transform-origin:100% 0;opacity:1}100%{transform:scaleX(.8);transform-origin:100% 0;opacity:0}}.ant-zoom-appear,.ant-zoom-enter,.ant-zoom-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-appear.ant-zoom-appear-active,.ant-zoom-enter.ant-zoom-enter-active{animation-name:antZoomIn;animation-play-state:running}.ant-zoom-leave.ant-zoom-leave-active{animation-name:antZoomOut;animation-play-state:running;pointer-events:none}.ant-zoom-appear,.ant-zoom-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-appear-prepare,.ant-zoom-enter-prepare{transform:none}.ant-zoom-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-big-appear,.ant-zoom-big-enter,.ant-zoom-big-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-big-appear.ant-zoom-big-appear-active,.ant-zoom-big-enter.ant-zoom-big-enter-active{animation-name:antZoomBigIn;animation-play-state:running}.ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none}.ant-zoom-big-appear,.ant-zoom-big-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-big-appear-prepare,.ant-zoom-big-enter-prepare{transform:none}.ant-zoom-big-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-big-fast-appear,.ant-zoom-big-fast-enter,.ant-zoom-big-fast-leave{animation-duration:.1s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active,.ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active{animation-name:antZoomBigIn;animation-play-state:running}.ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active{animation-name:antZoomBigOut;animation-play-state:running;pointer-events:none}.ant-zoom-big-fast-appear,.ant-zoom-big-fast-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-big-fast-appear-prepare,.ant-zoom-big-fast-enter-prepare{transform:none}.ant-zoom-big-fast-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-up-appear,.ant-zoom-up-enter,.ant-zoom-up-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-up-appear.ant-zoom-up-appear-active,.ant-zoom-up-enter.ant-zoom-up-enter-active{animation-name:antZoomUpIn;animation-play-state:running}.ant-zoom-up-leave.ant-zoom-up-leave-active{animation-name:antZoomUpOut;animation-play-state:running;pointer-events:none}.ant-zoom-up-appear,.ant-zoom-up-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-up-appear-prepare,.ant-zoom-up-enter-prepare{transform:none}.ant-zoom-up-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-down-appear,.ant-zoom-down-enter,.ant-zoom-down-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-down-appear.ant-zoom-down-appear-active,.ant-zoom-down-enter.ant-zoom-down-enter-active{animation-name:antZoomDownIn;animation-play-state:running}.ant-zoom-down-leave.ant-zoom-down-leave-active{animation-name:antZoomDownOut;animation-play-state:running;pointer-events:none}.ant-zoom-down-appear,.ant-zoom-down-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-down-appear-prepare,.ant-zoom-down-enter-prepare{transform:none}.ant-zoom-down-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-left-appear,.ant-zoom-left-enter,.ant-zoom-left-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-left-appear.ant-zoom-left-appear-active,.ant-zoom-left-enter.ant-zoom-left-enter-active{animation-name:antZoomLeftIn;animation-play-state:running}.ant-zoom-left-leave.ant-zoom-left-leave-active{animation-name:antZoomLeftOut;animation-play-state:running;pointer-events:none}.ant-zoom-left-appear,.ant-zoom-left-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-left-appear-prepare,.ant-zoom-left-enter-prepare{transform:none}.ant-zoom-left-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}.ant-zoom-right-appear,.ant-zoom-right-enter,.ant-zoom-right-leave{animation-duration:.2s;animation-fill-mode:both;animation-play-state:paused}.ant-zoom-right-appear.ant-zoom-right-appear-active,.ant-zoom-right-enter.ant-zoom-right-enter-active{animation-name:antZoomRightIn;animation-play-state:running}.ant-zoom-right-leave.ant-zoom-right-leave-active{animation-name:antZoomRightOut;animation-play-state:running;pointer-events:none}.ant-zoom-right-appear,.ant-zoom-right-enter{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(.08,.82,.17,1)}.ant-zoom-right-appear-prepare,.ant-zoom-right-enter-prepare{transform:none}.ant-zoom-right-leave{animation-timing-function:cubic-bezier(.78,.14,.15,.86)}@keyframes antZoomIn{0%{transform:scale(.2);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes antZoomOut{0%{transform:scale(1)}100%{transform:scale(.2);opacity:0}}@keyframes antZoomBigIn{0%{transform:scale(.8);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes antZoomBigOut{0%{transform:scale(1)}100%{transform:scale(.8);opacity:0}}@keyframes antZoomUpIn{0%{transform:scale(.8);transform-origin:50% 0;opacity:0}100%{transform:scale(1);transform-origin:50% 0}}@keyframes antZoomUpOut{0%{transform:scale(1);transform-origin:50% 0}100%{transform:scale(.8);transform-origin:50% 0;opacity:0}}@keyframes antZoomLeftIn{0%{transform:scale(.8);transform-origin:0 50%;opacity:0}100%{transform:scale(1);transform-origin:0 50%}}@keyframes antZoomLeftOut{0%{transform:scale(1);transform-origin:0 50%}100%{transform:scale(.8);transform-origin:0 50%;opacity:0}}@keyframes antZoomRightIn{0%{transform:scale(.8);transform-origin:100% 50%;opacity:0}100%{transform:scale(1);transform-origin:100% 50%}}@keyframes antZoomRightOut{0%{transform:scale(1);transform-origin:100% 50%}100%{transform:scale(.8);transform-origin:100% 50%;opacity:0}}@keyframes antZoomDownIn{0%{transform:scale(.8);transform-origin:50% 100%;opacity:0}100%{transform:scale(1);transform-origin:50% 100%}}@keyframes antZoomDownOut{0%{transform:scale(1);transform-origin:50% 100%}100%{transform:scale(.8);transform-origin:50% 100%;opacity:0}}.ant-motion-collapse-legacy{overflow:hidden}.ant-motion-collapse-legacy-active{transition:height .2s cubic-bezier(.645,.045,.355,1),opacity .2s cubic-bezier(.645,.045,.355,1)!important}.ant-motion-collapse{overflow:hidden;transition:height .2s cubic-bezier(.645,.045,.355,1),opacity .2s cubic-bezier(.645,.045,.355,1)!important}.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%;position:fixed;z-index:1000}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-overlay-backdrop{top:0;bottom:0;left:0;right:0;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0;position:absolute;pointer-events:auto;z-index:1000}.cdk-overlay-backdrop.ant-modal-mask{opacity:1}.cdk-overlay-pane{position:absolute;pointer-events:auto;z-index:1000}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-global-scrollblock body{overflow-x:visible}.nz-overlay-transparent-backdrop,.nz-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.nz-animate-disabled.ant-drawer.ant-drawer-open .ant-drawer-mask,.nz-animate-disabled.ant-scroll-number-only{animation:none;transition:none}.nz-animate-disabled.ant-drawer>*{transition:none}.nz-animate-disabled .ant-modal,.nz-animate-disabled .ant-modal-mask,.nz-animate-disabled .ant-modal-mask.zoom-enter,.nz-animate-disabled .ant-modal-mask.zoom-enter-active,.nz-animate-disabled .ant-modal-mask.zoom-leave,.nz-animate-disabled .ant-modal-mask.zoom-leave-active,.nz-animate-disabled .ant-modal.zoom-enter,.nz-animate-disabled .ant-modal.zoom-enter-active,.nz-animate-disabled .ant-modal.zoom-leave,.nz-animate-disabled .ant-modal.zoom-leave-active{animation:none;transition:none}.nz-animate-disabled.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg,.nz-animate-disabled.ant-menu,.nz-animate-disabled.ant-menu .ant-menu-item,.nz-animate-disabled.ant-menu .ant-menu-item .anticon,.nz-animate-disabled.ant-menu .ant-menu-item .anticon+span,.nz-animate-disabled.ant-menu .ant-menu-submenu-title,.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon,.nz-animate-disabled.ant-menu .ant-menu-submenu-title .anticon+span,.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content.ant-tabs-content-animated,.nz-animate-disabled.ant-tabs .ant-tabs-bottom-content>.ant-tabs-tabpane,.nz-animate-disabled.ant-tabs .ant-tabs-top-content.ant-tabs-content-animated,.nz-animate-disabled.ant-tabs .ant-tabs-top-content>.ant-tabs-tabpane,.nz-animate-disabled.ant-tabs.ant-tabs-bottom .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-left .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-right .ant-tabs-ink-bar-animated,.nz-animate-disabled.ant-tabs.ant-tabs-top .ant-tabs-ink-bar-animated{transition:none}.ant-affix{position:fixed;z-index:10}.ant-alert,.ant-anchor{line-height:1.5715;position:relative;list-style:none}nz-affix{display:block}.ant-alert{box-sizing:border-box;margin:0;color:rgba(255,255,255,.85);font-feature-settings:tnum;display:flex;align-items:center;padding:8px 15px;word-wrap:break-word;border-radius:2px}.ant-alert-content{flex:1;min-width:0}.ant-alert-icon{margin-right:8px}.ant-alert-description{display:none;font-size:14px;line-height:22px}.ant-alert-success{background-color:#162312;border:1px solid #274916}.ant-alert-success .ant-alert-icon{color:#49aa19}.ant-alert-info{background-color:#111b26;border:1px solid #153450}.ant-alert-info .ant-alert-icon{color:#177ddc}.ant-alert-warning{background-color:#2b2111;border:1px solid #594214}.ant-alert-warning .ant-alert-icon{color:#d89614}.ant-alert-error{background-color:#2a1215;border:1px solid #58181c}.ant-alert-error .ant-alert-icon{color:#a61d24}.ant-alert-error .ant-alert-description>pre{margin:0;padding:0}.ant-alert-action{margin-left:8px}.ant-alert-close-icon{margin-left:8px;padding:0;overflow:hidden;font-size:12px;line-height:12px;background-color:transparent;border:none;outline:0}.ant-alert-close-icon .anticon-close{color:rgba(255,255,255,.45);transition:color .3s}.ant-alert-close-icon .anticon-close:hover{color:rgba(255,255,255,.75)}.ant-alert-close-text{color:rgba(255,255,255,.45);transition:color .3s}.ant-alert-close-text:hover{color:rgba(255,255,255,.75)}.ant-alert-message,.ant-alert-with-description .ant-alert-message,.ant-anchor,.ant-anchor-link-title,.ant-back-top{color:rgba(255,255,255,.85)}.ant-alert-with-description{align-items:flex-start;padding:15px 15px 15px 24px}.ant-alert-with-description.ant-alert-no-icon{padding:15px}.ant-alert-with-description .ant-alert-icon{margin-right:15px;font-size:24px}.ant-alert-with-description .ant-alert-message{display:block;margin-bottom:4px;font-size:16px}.ant-anchor,.ant-avatar{font-size:14px;font-variant:tabular-nums;font-feature-settings:tnum;box-sizing:border-box}.ant-alert-with-description .ant-alert-description{display:block}.ant-alert.ant-alert-motion-leave{overflow:hidden;opacity:1;transition:max-height .3s cubic-bezier(.78,.14,.15,.86),opacity .3s cubic-bezier(.78,.14,.15,.86),padding-top .3s cubic-bezier(.78,.14,.15,.86),padding-bottom .3s cubic-bezier(.78,.14,.15,.86),margin-bottom .3s cubic-bezier(.78,.14,.15,.86)}.ant-alert.ant-alert-motion-leave-active{max-height:0;margin-bottom:0!important;padding-top:0;padding-bottom:0;opacity:0}.ant-alert-banner{margin-bottom:0;border:0;border-radius:0}.ant-alert-rtl.ant-alert.ant-alert-no-icon{padding:8px 15px}.ant-alert-rtl .ant-alert-icon{margin-right:auto;margin-left:8px}.ant-alert-rtl .ant-alert-action,.ant-alert-rtl .ant-alert-close-icon{margin-right:8px;margin-left:auto}.ant-alert-rtl.ant-alert-with-description .ant-alert-icon{margin-right:auto;margin-left:15px}nz-alert{display:block}.ant-anchor{margin:0;padding:0 0 0 2px}.ant-anchor-wrapper{margin-left:-4px;padding-left:4px;overflow:auto;background-color:transparent}.ant-anchor-ink{position:absolute;top:0;left:0;height:100%}.ant-anchor-ink::before{position:relative;display:block;width:2px;height:100%;margin:0 auto;background-color:#303030;content:' '}.ant-anchor-ink-ball{position:absolute;left:50%;display:none;width:8px;height:8px;background-color:#141414;border:2px solid #177ddc;border-radius:8px;transform:translateX(-50%);transition:top .3s ease-in-out}.ant-anchor-link-title,.ant-avatar{position:relative;overflow:hidden;white-space:nowrap}.ant-anchor-ink-ball.visible{display:inline-block}.ant-anchor.fixed .ant-anchor-ink .ant-anchor-ink-ball{display:none}.ant-anchor-link{padding:7px 0 7px 16px;line-height:1.143}.ant-anchor-link-title{display:block;margin-bottom:6px;text-overflow:ellipsis;transition:all .3s}.ant-anchor-link-title:only-child{margin-bottom:0}.ant-anchor-link-active>.ant-anchor-link-title{color:#177ddc}.ant-anchor-link .ant-anchor-link{padding-top:5px;padding-bottom:5px}.ant-anchor-rtl.ant-anchor-wrapper{margin-right:-4px;margin-left:0;padding-right:4px;padding-left:0}.ant-avatar,.ant-avatar-lg.ant-avatar-icon>.anticon,.ant-avatar-sm.ant-avatar-icon>.anticon,.ant-avatar.ant-avatar-icon>.anticon{margin:0}.ant-anchor-rtl .ant-anchor-ink{right:0;left:auto}.ant-anchor-rtl .ant-anchor-ink-ball{right:50%;left:0;transform:translateX(50%)}.ant-anchor-rtl .ant-anchor-link{padding:7px 16px 7px 0}nz-link{display:block}.ant-avatar{padding:0;list-style:none;display:inline-block;color:#fff;text-align:center;background:rgba(255,255,255,.3);width:32px;height:32px;line-height:32px;border-radius:50%}.ant-avatar-lg-string,.ant-avatar-sm-string,.ant-avatar-string{position:absolute;left:50%;transform-origin:0 center}.ant-avatar-image{background:0 0}.ant-avatar .ant-image-img{display:block}.ant-avatar.ant-avatar-icon{font-size:18px}.ant-avatar-lg{width:40px;height:40px;line-height:40px;border-radius:50%}.ant-avatar-lg.ant-avatar-icon{font-size:24px}.ant-avatar-sm.ant-avatar-icon,.ant-back-top{font-size:14px}.ant-avatar-sm{width:24px;height:24px;line-height:24px;border-radius:50%}.ant-avatar-square{border-radius:2px}.ant-avatar>img{display:block;width:100%;height:100%;object-fit:cover}.ant-avatar-group,.ant-btn-group{display:inline-flex}.ant-avatar-group .ant-avatar{border:1px solid #fff}.ant-avatar-group .ant-avatar:not(:first-child){margin-left:-8px}.ant-avatar-group-popover .ant-avatar+.ant-avatar{margin-left:3px}.ant-avatar-group-rtl .ant-avatar:not(:first-child){margin-right:-8px;margin-left:0}.ant-avatar-group-popover.ant-popover-rtl .ant-avatar+.ant-avatar{margin-right:3px;margin-left:0}.ant-back-top,.ant-badge{margin:0;padding:0;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-back-top{box-sizing:border-box;line-height:1.5715;position:fixed;right:100px;bottom:50px;z-index:10;width:40px;height:40px}.ant-back-top:empty{display:none}.ant-badge,.ant-badge-status-dot{display:inline-block;position:relative}.ant-back-top-rtl{right:auto;left:100px}.ant-back-top-content{width:40px;height:40px;overflow:hidden;color:#fff;text-align:center;background-color:rgba(255,255,255,.45);border-radius:20px;transition:all .3s}.ant-back-top-content:hover{background-color:rgba(255,255,255,.85);transition:all .3s}.ant-badge-count,.ant-badge-dot{background:#a61d24;box-shadow:0 0 0 1px #141414}.ant-back-top-icon{font-size:24px;line-height:40px}@media screen and (max-width:768px){.ant-back-top{right:60px}}@media screen and (max-width:480px){.ant-back-top{right:20px}}.ant-badge{box-sizing:border-box;color:rgba(255,255,255,.85);font-size:14px;line-height:1}.ant-badge-count{z-index:auto;min-width:20px;height:20px;padding:0 6px;color:#fff;font-weight:400;font-size:12px;line-height:20px;white-space:nowrap;text-align:center;border-radius:10px}.ant-badge-count a,.ant-badge-count a:hover{color:#fff}.ant-badge-count-sm{min-width:14px;height:14px;padding:0;font-size:12px;line-height:14px;border-radius:7px}.ant-badge-multiple-words,.ant-ribbon{padding:0 8px}.ant-badge-dot,.ant-spin-dot-item,.g2-card__avatar img{border-radius:100%}.ant-badge-dot{z-index:auto;width:6px;min-width:6px;height:6px}.ant-badge .ant-scroll-number-custom-component,.ant-badge-count,.ant-badge-dot{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0}.ant-badge .ant-scroll-number-custom-component.anticon-spin,.ant-badge-count.anticon-spin,.ant-badge-dot.anticon-spin{animation:antBadgeLoadingCircle 1s infinite linear}.ant-badge-status{line-height:inherit}.ant-badge-not-a-wrapper:not(.ant-badge-status),.ant-badge-status-dot{vertical-align:middle}.ant-badge-status-dot{top:-1px;width:6px;height:6px;border-radius:50%}.ant-badge-status-success{background-color:#49aa19}.ant-badge-status-processing{position:relative;background-color:#177ddc}.ant-badge-status-processing::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #177ddc;border-radius:50%;animation:antStatusProcessing 1.2s infinite ease-in-out;content:''}.ant-badge-status-default{background-color:#d9d9d9}.ant-badge-status-error{background-color:#a61d24}.ant-badge-status-warning{background-color:#d89614}.ant-badge-status-magenta,.ant-badge-status-pink{background:#cb2b83}.ant-badge-status-red{background:#d32029}.ant-badge-status-volcano{background:#d84a1b}.ant-badge-status-orange{background:#d87a16}.ant-badge-status-yellow{background:#d8bd14}.ant-badge-status-gold{background:#d89614}.ant-badge-status-cyan{background:#13a8a8}.ant-badge-status-lime{background:#8bbb11}.ant-badge-status-green{background:#49aa19}.ant-badge-status-blue{background:#177ddc}.ant-badge-status-geekblue{background:#2b4acb}.ant-badge-status-purple{background:#642ab5}.ant-badge-status-text{margin-left:8px;color:rgba(255,255,255,.85);font-size:14px}.ant-badge-zoom-appear,.ant-badge-zoom-enter{animation:antZoomBadgeIn .3s cubic-bezier(.12,.4,.29,1.46);animation-fill-mode:both}.ant-badge-zoom-leave{animation:antZoomBadgeOut .3s cubic-bezier(.71,-.46,.88,.6);animation-fill-mode:both}.ant-badge-not-a-wrapper .ant-badge-zoom-appear,.ant-badge-not-a-wrapper .ant-badge-zoom-enter{animation:antNoWrapperZoomBadgeIn .3s cubic-bezier(.12,.4,.29,1.46)}.ant-badge-not-a-wrapper .ant-badge-zoom-leave{animation:antNoWrapperZoomBadgeOut .3s cubic-bezier(.71,-.46,.88,.6)}.ant-badge-not-a-wrapper .ant-scroll-number-custom-component{transform:none}.ant-badge-not-a-wrapper .ant-scroll-number,.ant-badge-not-a-wrapper .ant-scroll-number-custom-component{position:relative;top:auto;display:block;transform-origin:50% 50%}.ant-btn,.ant-btn>span,.ant-scroll-number-only{display:inline-block}@keyframes antStatusProcessing{0%{transform:scale(.8);opacity:.5}100%{transform:scale(2.4);opacity:0}}.ant-scroll-number-only,.ant-scroll-number-only>p.ant-scroll-number-only-unit{height:20px;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden}.ant-scroll-number{overflow:hidden}.ant-scroll-number-only{position:relative;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-scroll-number-only>p.ant-scroll-number-only-unit{margin:0}.ant-scroll-number-symbol{vertical-align:top}@keyframes antZoomBadgeIn{0%{transform:scale(0) translate(50%,-50%);opacity:0}100%{transform:scale(1) translate(50%,-50%)}}@keyframes antZoomBadgeOut{0%{transform:scale(1) translate(50%,-50%)}100%{transform:scale(0) translate(50%,-50%);opacity:0}}@keyframes antNoWrapperZoomBadgeIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1)}}@keyframes antNoWrapperZoomBadgeOut{0%{transform:scale(1)}100%{transform:scale(0);opacity:0}}@keyframes antBadgeLoadingCircle{0%{transform-origin:50%}100%{transform:translate(50%,-50%) rotate(360deg);transform-origin:50%}}.ant-ribbon-wrapper{position:relative}.ant-ribbon{box-sizing:border-box;margin:0;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:absolute;top:8px;height:22px;color:#fff;line-height:22px;white-space:nowrap;background-color:#177ddc;border-radius:2px}.ant-breadcrumb,.ant-btn{line-height:1.5715;font-size:14px}.ant-ribbon-text{color:#fff}.ant-ribbon-corner{position:absolute;top:100%;width:8px;height:8px;color:currentColor;border:4px solid;transform:scaleY(.75);transform-origin:top}.ant-ribbon-corner::after{position:absolute;top:-4px;left:-4px;width:inherit;height:inherit;color:rgba(0,0,0,.25);border:inherit;content:''}.ant-ribbon-color-magenta,.ant-ribbon-color-pink{color:#cb2b83;background:#cb2b83}.ant-ribbon-color-red{color:#d32029;background:#d32029}.ant-ribbon-color-volcano{color:#d84a1b;background:#d84a1b}.ant-ribbon-color-orange{color:#d87a16;background:#d87a16}.ant-ribbon-color-yellow{color:#d8bd14;background:#d8bd14}.ant-ribbon-color-gold{color:#d89614;background:#d89614}.ant-ribbon-color-cyan{color:#13a8a8;background:#13a8a8}.ant-ribbon-color-lime{color:#8bbb11;background:#8bbb11}.ant-ribbon-color-green{color:#49aa19;background:#49aa19}.ant-ribbon-color-blue{color:#177ddc;background:#177ddc}.ant-ribbon-color-geekblue{color:#2b4acb;background:#2b4acb}.ant-ribbon-color-purple{color:#642ab5;background:#642ab5}.ant-ribbon.ant-ribbon-placement-end{right:-8px;border-bottom-right-radius:0}.ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner{right:0;border-color:currentColor transparent transparent currentColor}.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner,.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner::after,.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner{border-color:currentColor currentColor transparent transparent}.ant-ribbon.ant-ribbon-placement-start{left:-8px;border-bottom-left-radius:0}.ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner{left:0}.ant-badge-rtl .ant-badge .ant-scroll-number-custom-component,.ant-badge-rtl .ant-badge-count,.ant-badge-rtl .ant-badge-dot{right:auto;left:0;direction:ltr;transform:translate(-50%,-50%);transform-origin:0 0}.ant-breadcrumb-rtl,.ant-btn-group.ant-btn-group-rtl,.ant-btn-rtl,.ant-card-rtl,.ant-carousel-rtl,.ant-checkbox-rtl,.ant-collapse-rtl,.ant-comment-rtl,.ant-picker-input>input-rtl,.ant-ribbon-rtl{direction:rtl}.ant-badge-rtl.ant-badge .ant-scroll-number-custom-component{right:auto;left:0;transform:translate(-50%,-50%);transform-origin:0 0}.ant-badge-rtl .ant-badge-status-text{margin-right:8px;margin-left:0}.ant-badge-rtl .ant-badge-zoom-appear,.ant-badge-rtl .ant-badge-zoom-enter{animation-name:antZoomBadgeInRtl}.ant-badge-rtl .ant-badge-zoom-leave{animation-name:antZoomBadgeOutRtl}.ant-badge-not-a-wrapper .ant-badge-count{transform:none}.ant-ribbon-rtl.ant-ribbon-placement-end{right:unset;left:-8px;border-bottom-right-radius:2px;border-bottom-left-radius:0}.ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner{right:unset;left:0}.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner,.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner::after{border-color:currentColor transparent transparent currentColor}.ant-ribbon-rtl.ant-ribbon-placement-start{right:-8px;left:unset;border-bottom-right-radius:0;border-bottom-left-radius:2px}.ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner{right:0;left:unset}@keyframes antZoomBadgeInRtl{0%{transform:scale(0) translate(-50%,-50%);opacity:0}100%{transform:scale(1) translate(-50%,-50%)}}@keyframes antZoomBadgeOutRtl{0%{transform:scale(1) translate(-50%,-50%)}100%{transform:scale(0) translate(-50%,-50%);opacity:0}}.ant-badge .ant-scroll-number:only-child{position:relative;top:auto;display:block}.ant-badge .ant-badge-count:only-child{transform:none}nz-ribbon{display:block}.ant-breadcrumb{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;color:rgba(255,255,255,.45)}.ant-breadcrumb .anticon{font-size:14px}.ant-breadcrumb a{color:rgba(255,255,255,.45);transition:color .3s}.ant-breadcrumb a:hover{color:#165996}.ant-breadcrumb>span:last-child,.ant-breadcrumb>span:last-child a{color:rgba(255,255,255,.85)}.ant-breadcrumb>span:last-child .ant-breadcrumb-separator{display:none}.ant-breadcrumb-rtl::after,.ant-breadcrumb-rtl::before{display:table;content:''}.ant-breadcrumb-separator{margin:0 8px;color:rgba(255,255,255,.45)}.ant-breadcrumb>nz-breadcrumb-item:last-child,.ant-breadcrumb>nz-breadcrumb-item:last-child a,.ant-btn{color:rgba(255,255,255,.85)}.ant-breadcrumb-link>.anticon+a,.ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-overlay-link>.anticon{margin-left:4px}.ant-breadcrumb-rtl::after{clear:both}.ant-breadcrumb-rtl>span{float:right}.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+a,.ant-breadcrumb-rtl .ant-breadcrumb-link>.anticon+span,.ant-breadcrumb-rtl .ant-breadcrumb-overlay-link>.anticon{margin-right:4px;margin-left:0}.ant-breadcrumb-link .anticon+span{margin-left:4px}.ant-breadcrumb-rtl>nz-breadcrumb-item{float:right}nz-breadcrumb{display:block}nz-breadcrumb-item:last-child .ant-breadcrumb-separator{display:none}.ant-btn{position:relative;font-weight:400;white-space:nowrap;text-align:center;border:1px solid #434343;box-shadow:0 2px 0 rgba(0,0,0,.015);transition:all .3s cubic-bezier(.645,.045,.355,1);user-select:none;height:32px;padding:4px 15px;border-radius:2px;background:0 0}.ant-btn>.anticon,.ant-checkbox{line-height:1}.ant-btn,.ant-btn:active,.ant-btn:focus{outline:0}.ant-btn:not([disabled]):hover{text-decoration:none}.ant-btn:not([disabled]):active{outline:0;box-shadow:none}.ant-btn[disabled]{cursor:not-allowed}.ant-btn[disabled]>*{pointer-events:none}.ant-btn-lg{height:40px;padding:6.4px 15px;font-size:16px;border-radius:2px}.ant-btn-sm{height:24px;padding:0 7px;font-size:14px;border-radius:2px}.ant-btn>a:only-child{color:currentColor}.ant-btn>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn:focus,.ant-btn:hover{color:#165996;border-color:#165996}.ant-btn:focus>a:only-child,.ant-btn:hover>a:only-child{color:currentColor}.ant-btn:focus>a:only-child::after,.ant-btn:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn:active{color:#388ed3;border-color:#388ed3}.ant-btn:active>a:only-child{color:currentColor}.ant-btn:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn[disabled],.ant-btn[disabled]:active,.ant-btn[disabled]:focus,.ant-btn[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn[disabled]:active>a:only-child,.ant-btn[disabled]:focus>a:only-child,.ant-btn[disabled]:hover>a:only-child,.ant-btn[disabled]>a:only-child{color:currentColor}.ant-btn[disabled]:active>a:only-child::after,.ant-btn[disabled]:focus>a:only-child::after,.ant-btn[disabled]:hover>a:only-child::after,.ant-btn[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn:active,.ant-btn:focus,.ant-btn:hover{text-decoration:none;background:0 0}.ant-btn-primary{color:#fff;background:#177ddc;border-color:#177ddc;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary:focus,.ant-btn-primary:hover{color:#fff;background:#095cb5;border-color:#095cb5}.ant-btn-primary:focus>a:only-child,.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-primary:focus>a:only-child::after,.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary:active{color:#fff;background:#3c9be8;border-color:#3c9be8}.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-primary[disabled],.ant-btn-primary[disabled]:active,.ant-btn-primary[disabled]:focus,.ant-btn-primary[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child){border-right-color:#165996;border-left-color:#165996}.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled{border-color:#434343}.ant-btn-group .ant-btn-primary:first-child:not(:last-child){border-right-color:#165996}.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled]{border-right-color:#434343}.ant-btn-group .ant-btn-primary+.ant-btn-primary,.ant-btn-group .ant-btn-primary:last-child:not(:first-child){border-left-color:#165996}.ant-btn-group .ant-btn-primary+.ant-btn-primary[disabled],.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled]{border-left-color:#434343}.ant-btn-ghost{color:rgba(255,255,255,.85);background:0 0;border-color:#434343}.ant-btn-ghost>a:only-child{color:currentColor}.ant-btn-ghost>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost:focus,.ant-btn-ghost:hover{color:#165996;background:0 0;border-color:#165996}.ant-btn-ghost:focus>a:only-child,.ant-btn-ghost:hover>a:only-child{color:currentColor}.ant-btn-ghost:focus>a:only-child::after,.ant-btn-ghost:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost:active{color:#388ed3;background:0 0;border-color:#388ed3}.ant-btn-ghost:active>a:only-child{color:currentColor}.ant-btn-ghost:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-ghost[disabled],.ant-btn-ghost[disabled]:active,.ant-btn-ghost[disabled]:focus,.ant-btn-ghost[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-ghost[disabled]:active>a:only-child,.ant-btn-ghost[disabled]:focus>a:only-child,.ant-btn-ghost[disabled]:hover>a:only-child,.ant-btn-ghost[disabled]>a:only-child{color:currentColor}.ant-btn-ghost[disabled]:active>a:only-child::after,.ant-btn-ghost[disabled]:focus>a:only-child::after,.ant-btn-ghost[disabled]:hover>a:only-child::after,.ant-btn-ghost[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed{color:rgba(255,255,255,.85);background:0 0;border-color:#434343;border-style:dashed}.ant-btn-dashed>a:only-child{color:currentColor}.ant-btn-dashed>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed:focus,.ant-btn-dashed:hover{color:#165996;background:0 0;border-color:#165996}.ant-btn-dashed:focus>a:only-child,.ant-btn-dashed:hover>a:only-child{color:currentColor}.ant-btn-dashed:focus>a:only-child::after,.ant-btn-dashed:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed:active{color:#388ed3;background:0 0;border-color:#388ed3}.ant-btn-dashed:active>a:only-child{color:currentColor}.ant-btn-dashed:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dashed[disabled],.ant-btn-dashed[disabled]:active,.ant-btn-dashed[disabled]:focus,.ant-btn-dashed[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-dashed[disabled]:active>a:only-child,.ant-btn-dashed[disabled]:focus>a:only-child,.ant-btn-dashed[disabled]:hover>a:only-child,.ant-btn-dashed[disabled]>a:only-child{color:currentColor}.ant-btn-dashed[disabled]:active>a:only-child::after,.ant-btn-dashed[disabled]:focus>a:only-child::after,.ant-btn-dashed[disabled]:hover>a:only-child::after,.ant-btn-dashed[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger{color:#fff;background:#a61d24;border-color:#a61d24;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-danger>a:only-child{color:currentColor}.ant-btn-danger>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger:focus,.ant-btn-danger:hover{color:#fff;background:#800f19;border-color:#800f19}.ant-btn-danger:focus>a:only-child,.ant-btn-danger:hover>a:only-child{color:currentColor}.ant-btn-danger:focus>a:only-child::after,.ant-btn-danger:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger:active{color:#fff;background:#b33b3d;border-color:#b33b3d}.ant-btn-danger:active>a:only-child{color:currentColor}.ant-btn-danger:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-danger[disabled],.ant-btn-danger[disabled]:active,.ant-btn-danger[disabled]:focus,.ant-btn-danger[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-danger[disabled]:active>a:only-child,.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-danger[disabled]>a:only-child{color:currentColor}.ant-btn-danger[disabled]:active>a:only-child::after,.ant-btn-danger[disabled]:focus>a:only-child::after,.ant-btn-danger[disabled]:hover>a:only-child::after,.ant-btn-danger[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link{color:#177ddc;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-link>a:only-child{color:currentColor}.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:focus,.ant-btn-link:hover{color:#165996;background:0 0;border-color:#165996}.ant-btn-link:focus>a:only-child,.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-link:focus>a:only-child::after,.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:active{color:#388ed3;background:0 0}.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-link:hover{background:0 0}.ant-btn-link:active,.ant-btn-link:focus,.ant-btn-link:hover{border-color:transparent}.ant-btn-link[disabled],.ant-btn-link[disabled]:active,.ant-btn-link[disabled]:focus,.ant-btn-link[disabled]:hover{color:rgba(255,255,255,.3);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-link[disabled]:active>a:only-child,.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text{color:rgba(255,255,255,.85);background:0 0;border-color:transparent;box-shadow:none}.ant-btn-text>a:only-child{color:currentColor}.ant-btn-text>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:focus,.ant-btn-text:hover{color:#165996}.ant-btn-text:focus>a:only-child,.ant-btn-text:hover>a:only-child{color:currentColor}.ant-btn-text:focus>a:only-child::after,.ant-btn-text:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:active{color:#388ed3}.ant-btn-text:active>a:only-child{color:currentColor}.ant-btn-text:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-text:focus,.ant-btn-text:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.03);border-color:transparent}.ant-btn-text:active{color:rgba(255,255,255,.85);background:rgba(255,255,255,.04);border-color:transparent}.ant-btn-text[disabled],.ant-btn-text[disabled]:active,.ant-btn-text[disabled]:focus,.ant-btn-text[disabled]:hover{color:rgba(255,255,255,.3);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-text[disabled]:active>a:only-child,.ant-btn-text[disabled]:focus>a:only-child,.ant-btn-text[disabled]:hover>a:only-child,.ant-btn-text[disabled]>a:only-child{color:currentColor}.ant-btn-text[disabled]:active>a:only-child::after,.ant-btn-text[disabled]:focus>a:only-child::after,.ant-btn-text[disabled]:hover>a:only-child::after,.ant-btn-text[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous{color:#a61d24;background:0 0;border-color:#a61d24}.ant-btn-dangerous>a:only-child{color:currentColor}.ant-btn-dangerous>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous:focus,.ant-btn-dangerous:hover{color:#800f19;background:0 0;border-color:#800f19}.ant-btn-dangerous:focus>a:only-child,.ant-btn-dangerous:hover>a:only-child{color:currentColor}.ant-btn-dangerous:focus>a:only-child::after,.ant-btn-dangerous:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous:active{color:#b33b3d;background:0 0;border-color:#b33b3d}.ant-btn-dangerous:active>a:only-child{color:currentColor}.ant-btn-dangerous:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous[disabled],.ant-btn-dangerous[disabled]:active,.ant-btn-dangerous[disabled]:focus,.ant-btn-dangerous[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-dangerous[disabled]:active>a:only-child,.ant-btn-dangerous[disabled]:focus>a:only-child,.ant-btn-dangerous[disabled]:hover>a:only-child,.ant-btn-dangerous[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous[disabled]:active>a:only-child::after,.ant-btn-dangerous[disabled]:focus>a:only-child::after,.ant-btn-dangerous[disabled]:hover>a:only-child::after,.ant-btn-dangerous[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary{color:#fff;background:#a61d24;border-color:#a61d24;text-shadow:0 -1px 0 rgba(0,0,0,.12);box-shadow:0 2px 0 rgba(0,0,0,.045)}.ant-btn-dangerous.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary:focus,.ant-btn-dangerous.ant-btn-primary:hover{color:#fff;background:#800f19;border-color:#800f19}.ant-btn-dangerous.ant-btn-primary:focus>a:only-child,.ant-btn-dangerous.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary:active{color:#fff;background:#b33b3d;border-color:#b33b3d}.ant-btn-dangerous.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-primary[disabled],.ant-btn-dangerous.ant-btn-primary[disabled]:active,.ant-btn-dangerous.ant-btn-primary[disabled]:focus,.ant-btn-dangerous.ant-btn-primary[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link{color:#a61d24;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-dangerous.ant-btn-link>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link:focus,.ant-btn-dangerous.ant-btn-link:hover{color:#800f19;background:0 0;border-color:transparent}.ant-btn-dangerous.ant-btn-link:focus>a:only-child,.ant-btn-dangerous.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link:active{color:#b33b3d;background:0 0;border-color:transparent}.ant-btn-dangerous.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-link[disabled],.ant-btn-dangerous.ant-btn-link[disabled]:active,.ant-btn-dangerous.ant-btn-link[disabled]:focus,.ant-btn-dangerous.ant-btn-link[disabled]:hover{color:rgba(255,255,255,.3);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text{color:#a61d24;background:0 0;border-color:transparent;box-shadow:none}.ant-btn-dangerous.ant-btn-text>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text:focus,.ant-btn-dangerous.ant-btn-text:hover{color:#800f19;background:rgba(255,255,255,.03);border-color:transparent}.ant-btn-dangerous.ant-btn-text:focus>a:only-child,.ant-btn-dangerous.ant-btn-text:hover>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-text:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text:active{color:#b33b3d;background:rgba(255,255,255,.04);border-color:transparent}.ant-btn-dangerous.ant-btn-text:active>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-dangerous.ant-btn-text[disabled],.ant-btn-dangerous.ant-btn-text[disabled]:active,.ant-btn-dangerous.ant-btn-text[disabled]:focus,.ant-btn-dangerous.ant-btn-text[disabled]:hover{color:rgba(255,255,255,.3);background:0 0;border-color:transparent;text-shadow:none;box-shadow:none}.ant-btn-dangerous.ant-btn-text[disabled]:active>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]:focus>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]:hover>a:only-child,.ant-btn-dangerous.ant-btn-text[disabled]>a:only-child{color:currentColor}.ant-btn-dangerous.ant-btn-text[disabled]:active>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]:focus>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]:hover>a:only-child::after,.ant-btn-dangerous.ant-btn-text[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-icon-only{width:32px;height:32px;padding:2.4px 0;font-size:16px;border-radius:2px;vertical-align:-1px}.ant-btn-icon-only>*{font-size:16px}.ant-btn-icon-only.ant-btn-lg{width:40px;height:40px;padding:4.9px 0;font-size:18px;border-radius:2px}.ant-btn-icon-only.ant-btn-lg>*{font-size:18px}.ant-btn-icon-only.ant-btn-sm{width:24px;height:24px;padding:0;font-size:14px;border-radius:2px}.ant-btn-icon-only.ant-btn-sm>*{font-size:14px}.ant-btn-round{height:32px;padding:4px 16px;font-size:14px;border-radius:32px}.ant-btn-round.ant-btn-lg{height:40px;padding:6.4px 20px;font-size:16px;border-radius:40px}.ant-btn-round.ant-btn-sm{height:24px;padding:0 12px;font-size:14px;border-radius:24px}.ant-btn-round.ant-btn-icon-only{width:auto}.ant-btn-circle{min-width:32px;padding-right:0;padding-left:0;text-align:center;border-radius:50%}.ant-btn-circle.ant-btn-lg{min-width:40px;border-radius:50%}.ant-btn-circle.ant-btn-sm{min-width:24px;border-radius:50%}.ant-btn::before{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:1;display:none;background:#141414;border-radius:inherit;opacity:.35;transition:opacity .2s;content:'';pointer-events:none}.ant-btn-group,.ant-btn-group>.ant-btn,.ant-btn-group>span>.ant-btn,.ant-btn.ant-btn-loading,.ant-btn:active>span,.ant-btn:focus>span{position:relative}.ant-btn .anticon{transition:margin-left .3s cubic-bezier(.645,.045,.355,1)}.ant-btn .anticon.anticon-minus>svg,.ant-btn .anticon.anticon-plus>svg{shape-rendering:optimizeSpeed}.ant-btn.ant-btn-loading:not([disabled]){pointer-events:none}.ant-btn.ant-btn-loading::before{display:block}.ant-btn>.ant-btn-loading-icon{transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-btn>.ant-btn-loading-icon .anticon{padding-right:8px;animation:none}.ant-btn>.ant-btn-loading-icon .anticon svg{animation:loadingCircle 1s infinite linear}.ant-btn>.ant-btn-loading-icon:only-child .anticon{padding-right:0}.ant-btn-group>.ant-btn:active,.ant-btn-group>.ant-btn:focus,.ant-btn-group>.ant-btn:hover,.ant-btn-group>span>.ant-btn:active,.ant-btn-group>span>.ant-btn:focus,.ant-btn-group>span>.ant-btn:hover{z-index:2}.ant-btn-group>.ant-btn[disabled],.ant-btn-group>span>.ant-btn[disabled]{z-index:0}.ant-btn-group .ant-btn-icon-only{font-size:14px}.ant-btn-group-lg>.ant-btn,.ant-btn-group-lg>span>.ant-btn{height:40px;padding:6.4px 15px;font-size:16px;border-radius:0}.ant-btn-group-lg .ant-btn.ant-btn-icon-only{width:40px;height:40px;padding-right:0;padding-left:0}.ant-btn-group-sm>.ant-btn,.ant-btn-group-sm>span>.ant-btn{height:24px;padding:0 7px;font-size:14px;border-radius:0}.ant-btn-group-sm>.ant-btn>.anticon,.ant-btn-group-sm>span>.ant-btn>.anticon{font-size:14px}.ant-btn-group-sm .ant-btn.ant-btn-icon-only{width:24px;height:24px;padding-right:0;padding-left:0}.ant-btn+.ant-btn-group,.ant-btn-group .ant-btn+.ant-btn,.ant-btn-group .ant-btn+span,.ant-btn-group span+.ant-btn,.ant-btn-group+.ant-btn,.ant-btn-group+.ant-btn-group,.ant-btn-group>span+span{margin-left:-1px}.ant-btn-group .ant-btn-primary+.ant-btn:not(.ant-btn-primary):not([disabled]){border-left-color:transparent}.ant-btn-group .ant-btn{border-radius:0}.ant-btn-group-sm>.ant-btn:only-child,.ant-btn-group-sm>span:only-child>.ant-btn,.ant-btn-group>.ant-btn:only-child,.ant-btn-group>span:only-child>.ant-btn,.ant-card{border-radius:2px}.ant-btn-group-sm>.ant-btn:first-child:not(:last-child),.ant-btn-group-sm>span:first-child:not(:last-child)>.ant-btn,.ant-btn-group>.ant-btn:first-child:not(:last-child),.ant-btn-group>span:first-child:not(:last-child)>.ant-btn{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-btn-group-sm>.ant-btn:last-child:not(:first-child),.ant-btn-group-sm>span:last-child:not(:first-child)>.ant-btn,.ant-btn-group>.ant-btn:last-child:not(:first-child),.ant-btn-group>span:last-child:not(:first-child)>.ant-btn{border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-btn-group>.ant-btn:first-child,.ant-btn-group>span:first-child>.ant-btn{margin-left:0}.ant-btn-group>.ant-btn-group{float:left}.ant-btn-group>.ant-btn-group:not(:first-child):not(:last-child)>.ant-btn{border-radius:0}.ant-btn-group>.ant-btn-group:first-child:not(:last-child)>.ant-btn:last-child{padding-right:8px;border-top-right-radius:0;border-bottom-right-radius:0}.ant-btn-group>.ant-btn-group:last-child:not(:first-child)>.ant-btn:first-child{padding-left:8px;border-top-left-radius:0;border-bottom-left-radius:0}.ant-btn-group-rtl.ant-btn+.ant-btn-group,.ant-btn-group-rtl.ant-btn-group .ant-btn+.ant-btn,.ant-btn-group-rtl.ant-btn-group .ant-btn+span,.ant-btn-group-rtl.ant-btn-group span+.ant-btn,.ant-btn-group-rtl.ant-btn-group+.ant-btn,.ant-btn-group-rtl.ant-btn-group+.ant-btn-group,.ant-btn-group-rtl.ant-btn-group>span+span,.ant-btn-rtl.ant-btn+.ant-btn-group,.ant-btn-rtl.ant-btn-group .ant-btn+.ant-btn,.ant-btn-rtl.ant-btn-group .ant-btn+span,.ant-btn-rtl.ant-btn-group span+.ant-btn,.ant-btn-rtl.ant-btn-group+.ant-btn,.ant-btn-rtl.ant-btn-group+.ant-btn-group,.ant-btn-rtl.ant-btn-group>span+span{margin-right:-1px;margin-left:auto}.ant-btn-group-rtl.ant-btn-group>.ant-btn:first-child:not(:last-child),.ant-btn-group-rtl.ant-btn-group>span:first-child:not(:last-child)>.ant-btn{border-radius:0 2px 2px 0}.ant-btn-group-rtl.ant-btn-group>.ant-btn:last-child:not(:first-child),.ant-btn-group-rtl.ant-btn-group>span:last-child:not(:first-child)>.ant-btn{border-radius:2px 0 0 2px}.ant-btn-group-rtl.ant-btn-group-sm>.ant-btn:first-child:not(:last-child),.ant-btn-group-rtl.ant-btn-group-sm>span:first-child:not(:last-child)>.ant-btn{border-radius:0 2px 2px 0}.ant-btn-group-rtl.ant-btn-group-sm>.ant-btn:last-child:not(:first-child),.ant-btn-group-rtl.ant-btn-group-sm>span:last-child:not(:first-child)>.ant-btn{border-radius:2px 0 0 2px}.ant-btn>.anticon+span,.ant-btn>span+.anticon{margin-left:8px}.ant-btn-background-ghost{color:rgba(255,255,255,.85);background:0 0!important;border-color:rgba(255,255,255,.25)}.ant-btn-background-ghost.ant-btn-primary{color:#177ddc;background:0 0;border-color:#177ddc;text-shadow:none}.ant-btn-background-ghost.ant-btn-primary>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary:focus,.ant-btn-background-ghost.ant-btn-primary:hover{color:#095cb5;background:0 0;border-color:#095cb5}.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary:active{color:#3c9be8;background:0 0;border-color:#3c9be8}.ant-btn-background-ghost.ant-btn-primary:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-primary[disabled],.ant-btn-background-ghost.ant-btn-primary[disabled]:active,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-primary[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-primary[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger{color:#a61d24;background:0 0;border-color:#a61d24;text-shadow:none}.ant-btn-background-ghost.ant-btn-danger>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger:focus,.ant-btn-background-ghost.ant-btn-danger:hover{color:#800f19;background:0 0;border-color:#800f19}.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger:active{color:#b33b3d;background:0 0;border-color:#b33b3d}.ant-btn-background-ghost.ant-btn-danger:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-danger[disabled],.ant-btn-background-ghost.ant-btn-danger[disabled]:active,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-danger[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-danger[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous{color:#a61d24;background:0 0;border-color:#a61d24;text-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous:focus,.ant-btn-background-ghost.ant-btn-dangerous:hover{color:#800f19;background:0 0;border-color:#800f19}.ant-btn-background-ghost.ant-btn-dangerous:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous:active{color:#b33b3d;background:0 0;border-color:#b33b3d}.ant-btn-background-ghost.ant-btn-dangerous:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous[disabled],.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous[disabled]>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link{color:#a61d24;background:0 0;border-color:transparent;text-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover{color:#800f19;background:0 0;border-color:transparent}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:hover>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active{color:#b33b3d;background:0 0;border-color:transparent}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active>a:only-child{color:currentColor}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link:active>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled],.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;text-shadow:none;box-shadow:none}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child{color:currentColor}.ant-card,.ant-card-head{color:rgba(255,255,255,.85)}.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:active>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:focus>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]:hover>a:only-child::after,.ant-btn-background-ghost.ant-btn-dangerous.ant-btn-link[disabled]>a:only-child::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;content:''}.ant-btn-two-chinese-chars::first-letter{letter-spacing:.34em}.ant-btn-two-chinese-chars>:not(.anticon){margin-right:-.34em;letter-spacing:.34em}.ant-btn-block{width:100%}.ant-btn:empty{display:inline-block;width:0;visibility:hidden;content:'\a0'}.ant-card-head::after,.ant-card-head::before{display:table;content:''}a.ant-btn{padding-top:.01px!important;line-height:30px}a.ant-btn-lg{line-height:38px}a.ant-btn-sm{line-height:22px}.ant-btn-group-rtl.ant-btn-group .ant-btn-primary+.ant-btn-primary,.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child){border-right-color:#165996;border-left-color:#434343}.ant-btn-group-rtl.ant-btn-group .ant-btn-primary+.ant-btn-primary[disabled],.ant-btn-group-rtl.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled]{border-right-color:#434343;border-left-color:#165996}.ant-btn-rtl.ant-btn>.ant-btn-loading-icon .anticon{padding-right:0;padding-left:8px}.ant-btn>.ant-btn-loading-icon:only-child .anticon{padding-left:0}.ant-btn-rtl.ant-btn>.anticon+span,.ant-btn-rtl.ant-btn>span+.anticon{margin-right:8px;margin-left:0}.ant-card{box-sizing:border-box;margin:0;padding:0;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:relative;background:#141414}.ant-card-hoverable{cursor:pointer;transition:box-shadow .3s,border-color .3s}.ant-card-hoverable:hover{border-color:transparent;box-shadow:0 1px 2px -2px rgba(0,0,0,.64),0 3px 6px 0 rgba(0,0,0,.48),0 5px 12px 4px rgba(0,0,0,.36)}.ant-card-head,.ant-card-head .ant-tabs-bar{border-bottom:1px solid #303030}.ant-card-bordered{border:1px solid #303030}.ant-card-head{min-height:48px;margin-bottom:-1px;padding:0 24px;font-weight:500;font-size:16px;background:0 0;border-radius:2px 2px 0 0}.ant-card-extra,.ant-card-head .ant-tabs{color:rgba(255,255,255,.85);font-weight:400}.ant-card-head::after{clear:both}.ant-card-head-wrapper{display:flex;align-items:center}.ant-card-head-title{display:inline-block;flex:1;padding:16px 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-card-body::after,.ant-card-body::before{display:table;content:''}.ant-card-head-title>.ant-typography,.ant-card-head-title>.ant-typography-edit-content{left:0;margin-top:0;margin-bottom:0}.ant-card-head .ant-tabs{clear:both;margin-bottom:-17px;font-size:14px}.ant-card-extra{float:right;margin-left:auto;padding:16px 0;font-size:14px}.ant-card-rtl .ant-card-extra{margin-right:auto;margin-left:0}.ant-card-body{padding:24px}.ant-card-body::after{clear:both}.ant-card-contain-grid:not(.ant-card-loading) .ant-card-body{margin:-1px 0 0 -1px;padding:0}.ant-card-grid{float:left;width:33.33%;padding:24px;border:0;border-radius:0;box-shadow:1px 0 0 0 #303030,0 1px 0 0 #303030,1px 1px 0 0 #303030,1px 0 0 0 #303030 inset,0 1px 0 0 #303030 inset;transition:all .3s}.ant-card-rtl .ant-card-grid{float:right}.ant-card-grid-hoverable:hover{position:relative;z-index:1;box-shadow:0 1px 2px -2px rgba(0,0,0,.64),0 3px 6px 0 rgba(0,0,0,.48),0 5px 12px 4px rgba(0,0,0,.36)}.ant-card-contain-tabs>.ant-card-head .ant-card-head-title{min-height:32px;padding-bottom:0}.ant-card-contain-tabs>.ant-card-head .ant-card-extra{padding-bottom:0}.ant-card-bordered .ant-card-cover{margin-top:-1px;margin-right:-1px;margin-left:-1px}.ant-card-cover>*{display:block;width:100%}.ant-card-actions::after,.ant-card-actions::before{display:table;content:''}.ant-card-cover img{border-radius:2px 2px 0 0}.ant-card-actions{margin:0;padding:0;list-style:none;background:#141414;border-top:1px solid #303030}.ant-card-actions::after{clear:both}.ant-card-actions>li{float:left;margin:12px 0;color:rgba(255,255,255,.45);text-align:center}.ant-card-rtl .ant-card-actions>li{float:right}.ant-card-actions>li>span{position:relative;display:block;min-width:32px;font-size:14px;line-height:1.5715;cursor:pointer}.ant-card-actions>li>span:hover{color:#177ddc;transition:color .3s}.ant-card-actions>li>span a:not(.ant-btn),.ant-card-actions>li>span>.anticon{display:inline-block;width:100%;color:rgba(255,255,255,.45);line-height:22px;transition:color .3s}.ant-card-meta::after,.ant-card-meta::before{display:table;content:''}.ant-card-actions>li>span a:not(.ant-btn):hover,.ant-card-actions>li>span>.anticon:hover{color:#177ddc}.ant-card-actions>li>span>.anticon{font-size:16px;line-height:22px}.ant-card-actions>li:not(:last-child){border-right:1px solid #303030}.ant-card-rtl .ant-card-actions>li:not(:last-child){border-right:none;border-left:1px solid #303030}.ant-card-type-inner .ant-card-head{padding:0 24px;background:rgba(255,255,255,.04)}.ant-card-type-inner .ant-card-head-title{padding:12px 0;font-size:14px}.ant-card-type-inner .ant-card-body{padding:16px 24px}.ant-card-type-inner .ant-card-extra{padding:13.5px 0}.ant-card-meta{margin:-4px 0}.ant-card-meta::after{clear:both}.ant-card-meta-avatar{float:left;padding-right:16px}.ant-card-rtl .ant-card-meta-avatar{float:right;padding-right:0;padding-left:16px}.ant-card-meta-detail{overflow:hidden}.ant-card-meta-detail>div:not(:last-child){margin-bottom:8px}.ant-card-meta-title{overflow:hidden;color:rgba(255,255,255,.85);font-weight:500;font-size:16px;white-space:nowrap;text-overflow:ellipsis}.ant-card-meta-description,.ant-comment-content-author-name,.ant-comment-content-author-name>*,.ant-comment-content-author-name>:hover{color:rgba(255,255,255,.45)}.ant-carousel,.ant-checkbox{color:rgba(255,255,255,.85);font-variant:tabular-nums;list-style:none;font-size:14px;font-feature-settings:tnum}.ant-card-loading{overflow:hidden}.ant-card-loading .ant-card-body{user-select:none}.ant-card-loading-content p{margin:0}.ant-card-loading-block{height:14px;margin:4px 0;background:linear-gradient(90deg,rgba(48,48,48,.2),rgba(48,48,48,.4),rgba(48,48,48,.2));background-size:600% 600%;border-radius:2px;animation:card-loading 1.4s ease infinite}@keyframes card-loading{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}.ant-card-small>.ant-card-head{min-height:36px;padding:0 12px;font-size:14px}.ant-card-small>.ant-card-head>.ant-card-head-wrapper>.ant-card-head-title{padding:8px 0}.ant-card-small>.ant-card-head>.ant-card-head-wrapper>.ant-card-extra{padding:8px 0;font-size:14px}.ant-card-small>.ant-card-body{padding:12px}.ant-card-rtl .ant-skeleton-header{padding:0 0 0 16px}nz-card,nz-card-loading,nz-card-meta{display:block}.ant-carousel{box-sizing:border-box;margin:0;padding:0;line-height:1.5715}.ant-carousel .slick-slider{position:relative;display:block;box-sizing:border-box;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-touch-callout:none}.ant-carousel .slick-list{position:relative;display:block;margin:0;padding:0;overflow:hidden}.ant-carousel .slick-list:focus{outline:0}.ant-carousel .slick-list.dragging{cursor:pointer}.ant-carousel .slick-list .slick-slide{pointer-events:none}.ant-carousel .slick-list .slick-slide input.ant-checkbox-input,.ant-carousel .slick-list .slick-slide input.ant-radio-input{visibility:hidden}.ant-carousel .slick-list .slick-slide.slick-active{pointer-events:auto}.ant-carousel .slick-list .slick-slide.slick-active input.ant-checkbox-input,.ant-carousel .slick-list .slick-slide.slick-active input.ant-radio-input{visibility:visible}.ant-carousel .slick-loading .slick-slide,.ant-checkbox-checked::after,.slick-loading .ant-carousel .slick-track{visibility:hidden}.ant-carousel .slick-list .slick-slide>div>div{vertical-align:bottom}.ant-carousel .slick-slider .slick-list,.ant-carousel .slick-slider .slick-track{transform:translate3d(0,0,0);touch-action:pan-y}.ant-carousel .slick-track{position:relative;top:0;left:0;display:block}.ant-carousel .slick-track::after,.ant-carousel .slick-track::before{display:table;content:''}.ant-carousel .slick-track::after{clear:both}.ant-carousel .slick-slide{display:none;float:left;height:100%;min-height:1px}.ant-carousel .slick-slide img{display:block}.ant-carousel .slick-slide.slick-loading img{display:none}.ant-carousel .slick-slide.dragging img{pointer-events:none}.ant-carousel .slick-initialized .slick-slide{display:block}.ant-carousel .slick-vertical .slick-slide{display:block;height:auto}.ant-carousel .slick-arrow.slick-hidden{display:none}.ant-carousel .slick-next,.ant-carousel .slick-prev{position:absolute;top:50%;display:block;width:20px;height:20px;margin-top:-10px;padding:0;color:transparent;font-size:0;line-height:0;background:0 0;border:0;outline:0;cursor:pointer}.ant-carousel .slick-next:focus,.ant-carousel .slick-next:hover,.ant-carousel .slick-prev:focus,.ant-carousel .slick-prev:hover{color:transparent;background:0 0;outline:0}.ant-carousel .slick-next:focus::before,.ant-carousel .slick-next:hover::before,.ant-carousel .slick-prev:focus::before,.ant-carousel .slick-prev:hover::before{opacity:1}.ant-carousel .slick-next.slick-disabled::before,.ant-carousel .slick-prev.slick-disabled::before{opacity:.25}.ant-carousel .slick-prev{left:-25px}.ant-carousel .slick-prev::before{content:'←'}.ant-carousel .slick-next::before,.ant-carousel-rtl .ant-carousel .slick-prev::before{content:'→'}.ant-carousel .slick-next{right:-25px}.ant-carousel .slick-dots{position:absolute;right:0;bottom:0;left:0;z-index:15;display:flex!important;justify-content:center;margin-right:15%;margin-left:15%;padding-left:0;list-style:none}.ant-carousel .slick-dots-bottom,.ant-popover-placement-leftBottom .ant-popover-arrow,.ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px}.ant-carousel .slick-dots-top{top:12px;bottom:auto}.ant-carousel .slick-dots li{position:relative;display:inline-block;flex:0 1 auto;box-sizing:content-box;width:16px;height:3px;margin:0 3px;padding:0;text-align:center;text-indent:-999px;vertical-align:top;transition:all .5s}.ant-carousel .slick-dots li button{display:block;width:100%;height:3px;padding:0;color:transparent;font-size:0;background:#141414;border:0;border-radius:1px;outline:0;cursor:pointer;opacity:.3;transition:all .5s}.ant-carousel .slick-dots li button:focus,.ant-carousel .slick-dots li button:hover{opacity:.75}.ant-carousel .slick-dots li.slick-active{width:24px}.ant-carousel .slick-dots li.slick-active button{background:#141414;opacity:1}.ant-carousel .slick-dots li.slick-active:focus,.ant-carousel .slick-dots li.slick-active:hover{opacity:1}.ant-carousel-vertical .slick-dots{top:50%;bottom:auto;flex-direction:column;width:3px;height:auto;margin:0;transform:translateY(-50%)}.ant-carousel-vertical .slick-dots-left{right:auto;left:12px}.ant-carousel-vertical .slick-dots-right{right:12px;left:auto}.ant-carousel-vertical .slick-dots li{width:3px;height:16px;margin:4px 2px;vertical-align:baseline}.ant-checkbox,.ant-checkbox-wrapper{margin:0;padding:0;box-sizing:border-box}.ant-carousel-vertical .slick-dots li button{width:3px;height:16px}.ant-carousel-vertical .slick-dots li.slick-active,.ant-carousel-vertical .slick-dots li.slick-active button{width:3px;height:24px}.ant-carousel-rtl .ant-carousel .slick-track{right:0;left:auto}.ant-carousel-rtl .ant-carousel .slick-prev{right:-25px;left:auto}.ant-carousel-rtl .ant-carousel .slick-next{right:auto;left:-25px}.ant-carousel-rtl .ant-carousel .slick-next::before{content:'←'}.ant-carousel-rtl.ant-carousel .slick-dots{flex-direction:row-reverse}.ant-carousel-rtl.ant-carousel-vertical .slick-dots{flex-direction:column}nz-carousel{display:block;position:relative;overflow:hidden;width:100%;height:100%}.slick-dots{display:block}.slick-track{opacity:1}.slick-list{direction:ltr}@keyframes antCheckboxEffect{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}.ant-checkbox{position:relative;top:.2em;white-space:nowrap;outline:0;cursor:pointer}.ant-checkbox-input:focus+.ant-checkbox-inner,.ant-checkbox-wrapper:hover .ant-checkbox-inner,.ant-checkbox:hover .ant-checkbox-inner{border-color:#177ddc}.ant-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #177ddc;border-radius:2px;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-checkbox-wrapper:hover .ant-checkbox::after,.ant-checkbox:hover::after{visibility:visible}.ant-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:transparent;border:1px solid #434343;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5.71px;height:9.14px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-checkbox-disabled,.ant-checkbox-disabled .ant-checkbox-input,.ant-checkbox-disabled+span{cursor:not-allowed}.ant-checkbox-checked .ant-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-checkbox-checked .ant-checkbox-inner{background-color:#177ddc;border-color:#177ddc}.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after{border-color:rgba(255,255,255,.3);animation-name:none}.ant-checkbox-disabled .ant-checkbox-inner{background-color:rgba(255,255,255,.08);border-color:#434343!important}.ant-checkbox-disabled .ant-checkbox-inner::after{border-color:rgba(255,255,255,.08);border-collapse:separate;animation-name:none}.ant-checkbox-disabled+span{color:rgba(255,255,255,.3)}.ant-checkbox-group,.ant-checkbox-wrapper{color:rgba(255,255,255,.85);font-variant:tabular-nums;list-style:none}.ant-checkbox-disabled:hover::after,.ant-checkbox-wrapper:hover .ant-checkbox-disabled::after{visibility:hidden}.ant-checkbox-wrapper{font-size:14px;font-feature-settings:tnum;display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-checkbox-wrapper.ant-checkbox-wrapper-disabled{cursor:not-allowed}.ant-checkbox-wrapper+.ant-checkbox-wrapper{margin-left:8px}.ant-checkbox+span{padding-right:8px;padding-left:8px}.ant-checkbox-group,.ant-collapse{padding:0;line-height:1.5715;font-size:14px;font-feature-settings:tnum}.ant-checkbox-group{box-sizing:border-box;margin:0;display:inline-block}.ant-checkbox-group-item{margin-right:8px}.ant-checkbox-group-item:last-child{margin-right:0}.ant-checkbox-group-item+.ant-checkbox-group-item{margin-left:0}.ant-checkbox-indeterminate .ant-checkbox-inner{background-color:transparent;border-color:#434343}.ant-checkbox-indeterminate .ant-checkbox-inner::after{top:50%;left:50%;width:8px;height:8px;background-color:#177ddc;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner::after{background-color:rgba(255,255,255,.3);border-color:rgba(255,255,255,.3)}.ant-collapse,.ant-picker{color:rgba(255,255,255,.85);border:1px solid #434343;box-sizing:border-box;font-variant:tabular-nums;list-style:none}.ant-checkbox-group-rtl .ant-checkbox-group-item{margin-right:0;margin-left:8px}.ant-checkbox-group-rtl .ant-checkbox-group-item:last-child{margin-left:0!important}.ant-checkbox-group-rtl .ant-checkbox-group-item+.ant-checkbox-group-item{margin-left:8px}.ant-checkbox+span:empty{display:none}.ant-collapse{margin:0;background-color:rgba(255,255,255,.04);border-bottom:0;border-radius:2px}.ant-collapse-item:last-child>.ant-collapse-content,.ant-collapse>.ant-collapse-item:last-child,.ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header{border-radius:0 0 2px 2px}.ant-collapse>.ant-collapse-item{border-bottom:1px solid #434343}.ant-collapse>.ant-collapse-item>.ant-collapse-header{position:relative;padding:12px 16px;color:rgba(255,255,255,.85);line-height:1.5715;cursor:pointer;transition:all .3s,visibility 0s}.ant-collapse>.ant-collapse-item>.ant-collapse-header::before{display:table;content:''}.ant-collapse>.ant-collapse-item>.ant-collapse-header::after{display:table;clear:both;content:''}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow{display:inline-block;margin-right:12px;font-size:12px;vertical-align:-1px}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg{transition:transform .24s}.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-extra{float:right}.ant-collapse>.ant-collapse-item>.ant-collapse-header:focus{outline:0}.ant-collapse>.ant-collapse-item .ant-collapse-header-collapsible-only{cursor:default}.ant-collapse>.ant-collapse-item .ant-collapse-header-collapsible-only .ant-collapse-header-text{cursor:pointer}.ant-collapse>.ant-collapse-item.ant-collapse-no-arrow>.ant-collapse-header{padding-left:12px}.ant-collapse-icon-position-right>.ant-collapse-item>.ant-collapse-header{padding:12px 40px 12px 16px}.ant-collapse-icon-position-right>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow{position:absolute;top:50%;right:16px;left:auto;margin:0;transform:translateY(-50%)}.ant-collapse-rtl.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow svg,.ant-picker-rtl .ant-picker-separator{transform:rotate(180deg)}.ant-collapse-content{color:rgba(255,255,255,.85);background-color:#141414;border-top:1px solid #434343}.ant-collapse-borderless,.ant-descriptions-bordered .ant-descriptions-item-label{background-color:rgba(255,255,255,.04)}.ant-collapse-content>.ant-collapse-content-box{padding:16px}.ant-collapse-content-hidden{display:none}nz-collapse,nz-collapse-panel,nz-comment,nz-comment-content{display:block}.ant-collapse-borderless{border:0}.ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #434343}.ant-collapse-borderless>.ant-collapse-item:last-child,.ant-collapse-borderless>.ant-collapse-item:last-child .ant-collapse-header{border-radius:0}.ant-collapse-borderless>.ant-collapse-item>.ant-collapse-content{background-color:transparent;border-top:0}.ant-collapse-borderless>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding-top:4px}.ant-collapse-ghost{background-color:transparent;border:0}.ant-collapse-ghost>.ant-collapse-item{border-bottom:0}.ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content{background-color:transparent;border-top:0}.ant-collapse-ghost>.ant-collapse-item>.ant-collapse-content>.ant-collapse-content-box{padding-top:12px;padding-bottom:12px}.ant-collapse .ant-collapse-item-disabled>.ant-collapse-header,.ant-collapse .ant-collapse-item-disabled>.ant-collapse-header>.arrow{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-collapse-rtl .ant-collapse>.ant-collapse-item>.ant-collapse-header{padding:12px 40px 12px 16px}.ant-collapse-rtl.ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-extra{float:left}.ant-collapse-rtl.ant-collapse>.ant-collapse-item.ant-collapse-no-arrow>.ant-collapse-header{padding-right:12px;padding-left:0}.ant-comment{position:relative;background-color:transparent}.ant-comment-inner{display:flex;padding:16px 0}.ant-comment-avatar{position:relative;flex-shrink:0;margin-right:12px;cursor:pointer}.ant-comment-avatar img{width:32px;height:32px;border-radius:50%}.ant-comment-content{position:relative;flex:1 1 auto;min-width:1px;font-size:14px;word-wrap:break-word}.ant-comment-content-author{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-bottom:4px;font-size:14px}.ant-comment-content-author>a,.ant-comment-content-author>span{padding-right:8px;font-size:12px;line-height:18px}.ant-comment-content-author-name{font-size:14px;transition:color .3s}.ant-comment-content-author-time{color:rgba(255,255,255,.3);white-space:nowrap;cursor:auto}.ant-comment-content-detail p{margin-bottom:inherit;white-space:pre-wrap}.ant-comment-actions{margin-top:12px;margin-bottom:inherit;padding-left:0}.ant-comment-actions>li{display:inline-block;color:rgba(255,255,255,.45)}.ant-comment-actions>li>span{margin-right:10px;color:rgba(255,255,255,.45);font-size:12px;cursor:pointer;transition:color .3s;user-select:none}.ant-picker,.ant-picker-input>input{font-size:14px;background:0 0;line-height:1.5715}.ant-comment-actions>li>span:hover{color:rgba(255,255,255,.65)}.ant-comment-nested{margin-left:44px}.ant-comment-rtl .ant-comment-avatar{margin-right:0;margin-left:12px}.ant-comment-rtl .ant-comment-content-author>a,.ant-comment-rtl .ant-comment-content-author>span{padding-right:0;padding-left:8px}.ant-comment-rtl .ant-comment-actions{padding-right:0}.ant-comment-rtl .ant-comment-actions>li>span{margin-right:0;margin-left:10px}.ant-comment-rtl .ant-comment-nested{margin-right:44px;margin-left:0}.ant-picker,.ant-picker-input{display:inline-flex;position:relative}.ant-picker{margin:0;font-feature-settings:tnum;padding:4px 11px;align-items:center;border-radius:2px;transition:border .3s,box-shadow .3s}.ant-picker-focused,.ant-picker:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-picker-focused,.ant-input-rtl .ant-picker:hover{border-right-width:0;border-left-width:1px!important}.ant-picker-focused{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-picker-focused{border-right-width:0;border-left-width:1px!important}.ant-picker.ant-picker-disabled{background:rgba(255,255,255,.08);border-color:#434343;cursor:not-allowed}.ant-picker.ant-picker-disabled .ant-picker-suffix{color:rgba(255,255,255,.3)}.ant-picker.ant-picker-borderless{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.ant-picker-input{align-items:center;width:100%}.ant-picker-input>input{position:relative;display:inline-block;width:100%;color:rgba(255,255,255,.85);border-radius:2px;transition:all .3s;flex:auto;min-width:1px;height:auto;padding:0;border:0}.ant-picker-input>input-disabled,.ant-picker-input>input[disabled]{background-color:rgba(255,255,255,.08);cursor:not-allowed;color:rgba(255,255,255,.3);opacity:1;pointer-events:none}.ant-picker-input>input::-moz-placeholder{opacity:1}.ant-picker-input>input::placeholder{color:rgba(255,255,255,.3)}.ant-picker-input>input:placeholder-shown{text-overflow:ellipsis}.ant-picker-input>input:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-picker-input>input:hover{border-right-width:0;border-left-width:1px!important}.ant-picker-input>input-focused,.ant-picker-input>input:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-picker-input>input-focused,.ant-input-rtl .ant-picker-input>input:focus{border-right-width:0;border-left-width:1px!important}.ant-picker-input>input-disabled:hover,.ant-picker-input>input[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-picker-input>input-borderless,.ant-picker-input>input-borderless-disabled,.ant-picker-input>input-borderless-focused,.ant-picker-input>input-borderless:focus,.ant-picker-input>input-borderless:hover,.ant-picker-input>input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-picker-input>input{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-picker-input>input-lg{padding:6.5px 11px;font-size:16px}.ant-picker-input>input-sm{padding:0 7px}.ant-picker-input>input:focus{box-shadow:none}.ant-picker-input>input[disabled]{background:0 0}.ant-picker-input:hover .ant-picker-clear{opacity:1}.ant-picker-input-placeholder>input{color:rgba(255,255,255,.3)}.ant-picker-large{padding:6.5px 11px}.ant-picker-large .ant-picker-input>input{font-size:16px}.ant-picker-small{padding:0 7px}.ant-picker-suffix{align-self:center;margin-left:4px;color:rgba(255,255,255,.3);line-height:1;pointer-events:none}.ant-picker-suffix>*{vertical-align:top}.ant-picker-clear{position:absolute;top:50%;right:0;color:rgba(255,255,255,.3);line-height:1;background:#141414;transform:translateY(-50%);cursor:pointer;opacity:0;transition:opacity .3s,color .3s}.ant-picker-clear>*{vertical-align:top}.ant-picker-clear:hover{color:rgba(255,255,255,.45)}.ant-picker-separator{position:relative;display:inline-block;width:1em;height:16px;color:rgba(255,255,255,.3);font-size:16px;vertical-align:top;cursor:default}.ant-picker-focused .ant-picker-separator{color:rgba(255,255,255,.45)}.ant-picker-disabled .ant-picker-range-separator .ant-picker-separator{cursor:not-allowed}.ant-picker-range{position:relative;display:inline-flex}.ant-picker-range .ant-picker-clear{right:11px}.ant-picker-range:hover .ant-picker-clear{opacity:1}.ant-picker-range .ant-picker-active-bar{bottom:-1px;height:2px;margin-left:11px;background:#177ddc;opacity:0;transition:all .3s ease-out;pointer-events:none}.ant-picker-range.ant-picker-small .ant-picker-active-bar,.ant-tag>.anticon+span,.ant-tag>span+.anticon{margin-left:7px}.ant-picker-range.ant-picker-focused .ant-picker-active-bar{opacity:1}.ant-picker-range-separator{align-items:center;padding:0 8px;line-height:1}.ant-picker-range.ant-picker-small .ant-picker-clear{right:7px}.ant-picker-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:absolute;z-index:1050}.ant-picker-dropdown-hidden{display:none}.ant-picker-dropdown-placement-bottomLeft .ant-picker-range-arrow{top:1.67px;display:block;transform:rotate(-45deg)}.ant-picker-dropdown-placement-topLeft .ant-picker-range-arrow{bottom:1.67px;display:block;transform:rotate(135deg)}.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-topRight,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownIn}.ant-cascader-menus.ant-slide-up-appear.ant-slide-up-appear-active.ant-cascader-menus-placement-bottomLeft,.ant-cascader-menus.ant-slide-up-enter.ant-slide-up-enter-active.ant-cascader-menus-placement-bottomLeft,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-picker-dropdown-placement-bottomRight,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-picker-dropdown-placement-bottomRight,.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft,.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpIn}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-topRight{animation-name:antSlideDownOut}.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomLeft,.ant-picker-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-picker-dropdown-placement-bottomRight{animation-name:antSlideUpOut}.ant-picker-dropdown-range{padding:6.67px 0}.ant-picker-dropdown .ant-picker-panel>.ant-picker-time-panel,.ant-steps-with-progress .ant-steps-item{padding-top:4px}.ant-picker-dropdown-range-hidden{display:none}.ant-picker-ranges{margin-bottom:0;padding:4px 12px;overflow:hidden;line-height:34px;text-align:left;list-style:none}.ant-picker-ranges>li{display:inline-block}.ant-picker-ranges .ant-picker-preset>.ant-tag-blue{color:#177ddc;background:#111b26;border-color:#153450;cursor:pointer}.ant-picker-ranges .ant-picker-ok{float:right;margin-left:8px}.ant-picker-range-wrapper{display:flex}.ant-picker-range-arrow{position:absolute;z-index:1;display:none;width:10px;height:10px;margin-left:16.5px;box-shadow:2px -2px 6px rgba(0,0,0,.06);transition:left .3s ease-out}.ant-picker-range-arrow::after{position:absolute;top:1px;right:1px;width:10px;height:10px;border:5px solid #303030;border-color:#1f1f1f #1f1f1f transparent transparent;content:''}.ant-picker-panel-container{overflow:hidden;vertical-align:top;background:#1f1f1f;border-radius:2px;box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2);transition:margin .3s}.ant-picker-panel-container .ant-picker-panels{display:inline-flex;flex-wrap:nowrap;direction:ltr}.ant-picker-panel-container .ant-picker-panel{vertical-align:top;background:0 0;border-width:0 0 1px;border-radius:0}.ant-picker-panel-container .ant-picker-panel-focused{border-color:#303030}.ant-picker-panel{display:inline-flex;flex-direction:column;text-align:center;background:#1f1f1f;border:1px solid #303030;border-radius:2px;outline:0}.ant-picker-panel-focused{border-color:#177ddc}.ant-picker-date-panel,.ant-picker-decade-panel,.ant-picker-month-panel,.ant-picker-quarter-panel,.ant-picker-time-panel,.ant-picker-week-panel,.ant-picker-year-panel{display:flex;flex-direction:column;width:280px}.ant-picker-header{display:flex;padding:0 8px;color:rgba(255,255,255,.85);border-bottom:1px solid #303030}.ant-picker-header>*{flex:none}.ant-picker-header button{padding:0;color:rgba(255,255,255,.3);line-height:40px;background:0 0;border:0;cursor:pointer;transition:color .3s}.ant-picker-header>button{min-width:1.6em;font-size:14px}.ant-picker-header>button:hover{color:rgba(255,255,255,.85)}.ant-picker-header-view{flex:auto;font-weight:500;line-height:40px}.ant-picker-header-view button{color:inherit;font-weight:inherit}.ant-picker-header-view button:not(:first-child){margin-left:8px}.ant-picker-header-view button:hover{color:#177ddc}.ant-picker-next-icon,.ant-picker-prev-icon,.ant-picker-super-next-icon,.ant-picker-super-prev-icon{position:relative;display:inline-block;width:7px;height:7px}.ant-picker-next-icon::before,.ant-picker-prev-icon::before,.ant-picker-super-next-icon::before,.ant-picker-super-prev-icon::before{position:absolute;top:0;left:0;display:inline-block;width:7px;height:7px;border:0 solid currentColor;border-width:1.5px 0 0 1.5px;content:''}.ant-picker-super-next-icon::after,.ant-picker-super-prev-icon::after{position:absolute;top:4px;left:4px;display:inline-block;width:7px;height:7px;border:0 solid currentColor;border-width:1.5px 0 0 1.5px;content:''}.ant-picker-prev-icon,.ant-picker-super-prev-icon{transform:rotate(-45deg)}.ant-picker-next-icon,.ant-picker-super-next-icon{transform:rotate(135deg)}.ant-picker-content{width:100%;table-layout:fixed}.ant-picker-content td,.ant-picker-content th{position:relative;min-width:24px;font-weight:400}.ant-picker-content th{height:30px;color:rgba(255,255,255,.85);line-height:30px}.ant-picker-cell{padding:3px 0;color:rgba(255,255,255,.3);cursor:pointer}.ant-picker-cell-in-view{color:rgba(255,255,255,.85)}.ant-picker-cell-disabled{cursor:not-allowed;pointer-events:none}.ant-picker-cell::before{position:absolute;top:50%;right:0;left:0;z-index:1;height:24px;transform:translateY(-50%);content:''}.ant-picker-cell:hover:not(.ant-picker-cell-in-view) .ant-picker-cell-inner,.ant-picker-cell:hover:not(.ant-picker-cell-selected):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end) .ant-picker-cell-inner{background:rgba(255,255,255,.08)}.ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border:1px solid #177ddc;border-radius:2px;content:''}.ant-picker-cell-in-view.ant-picker-cell-in-range{position:relative}.ant-picker-cell-in-view.ant-picker-cell-in-range::before{background:#111b26}.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner{color:#fff;background:#177ddc}.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before,.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before{background:#111b26}.ant-picker-cell-in-view.ant-picker-cell-range-start::before{left:50%}.ant-picker-cell-in-view.ant-picker-cell-range-end::before{right:50%}.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-end-single::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-start-near-hover::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start-single::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start.ant-picker-cell-range-start.ant-picker-cell-range-end.ant-picker-cell-range-end-near-hover::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-in-range)::after{position:absolute;top:50%;z-index:0;height:24px;border-top:1px dashed #0e4980;border-bottom:1px dashed #0e4980;transform:translateY(-50%);content:''}.ant-picker-cell-range-hover-end::after,.ant-picker-cell-range-hover-start::after,.ant-picker-cell-range-hover::after{right:0;left:2px}.ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-end.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single).ant-picker-cell-range-hover-end::before,.ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-hover::before,.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single).ant-picker-cell-range-hover-start::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end::before,.ant-picker-panel>:not(.ant-picker-date-panel) .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start::before{background:#06213a}.ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-radius:2px 0 0 2px}.ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-radius:0 2px 2px 0}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after,.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{position:absolute;top:0;bottom:0;z-index:-1;background:#06213a;content:''}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{right:-6px;left:0}.ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{right:0;left:-6px}.ant-picker-cell-range-hover.ant-picker-cell-range-start::after{right:50%}.ant-picker-cell-range-hover.ant-picker-cell-range-end::after{left:50%}.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after,.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:first-child::after{left:6px;border-left:1px dashed #0e4980;border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,.ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:last-child::after{right:6px;border-right:1px dashed #0e4980;border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-picker-cell-disabled .ant-picker-cell-inner{color:rgba(255,255,255,.3);background:0 0}.ant-picker-cell-disabled::before,.ant-picker-decade-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-month-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-disabled .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-disabled .ant-picker-cell-inner{background:#303030}.ant-picker-cell-disabled.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:rgba(255,255,255,.3)}.ant-picker-decade-panel .ant-picker-content,.ant-picker-month-panel .ant-picker-content,.ant-picker-quarter-panel .ant-picker-content,.ant-picker-year-panel .ant-picker-content{height:264px}.ant-picker-decade-panel .ant-picker-cell-inner,.ant-picker-month-panel .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-inner{padding:0 8px}.ant-picker-quarter-panel .ant-picker-content{height:56px}.ant-picker-footer{width:min-content;min-width:100%;line-height:38px;text-align:center;border-bottom:1px solid transparent}.ant-picker-panel .ant-picker-footer{border-top:1px solid #303030}.ant-picker-footer-extra{padding:0 12px;line-height:38px;text-align:left}.ant-picker-footer-extra:not(:last-child){border-bottom:1px solid #303030}.ant-picker-now{text-align:left}.ant-picker-today-btn{color:#177ddc}.ant-picker-today-btn:hover{color:#165996}.ant-picker-today-btn:active{color:#388ed3}.ant-picker-today-btn.ant-picker-today-btn-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-picker-decade-panel .ant-picker-cell-inner{padding:0 4px}.ant-picker-decade-panel .ant-picker-cell::before{display:none}.ant-picker-month-panel .ant-picker-body,.ant-picker-quarter-panel .ant-picker-body,.ant-picker-year-panel .ant-picker-body{padding:0 8px}.ant-picker-date-panel .ant-picker-body,.ant-picker-week-panel .ant-picker-body{padding:8px 12px}.ant-picker-month-panel .ant-picker-cell-inner,.ant-picker-quarter-panel .ant-picker-cell-inner,.ant-picker-year-panel .ant-picker-cell-inner{width:60px}.ant-picker-month-panel .ant-picker-cell-range-hover-start::after,.ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-year-panel .ant-picker-cell-range-hover-start::after{left:14px;border-left:1px dashed #0e4980;border-radius:2px 0 0 2px}.ant-picker-month-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-start::after,.ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-year-panel .ant-picker-cell-range-hover-end::after{right:14px;border-right:1px dashed #0e4980;border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-month-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-quarter-panel .ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl .ant-picker-year-panel .ant-picker-cell-range-hover-end::after{left:14px;border-left:1px dashed #0e4980;border-radius:2px 0 0 2px}.ant-picker-week-panel .ant-picker-cell .ant-picker-cell-inner,.ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner,.ant-picker-week-panel .ant-picker-cell:hover .ant-picker-cell-inner{background:0 0!important}.ant-picker-week-panel-row td{transition:background .3s}.ant-picker-week-panel-row:hover td{background:rgba(255,255,255,.08)}.ant-picker-week-panel-row-selected td,.ant-picker-week-panel-row-selected:hover td{background:#177ddc}.ant-picker-week-panel-row-selected td.ant-picker-cell-week,.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-week{color:rgba(255,255,255,.5)}.ant-picker-week-panel-row-selected td.ant-picker-cell-today .ant-picker-cell-inner::before,.ant-picker-week-panel-row-selected:hover td.ant-picker-cell-today .ant-picker-cell-inner::before{border-color:#fff}.ant-picker-datetime-panel .ant-picker-time-panel,.ant-picker-time-panel-column:not(:first-child){border-left:1px solid #303030}.ant-picker-week-panel-row-selected td .ant-picker-cell-inner,.ant-picker-week-panel-row-selected:hover td .ant-picker-cell-inner{color:#fff}.ant-picker-date-panel .ant-picker-content{width:252px}.ant-picker-date-panel .ant-picker-content th{width:36px}.ant-picker-datetime-panel{display:flex}.ant-picker-datetime-panel .ant-picker-date-panel,.ant-picker-datetime-panel .ant-picker-time-panel{transition:opacity .3s}.ant-picker-datetime-panel-active .ant-picker-date-panel,.ant-picker-datetime-panel-active .ant-picker-time-panel{opacity:.3}.ant-picker-datetime-panel-active .ant-picker-date-panel-active,.ant-picker-datetime-panel-active .ant-picker-time-panel-active{opacity:1}.ant-picker-time-panel{width:auto;min-width:auto}.ant-picker-time-panel .ant-picker-content{display:flex;flex:auto;height:224px}.ant-picker-time-panel-column{flex:1 0 auto;width:56px;margin:0;padding:0;overflow-y:hidden;text-align:left;list-style:none;transition:background .3s}.ant-picker-time-panel-column::after{display:block;height:196px;content:''}.ant-picker-datetime-panel .ant-picker-time-panel-column::after{height:198px}.ant-picker-time-panel-column-active{background:rgba(17,27,38,.2)}.ant-picker-time-panel-column:hover{overflow-y:auto}.ant-picker-time-panel-column>li{margin:0;padding:0}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner{display:block;width:100%;height:28px;margin:0;padding:0 0 0 14px;color:rgba(255,255,255,.85);line-height:28px;border-radius:0;cursor:pointer;transition:background .3s}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell .ant-picker-time-panel-cell-inner:hover{background:rgba(255,255,255,.08)}.ant-menu-item:active,.ant-menu-submenu-title:active,.ant-picker-time-panel-column>li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner{background:#111b26}.ant-picker-time-panel-column>li.ant-picker-time-panel-cell-disabled .ant-picker-time-panel-cell-inner{color:rgba(255,255,255,.3);background:0 0;cursor:not-allowed}:root .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,:root .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell,_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-month-panel .ant-picker-cell,_:-ms-fullscreen .ant-picker-range-wrapper .ant-picker-year-panel .ant-picker-cell{padding:21px 0}.ant-picker-rtl{direction:rtl}.ant-picker-rtl .ant-picker-suffix{margin-right:4px;margin-left:0}.ant-picker-rtl .ant-picker-clear{right:auto;left:0}.ant-picker-panel-rtl .ant-picker-header-view button:not(:first-child){margin-right:8px;margin-left:0}.ant-picker-rtl.ant-picker-range .ant-picker-clear{right:auto;left:11px}.ant-picker-rtl.ant-picker-range .ant-picker-active-bar{margin-right:11px;margin-left:0}.ant-picker-rtl.ant-picker-range.ant-picker-small .ant-picker-active-bar{margin-right:7px}.ant-picker-dropdown-rtl .ant-picker-ranges{text-align:right}.ant-picker-dropdown-rtl .ant-picker-ranges .ant-picker-ok{float:left;margin-right:8px;margin-left:0}.ant-picker-panel-rtl{direction:rtl}.ant-picker-panel-rtl .ant-picker-prev-icon,.ant-picker-panel-rtl .ant-picker-super-prev-icon{transform:rotate(135deg)}.ant-picker-panel-rtl .ant-picker-next-icon,.ant-picker-panel-rtl .ant-picker-super-next-icon{transform:rotate(-45deg)}.ant-picker-cell .ant-picker-cell-inner{position:relative;z-index:2;display:inline-block;min-width:24px;height:24px;line-height:24px;border-radius:2px;transition:background .3s,border .3s}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start::before{right:50%;left:0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end::before{right:0;left:50%}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start.ant-picker-cell-range-end::before{right:50%;left:50%}.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-start .ant-picker-cell-inner::after{right:0;left:-6px}.ant-picker-panel-rtl .ant-picker-date-panel .ant-picker-cell-in-view.ant-picker-cell-in-range.ant-picker-cell-range-hover-end .ant-picker-cell-inner::after{right:-6px;left:0}.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-start::after{right:0;left:50%}.ant-picker-panel-rtl .ant-picker-cell-range-hover.ant-picker-cell-range-end::after{right:50%;left:0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single):not(.ant-picker-cell-range-end) .ant-picker-cell-inner{border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single):not(.ant-picker-cell-range-start) .ant-picker-cell-inner{border-radius:2px 0 0 2px}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover-edge-start-near-range)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start.ant-picker-cell-range-hover-edge-start-near-range::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):first-child::after{right:6px;left:0;border-right:1px dashed #0e4980;border-left:none;border-radius:0 2px 2px 0}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-edge-end.ant-picker-cell-range-hover-edge-end-near-range::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover-edge-end-near-range)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover:not(.ant-picker-cell-selected):last-child::after{right:0;left:6px;border-right:none;border-left:1px dashed #0e4980;border-radius:2px 0 0 2px}.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover-start.ant-picker-cell-range-hover-edge-end:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl .ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover-end.ant-picker-cell-range-hover-edge-start:not(.ant-picker-cell-range-hover)::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-end.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-end:first-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-end:first-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::after,.ant-picker-panel-rtl tr>.ant-picker-cell-in-view.ant-picker-cell-start.ant-picker-cell-range-hover.ant-picker-cell-range-hover-edge-start:last-child::after{right:6px;left:6px;border-right:1px dashed #0e4980;border-left:1px dashed #0e4980;border-radius:2px}.ant-picker-dropdown-rtl .ant-picker-footer-extra{direction:rtl;text-align:right}.ant-picker-panel-rtl .ant-picker-time-panel{direction:ltr}.ant-descriptions-rtl,.ant-divider-rtl,.ant-drawer-rtl,.ant-dropdown-menu.ant-dropdown-menu-rtl,.ant-dropdown-rtl,.ant-dropdown-rtl .ant-dropdown-menu-item-group-title,.ant-empty-rtl,.ant-input-affix-wrapper-rtl,.ant-input-group-rtl,.ant-input-group-wrapper-rtl,.ant-input-number-rtl,.ant-input-rtl,.ant-input-search-rtl,.ant-input-textarea-rtl,.ant-row-rtl{direction:rtl}.ant-picker-inline{border:none;padding:0}.ant-picker-inline .ant-picker-range-arrow{display:none!important}.ant-descriptions-header{display:flex;align-items:center;margin-bottom:20px}.ant-descriptions-title{flex:auto;overflow:hidden;color:rgba(255,255,255,.85);font-weight:700;font-size:16px;line-height:1.5715;white-space:nowrap;text-overflow:ellipsis}.ant-descriptions-extra,.ant-descriptions-item-content,.ant-descriptions-item-label,.ant-divider{font-size:14px;color:rgba(255,255,255,.85)}.ant-descriptions-extra{margin-left:auto}.ant-descriptions-view{width:100%;overflow:hidden;border-radius:2px}.ant-descriptions-view table{width:100%;table-layout:fixed}.ant-descriptions-row>td,.ant-descriptions-row>th{padding-bottom:16px}.ant-descriptions-row:last-child{border-bottom:none}.ant-descriptions-item-label{font-weight:400;line-height:1.5715;text-align:start}.ant-descriptions-item-label::after{content:':';position:relative;top:-.5px;margin:0 8px 0 2px}.ant-descriptions-item-label.ant-descriptions-item-no-colon::after,.ant-dropdown::before{content:' '}.ant-descriptions-item-no-label::after{margin:0;content:''}.ant-descriptions-item-content{display:table-cell;flex:1;line-height:1.5715;word-break:break-word;overflow-wrap:break-word}.ant-descriptions-item{padding-bottom:0;vertical-align:top}.ant-descriptions-item-container{display:flex}.ant-descriptions-item-container .ant-descriptions-item-content,.ant-descriptions-item-container .ant-descriptions-item-label{display:inline-flex;align-items:baseline}.ant-descriptions-middle .ant-descriptions-row>td,.ant-descriptions-middle .ant-descriptions-row>th{padding-bottom:12px}.ant-descriptions-small .ant-descriptions-row>td,.ant-descriptions-small .ant-descriptions-row>th{padding-bottom:8px}.ant-descriptions-bordered .ant-descriptions-view{border:1px solid #303030}.ant-descriptions-bordered .ant-descriptions-view>table{table-layout:auto}.ant-descriptions-bordered .ant-descriptions-item-content,.ant-descriptions-bordered .ant-descriptions-item-label{padding:16px 24px;border-right:1px solid #303030}.ant-descriptions-bordered .ant-descriptions-item-content:last-child,.ant-descriptions-bordered .ant-descriptions-item-label:last-child{border-right:none}.ant-descriptions-bordered .ant-descriptions-item-label::after{display:none}.ant-descriptions-bordered .ant-descriptions-row{border-bottom:1px solid #303030}.ant-descriptions-bordered .ant-descriptions-row:last-child{border-bottom:none}.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-content,.ant-descriptions-bordered.ant-descriptions-middle .ant-descriptions-item-label{padding:12px 24px}.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-content,.ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-label{padding:8px 16px}.ant-descriptions-rtl .ant-descriptions-item-label::after{margin:0 2px 0 8px}.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content,.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label{border-right:none;border-left:1px solid #303030}.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-content:last-child,.ant-descriptions-rtl.ant-descriptions-bordered .ant-descriptions-item-label:last-child{border-left:none}nz-descriptions{display:block}.ant-divider{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;border-top:1px solid rgba(255,255,255,.12)}.ant-divider-vertical{position:relative;top:-.06em;display:inline-block;height:.9em;margin:0 8px;vertical-align:middle;border-top:0;border-left:1px solid rgba(255,255,255,.12)}.ant-divider-horizontal{display:flex;clear:both;width:100%;min-width:100%;margin:24px 0}.ant-divider-horizontal.ant-divider-with-text{display:flex;margin:16px 0;color:rgba(255,255,255,.85);font-weight:500;font-size:16px;white-space:nowrap;text-align:center;border-top:0;border-top-color:rgba(255,255,255,.12)}.ant-divider-horizontal.ant-divider-with-text::after,.ant-divider-horizontal.ant-divider-with-text::before{position:relative;top:50%;width:50%;border-top:1px solid transparent;border-top-color:inherit;border-bottom:0;transform:translateY(50%);content:''}.ant-divider-horizontal.ant-divider-with-text-left::before{top:50%;width:5%}.ant-divider-horizontal.ant-divider-with-text-left::after,.ant-divider-horizontal.ant-divider-with-text-right::before{top:50%;width:95%}.ant-divider-horizontal.ant-divider-with-text-right::after{top:50%;width:5%}.ant-divider-inner-text{display:inline-block;padding:0 1em}.ant-divider-dashed{background:0 0;border-color:rgba(255,255,255,.12);border-style:dashed;border-width:1px 0 0}.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed{border-top:0}.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::after,.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed::before{border-style:dashed none none}.ant-divider-vertical.ant-divider-dashed{border-width:0 0 0 1px}.ant-divider-plain.ant-divider-with-text{color:rgba(255,255,255,.85);font-weight:400;font-size:14px}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::before{width:95%}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-left::after,.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::before{width:5%}.ant-divider-rtl.ant-divider-horizontal.ant-divider-with-text-right::after{width:95%}.ant-drawer{position:fixed;z-index:1000;width:0%;height:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1),height 0s ease .3s,width 0s ease .3s}.ant-drawer>*{transition:transform .3s cubic-bezier(.7,.3,.1,1),box-shadow .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-content-wrapper{position:absolute;width:100%;height:100%}.ant-drawer .ant-drawer-content{width:100%;height:100%}.ant-drawer-left,.ant-drawer-right{top:0;width:0%;height:100%}.ant-drawer-left .ant-drawer-content-wrapper,.ant-drawer-right .ant-drawer-content-wrapper{height:100%}.ant-drawer-left.ant-drawer-open,.ant-drawer-right.ant-drawer-open{width:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-left,.ant-drawer-left .ant-drawer-content-wrapper{left:0}.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:6px 0 16px -8px rgba(0,0,0,.32),9px 0 28px 0 rgba(0,0,0,.2),12px 0 48px 16px rgba(0,0,0,.12)}.ant-drawer-right,.ant-drawer-right .ant-drawer-content-wrapper{right:0}.ant-drawer-right.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:-6px 0 16px -8px rgba(0,0,0,.08),-9px 0 28px 0 rgba(0,0,0,.05),-12px 0 48px 16px rgba(0,0,0,.03)}.ant-drawer-top.ant-drawer-open .ant-drawer-content-wrapper,.header-dropdown{box-shadow:0 6px 16px -8px rgba(0,0,0,.32),0 9px 28px 0 rgba(0,0,0,.2),0 12px 48px 16px rgba(0,0,0,.12)}.ant-drawer-right.ant-drawer-open.no-mask{right:1px;transform:translateX(1px)}.ant-drawer-bottom,.ant-drawer-top{left:0;width:100%;height:0%}.ant-drawer-bottom .ant-drawer-content-wrapper,.ant-drawer-top .ant-drawer-content-wrapper{width:100%}.ant-drawer-bottom.ant-drawer-open,.ant-drawer-top.ant-drawer-open{height:100%;transition:transform .3s cubic-bezier(.7,.3,.1,1)}.ant-drawer-top{top:0}.ant-drawer-bottom,.ant-drawer-bottom .ant-drawer-content-wrapper{bottom:0}.ant-drawer-bottom.ant-drawer-open .ant-drawer-content-wrapper{box-shadow:0 -6px 16px -8px rgba(0,0,0,.32),0 -9px 28px 0 rgba(0,0,0,.2),0 -12px 48px 16px rgba(0,0,0,.12)}.ant-drawer-bottom.ant-drawer-open.no-mask{bottom:1px;transform:translateY(1px)}.ant-drawer.ant-drawer-open .ant-drawer-mask{height:100%;opacity:1;transition:none;animation:antdDrawerFadeIn .3s cubic-bezier(.7,.3,.1,1);pointer-events:auto}.ant-drawer-mask,.ant-dropdown-menu-item-disabled a,.ant-dropdown-menu-submenu-title-disabled a{pointer-events:none}.ant-drawer-title{margin:0;color:rgba(255,255,255,.85);font-weight:500;font-size:16px;line-height:22px}.ant-drawer-content{position:relative;z-index:1;overflow:auto;background-color:#1f1f1f;background-clip:padding-box;border:0}.ant-drawer-close{position:absolute;top:0;right:0;z-index:10;display:block;padding:20px;color:rgba(255,255,255,.45);font-weight:700;font-size:16px;font-style:normal;line-height:1;text-align:center;text-transform:none;text-decoration:none;background:0 0;border:0;outline:0;cursor:pointer;transition:color .3s;text-rendering:auto}.ant-drawer .ant-table.ant-table-bordered .ant-table-cell-fix-right-first::after,.ant-drawer .ant-table.ant-table-bordered .ant-table-expanded-row-fixed::after,.ant-drawer .ant-table.ant-table-bordered tbody>tr>td,.ant-drawer .ant-table.ant-table-bordered tfoot>tr>td,.ant-drawer .ant-table.ant-table-bordered tfoot>tr>th,.ant-drawer .ant-table.ant-table-bordered thead>tr>th,.ant-modal .ant-table.ant-table-bordered .ant-table-cell-fix-right-first::after,.ant-modal .ant-table.ant-table-bordered .ant-table-expanded-row-fixed::after,.ant-modal .ant-table.ant-table-bordered tbody>tr>td,.ant-modal .ant-table.ant-table-bordered tfoot>tr>td,.ant-modal .ant-table.ant-table-bordered tfoot>tr>th,.ant-modal .ant-table.ant-table-bordered thead>tr>th,.ant-notification .ant-table.ant-table-bordered .ant-table-cell-fix-right-first::after,.ant-notification .ant-table.ant-table-bordered .ant-table-expanded-row-fixed::after,.ant-notification .ant-table.ant-table-bordered tbody>tr>td,.ant-notification .ant-table.ant-table-bordered tfoot>tr>td,.ant-notification .ant-table.ant-table-bordered tfoot>tr>th,.ant-notification .ant-table.ant-table-bordered thead>tr>th{border-right:1px solid #3a3a3a}.ant-drawer-close:focus,.ant-drawer-close:hover{color:rgba(255,255,255,.75);text-decoration:none}.ant-drawer-header,.ant-drawer-header-no-title{color:rgba(255,255,255,.85);background:#1f1f1f}.ant-drawer-header-no-title .ant-drawer-close{margin-right:var(--scroll-bar);padding-right:calc(20px - var(--scroll-bar))}.ant-drawer-header{position:relative;padding:16px 24px;border-bottom:1px solid #303030;border-radius:2px 2px 0 0}.ant-drawer .ant-table tbody>tr>td,.ant-drawer .ant-table tfoot>tr>td,.ant-drawer .ant-table tfoot>tr>th,.ant-drawer .ant-table thead>tr>th,.ant-drawer .ant-table.ant-table-small thead>tr>th,.ant-drawer .ant-transfer-list-header{border-bottom:1px solid #3a3a3a}.ant-drawer-wrapper-body{display:flex;flex-direction:column;flex-wrap:nowrap;width:100%;height:100%}.ant-drawer-body{flex-grow:1;padding:24px;overflow:auto;font-size:14px;line-height:1.5715;word-wrap:break-word}.ant-drawer-footer{flex-shrink:0;padding:10px 16px;border-top:1px solid #303030}.ant-drawer .ant-table .ant-table-row-expand-icon,.ant-drawer .ant-table.ant-table-bordered .ant-table-title{border:1px solid #3a3a3a}.ant-drawer-mask{position:absolute;top:0;left:0;width:100%;height:0;background-color:rgba(0,0,0,.45);opacity:0;filter:alpha(opacity=45);transition:opacity .3s linear,height 0s ease .3s}.ant-drawer-open-content{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-drawer .ant-picker-clear{background:#1f1f1f}@keyframes antdDrawerFadeIn{0%{opacity:0}100%{opacity:1}}.ant-drawer .ant-anchor-wrapper,.ant-drawer .ant-card,.ant-drawer .ant-collapse-content,.ant-drawer .ant-picker-clear,.ant-drawer .ant-slider-handle,.ant-drawer .ant-timeline-item-head{background-color:#1f1f1f}.ant-drawer .ant-transfer-list-header{background:#1f1f1f}.ant-drawer .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background-color:rgba(255,255,255,.08)}.ant-drawer tr.ant-table-expanded-row:hover>td,.ant-drawer tr.ant-table-expanded-row>td{background:#272727}.ant-drawer .ant-table,.ant-drawer .ant-table.ant-table-small thead>tr>th{background-color:#1f1f1f}.ant-drawer .ant-table thead>tr>th{background-color:#272727}.ant-drawer .ant-table tbody>tr>td.ant-table-cell-fix-left,.ant-drawer .ant-table tbody>tr>td.ant-table-cell-fix-right{background-color:#1f1f1f}.ant-drawer .ant-table tbody>tr.ant-table-row:hover>td{background:#303030}.ant-drawer .ant-table.ant-table-bordered table thead>tr:not(:last-child)>th{border-bottom:1px solid #303030}.ant-drawer .ant-table.ant-table-bordered .ant-table-container,.ant-drawer .ant-table.ant-table-bordered .ant-table-footer{border:1px solid #3a3a3a}.ant-drawer .ant-table .ant-table-filter-trigger-container-open{background-color:#525252}.ant-drawer .ant-picker-calendar-full,.ant-drawer .ant-picker-calendar-full .ant-picker-panel{background-color:#1f1f1f}.ant-drawer .ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date{border-top:2px solid #3a3a3a}.ant-drawer .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active{background-color:#1f1f1f;border-bottom:1px solid #1f1f1f}.ant-drawer .ant-badge-count{box-shadow:0 0 0 1px #1f1f1f}.ant-drawer .ant-tree-show-line .ant-tree-switcher{background:#1f1f1f}.ant-drawer-rtl .ant-drawer-close{right:auto;left:0}.ant-dropdown-menu-item.ant-dropdown-menu-item-danger{color:#a61d24}.ant-dropdown-menu-item.ant-dropdown-menu-item-danger:hover{color:#fff;background-color:#a61d24}.ant-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;z-index:1050;display:block}.ant-dropdown::before{position:absolute;top:-4px;right:0;bottom:-4px;left:-7px;z-index:-9999;opacity:.0001}.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow,.ant-dropdown-placement-topRight>.ant-dropdown-arrow{right:16px}.ant-dropdown-wrap{position:relative}.ant-dropdown-wrap .ant-btn>.anticon-down{font-size:10px}.ant-dropdown-wrap .anticon-down::before{transition:transform .2s}.ant-dropdown-wrap-open .anticon-down::before{transform:rotate(180deg)}.ant-dropdown-hidden,.ant-dropdown-menu-hidden,.ant-dropdown-menu-submenu-hidden{display:none}.ant-dropdown-show-arrow.ant-dropdown-placement-topCenter,.ant-dropdown-show-arrow.ant-dropdown-placement-topLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-topRight{padding-bottom:10px}.ant-dropdown-show-arrow.ant-dropdown-placement-bottomCenter,.ant-dropdown-show-arrow.ant-dropdown-placement-bottomLeft,.ant-dropdown-show-arrow.ant-dropdown-placement-bottomRight{padding-top:10px}.ant-dropdown-arrow{position:absolute;z-index:1;display:block;width:8.49px;height:8.49px;background:0 0;border-style:solid;border-width:4.24px;transform:rotate(45deg)}.ant-dropdown-placement-topCenter>.ant-dropdown-arrow,.ant-dropdown-placement-topLeft>.ant-dropdown-arrow,.ant-dropdown-placement-topRight>.ant-dropdown-arrow{bottom:6.2px;box-shadow:3px 3px 7px rgba(0,0,0,.07);border-color:transparent #1f1f1f #1f1f1f transparent}.ant-dropdown-placement-topCenter>.ant-dropdown-arrow{left:50%;transform:translateX(-50%) rotate(45deg)}.ant-dropdown-placement-topLeft>.ant-dropdown-arrow{left:16px}.ant-dropdown-placement-bottomCenter>.ant-dropdown-arrow,.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow,.ant-dropdown-placement-bottomRight>.ant-dropdown-arrow{top:6px;box-shadow:-2px -2px 5px rgba(0,0,0,.06);border-color:#1f1f1f transparent transparent #1f1f1f}.ant-dropdown-menu,.ant-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-dropdown-placement-bottomCenter>.ant-dropdown-arrow{left:50%;transform:translateX(-50%) rotate(45deg)}.ant-dropdown-placement-bottomLeft>.ant-dropdown-arrow{left:16px}.ant-dropdown-menu{position:relative;margin:0;padding:4px 0;text-align:left;list-style-type:none;background-color:#1f1f1f;background-clip:padding-box;border-radius:2px;outline:0}.ant-dropdown-menu-item-group-title{padding:5px 12px;color:rgba(255,255,255,.45);transition:all .3s}.ant-dropdown-menu-submenu-popup{position:absolute;z-index:1050;background:0 0;box-shadow:none;transform-origin:0 0}.ant-dropdown-menu-submenu-popup li,.ant-dropdown-menu-submenu-popup ul{list-style:none}.ant-dropdown-menu-submenu-popup ul{margin-right:.3em;margin-left:.3em}.ant-dropdown-menu-item{position:relative;display:flex;align-items:center}.ant-dropdown-menu-item-icon{min-width:12px;margin-right:8px;font-size:12px}.ant-dropdown-menu-title-content{flex:auto}.ant-dropdown-menu-title-content>a{color:inherit;transition:all .3s}.ant-dropdown-menu-title-content>a:hover{color:inherit}.ant-dropdown-menu-title-content>a::after{position:absolute;top:0;right:0;bottom:0;left:0;content:''}.ant-dropdown-menu-item,.ant-dropdown-menu-submenu-title{clear:both;margin:0;padding:5px 12px;color:rgba(255,255,255,.85);font-weight:400;font-size:14px;line-height:22px;white-space:nowrap;cursor:pointer;transition:all .3s}.ant-dropdown-menu-item-selected,.ant-dropdown-menu-submenu-title-selected{color:#177ddc;background-color:#111b26}.ant-dropdown-menu-item:hover,.ant-dropdown-menu-submenu-title:hover{background-color:rgba(255,255,255,.08)}.ant-dropdown-menu-item-disabled,.ant-dropdown-menu-submenu-title-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-dropdown-menu-item-disabled:hover,.ant-dropdown-menu-submenu-title-disabled:hover{color:rgba(255,255,255,.3);background-color:transparent;cursor:not-allowed}.ant-dropdown-menu-item-divider,.ant-dropdown-menu-submenu-title-divider{height:1px;margin:4px 0;overflow:hidden;line-height:0;background-color:#303030}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon{position:absolute;right:8px}.ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon{margin-right:0!important;color:rgba(255,255,255,.45);font-size:10px;font-style:normal}.ant-dropdown-menu-item-group-list{margin:0 8px;padding:0;list-style:none}.ant-dropdown-menu-submenu-title{padding-right:24px}.ant-dropdown-menu-submenu-vertical{position:relative}.ant-dropdown-menu-submenu-vertical>.ant-dropdown-menu{position:absolute;top:0;left:100%;min-width:100%;margin-left:4px;transform-origin:0 0}.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{color:rgba(255,255,255,.3);background-color:transparent;cursor:not-allowed}.ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title{color:#177ddc}.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topRight,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topRight{animation-name:antSlideDownIn}.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomCenter,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomLeft,.ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomRight{animation-name:antSlideUpOut}.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topCenter,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topLeft,.ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topRight{animation-name:antSlideDownOut}.ant-dropdown-button>.anticon.anticon-down,.ant-dropdown-link>.anticon.anticon-down,.ant-dropdown-trigger>.anticon.anticon-down{font-size:10px;vertical-align:baseline}.ant-dropdown-button{white-space:nowrap}.ant-dropdown-button.ant-btn-group>.ant-btn:last-child:not(:first-child):not(.ant-btn-icon-only){padding-right:8px;padding-left:8px}.ant-dropdown-menu-dark,.ant-dropdown-menu-dark .ant-dropdown-menu{background:#1f1f1f}.ant-dropdown-menu-dark .ant-dropdown-menu-item,.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a .ant-dropdown-menu-submenu-arrow::after,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow::after{color:rgba(255,255,255,.65)}.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item>.anticon+span>a:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item>a:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover{color:#fff;background:0 0}.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover,.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected>a{color:#fff;background:#177ddc}.ant-dropdown-rtl.ant-dropdown::before{right:-7px;left:0}.ant-dropdown-menu.ant-dropdown-menu-rtl,.ant-dropdown-rtl .ant-dropdown-menu-item-group-title{text-align:right}.ant-dropdown-menu-submenu-popup.ant-dropdown-menu-submenu-rtl{transform-origin:100% 0}.ant-dropdown-rtl .ant-dropdown-menu-item,.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup li,.ant-dropdown-rtl .ant-dropdown-menu-submenu-popup ul,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title{text-align:right}.ant-dropdown-rtl .ant-dropdown-menu-item>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-item>span>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title>.anticon:first-child,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title>span>.anticon:first-child{margin-right:0;margin-left:8px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow{right:auto;left:8px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{margin-left:0!important;transform:scaleX(-1)}.ant-dropdown-rtl .ant-dropdown-menu-submenu-title{padding-right:12px;padding-left:24px}.ant-dropdown-rtl .ant-dropdown-menu-submenu-vertical>.ant-dropdown-menu{right:100%;left:0;margin-right:4px;margin-left:0}.ant-dropdown-menu>ul{list-style:inherit;margin:0;padding:0}.ant-dropdown{top:0;left:0;position:relative;width:100%;margin-top:6px;margin-bottom:6px}.ant-dropdown-rtl .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow,.ant-dropdown-rtl .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow{transform:rotate(180deg)}.ant-empty{margin:0 8px;font-size:14px;line-height:1.5715;text-align:center}.ant-empty-image{height:100px;margin-bottom:8px}.ant-empty-image img{height:100%}.ant-empty-image svg{height:100%;margin:auto}.ant-empty-footer{margin-top:16px}.ant-empty-normal{margin:32px 0;color:rgba(255,255,255,.3)}.ant-empty-normal .ant-empty-image{height:40px}.ant-empty-small{margin:8px 0;color:rgba(255,255,255,.3)}.ant-empty-small .ant-empty-image{height:35px}.ant-empty-img-default-ellipse{fill:#fff;fill-opacity:.08}.ant-empty-img-default-path-1{fill:#262626}.ant-empty-img-default-path-2{fill:url(#linearGradient-1)}.ant-empty-img-default-path-3{fill:#595959}.ant-empty-img-default-path-4{fill:#434343}.ant-empty-img-default-path-5{fill:#595959}.ant-empty-img-default-g{fill:#434343}.ant-empty-img-simple-ellipse{fill:#fff;fill-opacity:.08}.ant-empty-img-simple-g{stroke:#434343}.ant-empty-img-simple-path{fill:#262626;stroke:#434343}nz-empty{display:block}.ant-row,.ant-row::after,.ant-row::before{display:flex}.ant-row{flex-flow:row wrap}.ant-col-1,.ant-col-10,.ant-col-11,.ant-col-12,.ant-col-13,.ant-col-14,.ant-col-15,.ant-col-16,.ant-col-17,.ant-col-18,.ant-col-19,.ant-col-2,.ant-col-20,.ant-col-21,.ant-col-22,.ant-col-23,.ant-col-24,.ant-col-3,.ant-col-4,.ant-col-5,.ant-col-6,.ant-col-7,.ant-col-8,.ant-col-9{display:block}.ant-row-no-wrap{flex-wrap:nowrap}.ant-row-start{justify-content:flex-start}.ant-row-center{justify-content:center}.ant-row-end{justify-content:flex-end}.ant-row-space-between{justify-content:space-between}.ant-row-space-around{justify-content:space-around}.ant-row-top,.ant-tree-list-holder-inner{align-items:flex-start}.ant-row-middle{align-items:center}.ant-row-bottom{align-items:flex-end}.ant-col{position:relative;max-width:100%;min-height:1px}.ant-col-24{flex:0 0 100%;max-width:100%}.ant-col-push-24{left:100%}.ant-col-pull-24{right:100%}.ant-col-offset-24{margin-left:100%}.ant-col-order-24{order:24}.ant-col-23{flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-push-23{left:95.83333333%}.ant-col-pull-23{right:95.83333333%}.ant-col-offset-23{margin-left:95.83333333%}.ant-col-order-23{order:23}.ant-col-22{flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-push-22{left:91.66666667%}.ant-col-pull-22{right:91.66666667%}.ant-col-offset-22{margin-left:91.66666667%}.ant-col-order-22{order:22}.ant-col-21{flex:0 0 87.5%;max-width:87.5%}.ant-col-push-21{left:87.5%}.ant-col-pull-21{right:87.5%}.ant-col-offset-21{margin-left:87.5%}.ant-col-order-21{order:21}.ant-col-20{flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-push-20{left:83.33333333%}.ant-col-pull-20{right:83.33333333%}.ant-col-offset-20{margin-left:83.33333333%}.ant-col-order-20{order:20}.ant-col-19{flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-push-19{left:79.16666667%}.ant-col-pull-19{right:79.16666667%}.ant-col-offset-19{margin-left:79.16666667%}.ant-col-order-19{order:19}.ant-col-18{flex:0 0 75%;max-width:75%}.ant-col-push-18{left:75%}.ant-col-pull-18{right:75%}.ant-col-offset-18{margin-left:75%}.ant-col-order-18{order:18}.ant-col-17{flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-push-17{left:70.83333333%}.ant-col-pull-17{right:70.83333333%}.ant-col-offset-17{margin-left:70.83333333%}.ant-col-order-17{order:17}.ant-col-16{flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-push-16{left:66.66666667%}.ant-col-pull-16{right:66.66666667%}.ant-col-offset-16{margin-left:66.66666667%}.ant-col-order-16{order:16}.ant-col-15{flex:0 0 62.5%;max-width:62.5%}.ant-col-push-15{left:62.5%}.ant-col-pull-15{right:62.5%}.ant-col-offset-15{margin-left:62.5%}.ant-col-order-15{order:15}.ant-col-14{flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-push-14{left:58.33333333%}.ant-col-pull-14{right:58.33333333%}.ant-col-offset-14{margin-left:58.33333333%}.ant-col-order-14{order:14}.ant-col-13{flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-push-13{left:54.16666667%}.ant-col-pull-13{right:54.16666667%}.ant-col-offset-13{margin-left:54.16666667%}.ant-col-order-13{order:13}.ant-col-12{flex:0 0 50%;max-width:50%}.ant-col-push-12{left:50%}.ant-col-pull-12{right:50%}.ant-col-offset-12{margin-left:50%}.ant-col-order-12{order:12}.ant-col-11{flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-push-11{left:45.83333333%}.ant-col-pull-11{right:45.83333333%}.ant-col-offset-11{margin-left:45.83333333%}.ant-col-order-11{order:11}.ant-col-10{flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-push-10{left:41.66666667%}.ant-col-pull-10{right:41.66666667%}.ant-col-offset-10{margin-left:41.66666667%}.ant-col-order-10{order:10}.ant-col-9{flex:0 0 37.5%;max-width:37.5%}.ant-col-push-9{left:37.5%}.ant-col-pull-9{right:37.5%}.ant-col-offset-9{margin-left:37.5%}.ant-col-order-9{order:9}.ant-col-8{flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-push-8{left:33.33333333%}.ant-col-pull-8{right:33.33333333%}.ant-col-offset-8{margin-left:33.33333333%}.ant-col-order-8{order:8}.ant-col-7{flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-push-7{left:29.16666667%}.ant-col-pull-7{right:29.16666667%}.ant-col-offset-7{margin-left:29.16666667%}.ant-col-order-7{order:7}.ant-col-6{flex:0 0 25%;max-width:25%}.ant-col-push-6{left:25%}.ant-col-pull-6{right:25%}.ant-col-offset-6{margin-left:25%}.ant-col-order-6{order:6}.ant-col-5{flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-push-5{left:20.83333333%}.ant-col-pull-5{right:20.83333333%}.ant-col-offset-5{margin-left:20.83333333%}.ant-col-order-5{order:5}.ant-col-4{flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-push-4{left:16.66666667%}.ant-col-pull-4{right:16.66666667%}.ant-col-offset-4{margin-left:16.66666667%}.ant-col-order-4{order:4}.ant-col-3{flex:0 0 12.5%;max-width:12.5%}.ant-col-push-3{left:12.5%}.ant-col-pull-3{right:12.5%}.ant-col-offset-3{margin-left:12.5%}.ant-col-order-3{order:3}.ant-col-2{flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-push-2{left:8.33333333%}.ant-col-pull-2{right:8.33333333%}.ant-col-offset-2{margin-left:8.33333333%}.ant-col-order-2{order:2}.ant-col-1{flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-push-1{left:4.16666667%}.ant-col-pull-1{right:4.16666667%}.ant-col-offset-1{margin-left:4.16666667%}.ant-col-order-1{order:1}.ant-col-0{display:none}.ant-col-offset-0{margin-left:0}.ant-col-order-0{order:0}.ant-col-offset-0.ant-col-rtl{margin-right:0}.ant-col-push-1.ant-col-rtl{right:4.16666667%;left:auto}.ant-col-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}.ant-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xs-push-24{left:100%}.ant-col-xs-pull-24{right:100%}.ant-col-xs-offset-24{margin-left:100%}.ant-col-xs-order-24{order:24}.ant-col-xs-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xs-push-23{left:95.83333333%}.ant-col-xs-pull-23{right:95.83333333%}.ant-col-xs-offset-23{margin-left:95.83333333%}.ant-col-xs-order-23{order:23}.ant-col-xs-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xs-push-22{left:91.66666667%}.ant-col-xs-pull-22{right:91.66666667%}.ant-col-xs-offset-22{margin-left:91.66666667%}.ant-col-xs-order-22{order:22}.ant-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xs-push-21{left:87.5%}.ant-col-xs-pull-21{right:87.5%}.ant-col-xs-offset-21{margin-left:87.5%}.ant-col-xs-order-21{order:21}.ant-col-xs-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xs-push-20{left:83.33333333%}.ant-col-xs-pull-20{right:83.33333333%}.ant-col-xs-offset-20{margin-left:83.33333333%}.ant-col-xs-order-20{order:20}.ant-col-xs-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xs-push-19{left:79.16666667%}.ant-col-xs-pull-19{right:79.16666667%}.ant-col-xs-offset-19{margin-left:79.16666667%}.ant-col-xs-order-19{order:19}.ant-col-xs-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xs-push-18{left:75%}.ant-col-xs-pull-18{right:75%}.ant-col-xs-offset-18{margin-left:75%}.ant-col-xs-order-18{order:18}.ant-col-xs-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xs-push-17{left:70.83333333%}.ant-col-xs-pull-17{right:70.83333333%}.ant-col-xs-offset-17{margin-left:70.83333333%}.ant-col-xs-order-17{order:17}.ant-col-xs-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xs-push-16{left:66.66666667%}.ant-col-xs-pull-16{right:66.66666667%}.ant-col-xs-offset-16{margin-left:66.66666667%}.ant-col-xs-order-16{order:16}.ant-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xs-push-15{left:62.5%}.ant-col-xs-pull-15{right:62.5%}.ant-col-xs-offset-15{margin-left:62.5%}.ant-col-xs-order-15{order:15}.ant-col-xs-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xs-push-14{left:58.33333333%}.ant-col-xs-pull-14{right:58.33333333%}.ant-col-xs-offset-14{margin-left:58.33333333%}.ant-col-xs-order-14{order:14}.ant-col-xs-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xs-push-13{left:54.16666667%}.ant-col-xs-pull-13{right:54.16666667%}.ant-col-xs-offset-13{margin-left:54.16666667%}.ant-col-xs-order-13{order:13}.ant-col-xs-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xs-push-12{left:50%}.ant-col-xs-pull-12{right:50%}.ant-col-xs-offset-12{margin-left:50%}.ant-col-xs-order-12{order:12}.ant-col-xs-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xs-push-11{left:45.83333333%}.ant-col-xs-pull-11{right:45.83333333%}.ant-col-xs-offset-11{margin-left:45.83333333%}.ant-col-xs-order-11{order:11}.ant-col-xs-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xs-push-10{left:41.66666667%}.ant-col-xs-pull-10{right:41.66666667%}.ant-col-xs-offset-10{margin-left:41.66666667%}.ant-col-xs-order-10{order:10}.ant-col-xs-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xs-push-9{left:37.5%}.ant-col-xs-pull-9{right:37.5%}.ant-col-xs-offset-9{margin-left:37.5%}.ant-col-xs-order-9{order:9}.ant-col-xs-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xs-push-8{left:33.33333333%}.ant-col-xs-pull-8{right:33.33333333%}.ant-col-xs-offset-8{margin-left:33.33333333%}.ant-col-xs-order-8{order:8}.ant-col-xs-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xs-push-7{left:29.16666667%}.ant-col-xs-pull-7{right:29.16666667%}.ant-col-xs-offset-7{margin-left:29.16666667%}.ant-col-xs-order-7{order:7}.ant-col-xs-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xs-push-6{left:25%}.ant-col-xs-pull-6{right:25%}.ant-col-xs-offset-6{margin-left:25%}.ant-col-xs-order-6{order:6}.ant-col-xs-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xs-push-5{left:20.83333333%}.ant-col-xs-pull-5{right:20.83333333%}.ant-col-xs-offset-5{margin-left:20.83333333%}.ant-col-xs-order-5{order:5}.ant-col-xs-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xs-push-4{left:16.66666667%}.ant-col-xs-pull-4{right:16.66666667%}.ant-col-xs-offset-4{margin-left:16.66666667%}.ant-col-xs-order-4{order:4}.ant-col-xs-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xs-push-3{left:12.5%}.ant-col-xs-pull-3{right:12.5%}.ant-col-xs-offset-3{margin-left:12.5%}.ant-col-xs-order-3{order:3}.ant-col-xs-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xs-push-2{left:8.33333333%}.ant-col-xs-pull-2{right:8.33333333%}.ant-col-xs-offset-2{margin-left:8.33333333%}.ant-col-xs-order-2{order:2}.ant-col-xs-order-1,.ant-layout-sider-right,.ant-tabs-rtl.ant-tabs-left>.ant-tabs-nav{order:1}.ant-col-xs-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xs-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xs-pull-0.ant-col-rtl,.ant-col-xs-push-0,.ant-col-xs-push-1.ant-col-rtl{left:auto}.ant-col-xs-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xs-pull-0,.ant-col-xs-push-0.ant-col-rtl{right:auto}.ant-col-xs-offset-1{margin-left:4.16666667%}.ant-col-xs-0{display:none}.ant-col-xs-offset-0{margin-left:0}.ant-col-xs-order-0{order:0}.ant-col-xs-offset-0.ant-col-rtl{margin-right:0}.ant-col-xs-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xs-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xs-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xs-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xs-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xs-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xs-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xs-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xs-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xs-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xs-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xs-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xs-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xs-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xs-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xs-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xs-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xs-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xs-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xs-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xs-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xs-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xs-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xs-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xs-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xs-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xs-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xs-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xs-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xs-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xs-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xs-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xs-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xs-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xs-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xs-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xs-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xs-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xs-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xs-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xs-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xs-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xs-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xs-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xs-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xs-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xs-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xs-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xs-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xs-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xs-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xs-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xs-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xs-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xs-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xs-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xs-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xs-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xs-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xs-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xs-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xs-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xs-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xs-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xs-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xs-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xs-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xs-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xs-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xs-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xs-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xs-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}@media (min-width:576px){.ant-col-sm-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-sm-push-24{left:100%}.ant-col-sm-pull-24{right:100%}.ant-col-sm-offset-24{margin-left:100%}.ant-col-sm-order-24{order:24}.ant-col-sm-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-sm-push-23{left:95.83333333%}.ant-col-sm-pull-23{right:95.83333333%}.ant-col-sm-offset-23{margin-left:95.83333333%}.ant-col-sm-order-23{order:23}.ant-col-sm-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-sm-push-22{left:91.66666667%}.ant-col-sm-pull-22{right:91.66666667%}.ant-col-sm-offset-22{margin-left:91.66666667%}.ant-col-sm-order-22{order:22}.ant-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-sm-push-21{left:87.5%}.ant-col-sm-pull-21{right:87.5%}.ant-col-sm-offset-21{margin-left:87.5%}.ant-col-sm-order-21{order:21}.ant-col-sm-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-sm-push-20{left:83.33333333%}.ant-col-sm-pull-20{right:83.33333333%}.ant-col-sm-offset-20{margin-left:83.33333333%}.ant-col-sm-order-20{order:20}.ant-col-sm-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-sm-push-19{left:79.16666667%}.ant-col-sm-pull-19{right:79.16666667%}.ant-col-sm-offset-19{margin-left:79.16666667%}.ant-col-sm-order-19{order:19}.ant-col-sm-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-sm-push-18{left:75%}.ant-col-sm-pull-18{right:75%}.ant-col-sm-offset-18{margin-left:75%}.ant-col-sm-order-18{order:18}.ant-col-sm-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-sm-push-17{left:70.83333333%}.ant-col-sm-pull-17{right:70.83333333%}.ant-col-sm-offset-17{margin-left:70.83333333%}.ant-col-sm-order-17{order:17}.ant-col-sm-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-sm-push-16{left:66.66666667%}.ant-col-sm-pull-16{right:66.66666667%}.ant-col-sm-offset-16{margin-left:66.66666667%}.ant-col-sm-order-16{order:16}.ant-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-sm-push-15{left:62.5%}.ant-col-sm-pull-15{right:62.5%}.ant-col-sm-offset-15{margin-left:62.5%}.ant-col-sm-order-15{order:15}.ant-col-sm-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-sm-push-14{left:58.33333333%}.ant-col-sm-pull-14{right:58.33333333%}.ant-col-sm-offset-14{margin-left:58.33333333%}.ant-col-sm-order-14{order:14}.ant-col-sm-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-sm-push-13{left:54.16666667%}.ant-col-sm-pull-13{right:54.16666667%}.ant-col-sm-offset-13{margin-left:54.16666667%}.ant-col-sm-order-13{order:13}.ant-col-sm-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-sm-push-12{left:50%}.ant-col-sm-pull-12{right:50%}.ant-col-sm-offset-12{margin-left:50%}.ant-col-sm-order-12{order:12}.ant-col-sm-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-sm-push-11{left:45.83333333%}.ant-col-sm-pull-11{right:45.83333333%}.ant-col-sm-offset-11{margin-left:45.83333333%}.ant-col-sm-order-11{order:11}.ant-col-sm-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-sm-push-10{left:41.66666667%}.ant-col-sm-pull-10{right:41.66666667%}.ant-col-sm-offset-10{margin-left:41.66666667%}.ant-col-sm-order-10{order:10}.ant-col-sm-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-sm-push-9{left:37.5%}.ant-col-sm-pull-9{right:37.5%}.ant-col-sm-offset-9{margin-left:37.5%}.ant-col-sm-order-9{order:9}.ant-col-sm-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-sm-push-8{left:33.33333333%}.ant-col-sm-pull-8{right:33.33333333%}.ant-col-sm-offset-8{margin-left:33.33333333%}.ant-col-sm-order-8{order:8}.ant-col-sm-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-sm-push-7{left:29.16666667%}.ant-col-sm-pull-7{right:29.16666667%}.ant-col-sm-offset-7{margin-left:29.16666667%}.ant-col-sm-order-7{order:7}.ant-col-sm-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-sm-push-6{left:25%}.ant-col-sm-pull-6{right:25%}.ant-col-sm-offset-6{margin-left:25%}.ant-col-sm-order-6{order:6}.ant-col-sm-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-sm-push-5{left:20.83333333%}.ant-col-sm-pull-5{right:20.83333333%}.ant-col-sm-offset-5{margin-left:20.83333333%}.ant-col-sm-order-5{order:5}.ant-col-sm-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-sm-push-4{left:16.66666667%}.ant-col-sm-pull-4{right:16.66666667%}.ant-col-sm-offset-4{margin-left:16.66666667%}.ant-col-sm-order-4{order:4}.ant-col-sm-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-sm-push-3{left:12.5%}.ant-col-sm-pull-3{right:12.5%}.ant-col-sm-offset-3{margin-left:12.5%}.ant-col-sm-order-3{order:3}.ant-col-sm-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-sm-push-2{left:8.33333333%}.ant-col-sm-pull-2{right:8.33333333%}.ant-col-sm-offset-2{margin-left:8.33333333%}.ant-col-sm-order-2{order:2}.ant-col-sm-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-sm-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-sm-pull-0.ant-col-rtl,.ant-col-sm-push-0,.ant-col-sm-push-1.ant-col-rtl{left:auto}.ant-col-sm-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-sm-pull-0,.ant-col-sm-push-0.ant-col-rtl{right:auto}.ant-col-sm-offset-1{margin-left:4.16666667%}.ant-col-sm-order-1{order:1}.ant-col-sm-0{display:none}.ant-col-sm-offset-0{margin-left:0}.ant-col-sm-order-0{order:0}.ant-col-sm-offset-0.ant-col-rtl{margin-right:0}.ant-col-sm-push-1.ant-col-rtl{right:4.16666667%}.ant-col-sm-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-sm-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-sm-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-sm-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-sm-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-sm-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-sm-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-sm-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-sm-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-sm-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-sm-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-sm-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-sm-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-sm-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-sm-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-sm-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-sm-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-sm-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-sm-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-sm-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-sm-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-sm-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-sm-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-sm-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-sm-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-sm-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-sm-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-sm-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-sm-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-sm-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-sm-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-sm-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-sm-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-sm-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-sm-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-sm-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-sm-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-sm-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-sm-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-sm-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-sm-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-sm-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-sm-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-sm-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-sm-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-sm-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-sm-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-sm-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-sm-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-sm-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-sm-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-sm-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-sm-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-sm-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-sm-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-sm-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-sm-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-sm-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-sm-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-sm-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-sm-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-sm-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-sm-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-sm-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-sm-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-sm-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-sm-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-sm-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-sm-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-sm-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-sm-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:768px){.ant-col-md-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-md-push-24{left:100%}.ant-col-md-pull-24{right:100%}.ant-col-md-offset-24{margin-left:100%}.ant-col-md-order-24{order:24}.ant-col-md-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-md-push-23{left:95.83333333%}.ant-col-md-pull-23{right:95.83333333%}.ant-col-md-offset-23{margin-left:95.83333333%}.ant-col-md-order-23{order:23}.ant-col-md-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-md-push-22{left:91.66666667%}.ant-col-md-pull-22{right:91.66666667%}.ant-col-md-offset-22{margin-left:91.66666667%}.ant-col-md-order-22{order:22}.ant-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-md-push-21{left:87.5%}.ant-col-md-pull-21{right:87.5%}.ant-col-md-offset-21{margin-left:87.5%}.ant-col-md-order-21{order:21}.ant-col-md-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-md-push-20{left:83.33333333%}.ant-col-md-pull-20{right:83.33333333%}.ant-col-md-offset-20{margin-left:83.33333333%}.ant-col-md-order-20{order:20}.ant-col-md-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-md-push-19{left:79.16666667%}.ant-col-md-pull-19{right:79.16666667%}.ant-col-md-offset-19{margin-left:79.16666667%}.ant-col-md-order-19{order:19}.ant-col-md-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-md-push-18{left:75%}.ant-col-md-pull-18{right:75%}.ant-col-md-offset-18{margin-left:75%}.ant-col-md-order-18{order:18}.ant-col-md-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-md-push-17{left:70.83333333%}.ant-col-md-pull-17{right:70.83333333%}.ant-col-md-offset-17{margin-left:70.83333333%}.ant-col-md-order-17{order:17}.ant-col-md-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-md-push-16{left:66.66666667%}.ant-col-md-pull-16{right:66.66666667%}.ant-col-md-offset-16{margin-left:66.66666667%}.ant-col-md-order-16{order:16}.ant-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-md-push-15{left:62.5%}.ant-col-md-pull-15{right:62.5%}.ant-col-md-offset-15{margin-left:62.5%}.ant-col-md-order-15{order:15}.ant-col-md-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-md-push-14{left:58.33333333%}.ant-col-md-pull-14{right:58.33333333%}.ant-col-md-offset-14{margin-left:58.33333333%}.ant-col-md-order-14{order:14}.ant-col-md-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-md-push-13{left:54.16666667%}.ant-col-md-pull-13{right:54.16666667%}.ant-col-md-offset-13{margin-left:54.16666667%}.ant-col-md-order-13{order:13}.ant-col-md-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-md-push-12{left:50%}.ant-col-md-pull-12{right:50%}.ant-col-md-offset-12{margin-left:50%}.ant-col-md-order-12{order:12}.ant-col-md-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-md-push-11{left:45.83333333%}.ant-col-md-pull-11{right:45.83333333%}.ant-col-md-offset-11{margin-left:45.83333333%}.ant-col-md-order-11{order:11}.ant-col-md-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-md-push-10{left:41.66666667%}.ant-col-md-pull-10{right:41.66666667%}.ant-col-md-offset-10{margin-left:41.66666667%}.ant-col-md-order-10{order:10}.ant-col-md-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-md-push-9{left:37.5%}.ant-col-md-pull-9{right:37.5%}.ant-col-md-offset-9{margin-left:37.5%}.ant-col-md-order-9{order:9}.ant-col-md-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-md-push-8{left:33.33333333%}.ant-col-md-pull-8{right:33.33333333%}.ant-col-md-offset-8{margin-left:33.33333333%}.ant-col-md-order-8{order:8}.ant-col-md-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-md-push-7{left:29.16666667%}.ant-col-md-pull-7{right:29.16666667%}.ant-col-md-offset-7{margin-left:29.16666667%}.ant-col-md-order-7{order:7}.ant-col-md-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-md-push-6{left:25%}.ant-col-md-pull-6{right:25%}.ant-col-md-offset-6{margin-left:25%}.ant-col-md-order-6{order:6}.ant-col-md-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-md-push-5{left:20.83333333%}.ant-col-md-pull-5{right:20.83333333%}.ant-col-md-offset-5{margin-left:20.83333333%}.ant-col-md-order-5{order:5}.ant-col-md-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-md-push-4{left:16.66666667%}.ant-col-md-pull-4{right:16.66666667%}.ant-col-md-offset-4{margin-left:16.66666667%}.ant-col-md-order-4{order:4}.ant-col-md-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-md-push-3{left:12.5%}.ant-col-md-pull-3{right:12.5%}.ant-col-md-offset-3{margin-left:12.5%}.ant-col-md-order-3{order:3}.ant-col-md-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-md-push-2{left:8.33333333%}.ant-col-md-pull-2{right:8.33333333%}.ant-col-md-offset-2{margin-left:8.33333333%}.ant-col-md-order-2{order:2}.ant-col-md-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-md-push-1{left:4.16666667%}.ant-col-md-pull-0.ant-col-rtl,.ant-col-md-push-0,.ant-col-md-push-1.ant-col-rtl,.ant-col-pull-0.ant-col-rtl,.ant-col-push-0{left:auto}.ant-col-md-pull-1{right:4.16666667%}.ant-col-md-pull-0,.ant-col-md-push-0.ant-col-rtl,.ant-col-pull-0,.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-md-offset-1{margin-left:4.16666667%}.ant-col-md-order-1{order:1}.ant-col-md-0{display:none}.ant-col-md-offset-0{margin-left:0}.ant-col-md-order-0{order:0}.ant-col-md-offset-0.ant-col-rtl{margin-right:0}.ant-col-md-push-1.ant-col-rtl{right:4.16666667%}.ant-col-md-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-md-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-md-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-md-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-md-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-md-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-md-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-md-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-md-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-md-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-md-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-md-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-md-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-md-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-md-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-md-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-md-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-md-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-md-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-md-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-md-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-md-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-md-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-md-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-md-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-md-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-md-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-md-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-md-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-md-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-md-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-md-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-md-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-md-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-md-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-md-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-md-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-md-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-md-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-md-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-md-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-md-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-md-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-md-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-md-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-md-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-md-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-md-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-md-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-md-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-md-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-md-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-md-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-md-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-md-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-md-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-md-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-md-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-md-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-md-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-md-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-md-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-md-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-md-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-md-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-md-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-md-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-md-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-md-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-md-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-md-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:992px){.ant-col-lg-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-lg-push-24{left:100%}.ant-col-lg-pull-24{right:100%}.ant-col-lg-offset-24{margin-left:100%}.ant-col-lg-order-24{order:24}.ant-col-lg-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-lg-push-23{left:95.83333333%}.ant-col-lg-pull-23{right:95.83333333%}.ant-col-lg-offset-23{margin-left:95.83333333%}.ant-col-lg-order-23{order:23}.ant-col-lg-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-lg-push-22{left:91.66666667%}.ant-col-lg-pull-22{right:91.66666667%}.ant-col-lg-offset-22{margin-left:91.66666667%}.ant-col-lg-order-22{order:22}.ant-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-lg-push-21{left:87.5%}.ant-col-lg-pull-21{right:87.5%}.ant-col-lg-offset-21{margin-left:87.5%}.ant-col-lg-order-21{order:21}.ant-col-lg-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-lg-push-20{left:83.33333333%}.ant-col-lg-pull-20{right:83.33333333%}.ant-col-lg-offset-20{margin-left:83.33333333%}.ant-col-lg-order-20{order:20}.ant-col-lg-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-lg-push-19{left:79.16666667%}.ant-col-lg-pull-19{right:79.16666667%}.ant-col-lg-offset-19{margin-left:79.16666667%}.ant-col-lg-order-19{order:19}.ant-col-lg-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-lg-push-18{left:75%}.ant-col-lg-pull-18{right:75%}.ant-col-lg-offset-18{margin-left:75%}.ant-col-lg-order-18{order:18}.ant-col-lg-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-lg-push-17{left:70.83333333%}.ant-col-lg-pull-17{right:70.83333333%}.ant-col-lg-offset-17{margin-left:70.83333333%}.ant-col-lg-order-17{order:17}.ant-col-lg-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-lg-push-16{left:66.66666667%}.ant-col-lg-pull-16{right:66.66666667%}.ant-col-lg-offset-16{margin-left:66.66666667%}.ant-col-lg-order-16{order:16}.ant-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-lg-push-15{left:62.5%}.ant-col-lg-pull-15{right:62.5%}.ant-col-lg-offset-15{margin-left:62.5%}.ant-col-lg-order-15{order:15}.ant-col-lg-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-lg-push-14{left:58.33333333%}.ant-col-lg-pull-14{right:58.33333333%}.ant-col-lg-offset-14{margin-left:58.33333333%}.ant-col-lg-order-14{order:14}.ant-col-lg-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-lg-push-13{left:54.16666667%}.ant-col-lg-pull-13{right:54.16666667%}.ant-col-lg-offset-13{margin-left:54.16666667%}.ant-col-lg-order-13{order:13}.ant-col-lg-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-lg-push-12{left:50%}.ant-col-lg-pull-12{right:50%}.ant-col-lg-offset-12{margin-left:50%}.ant-col-lg-order-12{order:12}.ant-col-lg-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-lg-push-11{left:45.83333333%}.ant-col-lg-pull-11{right:45.83333333%}.ant-col-lg-offset-11{margin-left:45.83333333%}.ant-col-lg-order-11{order:11}.ant-col-lg-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-lg-push-10{left:41.66666667%}.ant-col-lg-pull-10{right:41.66666667%}.ant-col-lg-offset-10{margin-left:41.66666667%}.ant-col-lg-order-10{order:10}.ant-col-lg-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-lg-push-9{left:37.5%}.ant-col-lg-pull-9{right:37.5%}.ant-col-lg-offset-9{margin-left:37.5%}.ant-col-lg-order-9{order:9}.ant-col-lg-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-lg-push-8{left:33.33333333%}.ant-col-lg-pull-8{right:33.33333333%}.ant-col-lg-offset-8{margin-left:33.33333333%}.ant-col-lg-order-8{order:8}.ant-col-lg-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-lg-push-7{left:29.16666667%}.ant-col-lg-pull-7{right:29.16666667%}.ant-col-lg-offset-7{margin-left:29.16666667%}.ant-col-lg-order-7{order:7}.ant-col-lg-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-lg-push-6{left:25%}.ant-col-lg-pull-6{right:25%}.ant-col-lg-offset-6{margin-left:25%}.ant-col-lg-order-6{order:6}.ant-col-lg-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-lg-push-5{left:20.83333333%}.ant-col-lg-pull-5{right:20.83333333%}.ant-col-lg-offset-5{margin-left:20.83333333%}.ant-col-lg-order-5{order:5}.ant-col-lg-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-lg-push-4{left:16.66666667%}.ant-col-lg-pull-4{right:16.66666667%}.ant-col-lg-offset-4{margin-left:16.66666667%}.ant-col-lg-order-4{order:4}.ant-col-lg-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-lg-push-3{left:12.5%}.ant-col-lg-pull-3{right:12.5%}.ant-col-lg-offset-3{margin-left:12.5%}.ant-col-lg-order-3{order:3}.ant-col-lg-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-lg-push-2{left:8.33333333%}.ant-col-lg-pull-2{right:8.33333333%}.ant-col-lg-offset-2{margin-left:8.33333333%}.ant-col-lg-order-2{order:2}.ant-col-lg-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-lg-push-1{left:4.16666667%}.ant-col-lg-pull-0.ant-col-rtl,.ant-col-lg-push-0,.ant-col-lg-push-1.ant-col-rtl,.ant-col-pull-0.ant-col-rtl,.ant-col-push-0{left:auto}.ant-col-lg-pull-1{right:4.16666667%}.ant-col-lg-pull-0,.ant-col-lg-push-0.ant-col-rtl,.ant-col-pull-0,.ant-col-push-0.ant-col-rtl{right:auto}.ant-col-lg-offset-1{margin-left:4.16666667%}.ant-col-lg-order-1{order:1}.ant-col-lg-0{display:none}.ant-col-lg-offset-0{margin-left:0}.ant-col-lg-order-0{order:0}.ant-col-lg-offset-0.ant-col-rtl{margin-right:0}.ant-col-lg-push-1.ant-col-rtl{right:4.16666667%}.ant-col-lg-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-lg-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-lg-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-lg-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-lg-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-lg-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-lg-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-lg-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-lg-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-lg-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-lg-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-lg-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-lg-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-lg-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-lg-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-lg-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-lg-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-lg-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-lg-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-lg-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-lg-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-lg-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-lg-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-lg-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-lg-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-lg-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-lg-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-lg-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-lg-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-lg-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-lg-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-lg-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-lg-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-lg-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-lg-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-lg-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-lg-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-lg-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-lg-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-lg-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-lg-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-lg-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-lg-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-lg-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-lg-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-lg-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-lg-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-lg-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-lg-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-lg-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-lg-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-lg-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-lg-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-lg-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-lg-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-lg-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-lg-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-lg-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-lg-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-lg-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-lg-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-lg-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-lg-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-lg-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-lg-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-lg-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-lg-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-lg-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-lg-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-lg-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-lg-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:1200px){.ant-col-xl-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xl-push-24{left:100%}.ant-col-xl-pull-24{right:100%}.ant-col-xl-offset-24{margin-left:100%}.ant-col-xl-order-24{order:24}.ant-col-xl-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xl-push-23{left:95.83333333%}.ant-col-xl-pull-23{right:95.83333333%}.ant-col-xl-offset-23{margin-left:95.83333333%}.ant-col-xl-order-23{order:23}.ant-col-xl-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xl-push-22{left:91.66666667%}.ant-col-xl-pull-22{right:91.66666667%}.ant-col-xl-offset-22{margin-left:91.66666667%}.ant-col-xl-order-22{order:22}.ant-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xl-push-21{left:87.5%}.ant-col-xl-pull-21{right:87.5%}.ant-col-xl-offset-21{margin-left:87.5%}.ant-col-xl-order-21{order:21}.ant-col-xl-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xl-push-20{left:83.33333333%}.ant-col-xl-pull-20{right:83.33333333%}.ant-col-xl-offset-20{margin-left:83.33333333%}.ant-col-xl-order-20{order:20}.ant-col-xl-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xl-push-19{left:79.16666667%}.ant-col-xl-pull-19{right:79.16666667%}.ant-col-xl-offset-19{margin-left:79.16666667%}.ant-col-xl-order-19{order:19}.ant-col-xl-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xl-push-18{left:75%}.ant-col-xl-pull-18{right:75%}.ant-col-xl-offset-18{margin-left:75%}.ant-col-xl-order-18{order:18}.ant-col-xl-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xl-push-17{left:70.83333333%}.ant-col-xl-pull-17{right:70.83333333%}.ant-col-xl-offset-17{margin-left:70.83333333%}.ant-col-xl-order-17{order:17}.ant-col-xl-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xl-push-16{left:66.66666667%}.ant-col-xl-pull-16{right:66.66666667%}.ant-col-xl-offset-16{margin-left:66.66666667%}.ant-col-xl-order-16{order:16}.ant-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xl-push-15{left:62.5%}.ant-col-xl-pull-15{right:62.5%}.ant-col-xl-offset-15{margin-left:62.5%}.ant-col-xl-order-15{order:15}.ant-col-xl-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xl-push-14{left:58.33333333%}.ant-col-xl-pull-14{right:58.33333333%}.ant-col-xl-offset-14{margin-left:58.33333333%}.ant-col-xl-order-14{order:14}.ant-col-xl-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xl-push-13{left:54.16666667%}.ant-col-xl-pull-13{right:54.16666667%}.ant-col-xl-offset-13{margin-left:54.16666667%}.ant-col-xl-order-13{order:13}.ant-col-xl-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xl-push-12{left:50%}.ant-col-xl-pull-12{right:50%}.ant-col-xl-offset-12{margin-left:50%}.ant-col-xl-order-12{order:12}.ant-col-xl-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xl-push-11{left:45.83333333%}.ant-col-xl-pull-11{right:45.83333333%}.ant-col-xl-offset-11{margin-left:45.83333333%}.ant-col-xl-order-11{order:11}.ant-col-xl-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xl-push-10{left:41.66666667%}.ant-col-xl-pull-10{right:41.66666667%}.ant-col-xl-offset-10{margin-left:41.66666667%}.ant-col-xl-order-10{order:10}.ant-col-xl-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xl-push-9{left:37.5%}.ant-col-xl-pull-9{right:37.5%}.ant-col-xl-offset-9{margin-left:37.5%}.ant-col-xl-order-9{order:9}.ant-col-xl-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xl-push-8{left:33.33333333%}.ant-col-xl-pull-8{right:33.33333333%}.ant-col-xl-offset-8{margin-left:33.33333333%}.ant-col-xl-order-8{order:8}.ant-col-xl-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xl-push-7{left:29.16666667%}.ant-col-xl-pull-7{right:29.16666667%}.ant-col-xl-offset-7{margin-left:29.16666667%}.ant-col-xl-order-7{order:7}.ant-col-xl-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xl-push-6{left:25%}.ant-col-xl-pull-6{right:25%}.ant-col-xl-offset-6{margin-left:25%}.ant-col-xl-order-6{order:6}.ant-col-xl-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xl-push-5{left:20.83333333%}.ant-col-xl-pull-5{right:20.83333333%}.ant-col-xl-offset-5{margin-left:20.83333333%}.ant-col-xl-order-5{order:5}.ant-col-xl-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xl-push-4{left:16.66666667%}.ant-col-xl-pull-4{right:16.66666667%}.ant-col-xl-offset-4{margin-left:16.66666667%}.ant-col-xl-order-4{order:4}.ant-col-xl-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xl-push-3{left:12.5%}.ant-col-xl-pull-3{right:12.5%}.ant-col-xl-offset-3{margin-left:12.5%}.ant-col-xl-order-3{order:3}.ant-col-xl-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xl-push-2{left:8.33333333%}.ant-col-xl-pull-2{right:8.33333333%}.ant-col-xl-offset-2{margin-left:8.33333333%}.ant-col-xl-order-2{order:2}.ant-col-xl-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xl-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xl-pull-0.ant-col-rtl,.ant-col-xl-push-0,.ant-col-xl-push-1.ant-col-rtl{left:auto}.ant-col-xl-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xl-pull-0,.ant-col-xl-push-0.ant-col-rtl{right:auto}.ant-col-xl-offset-1{margin-left:4.16666667%}.ant-col-xl-order-1{order:1}.ant-col-xl-0{display:none}.ant-col-xl-offset-0{margin-left:0}.ant-col-xl-order-0{order:0}.ant-col-xl-offset-0.ant-col-rtl{margin-right:0}.ant-col-xl-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xl-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xl-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xl-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xl-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xl-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xl-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xl-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xl-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xl-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xl-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xl-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xl-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xl-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xl-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xl-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xl-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xl-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xl-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xl-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xl-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xl-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xl-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xl-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xl-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xl-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xl-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xl-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xl-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xl-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xl-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xl-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xl-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xl-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xl-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xl-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xl-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xl-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xl-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xl-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xl-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xl-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xl-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xl-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xl-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xl-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xl-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xl-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xl-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xl-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xl-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xl-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xl-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xl-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xl-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xl-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xl-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xl-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xl-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xl-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xl-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xl-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xl-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xl-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xl-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xl-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xl-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xl-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xl-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xl-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xl-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xl-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}@media (min-width:1600px){.ant-col-xxl-24{display:block;flex:0 0 100%;max-width:100%}.ant-col-xxl-push-24{left:100%}.ant-col-xxl-pull-24{right:100%}.ant-col-xxl-offset-24{margin-left:100%}.ant-col-xxl-order-24{order:24}.ant-col-xxl-23{display:block;flex:0 0 95.83333333%;max-width:95.83333333%}.ant-col-xxl-push-23{left:95.83333333%}.ant-col-xxl-pull-23{right:95.83333333%}.ant-col-xxl-offset-23{margin-left:95.83333333%}.ant-col-xxl-order-23{order:23}.ant-col-xxl-22{display:block;flex:0 0 91.66666667%;max-width:91.66666667%}.ant-col-xxl-push-22{left:91.66666667%}.ant-col-xxl-pull-22{right:91.66666667%}.ant-col-xxl-offset-22{margin-left:91.66666667%}.ant-col-xxl-order-22{order:22}.ant-col-xxl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.ant-col-xxl-push-21{left:87.5%}.ant-col-xxl-pull-21{right:87.5%}.ant-col-xxl-offset-21{margin-left:87.5%}.ant-col-xxl-order-21{order:21}.ant-col-xxl-20{display:block;flex:0 0 83.33333333%;max-width:83.33333333%}.ant-col-xxl-push-20{left:83.33333333%}.ant-col-xxl-pull-20{right:83.33333333%}.ant-col-xxl-offset-20{margin-left:83.33333333%}.ant-col-xxl-order-20{order:20}.ant-col-xxl-19{display:block;flex:0 0 79.16666667%;max-width:79.16666667%}.ant-col-xxl-push-19{left:79.16666667%}.ant-col-xxl-pull-19{right:79.16666667%}.ant-col-xxl-offset-19{margin-left:79.16666667%}.ant-col-xxl-order-19{order:19}.ant-col-xxl-18{display:block;flex:0 0 75%;max-width:75%}.ant-col-xxl-push-18{left:75%}.ant-col-xxl-pull-18{right:75%}.ant-col-xxl-offset-18{margin-left:75%}.ant-col-xxl-order-18{order:18}.ant-col-xxl-17{display:block;flex:0 0 70.83333333%;max-width:70.83333333%}.ant-col-xxl-push-17{left:70.83333333%}.ant-col-xxl-pull-17{right:70.83333333%}.ant-col-xxl-offset-17{margin-left:70.83333333%}.ant-col-xxl-order-17{order:17}.ant-col-xxl-16{display:block;flex:0 0 66.66666667%;max-width:66.66666667%}.ant-col-xxl-push-16{left:66.66666667%}.ant-col-xxl-pull-16{right:66.66666667%}.ant-col-xxl-offset-16{margin-left:66.66666667%}.ant-col-xxl-order-16{order:16}.ant-col-xxl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.ant-col-xxl-push-15{left:62.5%}.ant-col-xxl-pull-15{right:62.5%}.ant-col-xxl-offset-15{margin-left:62.5%}.ant-col-xxl-order-15{order:15}.ant-col-xxl-14{display:block;flex:0 0 58.33333333%;max-width:58.33333333%}.ant-col-xxl-push-14{left:58.33333333%}.ant-col-xxl-pull-14{right:58.33333333%}.ant-col-xxl-offset-14{margin-left:58.33333333%}.ant-col-xxl-order-14{order:14}.ant-col-xxl-13{display:block;flex:0 0 54.16666667%;max-width:54.16666667%}.ant-col-xxl-push-13{left:54.16666667%}.ant-col-xxl-pull-13{right:54.16666667%}.ant-col-xxl-offset-13{margin-left:54.16666667%}.ant-col-xxl-order-13{order:13}.ant-col-xxl-12{display:block;flex:0 0 50%;max-width:50%}.ant-col-xxl-push-12{left:50%}.ant-col-xxl-pull-12{right:50%}.ant-col-xxl-offset-12{margin-left:50%}.ant-col-xxl-order-12{order:12}.ant-col-xxl-11{display:block;flex:0 0 45.83333333%;max-width:45.83333333%}.ant-col-xxl-push-11{left:45.83333333%}.ant-col-xxl-pull-11{right:45.83333333%}.ant-col-xxl-offset-11{margin-left:45.83333333%}.ant-col-xxl-order-11{order:11}.ant-col-xxl-10{display:block;flex:0 0 41.66666667%;max-width:41.66666667%}.ant-col-xxl-push-10{left:41.66666667%}.ant-col-xxl-pull-10{right:41.66666667%}.ant-col-xxl-offset-10{margin-left:41.66666667%}.ant-col-xxl-order-10{order:10}.ant-col-xxl-9{display:block;flex:0 0 37.5%;max-width:37.5%}.ant-col-xxl-push-9{left:37.5%}.ant-col-xxl-pull-9{right:37.5%}.ant-col-xxl-offset-9{margin-left:37.5%}.ant-col-xxl-order-9{order:9}.ant-col-xxl-8{display:block;flex:0 0 33.33333333%;max-width:33.33333333%}.ant-col-xxl-push-8{left:33.33333333%}.ant-col-xxl-pull-8{right:33.33333333%}.ant-col-xxl-offset-8{margin-left:33.33333333%}.ant-col-xxl-order-8{order:8}.ant-col-xxl-7{display:block;flex:0 0 29.16666667%;max-width:29.16666667%}.ant-col-xxl-push-7{left:29.16666667%}.ant-col-xxl-pull-7{right:29.16666667%}.ant-col-xxl-offset-7{margin-left:29.16666667%}.ant-col-xxl-order-7{order:7}.ant-col-xxl-6{display:block;flex:0 0 25%;max-width:25%}.ant-col-xxl-push-6{left:25%}.ant-col-xxl-pull-6{right:25%}.ant-col-xxl-offset-6{margin-left:25%}.ant-col-xxl-order-6{order:6}.ant-col-xxl-5{display:block;flex:0 0 20.83333333%;max-width:20.83333333%}.ant-col-xxl-push-5{left:20.83333333%}.ant-col-xxl-pull-5{right:20.83333333%}.ant-col-xxl-offset-5{margin-left:20.83333333%}.ant-col-xxl-order-5{order:5}.ant-col-xxl-4{display:block;flex:0 0 16.66666667%;max-width:16.66666667%}.ant-col-xxl-push-4{left:16.66666667%}.ant-col-xxl-pull-4{right:16.66666667%}.ant-col-xxl-offset-4{margin-left:16.66666667%}.ant-col-xxl-order-4{order:4}.ant-col-xxl-3{display:block;flex:0 0 12.5%;max-width:12.5%}.ant-col-xxl-push-3{left:12.5%}.ant-col-xxl-pull-3{right:12.5%}.ant-col-xxl-offset-3{margin-left:12.5%}.ant-col-xxl-order-3{order:3}.ant-col-xxl-2{display:block;flex:0 0 8.33333333%;max-width:8.33333333%}.ant-col-xxl-push-2{left:8.33333333%}.ant-col-xxl-pull-2{right:8.33333333%}.ant-col-xxl-offset-2{margin-left:8.33333333%}.ant-col-xxl-order-2{order:2}.ant-col-xxl-1{display:block;flex:0 0 4.16666667%;max-width:4.16666667%}.ant-col-xxl-push-1{left:4.16666667%}.ant-col-pull-0.ant-col-rtl,.ant-col-push-0,.ant-col-xxl-pull-0.ant-col-rtl,.ant-col-xxl-push-0,.ant-col-xxl-push-1.ant-col-rtl{left:auto}.ant-col-xxl-pull-1{right:4.16666667%}.ant-col-pull-0,.ant-col-push-0.ant-col-rtl,.ant-col-xxl-pull-0,.ant-col-xxl-push-0.ant-col-rtl{right:auto}.ant-col-xxl-offset-1{margin-left:4.16666667%}.ant-col-xxl-order-1{order:1}.ant-col-xxl-0{display:none}.ant-col-xxl-offset-0{margin-left:0}.ant-col-xxl-order-0{order:0}.ant-col-xxl-offset-0.ant-col-rtl{margin-right:0}.ant-col-xxl-push-1.ant-col-rtl{right:4.16666667%}.ant-col-xxl-pull-1.ant-col-rtl{right:auto;left:4.16666667%}.ant-col-xxl-offset-1.ant-col-rtl{margin-right:4.16666667%;margin-left:0}.ant-col-xxl-push-2.ant-col-rtl{right:8.33333333%;left:auto}.ant-col-xxl-pull-2.ant-col-rtl{right:auto;left:8.33333333%}.ant-col-xxl-offset-2.ant-col-rtl{margin-right:8.33333333%;margin-left:0}.ant-col-xxl-push-3.ant-col-rtl{right:12.5%;left:auto}.ant-col-xxl-pull-3.ant-col-rtl{right:auto;left:12.5%}.ant-col-xxl-offset-3.ant-col-rtl{margin-right:12.5%;margin-left:0}.ant-col-xxl-push-4.ant-col-rtl{right:16.66666667%;left:auto}.ant-col-xxl-pull-4.ant-col-rtl{right:auto;left:16.66666667%}.ant-col-xxl-offset-4.ant-col-rtl{margin-right:16.66666667%;margin-left:0}.ant-col-xxl-push-5.ant-col-rtl{right:20.83333333%;left:auto}.ant-col-xxl-pull-5.ant-col-rtl{right:auto;left:20.83333333%}.ant-col-xxl-offset-5.ant-col-rtl{margin-right:20.83333333%;margin-left:0}.ant-col-xxl-push-6.ant-col-rtl{right:25%;left:auto}.ant-col-xxl-pull-6.ant-col-rtl{right:auto;left:25%}.ant-col-xxl-offset-6.ant-col-rtl{margin-right:25%;margin-left:0}.ant-col-xxl-push-7.ant-col-rtl{right:29.16666667%;left:auto}.ant-col-xxl-pull-7.ant-col-rtl{right:auto;left:29.16666667%}.ant-col-xxl-offset-7.ant-col-rtl{margin-right:29.16666667%;margin-left:0}.ant-col-xxl-push-8.ant-col-rtl{right:33.33333333%;left:auto}.ant-col-xxl-pull-8.ant-col-rtl{right:auto;left:33.33333333%}.ant-col-xxl-offset-8.ant-col-rtl{margin-right:33.33333333%;margin-left:0}.ant-col-xxl-push-9.ant-col-rtl{right:37.5%;left:auto}.ant-col-xxl-pull-9.ant-col-rtl{right:auto;left:37.5%}.ant-col-xxl-offset-9.ant-col-rtl{margin-right:37.5%;margin-left:0}.ant-col-xxl-push-10.ant-col-rtl{right:41.66666667%;left:auto}.ant-col-xxl-pull-10.ant-col-rtl{right:auto;left:41.66666667%}.ant-col-xxl-offset-10.ant-col-rtl{margin-right:41.66666667%;margin-left:0}.ant-col-xxl-push-11.ant-col-rtl{right:45.83333333%;left:auto}.ant-col-xxl-pull-11.ant-col-rtl{right:auto;left:45.83333333%}.ant-col-xxl-offset-11.ant-col-rtl{margin-right:45.83333333%;margin-left:0}.ant-col-xxl-push-12.ant-col-rtl{right:50%;left:auto}.ant-col-xxl-pull-12.ant-col-rtl{right:auto;left:50%}.ant-col-xxl-offset-12.ant-col-rtl{margin-right:50%;margin-left:0}.ant-col-xxl-push-13.ant-col-rtl{right:54.16666667%;left:auto}.ant-col-xxl-pull-13.ant-col-rtl{right:auto;left:54.16666667%}.ant-col-xxl-offset-13.ant-col-rtl{margin-right:54.16666667%;margin-left:0}.ant-col-xxl-push-14.ant-col-rtl{right:58.33333333%;left:auto}.ant-col-xxl-pull-14.ant-col-rtl{right:auto;left:58.33333333%}.ant-col-xxl-offset-14.ant-col-rtl{margin-right:58.33333333%;margin-left:0}.ant-col-xxl-push-15.ant-col-rtl{right:62.5%;left:auto}.ant-col-xxl-pull-15.ant-col-rtl{right:auto;left:62.5%}.ant-col-xxl-offset-15.ant-col-rtl{margin-right:62.5%;margin-left:0}.ant-col-xxl-push-16.ant-col-rtl{right:66.66666667%;left:auto}.ant-col-xxl-pull-16.ant-col-rtl{right:auto;left:66.66666667%}.ant-col-xxl-offset-16.ant-col-rtl{margin-right:66.66666667%;margin-left:0}.ant-col-xxl-push-17.ant-col-rtl{right:70.83333333%;left:auto}.ant-col-xxl-pull-17.ant-col-rtl{right:auto;left:70.83333333%}.ant-col-xxl-offset-17.ant-col-rtl{margin-right:70.83333333%;margin-left:0}.ant-col-xxl-push-18.ant-col-rtl{right:75%;left:auto}.ant-col-xxl-pull-18.ant-col-rtl{right:auto;left:75%}.ant-col-xxl-offset-18.ant-col-rtl{margin-right:75%;margin-left:0}.ant-col-xxl-push-19.ant-col-rtl{right:79.16666667%;left:auto}.ant-col-xxl-pull-19.ant-col-rtl{right:auto;left:79.16666667%}.ant-col-xxl-offset-19.ant-col-rtl{margin-right:79.16666667%;margin-left:0}.ant-col-xxl-push-20.ant-col-rtl{right:83.33333333%;left:auto}.ant-col-xxl-pull-20.ant-col-rtl{right:auto;left:83.33333333%}.ant-col-xxl-offset-20.ant-col-rtl{margin-right:83.33333333%;margin-left:0}.ant-col-xxl-push-21.ant-col-rtl{right:87.5%;left:auto}.ant-col-xxl-pull-21.ant-col-rtl{right:auto;left:87.5%}.ant-col-xxl-offset-21.ant-col-rtl{margin-right:87.5%;margin-left:0}.ant-col-xxl-push-22.ant-col-rtl{right:91.66666667%;left:auto}.ant-col-xxl-pull-22.ant-col-rtl{right:auto;left:91.66666667%}.ant-col-xxl-offset-22.ant-col-rtl{margin-right:91.66666667%;margin-left:0}.ant-col-xxl-push-23.ant-col-rtl{right:95.83333333%;left:auto}.ant-col-xxl-pull-23.ant-col-rtl{right:auto;left:95.83333333%}.ant-col-xxl-offset-23.ant-col-rtl{margin-right:95.83333333%;margin-left:0}.ant-col-xxl-push-24.ant-col-rtl{right:100%;left:auto}.ant-col-xxl-pull-24.ant-col-rtl{right:auto;left:100%}.ant-col-xxl-offset-24.ant-col-rtl{margin-right:100%;margin-left:0}}.ant-input-affix-wrapper{position:relative;width:100%;min-width:0;padding:4px 11px;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5715;background-color:transparent;background-image:none;border:1px solid #434343;border-radius:2px;transition:all .3s;display:inline-flex}.ant-input-affix-wrapper-disabled,.ant-input-affix-wrapper[disabled]{background-color:rgba(255,255,255,.08);cursor:not-allowed;opacity:1;pointer-events:none;color:rgba(255,255,255,.3)}.ant-input-affix-wrapper::-moz-placeholder{opacity:1}.ant-input-affix-wrapper::placeholder{color:rgba(255,255,255,.3)}.ant-input-affix-wrapper:placeholder-shown{text-overflow:ellipsis}.ant-input-affix-wrapper:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-input-affix-wrapper:hover{border-right-width:0;border-left-width:1px!important}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-input-affix-wrapper-focused,.ant-input-rtl .ant-input-affix-wrapper:focus{border-right-width:0;border-left-width:1px!important}.ant-input-affix-wrapper-disabled:hover,.ant-input-affix-wrapper[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-input-affix-wrapper-borderless,.ant-input-affix-wrapper-borderless-disabled,.ant-input-affix-wrapper-borderless-focused,.ant-input-affix-wrapper-borderless:focus,.ant-input-affix-wrapper-borderless:hover,.ant-input-affix-wrapper-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input-affix-wrapper{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-affix-wrapper-lg{padding:6.5px 11px;font-size:16px}.ant-input-affix-wrapper-sm{padding:0 7px}.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:#165996;border-right-width:1px!important;z-index:1}.ant-input-rtl .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-right-width:0;border-left-width:1px!important}.ant-input-search-with-button .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{z-index:0}.ant-input-affix-wrapper-focused,.ant-input-affix-wrapper:focus{z-index:1}.ant-input-affix-wrapper-disabled .ant-input[disabled]{background:0 0}.ant-input,.ant-input-number{min-width:0;background-image:none}.ant-input-affix-wrapper>input.ant-input{padding:0;border:none;outline:0}.ant-input-affix-wrapper>input.ant-input:focus{box-shadow:none}.ant-input-affix-wrapper::before{width:0;visibility:hidden;content:'\a0'}.ant-input-prefix,.ant-input-suffix{display:flex;flex:none;align-items:center}.ant-input-prefix{margin-right:4px}.ant-input-suffix{margin-left:4px}.ant-input-clear-icon{margin:0 4px;color:rgba(255,255,255,.3);font-size:12px;vertical-align:-1px;cursor:pointer;transition:color .3s}.ant-input-clear-icon:hover{color:rgba(255,255,255,.45)}.ant-input,.ant-input-clear-icon:active{color:rgba(255,255,255,.85)}.ant-input-clear-icon-hidden{visibility:hidden}.ant-input-clear-icon:last-child{margin-right:0}.ant-input-affix-wrapper-textarea-with-clear-btn{padding:0!important;border:0!important}.ant-input-affix-wrapper-textarea-with-clear-btn .ant-input-clear-icon{position:absolute;top:8px;right:8px;z-index:1}.ant-input,.ant-input-group{box-sizing:border-box;position:relative;line-height:1.5715;list-style:none;font-feature-settings:tnum;font-variant:tabular-nums}.ant-input{margin:0;display:inline-block;width:100%;padding:4px 11px;font-size:14px;background-color:transparent;border:1px solid #434343;border-radius:2px;transition:all .3s}.ant-input-disabled,.ant-input[disabled]{cursor:not-allowed;color:rgba(255,255,255,.3)}.ant-input-disabled,.ant-input-number[disabled],.ant-input[disabled]{background-color:rgba(255,255,255,.08);opacity:1;pointer-events:none}.ant-input::-moz-placeholder{opacity:1}.ant-input::placeholder{color:rgba(255,255,255,.3)}.ant-input:placeholder-shown{text-overflow:ellipsis}.ant-input:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-input:hover{border-right-width:0;border-left-width:1px!important}.ant-input-focused,.ant-input:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-input-focused,.ant-input-rtl .ant-input:focus{border-right-width:0;border-left-width:1px!important}.ant-input-disabled:hover,.ant-input[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-input-borderless,.ant-input-borderless-disabled,.ant-input-borderless-focused,.ant-input-borderless:focus,.ant-input-borderless:hover,.ant-input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-lg{padding:6.5px 11px;font-size:16px}.ant-input-group,.ant-input-group-addon{color:rgba(255,255,255,.85);font-size:14px}.ant-input-sm{padding:0 7px}.ant-input-group{margin:0;padding:0;display:table;width:100%;border-collapse:separate;border-spacing:0}.ant-input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.ant-input-group>[class*=col-]{padding-right:8px}.ant-input-group>[class*=col-]:last-child{padding-right:0}.ant-input-group-addon,.ant-input-group-wrap,.ant-input-group>.ant-input{display:table-cell}.ant-input-group-addon:not(:first-child):not(:last-child),.ant-input-group-wrap:not(:first-child):not(:last-child),.ant-input-group>.ant-input:not(:first-child):not(:last-child){border-radius:0}.ant-input-group-addon,.ant-input-group-wrap{width:1px;white-space:nowrap;vertical-align:middle}.ant-input-group-wrap>*{display:block!important}.ant-input-group .ant-input{float:left;width:100%;margin-bottom:0;text-align:inherit}.ant-input-group .ant-input:focus,.ant-input-group .ant-input:hover{z-index:1;border-right-width:1px}.ant-input-group-addon,.ant-input-number{transition:all .3s;border:1px solid #434343;position:relative}.ant-input-search-with-button .ant-input-group .ant-input:hover{z-index:0}.ant-input-group-addon{padding:0 11px;font-weight:400;text-align:center;background-color:rgba(255,255,255,.04);border-radius:2px}.ant-input-group-addon .ant-select{margin:-5px -11px}.ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:1px solid transparent;box-shadow:none}.ant-input-group .ant-input-affix-wrapper:not(:first-child),.ant-input-group-addon:last-child,.ant-input-group-addon:last-child .ant-select .ant-select-selector,.ant-input-group>.ant-input-affix-wrapper:not(:first-child) .ant-input,.ant-input-group>.ant-input:last-child,.ant-input-group>.ant-input:last-child .ant-select .ant-select-selector{border-top-left-radius:0;border-bottom-left-radius:0}.ant-input-group .ant-input-affix-wrapper:not(:last-child),.ant-input-group-addon:first-child,.ant-input-group-addon:first-child .ant-select .ant-select-selector,.ant-input-group>.ant-input-affix-wrapper:not(:last-child) .ant-input,.ant-input-group>.ant-input:first-child,.ant-input-group>.ant-input:first-child .ant-select .ant-select-selector{border-top-right-radius:0;border-bottom-right-radius:0}.ant-input-group-addon .ant-select-focused .ant-select-selector,.ant-input-group-addon .ant-select-open .ant-select-selector{color:#177ddc}.ant-input-group-addon:first-child{border-right:0}.ant-input-group-addon:last-child{border-left:0}.ant-input-group-lg .ant-input,.ant-input-group-lg>.ant-input-group-addon{padding:6.5px 11px;font-size:16px}.ant-input-group-sm .ant-input,.ant-input-group-sm>.ant-input-group-addon{padding:0 7px}.ant-input-group-lg .ant-select-single .ant-select-selector{height:40px}.ant-input-group-sm .ant-select-single .ant-select-selector{height:24px}.ant-input-search-button,.ant-input[type=color]{height:32px}.ant-input-search .ant-input-group .ant-input-affix-wrapper:not(:last-child){border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-group.ant-input-group-compact{display:block}.ant-input-group.ant-input-group-compact::after,.ant-input-group.ant-input-group-compact::before{display:table;content:''}.ant-input-group.ant-input-group-compact::after{clear:both}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child),.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child){border-right-width:1px}.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover,.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child):focus,.ant-input-group.ant-input-group-compact>.ant-input:not(:first-child):not(:last-child):hover{z-index:1}.ant-input-group.ant-input-group-compact>*{display:inline-block;float:none;vertical-align:top;border-radius:0}.ant-input-group.ant-input-group-compact>.ant-input-affix-wrapper,.ant-input-group.ant-input-group-compact>.ant-picker-range{display:inline-flex}.ant-input-group.ant-input-group-compact>:not(:last-child){margin-right:-1px;border-right-width:1px}.ant-input-group.ant-input-group-compact .ant-input{float:none}.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector{border-right-width:1px;border-radius:0}.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:focus,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:hover,.ant-input-group.ant-input-group-compact>.ant-select-focused,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-arrow,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:focus,.ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:hover{z-index:1}.ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-group.ant-input-group-compact>:last-child{border-right-width:1px;border-top-right-radius:2px;border-bottom-right-radius:2px}.ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input{vertical-align:top}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper{margin-left:-1px}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper .ant-input-affix-wrapper,.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input-group-addon>.ant-input-search-button{border-radius:0}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-radius:2px 0 0 2px}.ant-input-group-rtl .ant-input-group-addon:first-child,.ant-input-group>.ant-input-rtl:first-child{border-radius:0 2px 2px 0}.ant-input-group-rtl .ant-input-group-addon:first-child{border-right:1px solid #434343;border-left:0}.ant-input-group-rtl .ant-input-group-addon:last-child{border-right:0;border-left:1px solid #434343}.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:first-child),.ant-input-group-rtl.ant-input-group-addon:last-child,.ant-input-group-rtl.ant-input-group>.ant-input:last-child{border-radius:2px 0 0 2px}.ant-input-group-rtl.ant-input-group .ant-input-affix-wrapper:not(:last-child),.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:first-child{border-radius:0 2px 2px 0}.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:not(:last-child){margin-right:0;margin-left:-1px;border-left-width:1px}.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select-auto-complete:last-child .ant-input,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,.ant-input-group-rtl.ant-input-group.ant-input-group-compact>:last-child{border-left-width:1px;border-radius:2px 0 0 2px}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl+.ant-input-group-wrapper-rtl{margin-right:-1px;margin-left:0}.ant-input-group.ant-input-group-compact .ant-input-group-wrapper-rtl:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-radius:0 2px 2px 0}.ant-input-group-wrapper{display:inline-block;width:100%;text-align:start;vertical-align:top}.ant-input-password-icon{color:rgba(255,255,255,.45);cursor:pointer;transition:all .3s}.ant-input-password-icon:hover{color:rgba(255,255,255,.85)}.ant-input[type=color].ant-input-lg{height:40px}.ant-input[type=color].ant-input-sm{height:24px;padding-top:3px;padding-bottom:3px}.ant-input-textarea-show-count::after{float:right;color:rgba(255,255,255,.45);white-space:nowrap;content:attr(data-count);pointer-events:none}.ant-input-search .ant-input:focus,.ant-input-search .ant-input:hover{border-color:#165996}.ant-input-search .ant-input:focus+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),.ant-input-search .ant-input:hover+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-left-color:#165996}.ant-input-search .ant-input-affix-wrapper{border-radius:0}.ant-input-search .ant-input-lg{line-height:1.5713}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child{left:-1px;padding:0;border:0}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button{padding-top:0;padding-bottom:0;border-radius:0 2px 2px 0}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary){color:rgba(255,255,255,.45)}.ant-input-search>.ant-input-group>.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading::before{top:0;right:0;bottom:0;left:0}.ant-input-search-button:focus,.ant-input-search-button:hover{z-index:1}.ant-input-search-large .ant-input-search-button{height:40px}.ant-input-search-small .ant-input-search-button{height:24px}.ant-input-affix-wrapper.ant-input-affix-wrapper-rtl>input.ant-input{border:none;outline:0}.ant-input-affix-wrapper-rtl .ant-input-prefix{margin:0 0 0 4px}.ant-input-affix-wrapper-rtl .ant-input-suffix{margin:0 4px 0 0}.ant-input-textarea-rtl.ant-input-textarea-show-count::after{text-align:left}.ant-input-affix-wrapper-rtl .ant-input-clear-icon:last-child{margin-right:4px;margin-left:0}.ant-input-affix-wrapper-rtl .ant-input-clear-icon{right:auto;left:8px}.ant-input-search-rtl .ant-input:focus+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),.ant-input-search-rtl .ant-input:hover+.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-right-color:#165996;border-left-color:#434343}.ant-input-search-rtl>.ant-input-group>.ant-input-affix-wrapper-focused,.ant-input-search-rtl>.ant-input-group>.ant-input-affix-wrapper:hover{border-right-color:#165996}.ant-input-search-rtl>.ant-input-group>.ant-input-group-addon{right:-1px;left:auto}.ant-input-search-rtl>.ant-input-group>.ant-input-group-addon .ant-input-search-button{border-radius:2px 0 0 2px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ant-input{height:32px}.ant-input-lg{height:40px}.ant-input-sm{height:24px}.ant-input-affix-wrapper>input.ant-input{height:auto}}textarea.nz-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}.ant-form,.ant-form input[type=search],.ant-form-item,.ant-input-number,.ant-layout,.ant-layout *,.ant-list,.ant-mention-wrapper,.ant-menu{box-sizing:border-box}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only{width:32px;height:32px}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-sm{width:24px;height:24px}.ant-input-search-rtl.ant-input-search-enter-button input+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg,.ant-input-search-rtl.ant-input-search-enter-button+.ant-input-group-addon .ant-input-search-button.ant-btn-icon-only.ant-btn-lg{width:40px;height:40px}.ant-input-number{font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5715;background-color:transparent;display:inline-block;width:90px;margin:0;padding:0;border-radius:2px}.ant-input-number::-moz-placeholder{opacity:1}.ant-input-number::placeholder{color:rgba(255,255,255,.3)}.ant-input-number:placeholder-shown{text-overflow:ellipsis}.ant-input-rtl .ant-input-number:hover{border-right-width:0;border-left-width:1px!important}.ant-input-number-focused,.ant-input-number:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-input-number-focused,.ant-input-rtl .ant-input-number:focus{border-right-width:0;border-left-width:1px!important}.ant-input-number[disabled]{cursor:not-allowed;color:rgba(255,255,255,.3)}.ant-input-number[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-input-number-borderless,.ant-input-number-borderless-disabled,.ant-input-number-borderless-focused,.ant-input-number-borderless:focus,.ant-input-number-borderless:hover,.ant-input-number-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-input-number{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-input-number-handler{position:relative;display:block;width:100%;height:50%;overflow:hidden;color:rgba(255,255,255,.45);font-weight:700;line-height:0;text-align:center;transition:all .1s linear}.ant-input-number-handler:active{background:rgba(255,255,255,.08)}.ant-input-number-handler:hover .ant-input-number-handler-down-inner,.ant-input-number-handler:hover .ant-input-number-handler-up-inner{color:#165996}.ant-input-number-handler-down-inner,.ant-input-number-handler-up-inner{display:inline-block;color:inherit;text-transform:none;vertical-align:-.125em;position:absolute;right:4px;width:12px;height:12px;color:rgba(255,255,255,.45);line-height:12px;transition:all .1s linear;user-select:none}.ant-input-number-handler-down-inner>*,.ant-input-number-handler-up-inner>*{line-height:1}.ant-input-number-handler-down-inner svg,.ant-input-number-handler-up-inner svg{display:inline-block}.ant-input-number-handler-down-inner::before,.ant-input-number-handler-up-inner::before{display:none}.ant-input-number-handler-down-inner .ant-input-number-handler-down-inner-icon,.ant-input-number-handler-down-inner .ant-input-number-handler-up-inner-icon,.ant-input-number-handler-up-inner .ant-input-number-handler-down-inner-icon,.ant-input-number-handler-up-inner .ant-input-number-handler-up-inner-icon,nz-content,nz-footer,nz-header{display:block}.ant-input-number:hover{border-color:#165996;border-right-width:1px!important}.ant-input-number:hover+.ant-form-item-children-icon{opacity:0;transition:opacity .24s linear .24s}.ant-input-number-focused{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-input-number-focused{border-right-width:0;border-left-width:1px!important}.ant-input-number-disabled{background-color:rgba(255,255,255,.08);cursor:not-allowed;opacity:1;color:rgba(255,255,255,.3);pointer-events:none}.ant-input-number-disabled:hover{border-color:#434343;border-right-width:1px!important}.ant-input-number-disabled .ant-input-number-input{cursor:not-allowed}.ant-input-number-disabled .ant-input-number-handler-wrap,.ant-input-number-readonly .ant-input-number-handler-wrap{display:none}.ant-input-number-input{width:100%;height:30px;padding:0 11px;text-align:left;background-color:transparent;border:0;border-radius:2px;outline:0;transition:all .3s linear;-moz-appearance:textfield!important}.ant-input-number-input::-moz-placeholder{opacity:1}.ant-input-number-input::placeholder{color:rgba(255,255,255,.3)}.ant-input-number-input:placeholder-shown{text-overflow:ellipsis}.ant-input-number-input[type=number]::-webkit-inner-spin-button,.ant-input-number-input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.ant-input-number-lg{padding:0;font-size:16px}.ant-input-number-lg input{height:38px}.ant-input-number-sm{padding:0}.ant-input-number-sm input{height:22px;padding:0 7px}.ant-input-number-handler-wrap{position:absolute;top:0;right:0;width:22px;height:100%;background:#141414;border-left:1px solid #434343;border-radius:0 2px 2px 0;opacity:0;transition:opacity .24s linear .1s}.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-down-inner,.ant-input-number-handler-wrap .ant-input-number-handler .ant-input-number-handler-up-inner{min-width:auto;margin-right:0;font-size:7px}.ant-input-number-borderless .ant-input-number-handler-wrap{border-left-width:0}.ant-input-number-handler-wrap:hover .ant-input-number-handler{height:40%}.ant-input-number-handler-down:hover,.ant-input-number-handler-up:hover{height:60%!important}.ant-input-number:hover .ant-input-number-handler-wrap{opacity:1}.ant-input-number-handler-up{border-top-right-radius:2px;cursor:pointer}.ant-input-number-handler-up-inner{top:50%;margin-top:-5px;text-align:center}.ant-input-number-handler-down{top:0;border-top:1px solid #434343;border-bottom-right-radius:2px;cursor:pointer}.ant-input-number-handler-down-inner{top:50%;text-align:center;transform:translateY(-50%)}.ant-input-number-borderless .ant-input-number-handler-down{border-top-width:0}.ant-input-number-handler-down-disabled,.ant-input-number-handler-up-disabled{cursor:not-allowed}.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner,.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner{color:rgba(255,255,255,.3)}.ant-input-number-borderless{box-shadow:none}.ant-input-number-out-of-range input{color:#a61d24}.ant-input-number-rtl .ant-input-number-handler-wrap{right:auto;left:0;border-right:1px solid #434343;border-left:0;border-radius:2px 0 0 2px}.ant-input-number-rtl.ant-input-number-borderless .ant-input-number-handler-wrap{border-right-width:0}.ant-input-number-rtl .ant-input-number-input{direction:ltr;text-align:right}.ant-form-rtl,.ant-layout-rtl,.ant-list-rtl,.ant-list-rtl .ReactVirtualized__List .ant-list-item,.ant-mention-wrapper .ant-mention-editor-rtl,.ant-menu.ant-menu-rtl,.ant-message-rtl,.ant-message-rtl span,.ant-modal-wrap-rtl,.ant-modal-wrap-rtl .ant-modal-confirm-body,.ant-notification-rtl,.ant-page-header-rtl,.ant-pagination-options-quick-jumper input-rtl,.ant-popover-rtl,.ant-progress-rtl,.ant-radio-group.ant-radio-group-rtl,.ant-radio-wrapper.ant-radio-wrapper-rtl,.ant-rate-rtl,.ant-select-dropdown-rtl,.ant-select-rtl,.ant-skeleton-rtl,.ant-slider-rtl,.ant-spin-rtl{direction:rtl}.ant-layout{display:flex;flex:auto;flex-direction:column;min-height:0;background:#000}.ant-layout.ant-layout-has-sider{flex-direction:row}.ant-layout.ant-layout-has-sider>.ant-layout,.ant-layout.ant-layout-has-sider>.ant-layout-content{width:0}.ant-layout-footer,.ant-layout-header{flex:0 0 auto}.ant-layout-header{height:64px;padding:0 50px;color:rgba(255,255,255,.85);line-height:64px;background:#1f1f1f}.ant-layout-footer{padding:24px 50px;color:rgba(255,255,255,.85);font-size:14px;background:#000}.ant-layout-content{flex:auto;min-height:0}.ant-layout-sider{position:relative;min-width:0;background:#1f1f1f;transition:all .2s}.ant-layout-sider-children{height:100%;margin-top:-.1px;padding-top:.1px}.ant-layout-sider-children .ant-menu.ant-menu-inline-collapsed{width:auto}.ant-layout-sider-has-trigger{padding-bottom:48px}.ant-layout-sider-trigger{position:fixed;bottom:0;z-index:1;height:48px;color:#fff;line-height:48px;text-align:center;background:#262626;cursor:pointer;transition:all .2s}.ant-layout-sider-zero-width>*{overflow:hidden}.ant-layout-sider-zero-width-trigger{position:absolute;top:64px;right:-36px;z-index:1;width:36px;height:42px;color:#fff;font-size:18px;line-height:42px;text-align:center;background:#1f1f1f;border-radius:0 2px 2px 0;cursor:pointer;transition:background .3s ease}.ant-layout-sider-zero-width-trigger::after{position:absolute;top:0;right:0;bottom:0;left:0;background:0 0;transition:all .3s;content:''}.ant-layout-sider-zero-width-trigger:hover::after{background:rgba(255,255,255,.1)}.ant-layout-sider-zero-width-trigger-right{left:-36px;border-radius:2px 0 0 2px}.ant-layout-sider-light{background:#fff}.ant-layout-sider-light .ant-layout-sider-trigger,.ant-layout-sider-light .ant-layout-sider-zero-width-trigger{color:rgba(255,255,255,.85);background:#fff}.ant-form-item .ant-mentions,.ant-form-item textarea.ant-input{height:auto}.ant-form-item .ant-upload{background:0 0}.ant-form-item .ant-upload.ant-upload-drag{background:rgba(255,255,255,.04)}.ant-form-item input[type=radio],.ant-form-item input[type=checkbox]{width:14px;height:14px}.ant-form-item .ant-checkbox-inline,.ant-form-item .ant-radio-inline{display:inline-block;margin-left:8px;font-weight:400;vertical-align:middle;cursor:pointer}.ant-form-item .ant-checkbox-inline:first-child,.ant-form-item .ant-checkbox-vertical+.ant-checkbox-vertical,.ant-form-item .ant-radio-inline:first-child,.ant-form-item .ant-radio-vertical+.ant-radio-vertical{margin-left:0}.ant-form-item .ant-checkbox-vertical,.ant-form-item .ant-radio-vertical{display:block}.ant-form-item .ant-input-number+.ant-form-text{margin-left:8px}.ant-form-item .ant-input-number-handler-wrap{z-index:2}.ant-form-item .ant-cascader-picker,.ant-form-item .ant-select{width:100%}.ant-form-item .ant-input-group .ant-cascader-picker,.ant-form-item .ant-input-group .ant-select,.ant-form-item .ant-picker-calendar-month-select,.ant-form-item .ant-picker-calendar-year-select{width:auto}.ant-form-inline{display:flex;flex-wrap:wrap}.ant-form-inline .ant-form-item{flex:none;flex-wrap:nowrap;margin-right:16px;margin-bottom:0}.ant-form-inline .ant-form-item-with-help{margin-bottom:24px}.ant-form-inline .ant-form-item>.ant-form-item-control,.ant-form-inline .ant-form-item>.ant-form-item-label{display:inline-block;vertical-align:top}.ant-form-inline .ant-form-item>.ant-form-item-label{flex:none}.ant-form-inline .ant-form-item .ant-form-item-has-feedback,.ant-form-inline .ant-form-item .ant-form-text{display:inline-block}.ant-form-horizontal .ant-form-item-label{flex-grow:0}.ant-form-horizontal .ant-form-item-control{flex:1 1 0}.ant-form-vertical .ant-form-item{flex-direction:column}.ant-form-vertical .ant-form-item-label>label{height:auto}.ant-col-24.ant-form-item-label,.ant-col-xl-24.ant-form-item-label,.ant-form-vertical .ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-24.ant-form-item-label>label,.ant-col-xl-24.ant-form-item-label>label,.ant-form-vertical .ant-form-item-label>label{margin:0}.ant-col-24.ant-form-item-label>label::after,.ant-col-xl-24.ant-form-item-label>label::after,.ant-form-vertical .ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-24.ant-form-item-label,.ant-form-rtl.ant-col-xl-24.ant-form-item-label,.ant-form-rtl.ant-form-vertical .ant-form-item-label{text-align:right}@media (max-width:575px){.ant-col-xs-24.ant-form-item-label>label,.ant-form-item .ant-form-item-label>label{margin:0}.ant-col-xs-24.ant-form-item-label>label::after,.ant-form-item .ant-form-item-label>label::after{display:none}.ant-form-item .ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-form-rtl.ant-form-item .ant-form-item-label{text-align:right}.ant-form .ant-form-item{flex-wrap:wrap}.ant-form .ant-form-item .ant-form-item-control,.ant-form .ant-form-item .ant-form-item-label{flex:0 0 100%;max-width:100%}.ant-col-xs-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-form-rtl.ant-col-xs-24.ant-form-item-label{text-align:right}}@media (max-width:767px){.ant-col-sm-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-sm-24.ant-form-item-label>label{margin:0}.ant-col-sm-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-sm-24.ant-form-item-label{text-align:right}}@media (max-width:991px){.ant-col-md-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-md-24.ant-form-item-label>label{margin:0}.ant-col-md-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-md-24.ant-form-item-label{text-align:right}}@media (max-width:1199px){.ant-col-lg-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-lg-24.ant-form-item-label>label{margin:0}.ant-col-lg-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-lg-24.ant-form-item-label{text-align:right}}@media (max-width:1599px){.ant-col-xl-24.ant-form-item-label{padding:0 0 8px;line-height:1.5715;white-space:initial;text-align:left}.ant-col-xl-24.ant-form-item-label>label{margin:0}.ant-col-xl-24.ant-form-item-label>label::after{display:none}.ant-form-rtl.ant-col-xl-24.ant-form-item-label{text-align:right}}.ant-form-item-explain.ant-form-item-explain-error{color:#a61d24}.ant-form-item-explain.ant-form-item-explain-warning{color:#d89614}.ant-form-item-has-feedback .ant-input{padding-right:24px}.ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix{padding-right:18px}.ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix{right:28px}.ant-form-item-has-feedback .ant-cascader-picker-clear,.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-arrow,.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-clear,.ant-form-item-has-feedback>.ant-select .ant-select-arrow,.ant-form-item-has-feedback>.ant-select .ant-select-clear{right:32px}.ant-form-item-has-feedback .ant-switch{margin:2px 0 4px}.ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-selection-selected-value,.ant-form-item-has-feedback>.ant-select .ant-select-selection-selected-value{padding-right:42px}.ant-form-item-has-feedback .ant-cascader-picker-arrow{margin-right:19px}.ant-form-item-has-feedback .ant-picker,.ant-form-item-has-feedback .ant-picker-large{padding-right:29.2px}.ant-form-item-has-feedback .ant-picker-small{padding-right:25.2px}.ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon,.ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon{position:absolute;top:50%;right:0;z-index:1;width:32px;height:20px;margin-top:-10px;font-size:14px;line-height:20px;text-align:center;visibility:visible;animation:zoomIn .3s cubic-bezier(.12,.4,.29,1.46);pointer-events:none}.ant-notification .notification-fade-effect,.ant-notification-fade-appear,.ant-notification-fade-enter,.ant-notification-fade-leave,.ant-show-help-appear,.ant-show-help-enter,.ant-show-help-leave{animation-timing-function:cubic-bezier(.645,.045,.355,1)}.ant-form-item-has-success.ant-form-item-has-feedback .ant-form-item-children-icon{color:#49aa19;animation-name:diffZoomIn1!important}.ant-form-item-has-warning .ant-form-item-split{color:#d89614}.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled),.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled),.ant-form-item-has-warning .ant-input:not(.ant-input-disabled):hover{background-color:transparent;border-color:#d89614}.ant-form-item-has-warning .ant-calendar-picker-open .ant-calendar-picker-input,.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused,.ant-form-item-has-warning .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled)-focused,.ant-form-item-has-warning .ant-input:not(.ant-input-disabled):focus{border-color:#d89614;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(216,150,20,.2)}.ant-form-item-has-warning .ant-input-prefix{color:#d89614}.ant-form-item-has-warning .ant-input-group-addon{color:#d89614;border-color:#d89614}.ant-form-item-has-warning .has-feedback{color:#d89614}.ant-form-item-has-warning.ant-form-item-has-feedback .ant-form-item-children-icon{color:#d89614;animation-name:diffZoomIn3!important}.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{background-color:transparent;border-color:#d89614!important}.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector,.ant-form-item-has-warning .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector{border-color:#d89614;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(216,150,20,.2)}.ant-form-item-has-warning .ant-input-number,.ant-form-item-has-warning .ant-picker{background-color:transparent;border-color:#d89614}.ant-form-item-has-warning .ant-input-number-focused,.ant-form-item-has-warning .ant-input-number:focus,.ant-form-item-has-warning .ant-picker-focused,.ant-form-item-has-warning .ant-picker:focus{border-color:#d89614;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(216,150,20,.2)}.ant-form-item-has-warning .ant-input-number:not([disabled]):hover,.ant-form-item-has-warning .ant-picker:not([disabled]):hover{background-color:transparent;border-color:#d89614}.ant-form-item-has-warning .ant-cascader-picker:focus .ant-cascader-input{border-color:#d89614;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(216,150,20,.2)}.ant-form-item-has-error .ant-form-item-split{color:#a61d24}.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled),.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover,.ant-form-item-has-error .ant-input:not(.ant-input-disabled),.ant-form-item-has-error .ant-input:not(.ant-input-disabled):hover{background-color:transparent;border-color:#a61d24}.ant-form-item-has-error .ant-calendar-picker-open .ant-calendar-picker-input,.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled)-focused,.ant-form-item-has-error .ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):focus,.ant-form-item-has-error .ant-input:not(.ant-input-disabled)-focused,.ant-form-item-has-error .ant-input:not(.ant-input-disabled):focus{border-color:#a61d24;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(166,29,36,.2)}.ant-form-item-has-error .ant-input-prefix{color:#a61d24}.ant-form-item-has-error .ant-input-group-addon{color:#a61d24;border-color:#a61d24}.ant-form-item-has-error .has-feedback{color:#a61d24}.ant-form-item-has-error.ant-form-item-has-feedback .ant-form-item-children-icon{color:#a61d24;animation-name:diffZoomIn2!important}.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input) .ant-select-selector{background-color:transparent;border-color:#a61d24!important}.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-focused .ant-select-selector,.ant-form-item-has-error .ant-select:not(.ant-select-disabled):not(.ant-select-customize-input).ant-select-open .ant-select-selector{border-color:#a61d24;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(166,29,36,.2)}.ant-form-item-has-error .ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:0;box-shadow:none}.ant-form-item-has-error .ant-cascader-picker:focus .ant-cascader-input,.ant-form-item-has-error .ant-input-number-focused,.ant-form-item-has-error .ant-input-number:focus,.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):focus,.ant-form-item-has-error .ant-mention-wrapper.ant-mention-active:not([disabled]) .ant-mention-editor,.ant-form-item-has-error .ant-picker-focused,.ant-form-item-has-error .ant-picker:focus{box-shadow:0 0 0 2px rgba(166,29,36,.2);border-color:#a61d24;border-right-width:1px!important;outline:0}.ant-form-item-has-error .ant-select.ant-select-auto-complete .ant-input:focus{border-color:#a61d24}.ant-form-item-has-error .ant-input-number,.ant-form-item-has-error .ant-picker{background-color:transparent;border-color:#a61d24}.ant-form-item-has-error .ant-input-number:not([disabled]):hover,.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor,.ant-form-item-has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):hover,.ant-form-item-has-error .ant-picker:not([disabled]):hover{background-color:transparent;border-color:#a61d24}.ant-form-item-has-error .ant-cascader-picker:hover .ant-cascader-picker-label:hover+.ant-cascader-input.ant-input{border-color:#a61d24}.ant-form-item-has-error .ant-cascader-picker:focus .ant-cascader-input{background-color:transparent}.ant-form-item-has-error .ant-transfer-list{border-color:#a61d24}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]){border-color:#434343}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):hover{border-right-width:0;border-left-width:1px!important}.ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-form-item-has-error .ant-transfer-list-search:not([disabled]):focus{border-right-width:0;border-left-width:1px!important}.ant-form-item-has-error .ant-radio-button-wrapper{border-color:#a61d24!important}.ant-form-item-has-error .ant-radio-button-wrapper:not(:first-child)::before{background-color:#a61d24}.ant-form-item-is-validating.ant-form-item-has-feedback .ant-form-item-children-icon{display:inline-block;color:#177ddc}.ant-form{margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum}.ant-form legend{display:block;width:100%;margin-bottom:20px;padding:0;color:rgba(255,255,255,.45);font-size:16px;line-height:inherit;border:0;border-bottom:1px solid #434343}.ant-form label{font-size:14px}.ant-form input[type=radio],.ant-form input[type=checkbox]{line-height:normal}.ant-form output,.ant-form-item{line-height:1.5715;color:rgba(255,255,255,.85);font-size:14px}.ant-form input[type=file]{display:block}.ant-form input[type=range]{display:block;width:100%}.ant-form select[multiple],.ant-form select[size]{height:auto}.ant-form input[type=radio]:focus,.ant-form input[type=checkbox]:focus,.ant-form input[type=file]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.ant-form output{display:block;padding-top:15px}.ant-form .ant-form-text{display:inline-block;padding-right:8px}.ant-form-small .ant-form-item-label>label{height:24px}.ant-form-small .ant-form-item-control-input{min-height:24px}.ant-form-large .ant-form-item-label>label{height:40px}.ant-form-large .ant-form-item-control-input{min-height:40px}.ant-form-item{margin:0 0 24px;padding:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;vertical-align:top}.ant-form-item-with-help{margin-bottom:0}.ant-form-item-hidden,.ant-form-item-hidden.ant-row{display:none}.ant-form-item-label{display:inline-block;flex-grow:0;overflow:hidden;white-space:nowrap;text-align:right;vertical-align:middle}.ant-form-item-label-left,.ant-form-rtl .ant-form-item-label{text-align:left}.ant-form-item-label>label{position:relative;display:inline-flex;align-items:center;height:32px;color:rgba(255,255,255,.85);font-size:14px}.ant-form-item-label>label>.anticon{font-size:14px;vertical-align:top}.ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{display:inline-block;margin-right:4px;color:#a61d24;font-size:14px;font-family:SimSun,sans-serif;line-height:1;content:'*'}.ant-form-hide-required-mark .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional)::before{display:none}.ant-form-item-label>label .ant-form-item-optional{display:inline-block;margin-left:4px;color:rgba(255,255,255,.45)}.ant-form-hide-required-mark .ant-form-item-label>label .ant-form-item-optional{display:none}.ant-form-item-label>label .ant-form-item-tooltip{color:rgba(255,255,255,.45);cursor:help;writing-mode:horizontal-tb;margin-inline-start:4px}.ant-form-item-label>label::after{content:':';position:relative;top:-.5px;margin:0 8px 0 2px}.ant-form-item-label>label.ant-form-item-no-colon::after,.ant-menu-submenu-popup::before{content:' '}.ant-form-item-control{display:flex;flex-direction:column;flex-grow:1}.ant-form-item-control:first-child:not([class^=ant-col-]):not([class*=' ant-col-']){width:100%}.ant-form-item-control-input{position:relative;display:flex;align-items:center;min-height:32px}.ant-form-item-control-input-content{flex:auto;max-width:100%}.ant-form-item-explain,.ant-form-item-extra{clear:both;min-height:24px;color:rgba(255,255,255,.45);font-size:14px;line-height:1.5715;transition:color .3s cubic-bezier(.215,.61,.355,1);padding-top:0}.ant-list,.ant-list-item,.ant-list-item-meta-content,.ant-list-item-meta-title,.ant-list-item-meta-title>a{color:rgba(255,255,255,.85)}.ant-form-item .ant-input-textarea-show-count::after{margin-bottom:-22px}.ant-show-help-appear,.ant-show-help-enter,.ant-show-help-leave{animation-duration:.3s;animation-fill-mode:both;animation-play-state:paused}.ant-show-help-appear.ant-show-help-appear-active,.ant-show-help-enter.ant-show-help-enter-active{animation-name:antShowHelpIn;animation-play-state:running}.ant-show-help-leave.ant-show-help-leave-active{animation-name:antShowHelpOut;animation-play-state:running;pointer-events:none}.ant-show-help-appear,.ant-show-help-enter{opacity:0}@keyframes antShowHelpIn{0%{transform:translateY(-5px);opacity:0}100%{transform:translateY(0);opacity:1}}@keyframes antShowHelpOut{to{transform:translateY(-5px);opacity:0}}@keyframes diffZoomIn1{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes diffZoomIn2{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes diffZoomIn3{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}.ant-form-rtl .ant-form-item-label>label.ant-form-item-required::before{margin-right:0;margin-left:4px}.ant-form-rtl .ant-form-item-label>label::after{margin:0 2px 0 8px}.ant-form-rtl .ant-form-item-label>label .ant-form-item-optional{margin-right:4px;margin-left:0}.ant-col-rtl .ant-form-item-control:first-child{width:100%}.ant-form-rtl .ant-form-item-has-feedback .ant-input{padding-right:11px;padding-left:24px}.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input-suffix{padding-right:11px;padding-left:18px}.ant-form-rtl .ant-form-item-has-feedback .ant-input-affix-wrapper .ant-input{padding:0}.ant-form-rtl .ant-form-item-has-feedback .ant-input-search:not(.ant-input-search-enter-button) .ant-input-suffix{right:auto;left:28px}.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-clear,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-arrow,.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-clear,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-arrow,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-clear{left:32px;right:auto}.ant-form-rtl .ant-form-item-has-feedback .ant-input-number{padding-left:18px}.ant-form-rtl .ant-form-item-has-feedback :not(.ant-input-group-addon)>.ant-select .ant-select-selection-selected-value,.ant-form-rtl .ant-form-item-has-feedback>.ant-select .ant-select-selection-selected-value{padding-right:0;padding-left:42px}.ant-form-rtl .ant-form-item-has-feedback .ant-cascader-picker-arrow{margin-right:0;margin-left:19px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker,.ant-form-rtl .ant-form-item-has-feedback .ant-picker-large{padding-right:11px;padding-left:29.2px}.ant-form-rtl .ant-form-item-has-feedback .ant-picker-small{padding-right:7px;padding-left:25.2px}.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-error .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-success .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-has-warning .ant-form-item-children-icon,.ant-form-rtl .ant-form-item-has-feedback.ant-form-item-is-validating .ant-form-item-children-icon{right:auto;left:0}.ant-form-rtl.ant-form-inline .ant-form-item{margin-right:0;margin-left:16px}.ant-list .ant-card{background:0 0}.ant-list{margin:0;padding:0;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:relative}.ant-list *{outline:0}.ant-list-pagination{margin-top:24px;text-align:right}.ant-list-pagination .ant-pagination-options{text-align:left}.ant-list-more{margin-top:12px;text-align:center}.ant-list-more button{padding-right:32px;padding-left:32px}.ant-list-spin{min-height:40px;text-align:center}.ant-list-empty-text{padding:16px;color:rgba(255,255,255,.3);font-size:14px;text-align:center}.ant-list-items{margin:0;padding:0;list-style:none}.ant-list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.ant-list-item-meta{display:flex;flex:1;align-items:flex-start;max-width:100%}.ant-list-item-meta-avatar{margin-right:16px}.ant-list-item-meta-content{flex:1 0;width:0}.ant-list-item-meta-title{margin-bottom:4px;font-size:14px;line-height:1.5715}.ant-list-item-meta-title>a{transition:all .3s}.ant-list-item-meta-title>a:hover{color:#177ddc}.ant-list-item-meta-description{color:rgba(255,255,255,.45);font-size:14px;line-height:1.5715}.ant-list-item-action{flex:0 0 auto;margin-left:48px;padding:0;font-size:0;list-style:none}.ant-list-item-action>li{position:relative;display:inline-block;padding:0 8px;color:rgba(255,255,255,.45);font-size:14px;line-height:1.5715;text-align:center}.ant-list-item-action>li:first-child{padding-left:0}.ant-list-item-action-split{position:absolute;top:50%;right:0;width:1px;height:14px;margin-top:-7px;background-color:#303030}.ant-list-footer,.ant-list-header{background:0 0;padding-top:12px;padding-bottom:12px}.ant-list-empty{padding:16px 0;color:rgba(255,255,255,.45);font-size:12px;text-align:center}.ant-list-split .ant-list-item{border-bottom:1px solid #303030}.ant-list-split .ant-list-item:last-child{border-bottom:none}.ant-list-split .ant-list-header,.ant-list-split.ant-list-something-after-last-item .ant-spin-container>.ant-list-items>.ant-list-item:last-child{border-bottom:1px solid #303030}.ant-list-split.ant-list-empty .ant-list-footer{border-top:1px solid #303030}.ant-list-loading .ant-list-spin-nested-loading{min-height:32px}.ant-list-lg .ant-list-item{padding:16px 24px}.ant-list-sm .ant-list-item{padding:8px 16px}.ant-list-vertical .ant-list-item{align-items:initial}.ant-list-vertical .ant-list-item-main{display:block;flex:1}.ant-list-vertical .ant-list-item-extra{margin-left:40px}.ant-list-vertical .ant-list-item-meta{margin-bottom:16px}.ant-list-vertical .ant-list-item-meta-title{margin-bottom:12px;color:rgba(255,255,255,.85);font-size:16px;line-height:24px}.ant-menu-dark .ant-menu-item-danger.ant-menu-item,.ant-menu-dark .ant-menu-item-danger.ant-menu-item:hover,.ant-menu-dark .ant-menu-item-danger.ant-menu-item>a,.ant-menu-item-danger.ant-menu-item,.ant-menu-item-danger.ant-menu-item-active,.ant-menu-item-danger.ant-menu-item-selected,.ant-menu-item-danger.ant-menu-item-selected>a,.ant-menu-item-danger.ant-menu-item-selected>a:hover,.ant-menu-item-danger.ant-menu-item:hover{color:#a61d24}.ant-list-vertical .ant-list-item-action{margin-top:16px;margin-left:auto}.ant-list-vertical .ant-list-item-action>li{padding:0 16px}.ant-list-vertical .ant-list-item-action>li:first-child{padding-left:0}.ant-list-grid .ant-col>.ant-list-item{display:block;max-width:100%;margin-bottom:16px;padding-top:0;padding-bottom:0;border-bottom:none}.ant-list-item-no-flex{display:block}.ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action{float:right}.ant-list-bordered{border:1px solid #434343;border-radius:2px}.ant-list-bordered .ant-list-footer,.ant-list-bordered .ant-list-header,.ant-list-bordered .ant-list-item{padding-right:24px;padding-left:24px}.ant-list-bordered .ant-list-pagination{margin:16px 24px}.ant-list-bordered.ant-list-sm .ant-list-footer,.ant-list-bordered.ant-list-sm .ant-list-header,.ant-list-bordered.ant-list-sm .ant-list-item{padding:8px 16px}.ant-list-bordered.ant-list-lg .ant-list-footer,.ant-list-bordered.ant-list-lg .ant-list-header,.ant-list-bordered.ant-list-lg .ant-list-item{padding:16px 24px}.ant-list-rtl .ant-list-vertical .ant-list-item-action>li:first-child,.ant-list.ant-list-rtl .ant-list-item-action>li:first-child{padding-right:0;padding-left:16px}@media screen and (max-width:768px){.ant-list-item-action,.ant-list-vertical .ant-list-item-extra{margin-left:24px}}@media screen and (max-width:576px){.ant-list-item{flex-wrap:wrap}.ant-list-item-action{margin-left:12px}.ant-list-vertical .ant-list-item{flex-wrap:wrap-reverse}.ant-list-vertical .ant-list-item-main{min-width:220px}.ant-list-vertical .ant-list-item-extra{margin:auto auto 16px}}.ant-list-rtl{text-align:right}.ant-list-rtl .ant-list-pagination,.ant-menu{text-align:left}.ant-list-rtl .ant-list-item-meta-avatar{margin-right:0;margin-left:16px}.ant-list-rtl .ant-list-item-action{margin-right:48px;margin-left:0}.ant-list-rtl .ant-list-item-action-split{right:auto;left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-extra{margin-right:40px;margin-left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-action{margin-right:auto}.ant-list-rtl .ant-list:not(.ant-list-vertical) .ant-list-item-no-flex .ant-list-item-action{float:left}@media screen and (max-width:768px){.ant-list-rtl .ant-list-item-action,.ant-list-rtl .ant-list-vertical .ant-list-item-extra{margin-right:24px;margin-left:0}}@media screen and (max-width:576px){.ant-list-rtl .ant-list-item-action{margin-right:22px;margin-left:0}.ant-list-rtl.ant-list-vertical .ant-list-item-extra{margin:auto auto 16px}}.ant-menu,.ant-menu ol,.ant-menu ul{margin:0;padding:0;list-style:none}nz-list,nz-list nz-spin,nz-list-empty,nz-list-footer,nz-list-header,nz-list-item-extra,nz-list-pagination{display:block}.ant-menu::after,.ant-menu::before{display:table;content:''}.ant-menu-item-danger.ant-menu-item:active{background:#2a1215}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected{background-color:#2a1215}.ant-menu-inline .ant-menu-item-danger.ant-menu-item::after{border-right-color:#a61d24}.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-danger.ant-menu-item-selected{color:#fff;background-color:#a61d24}.ant-menu{font-variant:tabular-nums;font-feature-settings:tnum;color:rgba(255,255,255,.85);font-size:14px;line-height:0;background:#141414;outline:0;transition:background .3s,width .3s cubic-bezier(.2,0,0,1) 0s}.ant-menu::after{clear:both}.ant-menu.ant-menu-root:focus-visible{box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-menu-overflow{display:flex}.ant-menu-hidden,.ant-menu-submenu-hidden,.ant-menu-submenu-horizontal .ant-menu-submenu-arrow{display:none}.ant-menu-overflow-item{flex:none}.ant-menu-item-group-title{height:1.5715;padding:8px 16px;color:rgba(255,255,255,.45);font-size:14px;line-height:1.5715;transition:all .3s}.ant-menu-horizontal .ant-menu-submenu{transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu,.ant-menu-submenu-inline{transition:border-color .3s cubic-bezier(.645,.045,.355,1),background .3s cubic-bezier(.645,.045,.355,1),padding .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-submenu-selected{color:#177ddc}.ant-menu-submenu .ant-menu-sub{cursor:initial;transition:background .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item a{color:rgba(255,255,255,.85)}.ant-menu-item a:hover{color:#177ddc}.ant-menu-item a::before{position:absolute;top:0;right:0;bottom:0;left:0;background-color:transparent;content:''}.ant-menu-item>.ant-badge a{color:rgba(255,255,255,.85)}.ant-menu-item-selected,.ant-menu-item-selected a,.ant-menu-item-selected a:hover,.ant-menu-item>.ant-badge a:hover{color:#177ddc}.ant-menu-item-divider{height:1px;overflow:hidden;line-height:0;background-color:#303030}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu{margin-top:-1px}.ant-menu-horizontal>.ant-menu-item-active,.ant-menu-horizontal>.ant-menu-item:hover,.ant-menu-horizontal>.ant-menu-submenu .ant-menu-submenu-title:hover{background-color:transparent}.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected{background-color:#111b26}.ant-menu-inline,.ant-menu-vertical,.ant-menu-vertical-left{border-right:1px solid #303030}.ant-menu-vertical-right{border-left:1px solid #303030}.ant-menu-vertical-left.ant-menu-sub,.ant-menu-vertical-right.ant-menu-sub,.ant-menu-vertical.ant-menu-sub{min-width:160px;max-height:calc(100vh - 100px);padding:0;overflow:hidden;border-right:0}.ant-menu-vertical-left.ant-menu-sub:not([class*='-active']),.ant-menu-vertical-right.ant-menu-sub:not([class*='-active']),.ant-menu-vertical.ant-menu-sub:not([class*='-active']){overflow-x:hidden;overflow-y:auto}.ant-menu-vertical-left.ant-menu-sub .ant-menu-item,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item,.ant-menu-vertical.ant-menu-sub .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-vertical-left.ant-menu-sub .ant-menu-item::after,.ant-menu-vertical-right.ant-menu-sub .ant-menu-item::after,.ant-menu-vertical.ant-menu-sub .ant-menu-item::after{border-right:0}.ant-menu-vertical-left.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-left.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-item,.ant-menu-vertical-right.ant-menu-sub>.ant-menu-submenu,.ant-menu-vertical.ant-menu-sub>.ant-menu-item,.ant-menu-vertical.ant-menu-sub>.ant-menu-submenu{transform-origin:0 0}.ant-menu-horizontal.ant-menu-sub{min-width:114px}.ant-menu-horizontal .ant-menu-item,.ant-menu-horizontal .ant-menu-submenu-title{transition:border-color .3s,background .3s}.ant-menu-item,.ant-menu-submenu-title{position:relative;display:block;margin:0;padding:0 20px;white-space:nowrap;cursor:pointer;transition:border-color .3s,background .3s,padding .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item-disabled,.ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-submenu-disabled,.ant-menu-submenu-disabled>.ant-menu-submenu-title{cursor:not-allowed;color:rgba(255,255,255,.3)!important}.ant-menu-item .ant-menu-item-icon,.ant-menu-item .anticon,.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-submenu-title .anticon{min-width:14px;font-size:14px;transition:font-size .15s cubic-bezier(.215,.61,.355,1),margin .3s cubic-bezier(.645,.045,.355,1),color .3s}.ant-menu-item .ant-menu-item-icon+span,.ant-menu-item .anticon+span,.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu-submenu-title .anticon+span{margin-left:10px;opacity:1;transition:opacity .3s cubic-bezier(.645,.045,.355,1),margin .3s,color .3s}.ant-menu-submenu-arrow,.ant-menu-submenu-expand-icon,.ant-menu-submenu>.ant-menu-submenu-title::after{transition:transform .3s cubic-bezier(.645,.045,.355,1)}.ant-menu-item .ant-menu-item-icon.svg,.ant-menu-submenu-title .ant-menu-item-icon.svg{vertical-align:-.125em}.ant-menu-item.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-item.ant-menu-item-only-child>.anticon,.ant-menu-submenu-title.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-submenu-title.ant-menu-item-only-child>.anticon{margin-right:0}.ant-menu-item:focus-visible,.ant-menu-submenu-title:focus-visible{box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-menu>.ant-menu-item-divider{height:1px;margin:1px 0;padding:0;overflow:hidden;line-height:0;background-color:#303030}.ant-menu-submenu-popup{position:absolute;z-index:1050;background:0 0;border-radius:2px;box-shadow:none;transform-origin:0 0}.ant-menu-submenu-popup::before{position:absolute;top:-7px;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;opacity:.0001}.ant-menu-submenu-placement-rightTop::before{top:0;left:-7px}.ant-menu-submenu>.ant-menu{background-color:#141414;border-radius:2px}.ant-menu-submenu-popup>.ant-menu{background-color:#1f1f1f}.ant-menu-submenu-arrow,.ant-menu-submenu-expand-icon{position:absolute;top:50%;right:16px;width:10px;color:rgba(255,255,255,.85);transform:translateY(-50%)}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-active,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-open,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-selected,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item:hover,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-active,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-open,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-selected,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu:hover,.ant-menu-submenu:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-submenu:hover>.ant-menu-submenu-title>.ant-menu-submenu-expand-icon,.ant-menu-vertical .ant-menu-submenu-selected,.ant-menu-vertical-left .ant-menu-submenu-selected,.ant-menu-vertical-right .ant-menu-submenu-selected{color:#177ddc}.ant-menu-submenu-arrow::after,.ant-menu-submenu-arrow::before{position:absolute;width:6px;height:1.5px;background-color:currentColor;border-radius:2px;transition:background .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1),top .3s cubic-bezier(.645,.045,.355,1),color .3s cubic-bezier(.645,.045,.355,1);content:''}.ant-menu-submenu-arrow::before{transform:rotate(45deg) translateY(-2.5px)}.ant-menu-submenu-arrow::after{transform:rotate(-45deg) translateY(2.5px)}.ant-menu-inline-collapsed .ant-menu-submenu-arrow::before,.ant-menu-submenu-inline .ant-menu-submenu-arrow::before{transform:rotate(-45deg) translateX(2.5px)}.ant-menu-inline-collapsed .ant-menu-submenu-arrow::after,.ant-menu-submenu-inline .ant-menu-submenu-arrow::after{transform:rotate(45deg) translateX(-2.5px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow{transform:translateY(-2px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after{transform:rotate(-45deg) translateX(-2.5px)}.ant-menu-submenu-open.ant-menu-submenu-inline>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{transform:rotate(45deg) translateX(2.5px)}.ant-menu-horizontal{line-height:46px;border:0;border-bottom:1px solid #303030;box-shadow:none}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu{margin-top:-1px;margin-bottom:0;padding:0 20px}.ant-menu-horizontal>.ant-menu-item a,.ant-menu.ant-menu-inline-collapsed-tooltip a{color:rgba(255,255,255,.85)}.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-active::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-open::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item-selected::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-item:hover::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-active::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-open::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu-selected::after,.ant-menu-horizontal:not(.ant-menu-dark)>.ant-menu-submenu:hover::after{border-bottom:2px solid #177ddc}.ant-menu-horizontal>.ant-menu-item,.ant-menu-horizontal>.ant-menu-submenu{position:relative;top:1px;display:inline-block;vertical-align:bottom}.ant-menu-horizontal>.ant-menu-item::after,.ant-menu-horizontal>.ant-menu-submenu::after{position:absolute;right:20px;bottom:0;left:20px;border-bottom:2px solid transparent;transition:border-color .3s cubic-bezier(.645,.045,.355,1);content:''}.ant-menu-horizontal>.ant-menu-submenu>.ant-menu-submenu-title{padding:0}.ant-menu-horizontal>.ant-menu-item a:hover,.ant-menu-horizontal>.ant-menu-item-selected a{color:#177ddc}.ant-menu-horizontal>.ant-menu-item a::before{bottom:-2px}.ant-menu-horizontal::after{display:block;clear:both;height:0;content:'\20'}.ant-menu-inline .ant-menu-item,.ant-menu-vertical .ant-menu-item,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-right .ant-menu-item{position:relative}.ant-menu-inline .ant-menu-item::after,.ant-menu-vertical .ant-menu-item::after,.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-vertical-right .ant-menu-item::after{position:absolute;top:0;right:0;bottom:0;border-right:3px solid #177ddc;transform:scaleY(.0001);opacity:0;transition:transform .15s cubic-bezier(.215,.61,.355,1),opacity .15s cubic-bezier(.215,.61,.355,1);content:''}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-item,.ant-menu-vertical .ant-menu-submenu-title,.ant-menu-vertical-left .ant-menu-item,.ant-menu-vertical-left .ant-menu-submenu-title,.ant-menu-vertical-right .ant-menu-item,.ant-menu-vertical-right .ant-menu-submenu-title{height:40px;margin-top:4px;margin-bottom:4px;padding:0 16px;overflow:hidden;line-height:40px;text-overflow:ellipsis}.ant-menu-inline .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-inline .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-item-group-list .ant-menu-submenu-title,.ant-menu-vertical .ant-menu-submenu-title{padding-right:34px}.ant-menu-inline .ant-menu-submenu,.ant-menu-vertical .ant-menu-submenu,.ant-menu-vertical-left .ant-menu-submenu,.ant-menu-vertical-right .ant-menu-submenu{padding-bottom:.02px}.ant-menu-inline .ant-menu-item:not(:last-child),.ant-menu-vertical .ant-menu-item:not(:last-child),.ant-menu-vertical-left .ant-menu-item:not(:last-child),.ant-menu-vertical-right .ant-menu-item:not(:last-child){margin-bottom:8px}.ant-menu-inline>.ant-menu-item,.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-left>.ant-menu-item,.ant-menu-vertical-left>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical-right>.ant-menu-item,.ant-menu-vertical-right>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu-vertical>.ant-menu-item,.ant-menu-vertical>.ant-menu-submenu>.ant-menu-submenu-title{height:40px;line-height:40px}.ant-menu-inline{width:100%}.ant-menu-inline .ant-menu-item-selected::after,.ant-menu-inline .ant-menu-selected::after{transform:scaleY(1);opacity:1;transition:transform .15s cubic-bezier(.645,.045,.355,1),opacity .15s cubic-bezier(.645,.045,.355,1)}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title{width:calc(100% + 1px)}.ant-menu-inline.ant-menu-root .ant-menu-item,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title{display:flex;align-items:center;transition:border-color .3s,background .3s,padding .1s cubic-bezier(.215,.61,.355,1)}.ant-menu-inline.ant-menu-root .ant-menu-item>.ant-menu-title-content,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title>.ant-menu-title-content{flex:auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.ant-menu-inline.ant-menu-root .ant-menu-item>*,.ant-menu-inline.ant-menu-root .ant-menu-submenu-title>*{flex:none}.ant-menu.ant-menu-inline-collapsed{width:80px}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title{left:0;padding:0 calc(50% - 16px / 2);text-overflow:clip}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:0}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon{margin:0;font-size:16px;line-height:40px}.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-item .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-item-group>.ant-menu-item-group-list>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .ant-menu-item-icon+span,.ant-menu.ant-menu-inline-collapsed>.ant-menu-submenu>.ant-menu-submenu-title .anticon+span{display:inline-block;opacity:0}.ant-menu.ant-menu-inline-collapsed .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed .anticon{display:inline-block}.ant-menu.ant-menu-inline-collapsed-tooltip{pointer-events:none}.ant-menu.ant-menu-inline-collapsed-tooltip .ant-menu-item-icon,.ant-menu.ant-menu-inline-collapsed-tooltip .anticon{display:none}.ant-menu.ant-menu-inline-collapsed .ant-menu-item-group-title{padding-right:4px;padding-left:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-menu-item-group-list{margin:0;padding:0}.ant-menu-item-group-list .ant-menu-item,.ant-menu-item-group-list .ant-menu-submenu-title{padding:0 16px 0 28px}.ant-menu-root.ant-menu-inline,.ant-menu-root.ant-menu-vertical,.ant-menu-root.ant-menu-vertical-left,.ant-menu-root.ant-menu-vertical-right{box-shadow:none}.ant-menu-root.ant-menu-inline-collapsed .ant-menu-item>.ant-menu-inline-collapsed-noicon,.ant-menu-root.ant-menu-inline-collapsed .ant-menu-submenu .ant-menu-submenu-title>.ant-menu-inline-collapsed-noicon{font-size:16px;text-align:center}.ant-menu-rtl .ant-menu-item-group-title,.ant-menu-rtl.ant-menu-inline .ant-menu-item,.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical .ant-menu-item,.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-submenu-title,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-submenu-title,.ant-menu.ant-menu-rtl{text-align:right}.ant-menu-sub.ant-menu-inline{padding:0;background:rgba(255,255,255,.04);border-radius:0;box-shadow:none}.ant-menu-sub.ant-menu-inline>.ant-menu-item,.ant-menu-sub.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{height:40px;line-height:40px;list-style-position:inside;list-style-type:disc}.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-left:32px}.ant-menu-item-disabled,.ant-menu-submenu-disabled{background:0 0}.ant-menu-item-disabled::after,.ant-menu-submenu-disabled::after{border-color:transparent!important}.ant-menu-item-disabled a,.ant-menu-submenu-disabled a{color:rgba(255,255,255,.3)!important;pointer-events:none}.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:rgba(255,255,255,.3)!important}.ant-layout-header .ant-menu{line-height:inherit}.ant-menu-light .ant-menu-item-active,.ant-menu-light .ant-menu-item:hover,.ant-menu-light .ant-menu-submenu-active,.ant-menu-light .ant-menu-submenu-title:hover,.ant-menu-light .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open{color:#177ddc}.ant-menu-dark .ant-menu-sub,.ant-menu.ant-menu-dark,.ant-menu.ant-menu-dark .ant-menu-sub{color:rgba(255,255,255,.65);background:#1f1f1f}.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow{opacity:.45;transition:all .3s}.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow::before{background:#fff}.ant-menu-dark.ant-menu-submenu-popup{background:0 0}.ant-menu-dark .ant-menu-inline.ant-menu-sub{background:#141414}.ant-menu-dark.ant-menu-horizontal{border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item,.ant-menu-dark.ant-menu-horizontal>.ant-menu-submenu{top:0;margin-top:0;padding:0 20px;border-color:#1f1f1f;border-bottom:0}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item:hover{background-color:#177ddc}.ant-menu-dark.ant-menu-horizontal>.ant-menu-item>a::before{bottom:0}.ant-menu-dark .ant-menu-item,.ant-menu-dark .ant-menu-item-group-title,.ant-menu-dark .ant-menu-item>a,.ant-menu-dark .ant-menu-item>span>a{color:rgba(255,255,255,.65)}.ant-menu-dark.ant-menu-inline,.ant-menu-dark.ant-menu-vertical,.ant-menu-dark.ant-menu-vertical-left,.ant-menu-dark.ant-menu-vertical-right{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-vertical .ant-menu-item,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item{left:0;margin-left:0;border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-dark.ant-menu-vertical-right .ant-menu-item::after{border-right:0}.ant-menu-dark.ant-menu-inline .ant-menu-item,.ant-menu-dark.ant-menu-inline .ant-menu-submenu-title{width:100%}.ant-menu-dark .ant-menu-item-active,.ant-menu-dark .ant-menu-item:hover,.ant-menu-dark .ant-menu-submenu-active,.ant-menu-dark .ant-menu-submenu-open,.ant-menu-dark .ant-menu-submenu-selected,.ant-menu-dark .ant-menu-submenu-title:hover{color:#fff;background-color:transparent}.ant-menu-dark .ant-menu-item-active>a,.ant-menu-dark .ant-menu-item-active>span>a,.ant-menu-dark .ant-menu-item:hover>a,.ant-menu-dark .ant-menu-item:hover>span>a,.ant-menu-dark .ant-menu-submenu-active>a,.ant-menu-dark .ant-menu-submenu-active>span>a,.ant-menu-dark .ant-menu-submenu-open>a,.ant-menu-dark .ant-menu-submenu-open>span>a,.ant-menu-dark .ant-menu-submenu-selected>a,.ant-menu-dark .ant-menu-submenu-selected>span>a,.ant-menu-dark .ant-menu-submenu-title:hover>a,.ant-menu-dark .ant-menu-submenu-title:hover>span>a{color:#fff}.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow{opacity:1}.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-active>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-open>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-title:hover>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:#fff}.ant-menu-dark .ant-menu-item:hover{background-color:transparent}.ant-menu-dark.ant-menu-dark:not(.ant-menu-horizontal) .ant-menu-item-selected,.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected,.ant-menu.ant-menu-dark .ant-menu-item-selected{background-color:#177ddc}.ant-menu-dark .ant-menu-item-selected{color:#fff;border-right:0}.ant-menu-dark .ant-menu-item-selected::after{border-right:0}.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon,.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon+span,.ant-menu-dark .ant-menu-item-selected .anticon,.ant-menu-dark .ant-menu-item-selected .anticon+span,.ant-menu-dark .ant-menu-item-selected>a,.ant-menu-dark .ant-menu-item-selected>a:hover,.ant-menu-dark .ant-menu-item-selected>span>a,.ant-menu-dark .ant-menu-item-selected>span>a:hover{color:#fff}.ant-menu-dark .ant-menu-item-disabled,.ant-menu-dark .ant-menu-item-disabled>a,.ant-menu-dark .ant-menu-item-disabled>span>a,.ant-menu-dark .ant-menu-submenu-disabled,.ant-menu-dark .ant-menu-submenu-disabled>a,.ant-menu-dark .ant-menu-submenu-disabled>span>a{color:rgba(255,255,255,.3)!important;opacity:.8}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title{color:rgba(255,255,255,.3)!important}.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-item-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::after,.ant-menu-dark .ant-menu-submenu-disabled>.ant-menu-submenu-title>.ant-menu-submenu-arrow::before{background:rgba(255,255,255,.3)!important}.ant-menu-rtl.ant-menu-inline,.ant-menu-rtl.ant-menu-vertical{border-right:none;border-left:1px solid #303030}.ant-menu-rtl.ant-menu-dark.ant-menu-inline,.ant-menu-rtl.ant-menu-dark.ant-menu-vertical{border-left:none}.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical-left.ant-menu-sub>.ant-menu-submenu,.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical-right.ant-menu-sub>.ant-menu-submenu,.ant-menu-rtl.ant-menu-vertical.ant-menu-sub>.ant-menu-item,.ant-menu-rtl.ant-menu-vertical.ant-menu-sub>.ant-menu-submenu{transform-origin:top right}.ant-menu-rtl .ant-menu-item .ant-menu-item-icon,.ant-menu-rtl .ant-menu-item .anticon,.ant-menu-rtl .ant-menu-submenu-title .ant-menu-item-icon,.ant-menu-rtl .ant-menu-submenu-title .anticon{margin-right:auto;margin-left:10px}.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-rtl .ant-menu-item.ant-menu-item-only-child>.anticon,.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child>.ant-menu-item-icon,.ant-menu-rtl .ant-menu-submenu-title.ant-menu-item-only-child>.anticon{margin-left:0}.ant-menu-submenu-rtl.ant-menu-submenu-popup{transform-origin:100% 0}.ant-menu-rtl .ant-menu-submenu-inline>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow{right:auto;left:16px}.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow::before,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow::before{transform:rotate(-45deg) translateY(-2px)}.ant-menu-rtl .ant-menu-submenu-vertical-left>.ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-rtl .ant-menu-submenu-vertical-right>.ant-menu-submenu-title .ant-menu-submenu-arrow::after,.ant-menu-rtl .ant-menu-submenu-vertical>.ant-menu-submenu-title .ant-menu-submenu-arrow::after{transform:rotate(45deg) translateY(2px)}.ant-menu-rtl.ant-menu-inline .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical-left .ant-menu-item::after,.ant-menu-rtl.ant-menu-vertical-right .ant-menu-item::after{right:auto;left:0}.ant-menu-rtl.ant-menu-inline .ant-menu-submenu-title{padding-right:0;padding-left:34px}.ant-menu-rtl.ant-menu-vertical .ant-menu-submenu-title{padding-right:16px;padding-left:34px}.ant-menu-rtl.ant-menu-inline-collapsed.ant-menu-vertical .ant-menu-submenu-title{padding:0 calc(50% - 16px / 2)}.ant-menu-rtl .ant-menu-item-group-list .ant-menu-item,.ant-menu-rtl .ant-menu-item-group-list .ant-menu-submenu-title{padding:0 28px 0 16px}.ant-menu-sub.ant-menu-inline{border:0}.ant-menu-rtl.ant-menu-sub.ant-menu-inline .ant-menu-item-group-title{padding-right:32px;padding-left:0}.ant-mention-wrapper,.ant-mention-wrapper .ant-mention-editor{color:rgba(255,255,255,.85);font-size:14px;padding:0;line-height:1.5715;position:relative;width:100%}.ant-menu-submenu.ant-menu-submenu-placement-bottom{top:6px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-right{left:4px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-right.ant-menu-submenu-rtl{left:auto;right:4px}.ant-menu-submenu.ant-menu-submenu-placement-left{right:4px;position:relative}.ant-menu-submenu.ant-menu-submenu-placement-left.ant-menu-submenu-rtl{right:auto;left:4px}.ant-mention-wrapper{margin:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;vertical-align:middle}.ant-mention-wrapper .ant-mention-editor{min-width:0;background-color:transparent;background-image:none;border:1px solid #434343;border-radius:2px;transition:all .3s;display:block;height:auto;min-height:32px}.ant-mention-wrapper .ant-mention-editor-disabled,.ant-mention-wrapper .ant-mention-editor[disabled]{background-color:rgba(255,255,255,.08);cursor:not-allowed;color:rgba(255,255,255,.3);opacity:1;pointer-events:none}.ant-mention-wrapper .ant-mention-editor::-moz-placeholder{opacity:1}.ant-mention-wrapper .ant-mention-editor::placeholder{color:rgba(255,255,255,.3)}.ant-mention-wrapper .ant-mention-editor:placeholder-shown{text-overflow:ellipsis}.ant-mention-wrapper .ant-mention-editor:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:hover{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper .ant-mention-editor-focused,.ant-mention-wrapper .ant-mention-editor:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-mention-wrapper .ant-mention-editor-focused,.ant-input-rtl .ant-mention-wrapper .ant-mention-editor:focus{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper .ant-mention-editor-disabled:hover,.ant-mention-wrapper .ant-mention-editor[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-mention-wrapper .ant-mention-editor-borderless,.ant-mention-wrapper .ant-mention-editor-borderless-disabled,.ant-mention-wrapper .ant-mention-editor-borderless-focused,.ant-mention-wrapper .ant-mention-editor-borderless:focus,.ant-mention-wrapper .ant-mention-editor-borderless:hover,.ant-mention-wrapper .ant-mention-editor-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-mention-wrapper .ant-mention-editor{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-mention-wrapper .ant-mention-editor-lg{padding:6.5px 11px;font-size:16px}.ant-mention-dropdown,.ant-message{font-size:14px;line-height:1.5715;list-style:none;font-feature-settings:tnum;box-sizing:border-box}.ant-mention-wrapper .ant-mention-editor-sm{padding:0 7px}.ant-mention-wrapper .ant-mention-editor-wrapper{height:auto;overflow-y:auto}.ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-mention-dropdown,.ant-message-notice-content,.ant-modal-content{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-input-rtl .ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor{border-right-width:0;border-left-width:1px!important}.ant-mention-wrapper.disabled .ant-mention-editor{background-color:rgba(255,255,255,.08);cursor:not-allowed;opacity:1;color:rgba(255,255,255,.3);pointer-events:none}.ant-mention-wrapper.disabled .ant-mention-editor:hover{border-color:#434343;border-right-width:1px!important}.ant-mention-wrapper .public-DraftEditorPlaceholder-root{position:absolute;pointer-events:none}.ant-mention-wrapper .public-DraftEditorPlaceholder-root .public-DraftEditorPlaceholder-inner{height:auto;padding:5px 11px;color:rgba(255,255,255,.3);white-space:pre-wrap;word-wrap:break-word;outline:0;opacity:1}.ant-mention-wrapper .DraftEditor-editorContainer .public-DraftEditor-content{height:auto;padding:5px 11px}.ant-mention-dropdown{margin:1.5em 0 0;padding:0;color:rgba(255,255,255,.85);font-variant:tabular-nums;z-index:1050;min-width:120px;max-height:250px;overflow-x:hidden;overflow-y:auto;background-color:#141414;border-radius:2px;outline:0}.ant-mention-dropdown-placement-top{margin-top:-.1em}.ant-mention-dropdown-notfound.ant-mention-dropdown-item{color:rgba(255,255,255,.3)}.ant-mention-dropdown-notfound.ant-mention-dropdown-item .anticon-loading{display:block;color:#177ddc;text-align:center}.ant-mention-dropdown-item{position:relative;display:block;padding:5px 12px;overflow:hidden;color:rgba(255,255,255,.85);font-weight:400;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background .3s}.ant-mention-dropdown-item-disabled,.ant-mention-dropdown-item-disabled:hover{cursor:not-allowed;color:rgba(255,255,255,.3)}.ant-mention-dropdown-item:hover{background-color:rgba(255,255,255,.08)}.ant-mention-dropdown-item-active,.ant-mention-dropdown-item.focus{background-color:#111b26}.ant-mention-dropdown-item-disabled:hover{background-color:#141414}.ant-mention-dropdown-item-selected,.ant-mention-dropdown-item-selected:hover{color:rgba(255,255,255,.85);font-weight:700;background-color:rgba(255,255,255,.08)}.ant-mention-dropdown-item-divider{height:1px;margin:1px 0;overflow:hidden;line-height:0;background-color:#303030}.ant-mention-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px}.ant-message{margin:0;padding:0;color:rgba(255,255,255,.85);font-variant:tabular-nums;position:fixed;top:8px;left:0;z-index:1010;width:100%;pointer-events:none}.ant-message-notice{padding:8px;text-align:center}.ant-message-notice-content{display:inline-block;padding:10px 16px;background:#1f1f1f;border-radius:2px;pointer-events:all}.ant-message-success .anticon{color:#49aa19}.ant-message-error .anticon{color:#a61d24}.ant-message-warning .anticon{color:#d89614}.ant-message-info .anticon,.ant-message-loading .anticon{color:#177ddc}.ant-modal,.ant-modal-title{color:rgba(255,255,255,.85)}.ant-message .anticon{position:relative;top:1px;margin-right:8px;font-size:16px}.ant-message-notice.ant-move-up-leave.ant-move-up-leave-active{animation-name:MessageMoveOut;animation-duration:.3s}@keyframes MessageMoveOut{0%{max-height:150px;padding:8px;opacity:1}100%{max-height:0;padding:0;opacity:0}}.ant-message-rtl .anticon{margin-right:0;margin-left:8px}.ant-modal{box-sizing:border-box;padding:0 0 24px;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;pointer-events:none;position:relative;top:100px;width:auto;max-width:calc(100vw - 32px);margin:0 auto}.ant-modal-mask,.ant-modal-wrap{position:fixed;right:0;left:0;bottom:0;z-index:1000}.ant-modal.ant-zoom-enter,.ant-modal.antzoom-appear{transform:none;opacity:0;animation-duration:.3s;user-select:none}.ant-modal-mask{top:0;height:100%;background-color:rgba(0,0,0,.45)}.ant-modal .ant-anchor-wrapper,.ant-modal .ant-card,.ant-modal .ant-collapse-content,.ant-modal .ant-picker-clear,.ant-modal .ant-slider-handle,.ant-modal .ant-timeline-item-head,.ant-modal-content{background-color:#1f1f1f}.ant-modal-mask-hidden{display:none}.ant-modal-wrap{top:0;overflow:auto;outline:0;-webkit-overflow-scrolling:touch}.ant-modal-title{margin:0;font-weight:500;font-size:16px;line-height:22px;word-wrap:break-word}.ant-modal-content{position:relative;background-clip:padding-box;border:0;border-radius:2px;pointer-events:auto}.ant-modal .ant-badge-count,.ant-notification .ant-badge-count{box-shadow:0 0 0 1px #1f1f1f}.ant-modal-close{position:absolute;top:0;right:0;z-index:10;padding:0;color:rgba(255,255,255,.45);font-weight:700;line-height:1;text-decoration:none;background:0 0;border:0;outline:0;cursor:pointer;transition:color .3s}.ant-modal .ant-transfer-list-header,.ant-modal-header{background:#1f1f1f}.ant-modal-close-x{display:block;width:56px;height:56px;font-size:16px;font-style:normal;line-height:56px;text-align:center;text-transform:none;text-rendering:auto}.ant-modal-close:focus,.ant-modal-close:hover{color:rgba(255,255,255,.75);text-decoration:none}.ant-modal-header{padding:16px 24px;color:rgba(255,255,255,.85);border-bottom:1px solid #303030;border-radius:2px 2px 0 0}.ant-modal .ant-table tbody>tr>td,.ant-modal .ant-table tfoot>tr>td,.ant-modal .ant-table tfoot>tr>th,.ant-modal .ant-table thead>tr>th,.ant-modal .ant-table.ant-table-small thead>tr>th,.ant-modal .ant-transfer-list-header{border-bottom:1px solid #3a3a3a}.ant-modal-body{padding:24px;font-size:14px;line-height:1.5715;word-wrap:break-word}.ant-modal-footer{padding:10px 16px;text-align:right;background:0 0;border-top:1px solid #303030;border-radius:0 0 2px 2px}.ant-modal .ant-table .ant-table-row-expand-icon,.ant-modal .ant-table.ant-table-bordered .ant-table-title{border:1px solid #3a3a3a}.ant-modal-footer .ant-btn+.ant-btn:not(.ant-dropdown-trigger){margin-bottom:0;margin-left:8px}.ant-modal-open{overflow:hidden}.ant-modal-centered{text-align:center}.ant-modal-centered::before{display:inline-block;width:0;height:100%;vertical-align:middle;content:''}.ant-modal-centered .ant-modal{top:0;display:inline-block;text-align:left;vertical-align:middle}@media (max-width:767px){.ant-modal{max-width:calc(100vw - 16px);margin:8px auto}.ant-modal-centered .ant-modal{flex:1}}.ant-modal-confirm .ant-modal-header{display:none}.ant-modal-confirm-body-wrapper::after,.ant-modal-confirm-body-wrapper::before{display:table;content:''}.ant-modal-confirm .ant-modal-body{padding:32px 32px 24px}.ant-modal-confirm-body-wrapper::after{clear:both}.ant-modal-confirm-body .ant-modal-confirm-title{display:block;overflow:hidden;color:rgba(255,255,255,.85);font-weight:500;font-size:16px;line-height:1.4}.ant-modal-confirm-body .ant-modal-confirm-content{margin-top:8px;color:rgba(255,255,255,.85);font-size:14px}.ant-modal-confirm-body>.anticon{float:left;margin-right:16px;font-size:22px}.ant-modal-confirm-body>.anticon+.ant-modal-confirm-title+.ant-modal-confirm-content{margin-left:38px}.ant-modal-confirm .ant-modal-confirm-btns{float:right;margin-top:24px}.ant-modal-confirm .ant-modal-confirm-btns .ant-btn+.ant-btn{margin-bottom:0;margin-left:8px}.ant-modal-confirm-error .ant-modal-confirm-body>.anticon{color:#a61d24}.ant-modal-confirm-confirm .ant-modal-confirm-body>.anticon,.ant-modal-confirm-warning .ant-modal-confirm-body>.anticon{color:#d89614}.ant-modal-confirm-info .ant-modal-confirm-body>.anticon{color:#177ddc}.ant-modal-confirm-success .ant-modal-confirm-body>.anticon{color:#49aa19}.ant-modal .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background-color:rgba(255,255,255,.08)}.ant-modal tr.ant-table-expanded-row:hover>td,.ant-modal tr.ant-table-expanded-row>td{background:#272727}.ant-modal .ant-table,.ant-modal .ant-table.ant-table-small thead>tr>th{background-color:#1f1f1f}.ant-modal .ant-table thead>tr>th{background-color:#272727}.ant-modal .ant-table tbody>tr>td.ant-table-cell-fix-left,.ant-modal .ant-table tbody>tr>td.ant-table-cell-fix-right{background-color:#1f1f1f}.ant-modal .ant-table tbody>tr.ant-table-row:hover>td{background:#303030}.ant-modal .ant-table.ant-table-bordered table thead>tr:not(:last-child)>th{border-bottom:1px solid #303030}.ant-modal .ant-table.ant-table-bordered .ant-table-container,.ant-modal .ant-table.ant-table-bordered .ant-table-footer{border:1px solid #3a3a3a}.ant-modal .ant-table .ant-table-filter-trigger-container-open{background-color:#525252}.ant-modal .ant-picker-calendar-full,.ant-modal .ant-picker-calendar-full .ant-picker-panel{background-color:#1f1f1f}.ant-modal .ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date{border-top:2px solid #3a3a3a}.ant-modal .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active{background-color:#1f1f1f;border-bottom:1px solid #1f1f1f}.ant-notification .ant-table .ant-table-row-expand-icon,.ant-notification .ant-table.ant-table-bordered .ant-table-title{border:1px solid #3a3a3a}.ant-modal .ant-tree-show-line .ant-tree-switcher{background:#1f1f1f}.ant-modal-wrap-rtl .ant-modal-close{right:initial;left:0}.ant-modal-wrap-rtl .ant-modal-footer{text-align:left}.ant-modal-wrap-rtl .ant-modal-footer .ant-btn+.ant-btn{margin-right:8px;margin-left:0}.ant-modal-wrap-rtl .ant-modal-confirm-body>.anticon{float:right;margin-right:0;margin-left:16px}.ant-modal-wrap-rtl .ant-modal-confirm-body>.anticon+.ant-modal-confirm-title+.ant-modal-confirm-content{margin-right:38px;margin-left:0}.ant-modal-wrap-rtl .ant-modal-confirm-btns{float:left}.ant-modal-wrap-rtl .ant-modal-confirm-btns .ant-btn+.ant-btn{margin-right:8px;margin-left:0}.ant-modal-wrap-rtl.ant-modal-centered .ant-modal{text-align:right}.ant-notification .ant-anchor-wrapper,.ant-notification .ant-card,.ant-notification .ant-collapse-content,.ant-notification .ant-picker-clear,.ant-notification .ant-slider-handle,.ant-notification .ant-timeline-item-head{background-color:#1f1f1f}.ant-notification .ant-transfer-list-header{background:#1f1f1f;border-bottom:1px solid #3a3a3a}.ant-notification .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background-color:rgba(255,255,255,.08)}.ant-notification tr.ant-table-expanded-row:hover>td,.ant-notification tr.ant-table-expanded-row>td{background:#272727}.ant-notification .ant-table.ant-table-small thead>tr>th{background-color:#1f1f1f;border-bottom:1px solid #3a3a3a}.ant-notification .ant-table{background-color:#1f1f1f}.ant-notification .ant-table tfoot>tr>td,.ant-notification .ant-table tfoot>tr>th{border-bottom:1px solid #3a3a3a}.ant-notification .ant-table thead>tr>th{background-color:#272727;border-bottom:1px solid #3a3a3a}.ant-notification .ant-table tbody>tr>td{border-bottom:1px solid #3a3a3a}.ant-notification .ant-table tbody>tr>td.ant-table-cell-fix-left,.ant-notification .ant-table tbody>tr>td.ant-table-cell-fix-right{background-color:#1f1f1f}.ant-notification .ant-table tbody>tr.ant-table-row:hover>td{background:#303030}.ant-notification .ant-table.ant-table-bordered table thead>tr:not(:last-child)>th{border-bottom:1px solid #303030}.ant-notification .ant-table.ant-table-bordered .ant-table-container,.ant-notification .ant-table.ant-table-bordered .ant-table-footer{border:1px solid #3a3a3a}.ant-notification .ant-table .ant-table-filter-trigger-container-open{background-color:#525252}.ant-notification .ant-picker-calendar-full,.ant-notification .ant-picker-calendar-full .ant-picker-panel{background-color:#1f1f1f}.ant-notification .ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date{border-top:2px solid #3a3a3a}.ant-notification .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab-active{background-color:#1f1f1f;border-bottom:1px solid #1f1f1f}.ant-notification-notice,.ant-popover-inner,.ant-select-dropdown{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-notification .ant-tree-show-line .ant-tree-switcher{background:#1f1f1f}.ant-notification{box-sizing:border-box;margin:0 24px 0 0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:fixed;z-index:1010}.ant-notification-bottomLeft,.ant-notification-topLeft{margin-right:0;margin-left:24px}.ant-notification-bottomLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-bottomLeft .ant-notification-fade-enter.ant-notification-fade-enter-active,.ant-notification-topLeft .ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-topLeft .ant-notification-fade-enter.ant-notification-fade-enter-active{animation-name:NotificationLeftFadeIn}.ant-notification-close-icon{font-size:14px;cursor:pointer}.ant-notification-hook-holder{position:relative}.ant-notification-notice{position:relative;width:384px;max-width:calc(100vw - 24px * 2);margin-bottom:16px;margin-left:auto;padding:16px 24px;overflow:hidden;line-height:1.5715;word-wrap:break-word;background:#1f1f1f;border-radius:2px}.ant-notification-bottomLeft .ant-notification-notice,.ant-notification-topLeft .ant-notification-notice{margin-right:auto;margin-left:0}.ant-notification-notice-message{margin-bottom:8px;color:rgba(255,255,255,.85);font-size:16px;line-height:24px}.ant-notification-notice-message-single-line-auto-margin{display:block;width:calc(384px - 24px * 2 - 24px - 48px - 100%);max-width:4px;background-color:transparent;pointer-events:none}.ant-notification-notice-message-single-line-auto-margin::before{display:block;content:''}.ant-notification-notice-description{font-size:14px}.ant-notification-notice-closable .ant-notification-notice-message{padding-right:24px}.ant-notification-notice-with-icon .ant-notification-notice-message{margin-bottom:4px;margin-left:48px;font-size:16px}.ant-notification-notice-with-icon .ant-notification-notice-description{margin-left:48px;font-size:14px}.ant-notification-notice-icon{position:absolute;margin-left:4px;font-size:24px;line-height:24px}.anticon.ant-notification-notice-icon-success{color:#49aa19}.anticon.ant-notification-notice-icon-info{color:#177ddc}.anticon.ant-notification-notice-icon-warning{color:#d89614}.anticon.ant-notification-notice-icon-error{color:#a61d24}.ant-notification-notice-close{position:absolute;top:16px;right:22px;color:rgba(255,255,255,.45);outline:0}.ant-page-header,.ant-pagination-jump-next .ant-pagination-item-container,.ant-pagination-jump-prev .ant-pagination-item-container{position:relative}.ant-notification-notice-close:hover,.ant-page-header{color:rgba(255,255,255,.85)}.ant-notification-notice-btn{float:right;margin-top:16px}.ant-notification .notification-fade-effect{animation-duration:.24s;animation-fill-mode:both}.ant-notification-fade-appear,.ant-notification-fade-enter{animation-duration:.24s;animation-fill-mode:both;opacity:0;animation-play-state:paused}.ant-notification-fade-leave{animation-fill-mode:both;animation-duration:.2s;animation-play-state:paused}.ant-notification-fade-appear.ant-notification-fade-appear-active,.ant-notification-fade-enter.ant-notification-fade-enter-active{animation-name:NotificationFadeIn;animation-play-state:running}.ant-notification-fade-leave.ant-notification-fade-leave-active{animation-name:NotificationFadeOut;animation-play-state:running}@keyframes NotificationFadeIn{0%{left:384px;opacity:0}100%{left:0;opacity:1}}@keyframes NotificationLeftFadeIn{0%{right:384px;opacity:0}100%{right:0;opacity:1}}@keyframes NotificationFadeOut{0%{max-height:150px;margin-bottom:16px;opacity:1}100%{max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0;opacity:0}}.ant-notification-rtl .ant-notification-notice-closable .ant-notification-notice-message{padding-right:0;padding-left:24px}.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-description,.ant-notification-rtl .ant-notification-notice-with-icon .ant-notification-notice-message{margin-right:48px;margin-left:0}.ant-notification-rtl .ant-notification-notice-icon{margin-right:4px;margin-left:0}.ant-notification-rtl .ant-notification-notice-close{right:auto;left:22px}.ant-notification-rtl .ant-notification-notice-btn{float:left}.ant-page-header{box-sizing:border-box;margin:0;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;padding:16px 16px 32px 0;background-color:#141414}.ant-page-header-content,.ant-page-header.has-breadcrumb{padding-top:12px}.ant-page-header-ghost{background-color:transparent}.ant-page-header.has-footer{padding-bottom:0}.ant-page-header-back{margin-right:16px;font-size:16px;line-height:1}.ant-page-header-back-button{text-decoration:none;outline:0;transition:color .3s;color:inherit;cursor:pointer}.ant-page-header-back-button:focus,.ant-page-header-back-button:hover{color:#165996}.ant-page-header-back-button:active{color:#388ed3}.ant-page-header .ant-divider-vertical{height:14px;margin:0 12px;vertical-align:middle}.ant-breadcrumb+.ant-page-header-heading{margin-top:8px}.ant-page-header-heading{display:flex;justify-content:space-between}.ant-page-header-heading-left{display:flex;align-items:center;margin:4px 0;overflow:hidden}.ant-page-header-heading-title{margin-right:12px;margin-bottom:0;color:rgba(255,255,255,.85);font-weight:600;font-size:20px;line-height:32px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-page-header-heading .ant-avatar{margin-right:12px}.ant-page-header-heading-sub-title{margin-right:12px;color:rgba(255,255,255,.45);font-size:14px;line-height:1.5715;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-page-header-heading-extra{margin:4px 0;white-space:nowrap}.ant-page-header-heading-extra>*{margin-left:12px;white-space:unset}.ant-page-header-heading-extra>:first-child{margin-left:0}.ant-page-header-footer{margin-top:16px}.ant-page-header-footer .ant-tabs>.ant-tabs-nav{margin:0}.ant-page-header-footer .ant-tabs>.ant-tabs-nav::before{border:none}.ant-page-header-footer .ant-tabs .ant-tabs-tab{padding-top:8px;padding-bottom:8px;font-size:16px}.ant-page-header-compact .ant-page-header-heading{flex-wrap:wrap}.ant-page-header-rtl .ant-page-header-back{float:right;margin-right:0;margin-left:16px}.ant-page-header-rtl .ant-page-header-heading .ant-avatar,.ant-page-header-rtl .ant-page-header-heading-title{margin-right:0;margin-left:12px}.ant-page-header-rtl .ant-page-header-heading-sub-title{float:right;margin-right:0;margin-left:12px}.ant-page-header-rtl .ant-page-header-heading-tags{float:right}.ant-page-header-rtl .ant-page-header-heading-extra{float:left}.ant-page-header-rtl .ant-page-header-heading-extra>*{margin-right:12px;margin-left:0}.ant-pagination,.ant-pagination ol,.ant-pagination ul{margin:0;list-style:none;padding:0}.ant-page-header-rtl .ant-page-header-heading-extra>:first-child{margin-right:0}.ant-page-header-rtl .ant-page-header-footer .ant-tabs-bar .ant-tabs-nav{float:right}.ant-page-header-back-button{border:0;background:0 0;padding:0;line-height:inherit;display:inline-block}nz-page-header,nz-page-header-content,nz-page-header-footer{display:block}.ant-pagination{box-sizing:border-box;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;font-feature-settings:tnum}.ant-pagination::after{display:block;clear:both;height:0;overflow:hidden;visibility:hidden;content:' '}.ant-pagination-item,.ant-pagination-total-text{display:inline-block;margin-right:8px;vertical-align:middle;line-height:30px}.ant-pagination-total-text{height:32px}.ant-pagination-item{min-width:32px;height:32px;text-align:center;list-style:none;background-color:transparent;border:1px solid #434343;border-radius:2px;outline:0;cursor:pointer;user-select:none}.ant-pagination-item a{display:block;padding:0 6px;color:rgba(255,255,255,.85);transition:none}.ant-pagination-item-active a,.ant-pagination-item:focus-visible a,.ant-pagination-item:hover a{color:#177ddc}.ant-pagination-item a:hover{text-decoration:none}.ant-pagination-item:focus-visible,.ant-pagination-item:hover{border-color:#177ddc;transition:all .3s}.ant-pagination-item-active{font-weight:500;background:0 0;border-color:#177ddc}.ant-pagination-item-active:focus-visible,.ant-pagination-item-active:hover,.ant-pagination-next:hover button,.ant-pagination-prev:hover button{border-color:#165996}.ant-pagination-item-active:focus-visible a,.ant-pagination-item-active:hover a{color:#165996}.ant-pagination-jump-next,.ant-pagination-jump-prev{outline:0}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon{color:#177ddc;font-size:12px;letter-spacing:-1px;opacity:0;transition:all .2s}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon-svg,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon-svg{top:0;right:0;bottom:0;left:0;margin:auto}.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis,.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis{position:absolute;top:0;right:0;bottom:0;left:0;display:block;margin:auto;color:rgba(255,255,255,.3);font-family:Arial,Helvetica,sans-serif;letter-spacing:2px;text-align:center;text-indent:.13em;opacity:1;transition:all .2s}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-next,.ant-pagination-prev,.ant-select-multiple .ant-select-selection-search-input,.ant-select-multiple .ant-select-selection-search-mirror,.ant-statistic-content,.ant-steps-item-icon{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji'}.ant-pagination-jump-next:focus-visible .ant-pagination-item-link-icon,.ant-pagination-jump-next:hover .ant-pagination-item-link-icon,.ant-pagination-jump-prev:focus-visible .ant-pagination-item-link-icon,.ant-pagination-jump-prev:hover .ant-pagination-item-link-icon{opacity:1}.ant-pagination-jump-next:focus-visible .ant-pagination-item-ellipsis,.ant-pagination-jump-next:hover .ant-pagination-item-ellipsis,.ant-pagination-jump-prev:focus-visible .ant-pagination-item-ellipsis,.ant-pagination-jump-prev:hover .ant-pagination-item-ellipsis{opacity:0}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-prev{margin-right:8px}.ant-pagination-jump-next,.ant-pagination-jump-prev,.ant-pagination-next,.ant-pagination-prev{display:inline-block;min-width:32px;height:32px;color:rgba(255,255,255,.85);line-height:32px;text-align:center;vertical-align:middle;list-style:none;border-radius:2px;cursor:pointer;transition:all .3s}.ant-pagination-next,.ant-pagination-prev{font-family:Arial,Helvetica,sans-serif;outline:0}.ant-pagination-next button,.ant-pagination-prev button{color:rgba(255,255,255,.85);cursor:pointer;user-select:none}.ant-pagination-next .ant-pagination-item-link,.ant-pagination-prev .ant-pagination-item-link{display:block;width:100%;height:100%;padding:0;font-size:12px;text-align:center;background-color:transparent;border:1px solid #434343;border-radius:2px;outline:0;transition:all .3s}.ant-pagination-next:focus-visible .ant-pagination-item-link,.ant-pagination-next:hover .ant-pagination-item-link,.ant-pagination-prev:focus-visible .ant-pagination-item-link,.ant-pagination-prev:hover .ant-pagination-item-link{color:#177ddc;border-color:#177ddc}.ant-pagination-disabled,.ant-pagination-disabled:focus-visible,.ant-pagination-disabled:hover{cursor:not-allowed}.ant-pagination-disabled .ant-pagination-item-link,.ant-pagination-disabled:focus-visible .ant-pagination-item-link,.ant-pagination-disabled:hover .ant-pagination-item-link{color:rgba(255,255,255,.3);border-color:#434343;cursor:not-allowed}.ant-pagination-slash{margin:0 10px 0 5px}.ant-pagination-options{display:inline-block;margin-left:16px;vertical-align:middle}@media all and (-ms-high-contrast:none){.ant-pagination-options,.ant-pagination-options ::-ms-backdrop{vertical-align:top}}.ant-pagination-options-size-changer.ant-select{display:inline-block;width:auto}.ant-pagination-options-quick-jumper{display:inline-block;height:32px;margin-left:8px;line-height:32px;vertical-align:top}.ant-pagination-options-quick-jumper input{position:relative;display:inline-block;min-width:0;padding:4px 11px;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5715;background-color:transparent;background-image:none;border:1px solid #434343;border-radius:2px;transition:all .3s;width:50px;height:32px;margin:0 8px}.ant-pagination-options-quick-jumper input-disabled,.ant-pagination-options-quick-jumper input[disabled]{background-color:rgba(255,255,255,.08);opacity:1;color:rgba(255,255,255,.3);cursor:not-allowed;pointer-events:none}.ant-pagination-options-quick-jumper input::-moz-placeholder{opacity:1}.ant-pagination-options-quick-jumper input::placeholder{color:rgba(255,255,255,.3)}.ant-pagination-options-quick-jumper input:placeholder-shown{text-overflow:ellipsis}.ant-pagination-options-quick-jumper input:hover{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-pagination-options-quick-jumper input:hover{border-right-width:0;border-left-width:1px!important}.ant-pagination-options-quick-jumper input-focused,.ant-pagination-options-quick-jumper input:focus{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-pagination-options-quick-jumper input-focused,.ant-input-rtl .ant-pagination-options-quick-jumper input:focus{border-right-width:0;border-left-width:1px!important}.ant-pagination-options-quick-jumper input-disabled:hover,.ant-pagination-options-quick-jumper input[disabled]:hover{border-color:#434343;border-right-width:1px!important}.ant-pagination-options-quick-jumper input-borderless,.ant-pagination-options-quick-jumper input-borderless-disabled,.ant-pagination-options-quick-jumper input-borderless-focused,.ant-pagination-options-quick-jumper input-borderless:focus,.ant-pagination-options-quick-jumper input-borderless:hover,.ant-pagination-options-quick-jumper input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none}textarea.ant-pagination-options-quick-jumper input{max-width:100%;height:auto;min-height:32px;line-height:1.5715;vertical-align:bottom;transition:all .3s,height 0s}.ant-pagination-options-quick-jumper input-lg{padding:6.5px 11px;font-size:16px}.ant-pagination-options-quick-jumper input-sm{padding:0 7px}.ant-pagination-simple .ant-pagination-next,.ant-pagination-simple .ant-pagination-prev{height:24px;line-height:24px;vertical-align:top}.ant-progress-inner,.ant-progress-text,.ant-rate-star-first .anticon,.ant-rate-star-second .anticon,.ant-spin,.ant-switch,.ant-transfer-operation{vertical-align:middle}.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link,.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link{height:24px;background-color:transparent;border:0}.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link::after,.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link::after{height:24px;line-height:24px}.ant-pagination-simple .ant-pagination-simple-pager{display:inline-block;height:24px;margin-right:8px}.ant-pagination-simple .ant-pagination-simple-pager input{box-sizing:border-box;height:100%;margin-right:8px;padding:0 6px;text-align:center;background-color:transparent;border:1px solid #434343;border-radius:2px;outline:0;transition:border-color .3s}.ant-pagination-simple .ant-pagination-simple-pager input:hover{border-color:#177ddc}.ant-pagination-simple .ant-pagination-simple-pager input[disabled]{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;cursor:not-allowed}.ant-pagination.mini .ant-pagination-item:not(.ant-pagination-item-active),.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link,.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link{background:0 0;border-color:transparent}.ant-pagination.mini .ant-pagination-simple-pager,.ant-pagination.mini .ant-pagination-total-text{height:24px;line-height:24px}.ant-pagination.mini .ant-pagination-item{min-width:24px;height:24px;margin:0;line-height:22px}.ant-pagination.mini .ant-pagination-next,.ant-pagination.mini .ant-pagination-prev{min-width:24px;height:24px;margin:0;line-height:24px}.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link::after,.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link::after{height:24px;line-height:24px}.ant-pagination.mini .ant-pagination-jump-next,.ant-pagination.mini .ant-pagination-jump-prev{height:24px;margin-right:0;line-height:24px}.ant-pagination.mini .ant-pagination-options{margin-left:2px}.ant-pagination.mini .ant-pagination-options-size-changer{top:0}.ant-pagination.mini .ant-pagination-options-quick-jumper{height:24px;line-height:24px}.ant-popover,.ant-progress{line-height:1.5715;font-size:14px;box-sizing:border-box;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-pagination.mini .ant-pagination-options-quick-jumper input{padding:0 7px;width:44px;height:24px}.ant-pagination.ant-pagination-disabled{cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item{background:rgba(255,255,255,.08);border-color:#434343;cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item a{color:rgba(255,255,255,.3);background:0 0;border:none;cursor:not-allowed}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active{background:rgba(255,255,255,.25);border-color:transparent}.ant-pagination.ant-pagination-disabled .ant-pagination-item-active a{color:#000}.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);border-color:#434343;cursor:not-allowed}.ant-pagination-simple.ant-pagination.ant-pagination-disabled .ant-pagination-item-link{background:0 0}.ant-pagination.ant-pagination-disabled .ant-pagination-item-link-icon{opacity:0}.ant-pagination.ant-pagination-disabled .ant-pagination-item-ellipsis{opacity:1}.ant-pagination.ant-pagination-disabled .ant-pagination-simple-pager{color:rgba(255,255,255,.3)}@media only screen and (max-width:992px){.ant-pagination-item-after-jump-prev,.ant-pagination-item-before-jump-next{display:none}}@media only screen and (max-width:576px){.ant-pagination-options{display:none}}.ant-pagination-rtl .ant-pagination-item,.ant-pagination-rtl .ant-pagination-jump-next,.ant-pagination-rtl .ant-pagination-jump-prev,.ant-pagination-rtl .ant-pagination-prev,.ant-pagination-rtl .ant-pagination-total-text{margin-right:0;margin-left:8px}.ant-pagination-rtl .ant-pagination-slash{margin:0 5px 0 10px}.ant-pagination-rtl .ant-pagination-options{margin-right:16px;margin-left:0}.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-size-changer.ant-select{margin-right:0;margin-left:8px}.ant-pagination-rtl .ant-pagination-options .ant-pagination-options-quick-jumper{margin-left:0}.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager,.ant-pagination-rtl.ant-pagination-simple .ant-pagination-simple-pager input{margin-right:0;margin-left:8px}.ant-pagination-rtl.ant-pagination.mini .ant-pagination-options{margin-right:2px;margin-left:0}.ant-popover,.ant-popover-title{margin:0;color:rgba(255,255,255,.85)}nz-pagination{display:block}.ant-popover-hidden,.ant-radio+span:empty{display:none}.ant-popover{padding:0;top:0;left:0;z-index:1030;font-weight:400;white-space:normal;text-align:left;cursor:auto;user-select:text}.ant-popover::after{position:absolute;background:rgba(255,255,255,.01);content:''}.ant-popover-placement-top,.ant-popover-placement-topLeft,.ant-popover-placement-topRight{padding-bottom:10px}.ant-popover-placement-right,.ant-popover-placement-rightBottom,.ant-popover-placement-rightTop{padding-left:10px}.ant-popover-placement-bottom,.ant-popover-placement-bottomLeft,.ant-popover-placement-bottomRight{padding-top:10px}.ant-popover-placement-left,.ant-popover-placement-leftBottom,.ant-popover-placement-leftTop{padding-right:10px}.ant-popover-inner{background-color:#1f1f1f;background-clip:padding-box;border-radius:2px;box-shadow:0 0 8px rgba(0,0,0,.45)\9}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.ant-popover-inner{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}}.ant-popover-title{min-width:177px;min-height:32px;padding:5px 16px 4px;font-weight:500;border-bottom:1px solid #303030}.ant-popover-inner-content{padding:12px 16px;color:rgba(255,255,255,.85)}.ant-popover-message{position:relative;padding:4px 0 12px;color:rgba(255,255,255,.85);font-size:14px}.ant-popover-message>.anticon{position:absolute;top:8px;color:#d89614;font-size:14px}.ant-popover-message-title{padding-left:22px}.ant-popover-buttons{margin-bottom:4px;text-align:right}.ant-popover-buttons button{margin-left:8px}.ant-popover-arrow{position:absolute;display:block;width:8.49px;height:8.49px;overflow:hidden;background:0 0;pointer-events:none}.ant-popover-arrow-content{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:6px;height:6px;margin:auto;background-color:#1f1f1f;content:'';pointer-events:auto}.ant-popover-placement-top .ant-popover-arrow,.ant-popover-placement-topLeft .ant-popover-arrow,.ant-popover-placement-topRight .ant-popover-arrow{bottom:1.51px}.ant-popover-placement-top .ant-popover-arrow-content,.ant-popover-placement-topLeft .ant-popover-arrow-content,.ant-popover-placement-topRight .ant-popover-arrow-content{box-shadow:3px 3px 7px rgba(0,0,0,.07);transform:translateY(-4.24px) rotate(45deg)}.ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translateX(-50%)}.ant-popover-placement-topLeft .ant-popover-arrow{left:16px}.ant-popover-placement-topRight .ant-popover-arrow{right:16px}.ant-popover-placement-right .ant-popover-arrow,.ant-popover-placement-rightBottom .ant-popover-arrow,.ant-popover-placement-rightTop .ant-popover-arrow{left:1.51px}.ant-popover-placement-right .ant-popover-arrow-content,.ant-popover-placement-rightBottom .ant-popover-arrow-content,.ant-popover-placement-rightTop .ant-popover-arrow-content{box-shadow:-3px 3px 7px rgba(0,0,0,.07);transform:translateX(4.24px) rotate(45deg)}.ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%)}.ant-popover-placement-rightTop .ant-popover-arrow{top:12px}.ant-popover-placement-bottom .ant-popover-arrow,.ant-popover-placement-bottomLeft .ant-popover-arrow,.ant-popover-placement-bottomRight .ant-popover-arrow{top:1.51px}.ant-popover-placement-bottom .ant-popover-arrow-content,.ant-popover-placement-bottomLeft .ant-popover-arrow-content,.ant-popover-placement-bottomRight .ant-popover-arrow-content{box-shadow:-2px -2px 5px rgba(0,0,0,.06);transform:translateY(4.24px) rotate(45deg)}.ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translateX(-50%)}.ant-popover-placement-bottomLeft .ant-popover-arrow{left:16px}.ant-popover-placement-bottomRight .ant-popover-arrow{right:16px}.ant-popover-placement-left .ant-popover-arrow,.ant-popover-placement-leftBottom .ant-popover-arrow,.ant-popover-placement-leftTop .ant-popover-arrow{right:1.51px}.ant-popover-placement-left .ant-popover-arrow-content,.ant-popover-placement-leftBottom .ant-popover-arrow-content,.ant-popover-placement-leftTop .ant-popover-arrow-content{box-shadow:3px -3px 7px rgba(0,0,0,.07);transform:translateX(-4.24px) rotate(45deg)}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within,.ant-radio-button-wrapper:focus-within,.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within,.ant-radio-input:focus+.ant-radio-inner{box-shadow:0 0 0 3px rgba(23,125,220,.08)}.ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%)}.ant-popover-placement-leftTop .ant-popover-arrow{top:12px}.ant-popover-magenta .ant-popover-arrow-content,.ant-popover-magenta .ant-popover-inner,.ant-popover-pink .ant-popover-arrow-content,.ant-popover-pink .ant-popover-inner{background-color:#cb2b83}.ant-popover-red .ant-popover-arrow-content,.ant-popover-red .ant-popover-inner{background-color:#d32029}.ant-popover-volcano .ant-popover-arrow-content,.ant-popover-volcano .ant-popover-inner{background-color:#d84a1b}.ant-popover-orange .ant-popover-arrow-content,.ant-popover-orange .ant-popover-inner{background-color:#d87a16}.ant-popover-yellow .ant-popover-arrow-content,.ant-popover-yellow .ant-popover-inner{background-color:#d8bd14}.ant-popover-gold .ant-popover-arrow-content,.ant-popover-gold .ant-popover-inner{background-color:#d89614}.ant-popover-cyan .ant-popover-arrow-content,.ant-popover-cyan .ant-popover-inner{background-color:#13a8a8}.ant-popover-lime .ant-popover-arrow-content,.ant-popover-lime .ant-popover-inner{background-color:#8bbb11}.ant-popover-green .ant-popover-arrow-content,.ant-popover-green .ant-popover-inner{background-color:#49aa19}.ant-popover-blue .ant-popover-arrow-content,.ant-popover-blue .ant-popover-inner{background-color:#177ddc}.ant-popover-geekblue .ant-popover-arrow-content,.ant-popover-geekblue .ant-popover-inner{background-color:#2b4acb}.ant-popover-purple .ant-popover-arrow-content,.ant-popover-purple .ant-popover-inner{background-color:#642ab5}.ant-popover-rtl{text-align:right}.ant-popover-rtl .ant-popover-message-title{padding-right:22px;padding-left:16px}.ant-popover-rtl .ant-popover-buttons{text-align:left}.ant-popover-rtl .ant-popover-buttons button{margin-right:8px;margin-left:0}.ant-popover{position:relative}.ant-progress{margin:0;padding:0;color:rgba(255,255,255,.85);display:inline-block}.ant-progress-line{position:relative;width:100%;font-size:14px}.ant-progress-steps{display:inline-block}.ant-progress-steps-outer{display:flex;flex-direction:row;align-items:center}.ant-progress-steps-item{flex-shrink:0;min-width:2px;margin-right:2px;background:rgba(255,255,255,.08);transition:all .3s}.ant-progress-steps-item-active{background:#177ddc}.ant-progress-small.ant-progress-line,.ant-progress-small.ant-progress-line .ant-progress-text .anticon{font-size:12px}.ant-progress-outer{display:inline-block;width:100%;margin-right:0;padding-right:0}.ant-progress-show-info .ant-progress-outer{margin-right:calc(-2em - 8px);padding-right:calc(2em + 8px)}.ant-progress-inner{position:relative;display:inline-block;width:100%;overflow:hidden;background-color:rgba(255,255,255,.08);border-radius:100px}.ant-progress-circle-trail{stroke:rgba(255,255,255,.08)}.ant-progress-circle-path{animation:ant-progress-appear .3s}.ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#177ddc}.ant-progress-bg,.ant-progress-success-bg{position:relative;background-color:#177ddc;border-radius:100px;transition:all .4s cubic-bezier(.08,.82,.17,1) 0s}.ant-progress-success-bg{position:absolute;top:0;left:0;background-color:#49aa19}.ant-progress-text{display:inline-block;width:2em;margin-left:8px;color:rgba(255,255,255,.85);font-size:1em;line-height:1;white-space:nowrap;text-align:left;word-break:normal}.ant-progress-text .anticon{font-size:14px}.ant-progress-status-active .ant-progress-bg::before{position:absolute;top:0;right:0;bottom:0;left:0;background:#141414;border-radius:10px;opacity:0;animation:ant-progress-active 2.4s cubic-bezier(.23,1,.32,1) infinite;content:''}.ant-progress-status-exception .ant-progress-bg{background-color:#a61d24}.ant-progress-status-exception .ant-progress-text{color:#a61d24}.ant-progress-status-exception .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#a61d24}.ant-progress-status-success .ant-progress-bg{background-color:#49aa19}.ant-progress-status-success .ant-progress-text{color:#49aa19}.ant-progress-status-success .ant-progress-inner:not(.ant-progress-circle-gradient) .ant-progress-circle-path{stroke:#49aa19}.ant-progress-circle .ant-progress-inner{position:relative;line-height:1;background-color:transparent}.ant-progress-circle .ant-progress-text{position:absolute;top:50%;left:50%;width:100%;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:1em;line-height:1;white-space:normal;text-align:center;transform:translate(-50%,-50%)}.ant-progress-circle .ant-progress-text .anticon{font-size:1.16666667em}.ant-progress-circle.ant-progress-status-exception .ant-progress-text{color:#a61d24}.ant-progress-circle.ant-progress-status-success .ant-progress-text{color:#49aa19}@keyframes ant-progress-active{0%{transform:translateX(-100%) scaleX(0);opacity:.1}20%{transform:translateX(-100%) scaleX(0);opacity:.5}100%{transform:translateX(0) scaleX(1);opacity:0}}.ant-progress-rtl.ant-progress-show-info .ant-progress-outer{margin-right:0;margin-left:calc(-2em - 8px);padding-right:0;padding-left:calc(2em + 8px)}.ant-progress-rtl .ant-progress-success-bg{right:0;left:auto}.ant-progress-rtl.ant-progress-line .ant-progress-text,.ant-progress-rtl.ant-progress-steps .ant-progress-text{margin-right:8px;margin-left:0;text-align:right}.ant-radio-group{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;font-size:0;line-height:unset}.ant-radio,.ant-radio-wrapper{box-sizing:border-box;padding:0;color:rgba(255,255,255,.85);line-height:1.5715;position:relative;cursor:pointer;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-radio-group .ant-badge-count{z-index:1}.ant-radio-group>.ant-badge:not(:first-child)>.ant-radio-button-wrapper{border-left:none}.ant-radio-wrapper{margin:0 8px 0 0;display:inline-flex;align-items:baseline}.ant-radio-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-radio{margin:0;top:.2em;display:inline-block;outline:0}.ant-radio-input:focus+.ant-radio-inner,.ant-radio-wrapper:hover .ant-radio,.ant-radio:hover .ant-radio-inner{border-color:#177ddc}.ant-radio-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #177ddc;border-radius:50%;visibility:hidden;animation:antRadioEffect .36s ease-in-out;animation-fill-mode:both;content:''}.ant-radio-inner,.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle,.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle,.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle{border-radius:50%}.ant-radio-wrapper:hover .ant-radio::after,.ant-radio:hover::after,.ant-tooltip{visibility:visible}.ant-radio-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;background-color:transparent;border-color:#434343;border-style:solid;border-width:1px;transition:all .3s}.ant-radio-inner::after{position:absolute;top:3px;left:3px;display:block;width:8px;height:8px;background-color:#177ddc;border-top:0;border-left:0;border-radius:8px;transform:scale(0);opacity:0;transition:all .3s cubic-bezier(.78,.14,.15,.86);content:' '}.ant-radio-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;cursor:pointer;opacity:0}.ant-radio-button-wrapper-disabled,.ant-radio-disabled,.ant-radio-disabled .ant-radio-inner,.ant-radio-disabled .ant-radio-input,.ant-radio-disabled+span{cursor:not-allowed}.ant-radio-checked .ant-radio-inner{border-color:#177ddc}.ant-radio-checked .ant-radio-inner::after{transform:scale(1);opacity:1;transition:all .3s cubic-bezier(.78,.14,.15,.86)}.ant-radio-disabled .ant-radio-inner{background-color:rgba(255,255,255,.08);border-color:#434343!important}.ant-radio-disabled .ant-radio-inner::after{background-color:rgba(255,255,255,.2)}.ant-radio-disabled+span{color:rgba(255,255,255,.3)}.ant-radio-button-wrapper,.ant-radio-button-wrapper a,.ant-select{color:rgba(255,255,255,.85)}span.ant-radio+*{padding-right:8px;padding-left:8px}.ant-radio-button-wrapper{position:relative;display:inline-block;height:32px;margin:0;padding:0 15px;font-size:14px;line-height:30px;background:0 0;border:1px solid #434343;border-top-width:1.02px;border-left-width:0;cursor:pointer;transition:color .3s,background .3s,border-color .3s,box-shadow .3s}.ant-radio-button-wrapper>.ant-radio-button{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%}.ant-radio-group-large .ant-radio-button-wrapper{height:40px;font-size:16px;line-height:38px}.ant-radio-group-small .ant-radio-button-wrapper{height:24px;padding:0 7px;line-height:22px}.ant-radio-button-wrapper:not(:first-child)::before{position:absolute;top:-1px;left:-1px;display:block;box-sizing:content-box;width:1px;height:100%;padding:1px 0;background-color:#434343;transition:background-color .3s;content:''}.ant-radio-button-wrapper:first-child{border-left:1px solid #434343;border-radius:2px 0 0 2px}.ant-radio-button-wrapper:last-child{border-radius:0 2px 2px 0}.ant-radio-button-wrapper:first-child:last-child{border-radius:2px}.ant-radio-button-wrapper:hover{position:relative;color:#177ddc}.ant-radio-button-wrapper .ant-radio-inner,.ant-radio-button-wrapper input[type=radio],.ant-radio-button-wrapper input[type=checkbox]{width:0;height:0;opacity:0;pointer-events:none}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){z-index:1;color:#177ddc;background:0 0;border-color:#177ddc}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before{background-color:#177ddc}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):first-child{border-color:#177ddc}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#165996;border-color:#165996}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover::before{background-color:#165996}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#388ed3;border-color:#388ed3}.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active::before{background-color:#388ed3}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){color:#fff;background:#177ddc;border-color:#177ddc}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover{color:#fff;background:#165996;border-color:#165996}.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active{color:#fff;background:#388ed3;border-color:#388ed3}.ant-radio-button-wrapper-disabled,.ant-radio-button-wrapper-disabled:first-child,.ant-radio-button-wrapper-disabled:hover{color:rgba(255,255,255,.3);background-color:rgba(255,255,255,.08);border-color:#434343}.ant-radio-button-wrapper-disabled:first-child{border-left-color:#434343}.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked{color:rgba(255,255,255,.3);background-color:rgba(255,255,255,.2);border-color:#434343;box-shadow:none}@keyframes antRadioEffect{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}.ant-radio-wrapper.ant-radio-wrapper-rtl{margin-right:0;margin-left:8px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl{border-right-width:0;border-left-width:1px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:not(:first-child)::before{right:-1px;left:0}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:first-child{border-right:1px solid #434343;border-radius:0 2px 2px 0}.ant-radio-button-wrapper-checked:not([class*=' ant-radio-button-wrapper-disabled']).ant-radio-button-wrapper:first-child{border-right-color:#165996}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper:last-child{border-radius:2px 0 0 2px}.ant-radio-button-wrapper.ant-radio-button-wrapper-rtl.ant-radio-button-wrapper-disabled:first-child{border-right-color:#434343}.ant-rate,.ant-rate-star,.ant-rate-text{display:inline-block}.ant-rate{box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;margin:0;padding:0;color:#d8bd14;font-size:20px;line-height:unset;list-style:none;outline:0}.ant-rate-disabled .ant-rate-star{cursor:default}.ant-rate-disabled .ant-rate-star:hover{transform:scale(1)}.ant-rate-star{position:relative;color:inherit;cursor:pointer}.ant-rate-star:not(:last-child){margin-right:8px}.ant-rate-star>div{transition:all .3s}.ant-rate-star>div:focus-visible,.ant-rate-star>div:hover{transform:scale(1.1)}.ant-rate-star>div:focus:not(:focus-visible){outline:0}.ant-rate-star-first,.ant-rate-star-second{color:rgba(255,255,255,.12);transition:all .3s;user-select:none}.ant-rate-star-first{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden;opacity:0}.ant-rate-star-half .ant-rate-star-first,.ant-rate-star-half .ant-rate-star-second{opacity:1}.ant-rate-star-full .ant-rate-star-second,.ant-rate-star-half .ant-rate-star-first{color:inherit}.ant-rate-text{margin:0 8px;font-size:14px}.ant-rate-rtl .ant-rate-star:not(:last-child){margin-right:0;margin-left:8px}.ant-rate-rtl .ant-rate-star-first{right:0;left:auto}.ant-select-single .ant-select-selector{display:flex}.ant-select-single .ant-select-selector .ant-select-selection-search{position:absolute;top:0;right:11px;bottom:0;left:11px}.ant-select-single .ant-select-selector .ant-select-selection-search-input{width:100%}.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-single .ant-select-selector .ant-select-selection-placeholder{padding:0;line-height:30px;transition:all .3s}@supports (-moz-appearance:meterbar){.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-single .ant-select-selector .ant-select-selection-placeholder{line-height:30px}}.ant-select-single .ant-select-selector .ant-select-selection-item{position:relative;user-select:none}.ant-select-single .ant-select-selector .ant-select-selection-placeholder{pointer-events:none}.ant-select-single .ant-select-selector .ant-select-selection-item::after,.ant-select-single .ant-select-selector .ant-select-selection-placeholder::after,.ant-select-single .ant-select-selector::after{display:inline-block;width:0;visibility:hidden;content:'\a0'}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder::after,.ant-select-single.ant-select-customize-input .ant-select-selector::after{display:none}.ant-select-single.ant-select-show-arrow .ant-select-selection-search{right:25px}.ant-select-single.ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-right:18px}.ant-select-single.ant-select-open .ant-select-selection-item{color:rgba(255,255,255,.3)}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{width:100%;height:32px;padding:0 11px}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{height:30px}.ant-select-single:not(.ant-select-customize-input) .ant-select-selector::after{line-height:30px}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search{position:static;width:100%}.ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder{position:absolute;right:0;left:0;padding:0 11px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{height:40px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder,.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector::after{line-height:38px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input{height:38px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector{height:24px;padding:0 7px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder,.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector::after{line-height:22px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input):not(.ant-select-customize-input) .ant-select-selection-search-input{height:22px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search{right:7px;left:7px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{right:28px}.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-right:21px}.ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{padding:0 11px}.ant-select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%}.ant-select-selection-overflow-item{flex:none;align-self:center;max-width:100%}.ant-select-multiple .ant-select-selector{display:flex;flex-wrap:wrap;align-items:center;padding:1px 4px}.ant-select-show-search.ant-select-multiple .ant-select-selector{cursor:text}.ant-select-disabled.ant-select-multiple .ant-select-selector{background:#141414;cursor:not-allowed}.ant-select-multiple .ant-select-selector::after{display:inline-block;width:0;margin:2px 0;line-height:24px;content:'\a0'}.ant-select-multiple.ant-select-allow-clear .ant-select-selector,.ant-select-multiple.ant-select-show-arrow .ant-select-selector{padding-right:24px}.ant-select-multiple .ant-select-selection-item{position:relative;display:flex;flex:none;box-sizing:border-box;max-width:100%;height:24px;margin-top:2px;margin-bottom:2px;line-height:22px;background:rgba(255,255,255,.08);border:1px solid #303030;border-radius:2px;cursor:default;transition:font-size .3s,line-height .3s,height .3s;user-select:none;margin-inline-end:4px;padding-inline-start:8px;padding-inline-end:4px}.ant-select-disabled.ant-select-multiple .ant-select-selection-item{color:#595959;border-color:#1f1f1f;cursor:not-allowed}.ant-select-multiple .ant-select-selection-item-content{display:inline-block;margin-right:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis}.ant-select-multiple .ant-select-selection-item-remove{color:inherit;text-align:center;text-transform:none;vertical-align:-.125em;display:inline-block;color:rgba(255,255,255,.45);font-weight:700;font-size:10px;line-height:inherit;cursor:pointer}.ant-select-multiple .ant-select-selection-item-remove>*{line-height:1}.ant-select-multiple .ant-select-selection-item-remove svg{display:inline-block}.ant-select-multiple .ant-select-selection-item-remove::before{display:none}.ant-select-multiple .ant-select-selection-item-remove .ant-select-multiple .ant-select-selection-item-remove-icon{display:block}.ant-select-multiple .ant-select-selection-item-remove>.anticon{vertical-align:-.2em}.ant-select-multiple .ant-select-selection-item-remove:hover{color:rgba(255,255,255,.75)}.ant-select-multiple .ant-select-selection-overflow-item+.ant-select-selection-overflow-item .ant-select-selection-search{margin-inline-start:0}.ant-select-multiple .ant-select-selection-search{position:relative;max-width:100%;margin-top:2px;margin-bottom:2px;margin-inline-start:7px}.ant-select-multiple .ant-select-selection-search-input,.ant-select-multiple .ant-select-selection-search-mirror{height:24px;line-height:24px;transition:all .3s}.ant-select-multiple .ant-select-selection-search-input{width:100%;min-width:4.1px}.ant-select-multiple .ant-select-selection-search-mirror{position:absolute;top:0;left:0;z-index:999;white-space:pre;visibility:hidden}.ant-select-multiple .ant-select-selection-placeholder{position:absolute;top:50%;right:11px;left:11px;transform:translateY(-50%);transition:all .3s}.ant-select-multiple.ant-select-lg .ant-select-selector::after{line-height:32px}.ant-select-multiple.ant-select-lg .ant-select-selection-search{height:32px;line-height:32px}.ant-select-multiple.ant-select-lg .ant-select-selection-search-input,.ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror{height:32px;line-height:30px}.ant-select-multiple.ant-select-sm .ant-select-selector::after{line-height:16px}.ant-select-multiple.ant-select-sm .ant-select-selection-item{height:16px;line-height:14px}.ant-select-multiple.ant-select-sm .ant-select-selection-search{height:16px;line-height:16px;margin-inline-start:3px}.ant-select-multiple.ant-select-sm .ant-select-selection-search-input,.ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror{height:16px;line-height:14px}.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{left:7px}.ant-select-multiple.ant-select-lg .ant-select-selection-item{height:32px;line-height:32px}.ant-select-disabled .ant-select-selection-item-remove{display:none}.ant-select{box-sizing:border-box;margin:0;padding:0;font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:relative;display:inline-block;cursor:pointer}.ant-select:not(.ant-select-customize-input) .ant-select-selector{position:relative;background-color:transparent;border:1px solid #434343;border-radius:2px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:pointer}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector{cursor:text}.ant-select-show-search.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:auto}.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-right-width:0;border-left-width:1px!important}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);cursor:not-allowed}.ant-select-multiple.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{background:#141414}.ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:not-allowed}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{margin:0;padding:0;background:0 0;border:none;outline:0;appearance:none}.ant-select-arrow,.ant-select-clear{position:absolute;right:11px;width:12px;height:12px;margin-top:-6px;font-size:12px;line-height:1;text-transform:none;text-align:center}.ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button{display:none;-webkit-appearance:none}.ant-select-arrow,.ant-select-arrow svg,.ant-select-clear{display:inline-block}.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-right-width:0;border-left-width:1px!important}.ant-select-selection-item{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media all and (-ms-high-contrast:none){.ant-select-selection-item,.ant-select-selection-item ::-ms-backdrop{flex:auto}}.ant-select-selection-placeholder{flex:1;overflow:hidden;color:rgba(255,255,255,.3);white-space:nowrap;text-overflow:ellipsis;pointer-events:none}@media all and (-ms-high-contrast:none){.ant-select-selection-placeholder,.ant-select-selection-placeholder ::-ms-backdrop{flex:auto}}.ant-select-arrow{color:inherit;vertical-align:-.125em;top:53%;color:rgba(255,255,255,.3);pointer-events:none}.ant-select-arrow>*{line-height:1}.ant-select-arrow::before{display:none}.ant-select-arrow .ant-select-arrow-icon{display:block}.ant-select-arrow .anticon{vertical-align:top;transition:transform .3s}.ant-select-arrow .anticon>svg{vertical-align:top}.ant-select-arrow .anticon:not(.ant-select-suffix){pointer-events:auto}.ant-select-disabled .ant-select-arrow{cursor:not-allowed}.ant-select-clear{top:50%;z-index:1;color:rgba(255,255,255,.3);font-style:normal;background:#141414;cursor:pointer;opacity:0;transition:color .3s ease,opacity .15s ease;text-rendering:auto}.ant-select-clear::before{display:block}.ant-select-clear:hover{color:rgba(255,255,255,.45)}.ant-select:hover .ant-select-clear{opacity:1}.ant-select-dropdown{margin:0;color:rgba(255,255,255,.85);line-height:1.5715;list-style:none;font-feature-settings:tnum;z-index:1050;box-sizing:border-box;padding:4px 0;overflow:hidden;font-size:14px;font-variant:initial;background-color:#1f1f1f;border-radius:2px;outline:0}.ant-select-dropdown-empty,.ant-select-item-empty{color:rgba(255,255,255,.3)}.ant-select-item,.ant-select-item-empty{display:block;min-height:32px;padding:5px 12px;position:relative;font-size:14px;line-height:22px;font-weight:400}.ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft,.ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownIn}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft{animation-name:antSlideUpOut}.ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft{animation-name:antSlideDownOut}.ant-select-item{color:rgba(255,255,255,.85);cursor:pointer;transition:background .3s ease}.ant-select-item-group{color:rgba(255,255,255,.45);font-size:12px;cursor:default}.ant-select-item-option{display:flex}.ant-select-item-option-content{flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-select-item-option-state{flex:none}.ant-select-item-option-active:not(.ant-select-item-option-disabled){background-color:rgba(255,255,255,.08)}.ant-select-item-option-selected:not(.ant-select-item-option-disabled){color:rgba(255,255,255,.85);font-weight:600;background-color:#111b26}.ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state{color:#177ddc}.ant-select-item-option-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-select-item-option-grouped{padding-left:24px}.ant-select-lg{font-size:16px}.ant-select-borderless .ant-select-selector{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important}.ant-select-rtl .ant-select-arrow,.ant-select-rtl .ant-select-clear{right:initial;left:11px}.ant-select-dropdown-rtl .ant-select-item-option-grouped{padding-right:24px;padding-left:12px}.ant-select-rtl.ant-select-multiple.ant-select-allow-clear .ant-select-selector,.ant-select-rtl.ant-select-multiple.ant-select-show-arrow .ant-select-selector{padding-right:4px;padding-left:24px}.ant-select-rtl.ant-select-multiple .ant-select-selection-item{text-align:right}.ant-select-rtl.ant-select-multiple .ant-select-selection-item-content{margin-right:0;margin-left:4px;text-align:right}.ant-select-rtl.ant-select-multiple .ant-select-selection-search-mirror{right:0;left:auto}.ant-select-rtl.ant-select-multiple .ant-select-selection-placeholder{right:11px;left:auto}.ant-select-rtl.ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{right:7px}.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-item,.ant-select-rtl.ant-select-single .ant-select-selector .ant-select-selection-placeholder{right:0;left:9px;text-align:right}.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-search{right:11px;left:25px}.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-item,.ant-select-rtl.ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-right:0;padding-left:18px}.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{right:6px}.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,.ant-select-rtl.ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-right:0;padding-left:21px}.ant-select-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px;display:block}.ant-select-dropdown .cdk-virtual-scroll-content-wrapper{right:0}.ant-select-dropdown .full-width{contain:initial}.ant-select-dropdown .full-width .cdk-virtual-scroll-content-wrapper{position:static}.ant-skeleton{display:table;width:100%}.ant-skeleton-header{display:table-cell;padding-right:16px;vertical-align:top}.ant-skeleton-header .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:32px;height:32px;line-height:32px}.ant-skeleton-header .ant-skeleton-avatar-lg{width:40px;height:40px;line-height:40px}.ant-skeleton-header .ant-skeleton-avatar-sm{width:24px;height:24px;line-height:24px}.ant-skeleton-content{display:table-cell;width:100%;vertical-align:top}.ant-skeleton-content .ant-skeleton-title{width:100%;height:16px;margin-top:16px;background:rgba(190,190,190,.2);border-radius:4px}.ant-skeleton-content .ant-skeleton-title+.ant-skeleton-paragraph{margin-top:24px}.ant-skeleton-content .ant-skeleton-paragraph{padding:0}.ant-skeleton-content .ant-skeleton-paragraph>li{width:100%;height:16px;list-style:none;background:rgba(190,190,190,.2);border-radius:4px}.ant-skeleton-content .ant-skeleton-paragraph>li:last-child:not(:first-child):not(:nth-child(2)){width:61%}.ant-skeleton-content .ant-skeleton-paragraph>li+li{margin-top:16px}.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title{margin-top:12px}.ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title+.ant-skeleton-paragraph{margin-top:28px}.ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton-round .ant-skeleton-content .ant-skeleton-title{border-radius:100px}.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton.ant-skeleton-active .ant-skeleton-button,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title,.ant-skeleton.ant-skeleton-active .ant-skeleton-image,.ant-skeleton.ant-skeleton-active .ant-skeleton-input{background:linear-gradient(90deg,rgba(190,190,190,.2) 25%,rgba(255,255,255,.16) 37%,rgba(190,190,190,.2) 63%);background-size:400% 100%;animation:ant-skeleton-loading 1.4s ease infinite}.ant-skeleton-element{display:inline-block;width:auto}.ant-skeleton-element .ant-skeleton-button{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);border-radius:2px;width:64px;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle{width:32px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round{border-radius:32px}.ant-skeleton-element .ant-skeleton-button-lg{width:80px;height:40px;line-height:40px}.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle{width:40px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round{border-radius:40px}.ant-skeleton-element .ant-skeleton-button-sm{width:48px;height:24px;line-height:24px}.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle{width:24px;border-radius:50%}.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round{border-radius:24px}.ant-skeleton-element .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle,.ant-skeleton-element .ant-skeleton-image-svg.ant-skeleton-image-circle,.ant-skeleton-element .ant-skeleton-image.ant-skeleton-image-circle{border-radius:50%}.ant-skeleton-element .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:32px;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-avatar-lg{width:40px;height:40px;line-height:40px}.ant-skeleton-element .ant-skeleton-avatar-sm{width:24px;height:24px;line-height:24px}.ant-skeleton-element .ant-skeleton-input{display:inline-block;vertical-align:top;background:rgba(190,190,190,.2);width:100%;height:32px;line-height:32px}.ant-skeleton-element .ant-skeleton-input-lg{width:100%;height:40px;line-height:40px}.ant-skeleton-element .ant-skeleton-input-sm{width:100%;height:24px;line-height:24px}.ant-skeleton-element .ant-skeleton-image{display:flex;align-items:center;justify-content:center;vertical-align:top;background:rgba(190,190,190,.2);width:96px;height:96px;line-height:96px}.ant-skeleton-element .ant-skeleton-image-path{fill:#bfbfbf}.ant-skeleton-element .ant-skeleton-image-svg{width:48px;height:48px;line-height:48px;max-width:192px;max-height:192px}@keyframes ant-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.ant-skeleton-rtl .ant-skeleton-header{padding-right:0;padding-left:16px}.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph>li,.ant-skeleton-rtl.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title{animation-name:ant-skeleton-loading-rtl}@keyframes ant-skeleton-loading-rtl{0%{background-position:0 50%}100%{background-position:100% 50%}}.ant-slider{box-sizing:border-box;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:relative;height:12px;margin:10px 6px;padding:4px 0;cursor:pointer;touch-action:none}.ant-slider-vertical{width:12px;height:100%;margin:6px 10px;padding:0 4px}.ant-slider-vertical .ant-slider-rail{width:4px;height:100%}.ant-slider-vertical .ant-slider-track{width:4px}.ant-slider-vertical .ant-slider-handle{margin-top:-6px;margin-left:-5px}.ant-slider-vertical .ant-slider-mark{top:0;left:12px;width:18px;height:100%}.ant-slider-vertical .ant-slider-mark-text{left:4px;white-space:nowrap}.ant-slider-vertical .ant-slider-step{width:4px;height:100%}.ant-slider-rail,.ant-slider-track{position:absolute;height:4px;transition:background-color .3s}.ant-slider-vertical .ant-slider-dot{top:auto;left:2px;margin-bottom:-4px}.ant-slider-tooltip .ant-tooltip-inner{min-width:unset}.ant-slider-rtl.ant-slider-vertical .ant-slider-handle{margin-right:-5px;margin-left:0}.ant-slider-dot,.ant-slider-dot:first-child,.ant-slider-dot:last-child{margin-left:-4px}.ant-slider-rtl.ant-slider-vertical .ant-slider-mark{right:12px;left:auto}.ant-slider-rtl.ant-slider-vertical .ant-slider-mark-text{right:4px;left:auto}.ant-slider-rtl.ant-slider-vertical .ant-slider-dot{right:2px;left:auto}.ant-slider-with-marks{margin-bottom:28px}.ant-slider-rail{width:100%;background-color:#262626;border-radius:2px}.ant-slider-track{background-color:#153450;border-radius:2px}.ant-slider-dot,.ant-slider-handle{background-color:#141414;cursor:pointer;position:absolute}.ant-slider-handle{width:14px;height:14px;margin-top:-5px;border:2px solid #153450;border-radius:50%;box-shadow:0;transition:border-color .3s,box-shadow .6s,transform .3s cubic-bezier(.18,.89,.32,1.28)}.ant-slider:hover .ant-slider-rail,.ant-tooltip-inner{background-color:#434343}.ant-slider-handle-dragging.ant-slider-handle-dragging.ant-slider-handle-dragging,.ant-slider-handle:focus{border-color:#4697e3;box-shadow:0 0 0 5px rgba(23,125,220,.12)}.ant-slider-handle:focus{outline:0}.ant-slider-handle.ant-tooltip-open{border-color:#177ddc}.ant-slider:hover .ant-slider-track{background-color:#16436e}.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open){border-color:#16436e}.ant-slider-mark{position:absolute;top:14px;left:0;width:100%;font-size:14px}.ant-slider-mark-text{position:absolute;display:inline-block;color:rgba(255,255,255,.45);text-align:center;word-break:keep-all;cursor:pointer;user-select:none}.ant-slider-mark-text-active{color:rgba(255,255,255,.85)}.ant-slider-step{position:absolute;width:100%;height:4px;background:0 0}.ant-slider-dot{top:-2px;width:8px;height:8px;border:2px solid #303030;border-radius:50%}.ant-slider-dot-active{border-color:#16436e}.ant-slider-disabled{cursor:not-allowed}.ant-slider-disabled .ant-slider-track{background-color:rgba(255,255,255,.3)!important}.ant-slider-disabled .ant-slider-dot,.ant-slider-disabled .ant-slider-handle{background-color:#141414;border-color:rgba(255,255,255,.3)!important;box-shadow:none;cursor:not-allowed}.ant-slider-disabled .ant-slider-dot,.ant-slider-disabled .ant-slider-mark-text{cursor:not-allowed!important}.ant-slider-rtl .ant-slider-mark{right:0;left:auto}.ant-slider-rtl .ant-slider-dot,.ant-slider-rtl .ant-slider-dot:first-child,.ant-slider-rtl .ant-slider-dot:last-child{margin-right:-4px;margin-left:0}.ant-spin,.ant-statistic{margin:0;line-height:1.5715;box-sizing:border-box}.ant-spin{padding:0;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:absolute;display:none;color:#177ddc;text-align:center;opacity:0;transition:transform .3s cubic-bezier(.78,.14,.15,.86)}.ant-spin-spinning{position:static;display:inline-block;opacity:1}.ant-spin-nested-loading{position:relative}.ant-spin-nested-loading>div>.ant-spin{position:absolute;top:0;left:0;z-index:4;display:block;width:100%;height:100%;max-height:400px}.ant-spin-nested-loading>div>.ant-spin .ant-spin-dot{position:absolute;top:50%;left:50%;margin:-10px}.ant-spin-nested-loading>div>.ant-spin .ant-spin-text{position:absolute;top:50%;width:100%;padding-top:5px;text-shadow:0 1px 2px #141414}.ant-spin-nested-loading>div>.ant-spin.ant-spin-show-text .ant-spin-dot{margin-top:-20px}.ant-spin-nested-loading>div>.ant-spin-sm .ant-spin-dot{margin:-7px}.ant-spin-nested-loading>div>.ant-spin-sm .ant-spin-text{padding-top:2px}.ant-spin-nested-loading>div>.ant-spin-sm.ant-spin-show-text .ant-spin-dot{margin-top:-17px}.ant-spin-nested-loading>div>.ant-spin-lg .ant-spin-dot{margin:-16px}.ant-spin-nested-loading>div>.ant-spin-lg .ant-spin-text{padding-top:11px}.ant-statistic,.ant-steps{padding:0;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-spin-nested-loading>div>.ant-spin-lg.ant-spin-show-text .ant-spin-dot{margin-top:-26px}.ant-spin-container{position:relative;transition:opacity .3s}.ant-spin-container::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:none\9;width:100%;height:100%;background:#141414;opacity:0;transition:all .3s;content:'';pointer-events:none}.ant-spin-blur{clear:both;overflow:hidden;opacity:.5;user-select:none;pointer-events:none}.ant-spin-blur::after{opacity:.4;pointer-events:auto}.ant-spin-tip{color:rgba(255,255,255,.45)}.ant-spin-dot{position:relative;display:inline-block;font-size:20px;width:1em;height:1em}.ant-spin-dot-item{position:absolute;display:block;width:9px;height:9px;background-color:#177ddc;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.ant-spin-dot-item:nth-child(1){top:0;left:0}.ant-spin-dot-item:nth-child(2){top:0;right:0;animation-delay:.4s}.ant-spin-dot-item:nth-child(3){right:0;bottom:0;animation-delay:.8s}.ant-spin-dot-item:nth-child(4){bottom:0;left:0;animation-delay:1.2s}.ant-spin-dot-spin{transform:rotate(45deg);animation:antRotate 1.2s infinite linear}.ant-spin-sm .ant-spin-dot{font-size:14px}.ant-spin-sm .ant-spin-dot i{width:6px;height:6px}.ant-spin-lg .ant-spin-dot{font-size:32px}.ant-spin-lg .ant-spin-dot i{width:14px;height:14px}.ant-spin.ant-spin-show-text .ant-spin-text{display:block}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.ant-spin-blur{background:#141414;opacity:.5}}@keyframes antSpinMove{to{opacity:1}}@keyframes antRotate{to{transform:rotate(405deg)}}.ant-spin-rtl .ant-spin-dot-spin{transform:rotate(-45deg);animation-name:antRotateRtl}@keyframes antRotateRtl{to{transform:rotate(-405deg)}}nz-spin{display:block}.ant-statistic{color:rgba(255,255,255,.85);font-size:14px}.ant-statistic-title{margin-bottom:4px;color:rgba(255,255,255,.45);font-size:14px}.ant-statistic-content{color:rgba(255,255,255,.85);font-size:24px}.ant-statistic-content-value{display:inline-block;direction:ltr}.ant-cascader-menu-rtl .ant-cascader-menu,.ant-cascader-picker-rtl,.ant-statistic-rtl,.ant-steps-rtl,.ant-switch-rtl,.ant-table-rtl,.ant-table-wrapper-rtl,.ant-tabs-dropdown-rtl,.ant-tabs-rtl,.ant-tag.ant-tag-rtl,.ant-timeline-rtl,.ant-tooltip-rtl,.ant-transfer-rtl,.ant-tree .ant-tree-treenode-rtl,.ant-tree-checkbox-rtl,.ant-tree-rtl,.ant-typography-rtl,.ant-upload-list-rtl,.ant-upload-rtl{direction:rtl}.ant-statistic-content-prefix,.ant-statistic-content-suffix{display:inline-block}.ant-statistic-content-prefix{margin-right:4px}.ant-statistic-content-suffix{margin-left:4px}.ant-statistic-rtl .ant-statistic-content-prefix{margin-right:0;margin-left:4px}.ant-statistic-rtl .ant-statistic-content-suffix{margin-right:4px;margin-left:0}.ant-steps{box-sizing:border-box;margin:0;color:rgba(255,255,255,.85);line-height:1.5715;display:flex;width:100%;font-size:0;text-align:initial}.ant-steps-item{position:relative;display:inline-block;flex:1;overflow:hidden;vertical-align:top}.ant-steps-item-container{outline:0}.ant-steps-item:last-child{flex:none}.ant-steps-item:last-child>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item:last-child>.ant-steps-item-container>.ant-steps-item-tail{display:none}.ant-steps-item-content,.ant-steps-item-icon{display:inline-block;vertical-align:top}.ant-steps-item-icon{width:32px;height:32px;margin:0 8px 0 0;font-size:16px;line-height:32px;text-align:center;border:1px solid rgba(255,255,255,.3);border-radius:32px;transition:background-color .3s,border-color .3s}.ant-steps-item-tail::after,.ant-steps-item-title::after{height:1px;background:#303030;content:''}.ant-steps-item-icon .ant-steps-icon{position:relative;top:-.5px;color:#177ddc;line-height:1}.ant-steps-item-tail{position:absolute;top:12px;left:0;width:100%;padding:0 10px}.ant-steps-item-tail::after{display:inline-block;width:100%;border-radius:1px;transition:background .3s}.ant-steps-item-title{position:relative;display:inline-block;padding-right:16px;color:rgba(255,255,255,.85);font-size:16px;line-height:32px}.ant-steps-item-description,.ant-steps-item-subtitle{color:rgba(255,255,255,.45);font-size:14px}.ant-steps-item-title::after{position:absolute;top:16px;left:100%;display:block;width:9999px}.ant-steps-item-subtitle{display:inline;margin-left:8px;font-weight:400}.ant-steps-item-wait .ant-steps-item-icon{background-color:transparent;border-color:rgba(255,255,255,.3)}.ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon{color:rgba(255,255,255,.3)}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:rgba(255,255,255,.45)}.ant-steps-item-wait .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:rgba(255,255,255,.3)}.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-wait>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#303030}.ant-steps-item-process .ant-steps-item-icon{background-color:transparent;border-color:#177ddc}.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon{color:#177ddc}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:rgba(255,255,255,.85)}.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#177ddc}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#303030}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-icon{background:#177ddc}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-icon .ant-steps-icon{color:#fff}.ant-steps-item-process>.ant-steps-item-container>.ant-steps-item-title{font-weight:500}.ant-steps-item-finish .ant-steps-item-icon{background-color:transparent;border-color:#177ddc}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#177ddc}.ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon{color:#177ddc}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title,.ant-switch,.ant-table,.ant-table-footer,.ant-table-thead>tr>th{color:rgba(255,255,255,.85)}.ant-steps-item-finish .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#177ddc}.ant-steps-item-finish>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description{color:rgba(255,255,255,.45)}.ant-steps-item-error .ant-steps-item-icon>.ant-steps-icon,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-description,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title{color:#a61d24}.ant-steps-item-error .ant-steps-item-icon{background-color:transparent;border-color:#a61d24}.ant-steps-item-error .ant-steps-item-icon>.ant-steps-icon .ant-steps-icon-dot{background:#a61d24}.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after,.ant-steps-item-error>.ant-steps-item-container>.ant-steps-item-tail::after{background-color:#303030}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role=button]:hover .ant-steps-item-icon .ant-steps-icon,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-description,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button]:hover .ant-steps-item-title,.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon>.ant-steps-icon{color:#177ddc}.ant-steps-item.ant-steps-next-error .ant-steps-item-title::after{background:#a61d24}.ant-steps-item-disabled{cursor:not-allowed}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button],.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role=button],.ant-switch{cursor:pointer}.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-description,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-icon .ant-steps-icon,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-subtitle,.ant-steps .ant-steps-item:not(.ant-steps-item-active)>.ant-steps-item-container[role=button] .ant-steps-item-title{transition:color .3s}.ant-steps .ant-steps-item:not(.ant-steps-item-active):not(.ant-steps-item-process)>.ant-steps-item-container[role=button]:hover .ant-steps-item-icon{border-color:#177ddc}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-left:16px;white-space:nowrap}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-left:0}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title{padding-right:0}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-tail{display:none}.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item-description{max-width:140px;white-space:normal}.ant-steps-item-custom>.ant-steps-item-container>.ant-steps-item-icon{height:auto;background:0 0;border:0}.ant-steps-item-custom>.ant-steps-item-container>.ant-steps-item-icon>.ant-steps-icon{top:0;left:.5px;width:32px;height:32px;font-size:24px;line-height:32px}.ant-steps:not(.ant-steps-vertical) .ant-steps-item-custom .ant-steps-item-icon{width:auto;background:0 0}.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-left:12px}.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-left:0}.ant-steps-small .ant-steps-item-icon{width:24px;height:24px;margin:0 8px 0 0;font-size:12px;line-height:24px;text-align:center;border-radius:24px}.ant-steps-small .ant-steps-item-title{padding-right:12px;font-size:14px;line-height:24px}.ant-steps-small .ant-steps-item-title::after{top:12px}.ant-steps-small .ant-steps-item-description{color:rgba(255,255,255,.45);font-size:14px}.ant-steps-small .ant-steps-item-tail{top:8px}.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon{width:inherit;height:inherit;line-height:inherit;background:0 0;border:0;border-radius:0}.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon>.ant-steps-icon{font-size:24px;line-height:24px;transform:none}.ant-steps-vertical{display:flex;flex-direction:column}.ant-steps-vertical>.ant-steps-item{display:block;flex:1 0 auto;padding-left:0;overflow:visible}.ant-steps-vertical>.ant-steps-item .ant-steps-item-icon{float:left;margin-right:16px}.ant-steps-vertical>.ant-steps-item .ant-steps-item-content{display:block;min-height:48px;overflow:hidden}.ant-steps-vertical>.ant-steps-item .ant-steps-item-title{line-height:32px}.ant-steps-vertical>.ant-steps-item .ant-steps-item-description{padding-bottom:12px}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{position:absolute;top:0;left:16px;width:1px;height:100%;padding:38px 0 6px}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail::after{width:1px;height:100%}.ant-steps-vertical>.ant-steps-item:not(:last-child)>.ant-steps-item-container>.ant-steps-item-tail{display:block}.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-content>.ant-steps-item-title::after{display:none}.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail{position:absolute;top:0;left:12px;padding:30px 0 6px}.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-title{line-height:24px}.ant-steps-label-vertical .ant-steps-item{overflow:visible}.ant-steps-label-vertical .ant-steps-item-tail{margin-left:58px;padding:3.5px 24px}.ant-steps-label-vertical .ant-steps-item-content{display:block;width:116px;margin-top:8px;text-align:center}.ant-steps-label-vertical .ant-steps-item-icon{display:inline-block;margin-left:42px}.ant-steps-label-vertical .ant-steps-item-title{padding-right:0;padding-left:0}.ant-steps-label-vertical .ant-steps-item-title::after{display:none}.ant-steps-label-vertical .ant-steps-item-subtitle{display:block;margin-bottom:4px;margin-left:0;line-height:1.5715}.ant-steps-label-vertical.ant-steps-small:not(.ant-steps-dot) .ant-steps-item-icon{margin-left:46px}.ant-steps-dot .ant-steps-item-title,.ant-steps-dot.ant-steps-small .ant-steps-item-title{line-height:1.5715}.ant-steps-dot .ant-steps-item-tail,.ant-steps-dot.ant-steps-small .ant-steps-item-tail{top:2px;width:100%;margin:0 0 0 70px;padding:0}.ant-steps-dot .ant-steps-item-tail::after,.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after{width:calc(100% - 20px);height:3px;margin-left:12px}.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot{left:2px}.ant-steps-dot .ant-steps-item-icon,.ant-steps-dot.ant-steps-small .ant-steps-item-icon{width:8px;height:8px;margin-left:67px;padding-right:0;line-height:8px;background:0 0;border:0}.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{position:relative;float:left;width:100%;height:100%;border-radius:100px;transition:all .3s}.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after,.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after{position:absolute;top:-12px;left:-26px;width:60px;height:32px;background:rgba(0,0,0,.001);content:''}.ant-steps-dot .ant-steps-item-content,.ant-steps-dot.ant-steps-small .ant-steps-item-content{width:140px}.ant-steps-dot .ant-steps-item-process .ant-steps-item-icon,.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-item-icon{position:relative;top:-1px;width:10px;height:10px;line-height:10px;background:0 0}.ant-steps-dot .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot,.ant-steps-dot.ant-steps-small .ant-steps-item-process .ant-steps-icon:first-child .ant-steps-icon-dot{left:0}.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon{margin-top:8px;margin-left:0;background:0 0}.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{top:2px;left:-9px;margin:0;padding:22px 0 4px}.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot{left:0}.ant-steps-vertical.ant-steps-dot .ant-steps-item-content{width:inherit}.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-item-container .ant-steps-item-icon .ant-steps-icon-dot{left:-2px}.ant-steps-navigation{padding-top:12px}.ant-steps-navigation.ant-steps-small .ant-steps-item-container{margin-left:-12px}.ant-steps-navigation .ant-steps-item{overflow:visible;text-align:center}.ant-steps-navigation .ant-steps-item-container{display:inline-block;height:100%;margin-left:-16px;padding-bottom:12px;text-align:left;transition:opacity .3s}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title::after,.ant-steps-navigation .ant-steps-item:last-child::after{display:none}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-content{max-width:auto}.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title{max-width:100%;padding-right:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-steps-navigation .ant-steps-item:not(.ant-steps-item-active) .ant-steps-item-container[role=button]:hover{opacity:.85}.ant-steps-navigation .ant-steps-item:last-child{flex:1}.ant-steps-navigation .ant-steps-item::after{position:absolute;top:50%;left:100%;display:inline-block;width:12px;height:12px;margin-top:-14px;margin-left:-2px;border:1px solid rgba(255,255,255,.2);border-bottom:none;border-left:none;transform:rotate(45deg);content:''}.ant-steps-navigation .ant-steps-item::before{position:absolute;bottom:0;left:50%;display:inline-block;width:0;height:2px;background-color:#177ddc;transition:width .3s,left .3s;transition-timing-function:ease-out;content:''}.ant-steps-navigation .ant-steps-item.ant-steps-item-active::before{left:0;width:100%}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item{margin-right:0!important}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item::before{display:none}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item.ant-steps-item-active::before{top:0;right:0;left:unset;display:block;width:3px;height:calc(100% - 24px)}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item::after{position:relative;top:-2px;left:50%;display:block;width:8px;height:8px;margin-bottom:8px;text-align:center;transform:rotate(135deg)}.ant-switch,nz-switch{display:inline-block}.ant-steps-navigation.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{visibility:hidden}.ant-steps.ant-steps-rtl .ant-steps-item-icon{margin-right:0;margin-left:8px}.ant-steps-rtl .ant-steps-item-tail{right:0;left:auto}.ant-steps-rtl .ant-steps-item-title{padding-right:0;padding-left:16px}.ant-steps-rtl .ant-steps-item-title::after{right:100%;left:auto}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-right:16px;padding-left:0}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-right:0}.ant-steps-rtl.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:last-child .ant-steps-item-title{padding-left:0}.ant-steps-rtl .ant-steps-item-custom .ant-steps-item-icon>.ant-steps-icon{right:.5px;left:auto}.ant-steps-rtl.ant-steps-navigation.ant-steps-small .ant-steps-item-container{margin-right:-12px;margin-left:0}.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container{margin-right:-16px;margin-left:0;text-align:right}.ant-steps-rtl.ant-steps-navigation .ant-steps-item-container .ant-steps-item-title{padding-left:0}.ant-steps-rtl.ant-steps-navigation .ant-steps-item::after{right:100%;left:auto;margin-right:-2px;margin-left:0;transform:rotate(225deg)}.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item{padding-right:12px;padding-left:0}.ant-steps-rtl.ant-steps-small.ant-steps-horizontal:not(.ant-steps-label-vertical) .ant-steps-item:first-child{padding-right:0}.ant-steps-rtl.ant-steps-small .ant-steps-item-title{padding-right:0;padding-left:12px}.ant-steps-rtl.ant-steps-vertical>.ant-steps-item .ant-steps-item-icon{float:right;margin-right:0;margin-left:16px}.ant-steps-rtl.ant-steps-vertical>.ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:16px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-small .ant-steps-item-container .ant-steps-item-tail{right:12px;left:auto}.ant-steps-rtl.ant-steps-label-vertical .ant-steps-item-title{padding-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail{margin:0 70px 0 0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-tail::after,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-tail::after{margin-right:12px;margin-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item:first-child .ant-steps-icon-dot{right:2px;left:auto}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon{margin-right:67px;margin-left:0}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot{float:right}.ant-steps-rtl.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot::after,.ant-steps-rtl.ant-steps-dot.ant-steps-small .ant-steps-item-icon .ant-steps-icon-dot::after{right:-26px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-icon{margin-right:0;margin-left:16px}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item>.ant-steps-item-container>.ant-steps-item-tail{right:-9px;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item:first-child .ant-steps-icon-dot{right:0;left:auto}.ant-steps-rtl.ant-steps-vertical.ant-steps-dot .ant-steps-item-process .ant-steps-icon-dot{right:-2px;left:auto}.ant-steps-rtl.ant-steps-with-progress.ant-steps-horizontal.ant-steps-label-horizontal .ant-steps-item:first-child.ant-steps-item-active{padding-right:4px}.ant-steps-with-progress .ant-steps-item .ant-steps-item-tail{top:4px!important}.ant-steps-with-progress.ant-steps-horizontal .ant-steps-item:first-child{padding-bottom:4px;padding-left:4px}.ant-steps-with-progress .ant-steps-item-icon{position:relative}.ant-steps-with-progress .ant-steps-item-icon .ant-progress{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.ant-switch{margin:0;padding:0;font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:relative;box-sizing:border-box;min-width:44px;height:22px;line-height:22px;background-color:rgba(255,255,255,.3);border:0;border-radius:100px;transition:all .2s;user-select:none}.ant-switch:focus{outline:0;box-shadow:0 0 0 2px rgba(255,255,255,.1)}.ant-switch-checked:focus{box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-switch:focus:hover{box-shadow:none}.ant-switch-checked{background-color:#177ddc}.ant-switch-disabled,.ant-switch-loading{cursor:not-allowed;opacity:.4}.ant-switch-disabled *,.ant-switch-loading *{box-shadow:none;cursor:not-allowed}.ant-switch-inner{display:block;margin:0 7px 0 25px;color:#fff;font-size:12px;transition:margin .2s}.ant-switch-handle,.ant-switch-handle::before{transition:all .2s ease-in-out;position:absolute}.ant-switch-checked .ant-switch-inner{margin:0 25px 0 7px}.ant-switch-handle{top:2px;left:2px;width:18px;height:18px}.ant-switch-handle::before{top:0;right:0;bottom:0;left:0;background-color:#fff;border-radius:9px;box-shadow:0 2px 4px 0 rgba(0,35,11,.2);content:''}.ant-switch-checked .ant-switch-handle{left:calc(100% - 18px - 2px)}.ant-switch:not(.ant-switch-disabled):active .ant-switch-handle::before{right:-30%;left:0}.ant-switch:not(.ant-switch-disabled):active.ant-switch-checked .ant-switch-handle::before{right:0;left:-30%}.ant-switch-loading-icon{position:relative;top:2px;color:rgba(0,0,0,.65);vertical-align:top}.ant-switch-checked .ant-switch-loading-icon{color:#177ddc}.ant-switch-small{min-width:28px;height:16px;line-height:16px}.ant-switch-small .ant-switch-inner{margin:0 5px 0 18px;font-size:12px}.ant-switch-small .ant-switch-handle{width:12px;height:12px}.ant-switch-small .ant-switch-loading-icon{top:1.5px;font-size:9px}.ant-table,.ant-table.ant-table-middle,.ant-table.ant-table-small{font-size:14px}.ant-switch-small.ant-switch-checked .ant-switch-inner{margin:0 18px 0 5px}.ant-switch-small.ant-switch-checked .ant-switch-handle{left:calc(100% - 12px - 2px)}.ant-switch-rtl .ant-switch-inner{margin:0 25px 0 7px}.ant-switch-rtl .ant-switch-handle{right:2px;left:auto}.ant-switch-rtl:not(.ant-switch-rtl-disabled):active .ant-switch-handle::before{right:0;left:-30%}.ant-switch-rtl:not(.ant-switch-rtl-disabled):active.ant-switch-checked .ant-switch-handle::before{right:-30%;left:0}.ant-switch-rtl.ant-switch-checked .ant-switch-inner{margin:0 7px 0 25px}.ant-switch-rtl.ant-switch-checked .ant-switch-handle{right:calc(100% - 18px - 2px)}.ant-switch-rtl.ant-switch-small.ant-switch-checked .ant-switch-handle{right:calc(100% - 12px - 2px)}.ant-table-wrapper::after,.ant-table-wrapper::before{display:table;content:''}.ant-table.ant-table-middle .ant-table-footer,.ant-table.ant-table-middle .ant-table-tbody>tr>td,.ant-table.ant-table-middle .ant-table-thead>tr>th,.ant-table.ant-table-middle .ant-table-title,.ant-table.ant-table-middle tfoot>tr>td,.ant-table.ant-table-middle tfoot>tr>th{padding:12px 8px}.ant-table.ant-table-middle .ant-table-filter-trigger{margin-right:-4px}.ant-table.ant-table-middle .ant-table-expanded-row-fixed{margin:-12px -8px}.ant-table.ant-table-middle .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin:-12px -8px -12px 25px}.ant-table.ant-table-small .ant-table-footer,.ant-table.ant-table-small .ant-table-tbody>tr>td,.ant-table.ant-table-small .ant-table-thead>tr>th,.ant-table.ant-table-small .ant-table-title,.ant-table.ant-table-small tfoot>tr>td,.ant-table.ant-table-small tfoot>tr>th{padding:8px}.ant-table.ant-table-small .ant-table-filter-trigger{margin-right:-4px}.ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:-8px}.ant-table.ant-table-small .ant-table-tbody .ant-table-wrapper:only-child .ant-table{margin:-8px -8px -8px 25px}.ant-table-small .ant-table-thead>tr>th{background-color:#1d1d1d}.ant-table-small .ant-table-selection-column{width:46px;min-width:46px}.ant-table.ant-table-bordered>.ant-table-title{border:1px solid #303030;border-bottom:0}.ant-table.ant-table-bordered>.ant-table-container{border:1px solid #303030;border-right:0;border-bottom:0}.ant-table-thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr:not(:last-child)>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr:not(:last-child)>th{border-bottom:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th{border-right:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th::before,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th::before{background-color:transparent!important}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>.ant-table-cell-fix-right-first::after{border-right:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-16px -17px}.ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td>.ant-table-expanded-row-fixed::after,.ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td>.ant-table-expanded-row-fixed::after{position:absolute;top:0;right:1px;bottom:0;border-right:1px solid #303030;content:''}.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-expanded-row>td,.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-placeholder>td{border-right:0}.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-12px -9px}.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.ant-table-body>table>tbody>tr>td>.ant-table-expanded-row-fixed,.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.ant-table-content>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-8px -9px}.ant-table.ant-table-bordered>.ant-table-footer{border:1px solid #303030;border-top:0}.ant-table-cell .ant-table-container:first-child{border-top:0}.ant-table-cell-scrollbar{box-shadow:0 1px 0 1px #1d1d1d}.ant-table-wrapper{clear:both;max-width:100%}.ant-table-wrapper::after{clear:both}.ant-table{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:relative;background:#141414;border-radius:2px}.ant-table table{width:100%;text-align:left;border-radius:2px 2px 0 0;border-collapse:separate;border-spacing:0}.ant-table tfoot>tr>td,.ant-table tfoot>tr>th,.ant-table-tbody>tr>td,.ant-table-thead>tr>th{position:relative;padding:16px;overflow-wrap:break-word}.ant-table-cell-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;word-break:keep-all}.ant-table-cell-ellipsis.ant-table-cell-fix-left-last,.ant-table-cell-ellipsis.ant-table-cell-fix-right-first{overflow:visible}.ant-table-cell-ellipsis.ant-table-cell-fix-left-last .ant-table-cell-content,.ant-table-cell-ellipsis.ant-table-cell-fix-right-first .ant-table-cell-content{display:block;overflow:hidden;text-overflow:ellipsis}.ant-table-cell-ellipsis .ant-table-column-title{overflow:hidden;text-overflow:ellipsis;word-break:keep-all}.ant-table-title{padding:16px}.ant-table-footer{padding:16px;background:rgba(255,255,255,.04)}.ant-table-thead>tr>th{position:relative;font-weight:500;text-align:left;background:#1d1d1d;transition:background .3s ease}.ant-table-thead>tr>th[colspan]:not([colspan='1']){text-align:center}.ant-table-thead>tr>th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before{position:absolute;top:50%;right:0;width:1px;height:1.6em;background-color:rgba(255,255,255,.08);transform:translateY(-50%);transition:background-color .3s;content:''}.ant-table-thead>tr:not(:last-child)>th[colspan]{border-bottom:0}.ant-table-tbody>tr>td{border-bottom:1px solid #303030;transition:background .3s}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table{margin:-16px -16px -16px 33px}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td{border-bottom:0}.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:first-child,.ant-table-tbody>tr>td>.ant-table-expanded-row-fixed>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:last-child,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:first-child,.ant-table-tbody>tr>td>.ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td:last-child{border-radius:0}.ant-table-tbody>tr.ant-table-row:hover>td{background:#262626}.ant-table-tbody>tr.ant-table-row-selected>td{background:#111b26;border-color:rgba(0,0,0,.03)}.ant-table-tbody>tr.ant-table-row-selected:hover>td{background:#0e161f}.ant-table-summary{background:#141414}div.ant-table-summary{box-shadow:0 -1px 0 #303030}.ant-table-summary>tr>td,.ant-table-summary>tr>th{border-bottom:1px solid #303030}.ant-table-pagination.ant-pagination{margin:16px 0}.ant-table-pagination{display:flex;flex-wrap:wrap;row-gap:8px}.ant-table-pagination>*{flex:none}.ant-table-pagination-left{justify-content:flex-start}.ant-table-pagination-center{justify-content:center}.ant-table-pagination-right{justify-content:flex-end}.ant-table-thead th.ant-table-column-has-sorters{cursor:pointer;transition:all .3s}.ant-table-thead th.ant-table-column-has-sorters:hover{background:#303030}.ant-table-thead th.ant-table-column-has-sorters:hover::before{background-color:transparent!important}.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover,.ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover{background:#f5f5f5}.ant-table-thead th.ant-table-column-sort{background:#262626}.ant-table-thead th.ant-table-column-sort::before{background-color:transparent!important}td.ant-table-column-sort{background:rgba(255,255,255,.01)}.ant-table-column-title{position:relative;z-index:1;flex:1}.ant-table-column-sorters{display:flex;flex:auto;align-items:center;justify-content:space-between}.ant-table-column-sorters::after{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;content:''}.ant-table-column-sorter{color:#bfbfbf;font-size:0;transition:color .3s}.ant-table-column-sorter-inner{display:inline-flex;flex-direction:column;align-items:center}.ant-table-column-sorter-down,.ant-table-column-sorter-up{font-size:11px}.ant-table-column-sorter-down.active,.ant-table-column-sorter-up.active{color:#177ddc}.ant-table-column-sorter-up+.ant-table-column-sorter-down{margin-top:-.3em}.ant-table-column-sorters:hover .ant-table-column-sorter{color:#a6a6a6}.ant-table-filter-column{display:flex;justify-content:space-between}.ant-table-filter-trigger{position:relative;display:flex;align-items:center;margin:-4px -8px -4px 4px;padding:0 4px;color:#bfbfbf;font-size:12px;border-radius:2px;cursor:pointer;transition:all .3s}.ant-table-filter-trigger:hover{color:rgba(255,255,255,.45);background:#434343}.ant-table-filter-trigger.active{color:#177ddc}.ant-table-filter-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;min-width:120px;background-color:#1f1f1f;border-radius:2px;box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-table-filter-dropdown .ant-dropdown-menu{max-height:264px;overflow-x:hidden;border:0;box-shadow:none}.ant-table-filter-dropdown-submenu>ul{max-height:calc(100vh - 130px);overflow-x:hidden;overflow-y:auto}.ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span{padding-left:8px}.ant-table-filter-dropdown-btns{display:flex;justify-content:space-between;padding:7px 8px 7px 3px;overflow:hidden;background-color:#1f1f1f;border-top:1px solid #303030}.ant-table-selection-col{width:32px}.ant-table-bordered .ant-table-selection-col{width:50px}table tr td.ant-table-selection-column,table tr th.ant-table-selection-column{padding-right:8px;padding-left:8px;text-align:center}table tr td.ant-table-selection-column .ant-radio-wrapper,table tr th.ant-table-selection-column .ant-radio-wrapper{margin-right:0}table tr th.ant-table-selection-column::after{background-color:transparent!important}.ant-table-selection{position:relative;display:inline-flex;flex-direction:column}.ant-table-selection-extra{position:absolute;top:0;z-index:1;cursor:pointer;transition:all .3s;margin-inline-start:100%;padding-inline-start:4px}.ant-table-selection-extra .anticon{color:#bfbfbf;font-size:10px}.ant-table-selection-extra .anticon:hover{color:#a6a6a6}.ant-table-expand-icon-col{width:48px}.ant-table-row-expand-icon-cell{text-align:center}.ant-table-row-indent{float:left;height:1px}.ant-table-row-expand-icon{text-decoration:none;cursor:pointer;position:relative;display:inline-flex;float:left;box-sizing:border-box;width:17px;height:17px;padding:0;color:inherit;line-height:17px;background:0 0;border:1px solid #303030;border-radius:2px;outline:0;transform:scale(.94117647);transition:all .3s;user-select:none}.ant-table-row-expand-icon:focus,.ant-table-row-expand-icon:hover{color:#165996}.ant-table-row-expand-icon:active{color:#388ed3}.ant-table-row-expand-icon:active,.ant-table-row-expand-icon:focus,.ant-table-row-expand-icon:hover{border-color:currentColor}.ant-table-row-expand-icon::after,.ant-table-row-expand-icon::before{position:absolute;background:currentColor;transition:transform .3s ease-out;content:''}.ant-table-row-expand-icon::before{top:7px;right:3px;left:3px;height:1px}.ant-table-row-expand-icon::after{top:3px;bottom:3px;left:7px;width:1px;transform:rotate(90deg)}.ant-table-row-expand-icon-collapsed::before{transform:rotate(-180deg)}.ant-table-row-expand-icon-collapsed::after{transform:rotate(0)}.ant-table-row-expand-icon-spaced{background:0 0;border:0;visibility:hidden}.ant-table-row-expand-icon-spaced::after,.ant-table-row-expand-icon-spaced::before{display:none;content:none}.ant-table-row-indent+.ant-table-row-expand-icon{margin-top:2.5px;margin-right:8px}tr.ant-table-expanded-row:hover>td,tr.ant-table-expanded-row>td{background:#1d1d1d}tr.ant-table-expanded-row .ant-descriptions-view{display:flex}tr.ant-table-expanded-row .ant-descriptions-view table{flex:auto;width:auto}.ant-table .ant-table-expanded-row-fixed{position:relative;margin:-16px;padding:16px}.ant-table-tbody>tr.ant-table-placeholder{text-align:center}.ant-table-empty .ant-table-tbody>tr.ant-table-placeholder{color:rgba(255,255,255,.3)}.ant-table-tbody>tr.ant-table-placeholder:hover>td{background:#141414}.ant-table-cell-fix-left,.ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important;z-index:2;background:#141414}.ant-table .ant-table-container::after,.ant-table .ant-table-container::before,.ant-table-cell-fix-left-first::after,.ant-table-cell-fix-left-last::after,.ant-table-cell-fix-right-first::after,.ant-table-cell-fix-right-last::after{position:absolute;transition:box-shadow .3s;width:30px;top:0;pointer-events:none;content:''}.ant-table-cell-fix-left-first::after,.ant-table-cell-fix-left-last::after{right:0;bottom:-1px;transform:translateX(100%)}.ant-table-cell-fix-right-first::after,.ant-table-cell-fix-right-last::after{bottom:-1px;left:0;transform:translateX(-100%)}.ant-table .ant-table-container::after,.ant-table .ant-table-container::before{bottom:0;z-index:1}.ant-table .ant-table-container::before{left:0}.ant-table .ant-table-container::after{right:0}.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container{position:relative}.ant-table-ping-left .ant-table-cell-fix-left-first::after,.ant-table-ping-left .ant-table-cell-fix-left-last::after,.ant-table-ping-left:not(.ant-table-has-fix-left) .ant-table-container::before{box-shadow:inset 10px 0 8px -8px rgba(0,0,0,.45)}.ant-table-ping-left .ant-table-cell-fix-left-last::before{background-color:transparent!important}.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container{position:relative}.ant-table-sticky-holder,.ant-table-sticky-scroll{position:sticky;z-index:3}.ant-table-ping-right .ant-table-cell-fix-right-first::after,.ant-table-ping-right .ant-table-cell-fix-right-last::after,.ant-table-ping-right:not(.ant-table-has-fix-right) .ant-table-container::after{box-shadow:inset -10px 0 8px -8px rgba(0,0,0,.45)}.ant-table-sticky-scroll{bottom:0;display:flex;align-items:center;background:#fcfcfc;border-top:1px solid #303030;opacity:.6}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-bottom::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-top::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-left::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap.ant-tabs-nav-wrap-ping-right::after{opacity:1}.ant-table-sticky-scroll:hover{transform-origin:center bottom}.ant-table-sticky-scroll-bar{height:8px;background-color:rgba(0,0,0,.35);border-radius:4px}.ant-table-sticky-scroll-bar-active,.ant-table-sticky-scroll-bar:hover{background-color:rgba(0,0,0,.8)}@media all and (-ms-high-contrast:none){.ant-table-ping-left .ant-table-cell-fix-left-last::after,.ant-table-ping-right .ant-table-cell-fix-right-first::after{box-shadow:none!important}}.ant-table-title{border-radius:2px 2px 0 0}.ant-table-title+.ant-table-container{border-top-left-radius:0;border-top-right-radius:0}.ant-table-title+.ant-table-container table>thead>tr:first-child th:first-child,.ant-table-title+.ant-table-container table>thead>tr:first-child th:last-child{border-radius:0}.ant-table-container,.ant-table-container table>thead>tr:first-child th:first-child{border-top-left-radius:2px}.ant-table-container,.ant-table-container table>thead>tr:first-child th:last-child{border-top-right-radius:2px}.ant-table-footer{border-radius:0 0 2px 2px}.ant-table-wrapper-rtl .ant-table table{text-align:right}.ant-table-wrapper-rtl .ant-table-thead>tr>th[colspan]:not([colspan='1']){text-align:center}.ant-table-wrapper-rtl .ant-table-thead>tr>th{text-align:right}.ant-table-wrapper-rtl .ant-table thead>tr>th.ant-table-selection-column,.ant-table-wrapper-rtl .ant-table-selection{text-align:center}.ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table.ant-table-rtl{margin:-16px 33px -16px -16px}.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-left{justify-content:flex-end}.ant-table-wrapper.ant-table-wrapper-rtl .ant-table-pagination-right{justify-content:flex-start}.ant-table-wrapper-rtl .ant-table-column-sorter{margin-right:8px;margin-left:0}.ant-table-wrapper-rtl .ant-table-filter-column-title{padding:16px 16px 16px 2.3em}.ant-table-rtl .ant-table-thead tr th.ant-table-column-has-sorters .ant-table-filter-column-title{padding:0 0 0 2.3em}.ant-table-wrapper-rtl .ant-table-filter-trigger-container{right:auto;left:0}.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-dropdown-menu-submenu-rtl.ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span,.ant-dropdown-rtl .ant-table-filter-dropdown .ant-checkbox-wrapper+span,.ant-dropdown-rtl .ant-table-filter-dropdown-submenu .ant-checkbox-wrapper+span{padding-right:8px;padding-left:0}.ant-table-wrapper-rtl .ant-table-row-expand-icon,.ant-table-wrapper-rtl .ant-table-row-indent{float:right}.ant-table-wrapper-rtl .ant-table-row-indent+.ant-table-row-expand-icon{margin-right:0;margin-left:8px}.ant-table-wrapper-rtl .ant-table-row-expand-icon::after{transform:rotate(-90deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::before{transform:rotate(180deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed::after{transform:rotate(0)}nz-table,nz-table-inner-default,nz-table-inner-scroll,nz-table-selection,nz-table-title-footer{display:block}nz-filter-trigger{display:inline-flex}.nz-table-out-bordered>.ant-table-container,.nz-table-out-bordered>.ant-table-title{border:1px solid #303030;border-bottom:0}.nz-table-out-bordered>.ant-table-footer{border:1px solid #303030;border-top:0}cdk-virtual-scroll-viewport.ant-table-body{overflow-y:scroll}.nz-table-hide-scrollbar{scrollbar-color:#1d1d1d #1d1d1d}.nz-table-hide-scrollbar::-webkit-scrollbar{background-color:#1d1d1d}.ant-table.ant-table-small .nz-table-hide-scrollbar{scrollbar-color:#1d1d1d #1d1d1d}.ant-table.ant-table-small .nz-table-hide-scrollbar::-webkit-scrollbar{background-color:transparent}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>td,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>th,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr>th{border-right:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr:not(:last-child)>th{border-bottom:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tfoot>tr>.ant-table-cell-fix-right-first::after,.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>thead>tr>.ant-table-cell-fix-right-first::after{border-right:1px solid #303030}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-16px -17px}.ant-table.ant-table-bordered>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed::after{position:absolute;top:0;right:1px;bottom:0;border-right:1px solid #303030;content:''}.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr.ant-table-expanded-row>td,.ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr.ant-table-placeholder>td{border-right:0}.ant-table.ant-table-bordered.ant-table-middle>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-12px -9px}.ant-table.ant-table-bordered.ant-table-small>.ant-table-container>.cdk-virtual-scroll-viewport>.cdk-virtual-scroll-content-wrapper>table>tbody>tr>td>.ant-table-expanded-row-fixed{margin:-8px -9px}.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab{padding:8px 0;font-size:14px}.ant-tabs-large>.ant-tabs-nav .ant-tabs-tab{padding:16px 0;font-size:16px}.ant-tabs-card.ant-tabs-small>.ant-tabs-nav .ant-tabs-tab{padding:6px 16px}.ant-tabs-card.ant-tabs-large>.ant-tabs-nav .ant-tabs-tab{padding:7px 16px 6px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab{margin:0 0 0 32px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab:last-of-type{margin-left:0}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .anticon{margin-right:0;margin-left:12px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove{margin-right:8px;margin-left:-4px}.ant-tabs-rtl .ant-tabs-nav .ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0}.ant-tabs-rtl.ant-tabs-left>.ant-tabs-content-holder,.ant-tabs-rtl.ant-tabs-right>.ant-tabs-nav{order:0}.ant-tabs-rtl.ant-tabs-right>.ant-tabs-content-holder{order:1}.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-rtl.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-right:0;margin-left:2px}.ant-tabs-dropdown-rtl .ant-tabs-dropdown-menu-item{text-align:right}.ant-tabs-bottom,.ant-tabs-top{flex-direction:column}.ant-tabs-bottom>.ant-tabs-nav,.ant-tabs-bottom>div>.ant-tabs-nav,.ant-tabs-top>.ant-tabs-nav,.ant-tabs-top>div>.ant-tabs-nav{margin:0 0 16px}.ant-tabs-bottom>.ant-tabs-nav::before,.ant-tabs-bottom>div>.ant-tabs-nav::before,.ant-tabs-top>.ant-tabs-nav::before,.ant-tabs-top>div>.ant-tabs-nav::before{position:absolute;right:0;left:0;border-bottom:1px solid #303030;content:''}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar{height:2px}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:width .3s,left .3s,right .3s}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{top:0;bottom:0;width:30px}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{left:0;box-shadow:inset 10px 0 8px -8px rgba(0,0,0,.08)}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-nav-wrap::after{right:0;box-shadow:inset -10px 0 8px -8px rgba(0,0,0,.08)}.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>.ant-tabs-nav::before,.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-top>div>.ant-tabs-nav::before{bottom:0}.ant-tabs-bottom>.ant-tabs-nav,.ant-tabs-bottom>div>.ant-tabs-nav{order:1;margin-top:16px;margin-bottom:0}.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>.ant-tabs-nav::before,.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-bottom>div>.ant-tabs-nav::before{top:0}.ant-tabs-bottom>.ant-tabs-content-holder,.ant-tabs-bottom>div>.ant-tabs-content-holder{order:0}.ant-tabs-left>.ant-tabs-nav,.ant-tabs-left>div>.ant-tabs-nav,.ant-tabs-right>.ant-tabs-nav,.ant-tabs-right>div>.ant-tabs-nav{flex-direction:column;min-width:50px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab{padding:8px 24px;text-align:center}.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin:16px 0 0}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap{flex-direction:column}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{right:0;left:0;height:30px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{top:0;box-shadow:inset 0 10px 8px -8px rgba(0,0,0,.08)}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-wrap::after{bottom:0;box-shadow:inset 0 -10px 8px -8px rgba(0,0,0,.08)}.ant-tabs-dropdown-menu,.ant-tooltip-inner,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar{width:2px}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar-animated,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar-animated{transition:height .3s,top .3s}.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-nav-operations{flex:1 0 auto;flex-direction:column}.ant-tabs-left>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-ink-bar{right:0}.ant-tabs-left>.ant-tabs-content-holder,.ant-tabs-left>div>.ant-tabs-content-holder{margin-left:-1px;border-left:1px solid #303030}.ant-tabs-left>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-left>div>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{padding-left:24px}.ant-tabs-right>.ant-tabs-nav,.ant-tabs-right>div>.ant-tabs-nav{order:1}.ant-tabs-right>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-ink-bar{left:0}.ant-tabs-right>.ant-tabs-content-holder,.ant-tabs-right>div>.ant-tabs-content-holder{order:0;margin-right:-1px;border-right:1px solid #303030}.ant-tabs-right>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane,.ant-tabs-right>div>.ant-tabs-content-holder>.ant-tabs-content>.ant-tabs-tabpane{padding-right:24px}.ant-tabs-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;position:absolute;top:-9999px;left:-9999px;z-index:1050;display:block}.ant-tabs-dropdown-hidden{display:none}.ant-tabs-dropdown-menu{max-height:200px;margin:0;padding:4px 0;overflow-x:hidden;overflow-y:auto;text-align:left;list-style-type:none;background-color:#1f1f1f;background-clip:padding-box;border-radius:2px;outline:0}.ant-tabs-dropdown-menu-item{min-width:120px;margin:0;padding:5px 12px;overflow:hidden;color:rgba(255,255,255,.85);font-weight:400;font-size:14px;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.ant-tabs-dropdown-menu-item:hover{background:rgba(255,255,255,.08)}.ant-tabs-dropdown-menu-item-disabled,.ant-tabs-dropdown-menu-item-disabled:hover{color:rgba(255,255,255,.3);background:0 0;cursor:not-allowed}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab{margin:0;padding:8px 16px;background:rgba(255,255,255,.04);border:1px solid #303030;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-tabs,.ant-timeline{font-variant:tabular-nums;line-height:1.5715;font-feature-settings:tnum;padding:0}.ant-tabs-card>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-tab-active{color:#177ddc;background:#141414}.ant-tabs-card>.ant-tabs-nav .ant-tabs-ink-bar,.ant-tabs-card>div>.ant-tabs-nav .ant-tabs-ink-bar{visibility:hidden}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-left:2px}.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab{border-radius:2px 2px 0 0}.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab-active{border-bottom-color:#141414}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 0 2px 2px}.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab-active{border-top-color:#141414}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab{margin-top:2px}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab{border-radius:2px 0 0 2px}.ant-tabs-card.ant-tabs-left>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-left>div>.ant-tabs-nav .ant-tabs-tab-active{border-right-color:#141414}.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab{border-radius:0 2px 2px 0}.ant-tabs-card.ant-tabs-right>.ant-tabs-nav .ant-tabs-tab-active,.ant-tabs-card.ant-tabs-right>div>.ant-tabs-nav .ant-tabs-tab-active{border-left-color:#141414}.ant-tabs{box-sizing:border-box;margin:0;color:rgba(255,255,255,.85);font-size:14px;list-style:none;display:flex;overflow:hidden}.ant-tabs>.ant-tabs-nav,.ant-tabs>div>.ant-tabs-nav{position:relative;display:flex;flex:none;align-items:center}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap{position:relative;display:inline-block;display:flex;flex:auto;align-self:stretch;overflow:hidden;white-space:nowrap;transform:translate(0)}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-wrap::before,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap::after,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-wrap::before{position:absolute;z-index:1;opacity:0;transition:opacity .3s;content:'';pointer-events:none}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-list,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-list{position:relative;display:flex;transition:transform .3s}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-operations,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-operations{display:flex;align-self:stretch}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-operations-hidden,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-operations-hidden{position:absolute;visibility:hidden;pointer-events:none}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-more,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-more{position:relative;padding:8px 16px;background:0 0;border:0}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-more::after,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-more::after{position:absolute;right:0;bottom:0;left:0;height:5px;transform:translateY(100%);content:''}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add{min-width:40px;padding:0 8px;background:rgba(255,255,255,.04);border:1px solid #303030;border-radius:2px 2px 0 0;outline:0;cursor:pointer;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:hover,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:hover{color:#165996}.ant-tabs-tab-btn:active,.ant-tabs-tab-btn:focus,.ant-tabs-tab-remove:active,.ant-tabs-tab-remove:focus,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs>.ant-tabs-nav .ant-tabs-nav-add:focus,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:active,.ant-tabs>div>.ant-tabs-nav .ant-tabs-nav-add:focus{color:#388ed3}.ant-tabs-extra-content{flex:none}.ant-tabs-centered>.ant-tabs-nav .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping]),.ant-tabs-centered>div>.ant-tabs-nav .ant-tabs-nav-wrap:not([class*=ant-tabs-nav-wrap-ping]){justify-content:center}.ant-tabs-ink-bar{position:absolute;background:#177ddc;pointer-events:none}.ant-tabs-tab,.ant-tabs-tab-remove{background:0 0;cursor:pointer;outline:0}.ant-tabs-tab{position:relative;display:inline-flex;align-items:center;padding:12px 0;font-size:14px;border:0}.ant-tabs-tab-btn{outline:0;transition:all .3s}.ant-tabs-tab-remove{flex:none;margin-right:-4px;margin-left:8px;color:rgba(255,255,255,.45);font-size:12px;border:none;transition:all .3s}.ant-tabs-tab-remove:hover{color:rgba(255,255,255,.85)}.ant-tabs-tab:hover{color:#165996}.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#177ddc;text-shadow:0 0 .25px currentColor}.ant-tabs-tab.ant-tabs-tab-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:active,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-btn:focus,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:active,.ant-tabs-tab.ant-tabs-tab-disabled .ant-tabs-tab-remove:focus{color:rgba(255,255,255,.3)}.ant-tabs-tab .ant-tabs-tab-remove .anticon{margin:0}.ant-tabs-tab .anticon{margin-right:12px}.ant-tabs-tab+.ant-tabs-tab{margin:0 0 0 32px}.ant-tabs-content{display:flex;width:100%}.ant-tabs-content-holder{flex:auto;min-width:0;min-height:0}.ant-tabs-content-animated{transition:margin .3s}.ant-tabs-tabpane{flex:none;width:100%;outline:0}.ant-tabs-dropdown-menu-item a[nz-tab-link]{position:relative}a[nz-tab-link]::before{position:absolute;top:0;left:0;right:0;bottom:0;background-color:transparent;content:''}a[nz-tab-link]~*{position:relative}nz-tab-nav-operation,nz-tabs-nav,nz-tabset{display:block}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu{max-height:200px;margin:0;padding:4px 0;overflow-x:hidden;overflow-y:auto;text-align:left;list-style-type:none;background-color:#1f1f1f;background-clip:padding-box;border-radius:2px;outline:0}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item{min-width:120px;margin:0;padding:5px 12px;overflow:hidden;color:rgba(255,255,255,.85);font-weight:400;font-size:14px;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item:hover{background:rgba(255,255,255,.08)}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover{color:rgba(255,255,255,.3);background:0 0;cursor:not-allowed}.ant-tag,.ant-upload.ant-upload-drag,.result .ant-steps .ant-steps-head,.result .ant-steps .ant-steps-title,.result__extra{background:rgba(255,255,255,.04)}.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled a,.nz-tabs-dropdown.ant-dropdown .ant-dropdown-menu-item-disabled:hover a{pointer-events:none;color:rgba(255,255,255,.3)}.ant-tabs-rtl .ant-tabs-rtl-tab-next{right:auto;left:2px}.ant-tabs-tab-disabled a{pointer-events:none;color:rgba(255,255,255,.3)}.ant-tag{box-sizing:border-box;margin:0 8px 0 0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-block;height:auto;padding:0 7px;font-size:12px;line-height:20px;white-space:nowrap;border:1px solid #434343;border-radius:2px;opacity:1;transition:all .3s}.ant-tag-checkable,.ant-tag-has-color{border-color:transparent}.ant-tag,.ant-tag a,.ant-tag a:hover{color:rgba(255,255,255,.85)}.ant-tag>a:first-child:last-child{display:inline-block;margin:0 -8px;padding:0 8px}.ant-tag-hidden,.ant-timeline-item-last>.ant-timeline-item-tail,.ant-timeline-item-pending .ant-timeline-item-tail{display:none}.ant-tag-close-icon{margin-left:3px;color:rgba(255,255,255,.45);font-size:10px;cursor:pointer;transition:all .3s}.ant-tag-close-icon:hover{color:rgba(255,255,255,.85)}.ant-tag-has-color,.ant-tag-has-color .anticon-close,.ant-tag-has-color .anticon-close:hover,.ant-tag-has-color a,.ant-tag-has-color a:hover{color:#fff}.ant-tag-checkable{background-color:transparent;cursor:pointer}.ant-tag-checkable:not(.ant-tag-checkable-checked):hover{color:#177ddc}.ant-tag-checkable-checked,.ant-tag-checkable:active{color:#fff}.ant-tag-checkable-checked{background-color:#177ddc}.ant-tag-checkable:active{background-color:#388ed3}.ant-tag-pink{color:#e0529c;background:#291321;border-color:#551c3b}.ant-tag-pink-inverse{color:#fff;background:#cb2b83;border-color:#cb2b83}.ant-tag-magenta{color:#e0529c;background:#291321;border-color:#551c3b}.ant-tag-magenta-inverse{color:#fff;background:#cb2b83;border-color:#cb2b83}.ant-tag-red{color:#e84749;background:#2a1215;border-color:#58181c}.ant-tag-red-inverse{color:#fff;background:#d32029;border-color:#d32029}.ant-tag-volcano{color:#e87040;background:#2b1611;border-color:#592716}.ant-tag-volcano-inverse{color:#fff;background:#d84a1b;border-color:#d84a1b}.ant-tag-orange{color:#e89a3c;background:#2b1d11;border-color:#593815}.ant-tag-orange-inverse{color:#fff;background:#d87a16;border-color:#d87a16}.ant-tag-yellow{color:#e8d639;background:#2b2611;border-color:#595014}.ant-tag-yellow-inverse{color:#fff;background:#d8bd14;border-color:#d8bd14}.ant-tag-gold{color:#e8b339;background:#2b2111;border-color:#594214}.ant-tag-gold-inverse{color:#fff;background:#d89614;border-color:#d89614}.ant-tag-cyan{color:#33bcb7;background:#112123;border-color:#144848}.ant-tag-cyan-inverse{color:#fff;background:#13a8a8;border-color:#13a8a8}.ant-tag-lime{color:#a9d134;background:#1f2611;border-color:#3e4f13}.ant-tag-lime-inverse{color:#fff;background:#8bbb11;border-color:#8bbb11}.ant-tag-green{color:#6abe39;background:#162312;border-color:#274916}.ant-tag-green-inverse{color:#fff;background:#49aa19;border-color:#49aa19}.ant-tag-blue{color:#3c9ae8;background:#111d2c;border-color:#15395b}.ant-tag-blue-inverse{color:#fff;background:#177ddc;border-color:#177ddc}.ant-tag-geekblue{color:#5273e0;background:#131629;border-color:#1c2755}.ant-tag-geekblue-inverse{color:#fff;background:#2b4acb;border-color:#2b4acb}.ant-tag-purple{color:#854eca;background:#1a1325;border-color:#301c4d}.ant-tag-purple-inverse{color:#fff;background:#642ab5;border-color:#642ab5}.ant-tag-success{color:#49aa19;background:#162312;border-color:#274916}.ant-tag-processing{color:#177ddc;background:#111d2c;border-color:#15395b}.ant-tag-error{color:#d32029;background:#2a1215;border-color:#58181c}.ant-tag-warning{color:#d87a16;background:#2b1d11;border-color:#593815}.ant-timeline,.ant-tooltip{color:rgba(255,255,255,.85);box-sizing:border-box}.ant-tag.ant-tag-rtl{margin-right:0;margin-left:8px;text-align:right}.ant-tag-rtl .ant-tag-close-icon{margin-right:3px;margin-left:0}.ant-tag-rtl.ant-tag>.anticon+span,.ant-tag-rtl.ant-tag>span+.anticon{margin-right:7px;margin-left:0}.ant-timeline,.ant-timeline-item{margin:0;font-size:14px;list-style:none}.ant-timeline-item{position:relative;padding-bottom:20px}.ant-timeline-item-tail{position:absolute;top:10px;left:4px;height:calc(100% - 10px);border-left:2px solid #303030}.ant-timeline-item-pending .ant-timeline-item-head{font-size:12px;background-color:transparent}.ant-timeline-item-head{position:absolute;width:10px;height:10px;background-color:#141414;border:2px solid transparent;border-radius:100px}.ant-timeline-item-head-blue{color:#177ddc;border-color:#177ddc}.ant-timeline-item-head-red{color:#a61d24;border-color:#a61d24}.ant-timeline-item-head-green{color:#49aa19;border-color:#49aa19}.ant-timeline-item-head-gray{color:rgba(255,255,255,.3);border-color:rgba(255,255,255,.3)}.ant-timeline-item-head-custom{position:absolute;top:5.5px;left:5px;width:auto;height:auto;margin-top:0;padding:3px 1px;line-height:1;text-align:center;border:0;border-radius:0;transform:translate(-50%,-50%)}.ant-tooltip,.ant-transfer{font-size:14px;line-height:1.5715;font-variant:tabular-nums;font-feature-settings:tnum}.ant-timeline-item-content{position:relative;top:-7px;margin:0 0 0 26px;word-break:break-word}.ant-timeline-item-last>.ant-timeline-item-content{min-height:48px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail,.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-label .ant-timeline-item-tail,.ant-timeline.ant-timeline-right .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-tail{left:50%}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-head{margin-left:-4px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom{margin-left:1px}.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content{left:calc(50% - 4px);width:calc(50% - 14px);text-align:left}.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:calc(50% - 12px);margin:0;text-align:right}.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom,.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail{left:calc(100% - 4px - 2px)}.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:calc(100% - 18px)}.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail{display:block;height:calc(100% - 14px);border-left:2px dotted #303030}.ant-timeline.ant-timeline-reverse .ant-timeline-item-last .ant-timeline-item-tail{display:none}.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail{top:15px;display:block;height:calc(100% - 15px);border-left:2px dotted #303030}.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-content{min-height:48px}.ant-timeline.ant-timeline-label .ant-timeline-item-label{position:absolute;top:-7px;width:calc(50% - 12px);text-align:right}.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label{left:calc(50% + 14px);width:calc(50% - 14px);text-align:left}.ant-timeline-rtl .ant-timeline-item-tail{right:4px;left:auto;border-right:2px solid #303030;border-left:none}.ant-timeline-rtl .ant-timeline-item-head-custom{right:5px;left:auto;transform:translate(50%,-50%)}.ant-timeline-rtl .ant-timeline-item-content{margin:0 18px 0 0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-tail{right:50%;left:auto}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head{margin-right:-4px;margin-left:0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-head-custom{margin-right:1px;margin-left:0}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-left .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-left .ant-timeline-item-content{right:calc(50% - 4px);left:auto;text-align:right}.ant-timeline-rtl.ant-timeline.ant-timeline-alternate .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-content,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{text-align:left}.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-head-custom,.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-tail{right:0;left:auto}.ant-timeline-rtl.ant-timeline.ant-timeline-right .ant-timeline-item-right .ant-timeline-item-content{width:100%;margin-right:18px;text-align:right}.ant-timeline-rtl.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail,.ant-timeline-rtl.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail{border-right:2px dotted #303030;border-left:none}.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-label{text-align:left}.ant-timeline-rtl.ant-timeline.ant-timeline-label .ant-timeline-item-right .ant-timeline-item-label{right:calc(50% + 14px);text-align:right}.ant-tooltip{margin:0;padding:0;list-style:none;z-index:1070;display:block;width:max-content;max-width:250px}.ant-tooltip-hidden{display:none}.ant-tooltip-placement-top,.ant-tooltip-placement-topLeft,.ant-tooltip-placement-topRight{padding-bottom:8px}.ant-tooltip-placement-right,.ant-tooltip-placement-rightBottom,.ant-tooltip-placement-rightTop{padding-left:8px}.ant-tooltip-placement-bottom,.ant-tooltip-placement-bottomLeft,.ant-tooltip-placement-bottomRight{padding-top:8px}.ant-tooltip-placement-left,.ant-tooltip-placement-leftBottom,.ant-tooltip-placement-leftTop{padding-right:8px}.ant-tooltip-inner{min-width:30px;min-height:32px;padding:6px 8px;color:#fff;text-align:left;text-decoration:none;word-wrap:break-word;border-radius:2px}.ant-tooltip-arrow{position:absolute;display:block;width:13.07px;height:13.07px;overflow:hidden;background:0 0;pointer-events:none}.ant-tooltip-arrow-content{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:5px;height:5px;margin:auto;background-color:#434343;content:'';pointer-events:auto}.ant-tooltip,.ant-transfer{position:relative}.ant-tooltip-placement-top .ant-tooltip-arrow,.ant-tooltip-placement-topLeft .ant-tooltip-arrow,.ant-tooltip-placement-topRight .ant-tooltip-arrow{bottom:-5.07px}.ant-tooltip-placement-leftBottom .ant-tooltip-arrow,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow{bottom:5px}.ant-tooltip-placement-top .ant-tooltip-arrow-content,.ant-tooltip-placement-topLeft .ant-tooltip-arrow-content,.ant-tooltip-placement-topRight .ant-tooltip-arrow-content{box-shadow:3px 3px 7px rgba(0,0,0,.07);transform:translateY(-6.54px) rotate(45deg)}.ant-tooltip-placement-top .ant-tooltip-arrow{left:50%;transform:translateX(-50%)}.ant-tooltip-placement-topLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-topRight .ant-tooltip-arrow{right:13px}.ant-tooltip-placement-right .ant-tooltip-arrow,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow,.ant-tooltip-placement-rightTop .ant-tooltip-arrow{left:-5.07px}.ant-tooltip-placement-right .ant-tooltip-arrow-content,.ant-tooltip-placement-rightBottom .ant-tooltip-arrow-content,.ant-tooltip-placement-rightTop .ant-tooltip-arrow-content{box-shadow:-3px 3px 7px rgba(0,0,0,.07);transform:translateX(6.54px) rotate(45deg)}.ant-tooltip-placement-right .ant-tooltip-arrow{top:50%;transform:translateY(-50%)}.ant-tooltip-placement-rightTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-left .ant-tooltip-arrow,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow,.ant-tooltip-placement-leftTop .ant-tooltip-arrow{right:-5.07px}.ant-tooltip-placement-left .ant-tooltip-arrow-content,.ant-tooltip-placement-leftBottom .ant-tooltip-arrow-content,.ant-tooltip-placement-leftTop .ant-tooltip-arrow-content{box-shadow:3px -3px 7px rgba(0,0,0,.07);transform:translateX(-6.54px) rotate(45deg)}.ant-tooltip-placement-left .ant-tooltip-arrow{top:50%;transform:translateY(-50%)}.ant-tooltip-placement-leftTop .ant-tooltip-arrow{top:5px}.ant-tooltip-placement-bottom .ant-tooltip-arrow,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{top:-5.07px}.ant-tooltip-placement-bottom .ant-tooltip-arrow-content,.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow-content,.ant-tooltip-placement-bottomRight .ant-tooltip-arrow-content{box-shadow:-3px -3px 7px rgba(0,0,0,.07);transform:translateY(6.54px) rotate(45deg)}.ant-tooltip-placement-bottom .ant-tooltip-arrow{left:50%;transform:translateX(-50%)}.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow{left:13px}.ant-tooltip-placement-bottomRight .ant-tooltip-arrow{right:13px}.ant-tooltip-magenta .ant-tooltip-arrow-content,.ant-tooltip-magenta .ant-tooltip-inner,.ant-tooltip-pink .ant-tooltip-arrow-content,.ant-tooltip-pink .ant-tooltip-inner{background-color:#cb2b83}.ant-tooltip-red .ant-tooltip-arrow-content,.ant-tooltip-red .ant-tooltip-inner{background-color:#d32029}.ant-tooltip-volcano .ant-tooltip-arrow-content,.ant-tooltip-volcano .ant-tooltip-inner{background-color:#d84a1b}.ant-tooltip-orange .ant-tooltip-arrow-content,.ant-tooltip-orange .ant-tooltip-inner{background-color:#d87a16}.ant-tooltip-yellow .ant-tooltip-arrow-content,.ant-tooltip-yellow .ant-tooltip-inner{background-color:#d8bd14}.ant-tooltip-gold .ant-tooltip-arrow-content,.ant-tooltip-gold .ant-tooltip-inner{background-color:#d89614}.ant-tooltip-cyan .ant-tooltip-arrow-content,.ant-tooltip-cyan .ant-tooltip-inner{background-color:#13a8a8}.ant-tooltip-lime .ant-tooltip-arrow-content,.ant-tooltip-lime .ant-tooltip-inner{background-color:#8bbb11}.ant-tooltip-green .ant-tooltip-arrow-content,.ant-tooltip-green .ant-tooltip-inner{background-color:#49aa19}.ant-tooltip-blue .ant-tooltip-arrow-content,.ant-tooltip-blue .ant-tooltip-inner{background-color:#177ddc}.ant-tooltip-geekblue .ant-tooltip-arrow-content,.ant-tooltip-geekblue .ant-tooltip-inner{background-color:#2b4acb}.ant-tooltip-purple .ant-tooltip-arrow-content,.ant-tooltip-purple .ant-tooltip-inner{background-color:#642ab5}.ant-tooltip-rtl .ant-tooltip-inner{text-align:right}.ant-transfer-customize-list .ant-transfer-list{flex:1 1 50%;width:auto;height:auto;min-height:200px}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small{border:0;border-radius:0}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small>.ant-table-content>.ant-table-body>table>.ant-table-thead>tr>th{background:#1d1d1d}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small>.ant-table-content .ant-table-row:last-child td{border-bottom:1px solid #303030}.ant-transfer-customize-list .ant-table-wrapper .ant-table-small .ant-table-body{margin:0}.ant-transfer-customize-list .ant-table-wrapper .ant-table-pagination.ant-pagination{margin:16px 0 4px}.ant-transfer-customize-list .ant-input[disabled]{background-color:transparent}.ant-transfer{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);list-style:none;display:flex;align-items:stretch}.ant-transfer-disabled .ant-transfer-list{background:rgba(255,255,255,.08)}.ant-transfer-list{display:flex;flex-direction:column;width:180px;height:200px;border:1px solid #434343;border-radius:2px}.ant-transfer-list-footer,.ant-transfer-list-pagination,.drawer-footer,.modal-footer{border-top:1px solid #303030}.ant-transfer-list-with-pagination{width:250px;height:auto}.ant-transfer-list-search{padding-right:24px;padding-left:8px}.ant-transfer-list-search-action{position:absolute;top:12px;right:12px;bottom:12px;width:28px;color:rgba(255,255,255,.3);line-height:32px;text-align:center}.ant-transfer-list-search-action .anticon{color:rgba(255,255,255,.3);transition:all .3s}.ant-transfer-list-search-action .anticon:hover{color:rgba(255,255,255,.45)}span.ant-transfer-list-search-action{pointer-events:none}.ant-transfer-list-header{display:flex;flex:none;align-items:center;height:40px;padding:8px 12px 9px;color:rgba(255,255,255,.85);background:#141414;border-bottom:1px solid #303030;border-radius:2px 2px 0 0}.ant-transfer-list-header>:not(:last-child){margin-right:4px}.ant-transfer-list-header>*{flex:none}.ant-transfer-list-header-title{flex:auto;overflow:hidden;white-space:nowrap;text-align:right;text-overflow:ellipsis}.ant-transfer-list-header-dropdown{font-size:10px;transform:translateY(10%);cursor:pointer}.ant-transfer-list-header-dropdown[disabled]{cursor:not-allowed}.ant-transfer-list-body{display:flex;flex:auto;flex-direction:column;overflow:hidden;font-size:14px}.ant-transfer-list-body-search-wrapper{position:relative;flex:none;padding:12px}.ant-transfer-list-content{flex:auto;margin:0;padding:0;overflow:auto;list-style:none}.ant-transfer-list-content-item{display:flex;align-items:center;min-height:32px;padding:6px 12px;line-height:20px;transition:all .3s}.ant-transfer-list-content-item>:not(:last-child){margin-right:8px}.ant-transfer-list-content-item>*{flex:none}.ant-transfer-list-content-item-text{flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ant-transfer-list-content-item-remove{text-decoration:none;outline:0;cursor:pointer;transition:color .3s;position:relative;color:#434343}.ant-transfer-list-content-item-remove:focus,.ant-transfer-list-content-item-remove:hover{color:#165996}.ant-transfer-list-content-item-remove:active{color:#388ed3}.ant-transfer-list-content-item-remove::after{position:absolute;top:-6px;right:-50%;bottom:-6px;left:-50%;content:''}.ant-transfer-list-content-item-remove:hover{color:#165996}.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background-color:#262626;cursor:pointer}.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled).ant-transfer-list-content-item-checked:hover{background-color:#0e161f}.ant-transfer-list-content-show-remove .ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover{background:0 0;cursor:default}.ant-transfer-list-content-item-checked{background-color:#111b26}.ant-transfer-list-content-item-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-transfer-list-pagination{padding:8px 0;text-align:right}.ant-transfer-list-body-not-found{flex:none;width:100%;margin:auto 0;color:rgba(255,255,255,.3);text-align:center}.ant-transfer-rtl .ant-transfer-list-header-title,.ant-transfer-rtl .ant-transfer-list-pagination{text-align:left}.ant-transfer-operation{display:flex;flex:none;flex-direction:column;align-self:center;margin:0 8px}.ant-transfer-operation .ant-btn{display:block}.ant-transfer-operation .ant-btn:first-child{margin-bottom:4px}.ant-transfer-operation .ant-btn .anticon{font-size:12px}.ant-transfer .ant-empty-image{max-height:-2px}.ant-transfer-rtl .ant-transfer-list-search{padding-right:8px;padding-left:24px}.ant-transfer-rtl .ant-transfer-list-search-action{right:auto;left:12px}.ant-transfer-rtl .ant-transfer-list-footer,.ant-transfer-rtl .ant-transfer-list-header{right:0;left:auto}.ant-transfer-rtl .ant-transfer-list-header>:not(:last-child){margin-right:0;margin-left:4px}.ant-transfer-rtl .ant-transfer-list-content-item>:not(:last-child){margin-right:0;margin-left:8px}.ant-typography{color:rgba(255,255,255,.85);overflow-wrap:break-word}.ant-typography.ant-typography-secondary{color:rgba(255,255,255,.45)}.ant-typography.ant-typography-success{color:#49aa19}.ant-typography.ant-typography-warning{color:#d89614}.ant-typography.ant-typography-danger{color:#a61d24}a.ant-typography.ant-typography-danger:active,a.ant-typography.ant-typography-danger:focus,a.ant-typography.ant-typography-danger:hover{color:#b33b3d}.ant-typography.ant-typography-disabled{color:rgba(255,255,255,.3);cursor:not-allowed;user-select:none}.ant-typography p,div.ant-typography{margin-bottom:1em}.ant-typography h1,.ant-typography h2,.ant-typography h3,.ant-typography h4,.ant-typography h5,h1.ant-typography,h2.ant-typography,h3.ant-typography,h4.ant-typography,h5.ant-typography{margin-bottom:.5em;color:rgba(255,255,255,.85);font-weight:600}.ant-typography h1,h1.ant-typography{font-size:38px;line-height:1.23}.ant-typography h2,h2.ant-typography{font-size:30px;line-height:1.35}.ant-typography h3,h3.ant-typography{font-size:24px;line-height:1.35}.ant-typography h4,h4.ant-typography{font-size:20px;line-height:1.4}.ant-typography h5,h5.ant-typography{font-size:16px;line-height:1.5}.ant-typography div+h1,.ant-typography div+h2,.ant-typography div+h3,.ant-typography div+h4,.ant-typography div+h5,.ant-typography h1+h1,.ant-typography h1+h2,.ant-typography h1+h3,.ant-typography h1+h4,.ant-typography h1+h5,.ant-typography h2+h1,.ant-typography h2+h2,.ant-typography h2+h3,.ant-typography h2+h4,.ant-typography h2+h5,.ant-typography h3+h1,.ant-typography h3+h2,.ant-typography h3+h3,.ant-typography h3+h4,.ant-typography h3+h5,.ant-typography h4+h1,.ant-typography h4+h2,.ant-typography h4+h3,.ant-typography h4+h4,.ant-typography h4+h5,.ant-typography h5+h1,.ant-typography h5+h2,.ant-typography h5+h3,.ant-typography h5+h4,.ant-typography h5+h5,.ant-typography li+h1,.ant-typography li+h2,.ant-typography li+h3,.ant-typography li+h4,.ant-typography li+h5,.ant-typography p+h1,.ant-typography p+h2,.ant-typography p+h3,.ant-typography p+h4,.ant-typography p+h5,.ant-typography ul+h1,.ant-typography ul+h2,.ant-typography ul+h3,.ant-typography ul+h4,.ant-typography ul+h5,.ant-typography+h1.ant-typography,.ant-typography+h2.ant-typography,.ant-typography+h3.ant-typography,.ant-typography+h4.ant-typography,.ant-typography+h5.ant-typography{margin-top:1.2em}.ant-typography code,.ant-typography kbd{margin:0 .2em;border:1px solid rgba(100,100,100,.2)}a.ant-typography-ellipsis,span.ant-typography-ellipsis{display:inline-block}.ant-typography a,a.ant-typography{color:#177ddc;outline:0;cursor:pointer;transition:color .3s;text-decoration:none}.ant-typography a:focus,.ant-typography a:hover,a.ant-typography:focus,a.ant-typography:hover{color:#165996}.ant-typography a:active,a.ant-typography:active{color:#388ed3}.ant-typography a:active,.ant-typography a:hover,a.ant-typography:active,a.ant-typography:hover{text-decoration:none}.ant-typography a.ant-typography-disabled,.ant-typography a[disabled],a.ant-typography.ant-typography-disabled,a.ant-typography[disabled]{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-typography a.ant-typography-disabled:active,.ant-typography a.ant-typography-disabled:hover,.ant-typography a[disabled]:active,.ant-typography a[disabled]:hover,a.ant-typography.ant-typography-disabled:active,a.ant-typography.ant-typography-disabled:hover,a.ant-typography[disabled]:active,a.ant-typography[disabled]:hover{color:rgba(255,255,255,.3)}.ant-typography a.ant-typography-disabled:active,.ant-typography a[disabled]:active,a.ant-typography.ant-typography-disabled:active,a.ant-typography[disabled]:active{pointer-events:none}.ant-typography code{padding:.2em .4em .1em;font-size:85%;background:rgba(150,150,150,.1);border-radius:3px}.ant-typography kbd{padding:.15em .4em .1em;font-size:90%;background:rgba(150,150,150,.06);border-bottom-width:2px;border-radius:3px}.ant-typography mark{padding:0;background-color:#594214}.ant-typography ins,.ant-typography u{text-decoration:underline;text-decoration-skip-ink:auto}.ant-typography del,.ant-typography s,.task__item-done,.text-deleted{text-decoration:line-through}.ant-typography strong{font-weight:600}.ant-typography-copy,.ant-typography-edit,.ant-typography-expand{color:#177ddc;text-decoration:none;outline:0;cursor:pointer;transition:color .3s;margin-left:4px}.ant-typography-copy:focus,.ant-typography-copy:hover,.ant-typography-edit:focus,.ant-typography-edit:hover,.ant-typography-expand:focus,.ant-typography-expand:hover{color:#165996}.ant-typography-copy:active,.ant-typography-edit:active,.ant-typography-expand:active{color:#388ed3}.ant-typography-copy-success,.ant-typography-copy-success:focus,.ant-typography-copy-success:hover{color:#49aa19}.ant-typography-edit-content{position:relative}div.ant-typography-edit-content{left:-12px;margin-top:-5px;margin-bottom:calc(1em - 4px - 1px)}.ant-typography-edit-content-confirm{position:absolute;right:10px;bottom:8px;color:rgba(255,255,255,.45);pointer-events:none}.ant-typography-edit-content textarea{-moz-transition:none}.ant-typography ol,.ant-typography ul{margin:0 0 1em;padding:0}.ant-typography ol li,.ant-typography ul li{margin:0 0 0 20px;padding:0 0 0 4px}.ant-typography ul{list-style-type:circle}.ant-typography ul ul{list-style-type:disc}.ant-typography ol{list-style-type:decimal}.ant-typography blockquote,.ant-typography pre{margin:1em 0}.ant-typography pre{padding:.4em .6em;white-space:pre-wrap;word-wrap:break-word;background:rgba(150,150,150,.1);border:1px solid rgba(100,100,100,.2);border-radius:3px}.ant-typography pre code{display:inline;margin:0;padding:0;font-size:inherit;font-family:inherit;background:0 0;border:0}.ant-typography blockquote{padding:0 0 0 .6em;border-left:4px solid rgba(100,100,100,.2);opacity:.85}.ant-typography-single-line{white-space:nowrap}.ant-typography-ellipsis-single-line{overflow:hidden;text-overflow:ellipsis}a.ant-typography-ellipsis-single-line,span.ant-typography-ellipsis-single-line{vertical-align:bottom}.ant-typography-ellipsis-multiple-line{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;/*! autoprefixer: ignore next */-webkit-box-orient:vertical}.ant-typography-rtl .ant-typography-copy,.ant-typography-rtl .ant-typography-edit,.ant-typography-rtl .ant-typography-expand{margin-right:4px;margin-left:0}.ant-typography-rtl .ant-typography-expand{float:left}div.ant-typography-edit-content.ant-typography-rtl{right:-12px;left:auto}.ant-typography-rtl .ant-typography-edit-content-confirm{right:auto;left:10px}.ant-typography-rtl.ant-typography ol li,.ant-typography-rtl.ant-typography ul li{margin:0 20px 0 0;padding:0 4px 0 0}.ant-upload{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;outline:0}.ant-upload p{margin:0}.ant-upload-btn{display:block;width:100%;outline:0}.ant-upload input[type=file]{cursor:pointer}.ant-upload.ant-upload-select{display:inline-block}.ant-upload.ant-upload-disabled{cursor:not-allowed}.ant-upload.ant-upload-select-picture-card{width:104px;height:104px;margin-right:8px;margin-bottom:8px;text-align:center;vertical-align:top;background-color:rgba(255,255,255,.04);border:1px dashed #434343;border-radius:2px;cursor:pointer;transition:border-color .3s}.ant-upload.ant-upload-select-picture-card>.ant-upload{display:flex;align-items:center;justify-content:center;height:100%;text-align:center}.ant-upload.ant-upload-select-picture-card:hover{border-color:#177ddc}.ant-upload-disabled.ant-upload.ant-upload-select-picture-card:hover{border-color:#434343}.ant-upload.ant-upload-drag{position:relative;width:100%;height:100%;text-align:center;border:1px dashed #434343;border-radius:2px;cursor:pointer;transition:border-color .3s}.ant-upload.ant-upload-drag .ant-upload{padding:16px 0}.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled){border-color:#388ed3}.ant-upload.ant-upload-drag.ant-upload-disabled{cursor:not-allowed}.ant-upload.ant-upload-drag .ant-upload-btn{display:table;height:100%}.ant-upload.ant-upload-drag .ant-upload-drag-container{display:table-cell;vertical-align:middle}.ant-upload-list-item-name,.ant-upload-picture-card-wrapper{display:inline-block;width:100%}.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover{border-color:#165996}.ant-upload.ant-upload-drag p.ant-upload-drag-icon{margin-bottom:20px}.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon{color:#165996;font-size:48px}.ant-upload.ant-upload-drag p.ant-upload-text{margin:0 0 4px;color:rgba(255,255,255,.85);font-size:16px}.ant-upload.ant-upload-drag p.ant-upload-hint{color:rgba(255,255,255,.45);font-size:14px}.ant-upload.ant-upload-drag .anticon-plus{color:rgba(255,255,255,.3);font-size:30px;transition:all .3s}.ant-upload.ant-upload-drag .anticon-plus:hover,.ant-upload.ant-upload-drag:hover .anticon-plus{color:rgba(255,255,255,.45)}.ant-upload-list::after,.ant-upload-list::before,.ant-upload-picture-card-wrapper::after,.ant-upload-picture-card-wrapper::before{display:table;content:''}.ant-upload-picture-card-wrapper::after{clear:both}.ant-upload-list{box-sizing:border-box;margin:0;padding:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;line-height:1.5715}.ant-upload-list::after{clear:both}.ant-upload-list-item{position:relative;height:22px;margin-top:8px;font-size:14px}.ant-upload-list-item-name{padding-left:22px;overflow:hidden;line-height:1.5715;white-space:nowrap;text-overflow:ellipsis}.ant-upload-list-item-card-actions{position:absolute;right:0}.ant-upload-list-item-card-actions-btn{opacity:0}.ant-upload-list-item-card-actions-btn.ant-btn-sm{height:20px;line-height:1}.ant-upload-list-item-card-actions.picture{top:22px;line-height:0}.ant-upload-list-item-card-actions-btn:focus,.ant-upload-list-item-card-actions.picture .ant-upload-list-item-card-actions-btn{opacity:1}.ant-upload-list-item-card-actions .anticon{color:rgba(255,255,255,.45)}.ant-upload-list-item-info{height:100%;padding:0 4px;transition:background-color .3s}.ant-upload-list-item-info>span{display:block;width:100%;height:100%}.ant-upload-list-item-info .ant-upload-text-icon .anticon,.ant-upload-list-item-info .anticon-loading .anticon{position:absolute;top:5px;color:rgba(255,255,255,.45);font-size:14px}.ant-upload-list-item .anticon-close{position:absolute;top:6px;right:4px;color:rgba(255,255,255,.45);font-size:10px;line-height:0;cursor:pointer;opacity:0;transition:all .3s}.ant-upload-list-item-error .ant-upload-list-item-card-actions-btn,.ant-upload-list-item:hover .ant-upload-list-item-card-actions-btn,.ant-upload-list-item:hover .anticon-close{opacity:1}.ant-upload-list-item .anticon-close:hover{color:rgba(255,255,255,.85)}.ant-upload-list-item:hover .ant-upload-list-item-info{background-color:rgba(255,255,255,.08)}.ant-upload-list-picture .ant-upload-list-item:hover,.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info,.ant-upload-list-picture-card .ant-upload-list-item:hover,.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info{background:0 0}.ant-upload-list-item-error,.ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon,.ant-upload-list-item-error .ant-upload-list-item-name,.ant-upload-list-item-error .ant-upload-text-icon>.anticon{color:#a61d24}.ant-upload-list-item-progress{position:absolute;bottom:-12px;width:100%;padding-left:26px;font-size:14px;line-height:0}.ant-upload-list-picture .ant-upload-list-item,.ant-upload-list-picture-card .ant-upload-list-item{position:relative;height:66px;padding:8px;border:1px solid #434343;border-radius:2px}.ant-upload-list-picture .ant-upload-list-item-error,.ant-upload-list-picture-card .ant-upload-list-item-error{border-color:#a61d24}.ant-upload-list-picture .ant-upload-list-item-uploading,.ant-upload-list-picture-card .ant-upload-list-item-uploading{border-style:dashed}.ant-upload-list-picture .ant-upload-list-item-thumbnail,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail{width:48px;height:48px;line-height:54px;text-align:center;opacity:.8}.ant-upload-list-picture .ant-upload-list-item-thumbnail .anticon,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail .anticon{font-size:26px}.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff'],.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#e6f7ff']{fill:#e6d9d8}.ant-upload-list-picture .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff'],.ant-upload-list-picture-card .ant-upload-list-item-error .ant-upload-list-item-thumbnail .anticon svg path[fill='#1890ff']{fill:#a61d24}.ant-upload-list-picture .ant-upload-list-item-icon,.ant-upload-list-picture-card .ant-upload-list-item-icon{position:absolute;top:50%;left:50%;font-size:26px;transform:translate(-50%,-50%)}.ant-upload-list-picture .ant-upload-list-item-icon .anticon,.ant-upload-list-picture-card .ant-upload-list-item-icon .anticon{font-size:26px}.ant-upload-list-picture .ant-upload-list-item-image,.ant-upload-list-picture-card .ant-upload-list-item-image{max-width:100%}.ant-upload-list-picture .ant-upload-list-item-thumbnail img,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img{display:block;width:48px;height:48px;overflow:hidden}.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-picture-card .ant-upload-list-item-name{display:inline-block;box-sizing:border-box;max-width:100%;margin:0 0 0 8px;padding-right:8px;padding-left:48px;overflow:hidden;line-height:44px;white-space:nowrap;text-overflow:ellipsis;transition:all .3s}.ant-upload-list-picture .ant-upload-list-item-uploading .ant-upload-list-item-name,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-name{line-height:28px}.ant-upload-list-picture .ant-upload-list-item-progress,.ant-upload-list-picture-card .ant-upload-list-item-progress{bottom:14px;width:calc(100% - 24px);margin-top:0;padding-left:56px}.ant-upload-list-picture .anticon-close,.ant-upload-list-picture-card .anticon-close{position:absolute;top:8px;right:8px;line-height:1;opacity:1}.ant-upload-list-picture-card-container{display:inline-block;width:104px;height:104px;margin:0 8px 8px 0;vertical-align:top}.ant-upload-list-picture-card.ant-upload-list::after{display:none}.ant-upload-list-picture-card .ant-upload-list-item{height:100%;margin:0}.ant-upload-list-picture-card .ant-upload-list-item-info{position:relative;height:100%;overflow:hidden}.ant-upload-list-picture-card .ant-upload-list-item-info::before{position:absolute;z-index:1;width:100%;height:100%;background-color:rgba(0,0,0,.5);opacity:0;transition:all .3s;content:' '}.ant-result-content,.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item{background-color:rgba(255,255,255,.04)}.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info::before{opacity:1}.ant-upload-list-picture-card .ant-upload-list-item-actions{position:absolute;top:50%;left:50%;z-index:10;white-space:nowrap;transform:translate(-50%,-50%);opacity:0;transition:all .3s}.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye{z-index:10;width:16px;margin:0 4px;color:rgba(255,255,255,.85);font-size:16px;cursor:pointer;transition:all .3s}.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-download:hover,.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye:hover{color:#fff}.ant-upload-list-picture-card .ant-upload-list-item-actions:hover,.ant-upload-list-picture-card .ant-upload-list-item-info:hover+.ant-upload-list-item-actions{opacity:1}.ant-upload-list-picture-card .ant-upload-list-item-thumbnail,.ant-upload-list-picture-card .ant-upload-list-item-thumbnail img{position:static;display:block;width:100%;height:100%;object-fit:contain}.ant-upload-list-picture-card .ant-upload-list-item-name{display:none;margin:8px 0 0;padding:0;line-height:1.5715;text-align:center}.ant-upload-list-picture-card .ant-upload-list-item-file+.ant-upload-list-item-name{position:absolute;bottom:10px;display:block}.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info{height:auto}.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-delete,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info .anticon-eye,.ant-upload-list-picture-card .ant-upload-list-item-uploading .ant-upload-list-item-info::before{display:none}.ant-upload-list-picture-card .ant-upload-list-item-progress{bottom:32px;width:calc(100% - 14px);padding-left:0}.ant-upload-list-picture-container,.ant-upload-list-text-container{transition:opacity .3s,height .3s}.ant-upload-list-picture-container::before,.ant-upload-list-text-container::before{display:table;width:0;height:0;content:''}.ant-upload-list-picture-container .ant-upload-span,.ant-upload-list-text-container .ant-upload-span{display:block;flex:auto}.ant-upload-list-picture .ant-upload-span,.ant-upload-list-text .ant-upload-span{display:flex;align-items:center}.ant-upload-list-picture .ant-upload-span>*,.ant-upload-list-text .ant-upload-span>*{flex:none}.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-text .ant-upload-list-item-name{flex:auto;padding:0 8px}.ant-upload-list-picture .ant-upload-list-item-card-actions,.ant-upload-list-text .ant-upload-list-item-card-actions,.ant-upload-list-text .ant-upload-text-icon .anticon{position:static}.ant-upload-list .ant-upload-animate-inline-appear,.ant-upload-list .ant-upload-animate-inline-enter,.ant-upload-list .ant-upload-animate-inline-leave{animation-duration:.3s;animation-fill-mode:cubic-bezier(.78,.14,.15,.86)}.ant-upload-list .ant-upload-animate-inline-appear,.ant-upload-list .ant-upload-animate-inline-enter{animation-name:uploadAnimateInlineIn}.ant-upload-list .ant-upload-animate-inline-leave{animation-name:uploadAnimateInlineOut}@keyframes uploadAnimateInlineIn{from{width:0;height:0;margin:0;padding:0;opacity:0}}@keyframes uploadAnimateInlineOut{to{width:0;height:0;margin:0;padding:0;opacity:0}}.ant-upload-rtl.ant-upload.ant-upload-select-picture-card{margin-right:auto;margin-left:8px}.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-1{padding-right:22px;padding-left:14px}.ant-upload-list-rtl .ant-upload-list-item-list-type-text:hover .ant-upload-list-item-name-icon-count-2{padding-right:22px;padding-left:28px}.ant-upload-list-rtl .ant-upload-list-item-name{padding-right:22px;padding-left:0}.ant-upload-list-rtl .ant-upload-list-item-name-icon-count-1{padding-left:14px}.ant-upload-list-rtl .ant-upload-list-item-card-actions{right:auto;left:0}.ant-upload-list-rtl .ant-upload-list-item-card-actions .anticon{padding-right:0;padding-left:5px}.ant-upload-list-rtl .ant-upload-list-item-info{padding:0 4px 0 12px}.ant-upload-list-rtl .ant-upload-list-item .anticon-close{right:auto;left:4px}.ant-upload-list-rtl .ant-upload-list-item-error .ant-upload-list-item-card-actions .anticon{padding-right:0;padding-left:5px}.ant-upload-list-rtl .ant-upload-list-item-progress{padding-right:26px;padding-left:0}.ant-upload-list-picture .ant-upload-list-item-info,.ant-upload-list-picture-card .ant-upload-list-item-info{padding:0}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-thumbnail,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-thumbnail{right:8px;left:auto}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-icon,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-icon{right:50%;left:auto;transform:translate(50%,-50%)}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name{margin:0 8px 0 0;padding-right:48px;padding-left:8px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-1,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-1{padding-right:48px;padding-left:18px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-name-icon-count-2,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-name-icon-count-2{padding-right:48px;padding-left:36px}.ant-upload-list-rtl.ant-upload-list-picture .ant-upload-list-item-progress,.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-progress{padding-right:0;padding-left:0}.ant-upload-list-rtl.ant-upload-list-picture .anticon-close,.ant-upload-list-rtl.ant-upload-list-picture-card .anticon-close{right:auto;left:8px}.ant-upload-list-rtl .ant-upload-list-picture-card-container{margin:0 0 8px 8px}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-actions{right:50%;left:auto;transform:translate(50%,-50%)}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item-file+.ant-upload-list-item-name{margin:8px 0 0;padding:0}.ant-cascader,.ant-cascader-picker,.ant-select-auto-complete{margin:0;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5715;font-feature-settings:tnum;list-style:none;box-sizing:border-box;font-variant:tabular-nums}.ant-upload-list-rtl.ant-upload-list-picture-card .ant-upload-list-item{float:unset}.ant-select-auto-complete{padding:0}.ant-select-auto-complete .ant-select-clear{right:13px}.ant-select-dropdown-hidden{display:none}.ant-cascader{padding:0}.ant-cascader-input.ant-input{position:static;width:100%;padding-right:24px;background-color:transparent!important;cursor:pointer}.ant-cascader-picker-show-search .ant-cascader-input.ant-input{position:relative}.ant-cascader-picker{padding:0;position:relative;display:inline-block;background-color:transparent;border-radius:2px;outline:0;cursor:pointer;transition:color .3s}.ant-cascader-picker-with-value .ant-cascader-picker-label{color:transparent}.ant-cascader-picker-disabled{color:rgba(255,255,255,.3);background:rgba(255,255,255,.08);cursor:not-allowed}.ant-cascader-picker-disabled .ant-cascader-input{cursor:not-allowed}.ant-cascader-picker:focus .ant-cascader-input{border-color:#177ddc;border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(23,125,220,.2)}.ant-input-rtl .ant-cascader-picker:focus .ant-cascader-input{border-right-width:0;border-left-width:1px!important}.ant-cascader-picker-borderless .ant-cascader-input{border-color:transparent!important;box-shadow:none!important}.ant-cascader-picker-show-search.ant-cascader-picker-focused{color:rgba(255,255,255,.3)}.ant-cascader-picker-label{position:absolute;top:50%;left:0;width:100%;height:20px;margin-top:-10px;padding:0 20px 0 12px;overflow:hidden;line-height:20px;white-space:nowrap;text-overflow:ellipsis}.ant-cascader-picker-arrow,.ant-cascader-picker-clear{position:absolute;height:12px;font-size:12px;line-height:12px;right:12px;width:12px}.ant-cascader-picker-clear{top:50%;z-index:2;margin-top:-6px;color:rgba(255,255,255,.3);background:#141414;cursor:pointer;opacity:0;transition:color .3s ease,opacity .15s ease}.ant-cascader-picker-clear:hover{color:rgba(255,255,255,.45)}.ant-cascader-picker:hover .ant-cascader-picker-clear{opacity:1}.ant-cascader-picker-arrow{top:50%;z-index:1;margin-top:-6px;color:rgba(255,255,255,.3)}.ant-cascader-picker-label:hover+.ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover+.ant-cascader-input){border-color:#165996;border-right-width:1px!important}.ant-input-rtl .ant-cascader-picker-label:hover+.ant-cascader-input:not(.ant-cascader-picker-disabled .ant-cascader-picker-label:hover+.ant-cascader-input){border-right-width:0;border-left-width:1px!important}.ant-cascader-picker-small .ant-cascader-picker-arrow,.ant-cascader-picker-small .ant-cascader-picker-clear{right:8px}.ant-cascader-menus{z-index:1050;font-size:14px;white-space:nowrap;background:#1f1f1f;border-radius:2px;box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2)}.ant-cascader-menus ol,.ant-cascader-menus ul{margin:0;list-style:none}.ant-cascader-menus-empty,.ant-cascader-menus-hidden{display:none}.ant-cascader-menus.ant-slide-up-appear.ant-slide-up-appear-active.ant-cascader-menus-placement-topLeft,.ant-cascader-menus.ant-slide-up-enter.ant-slide-up-enter-active.ant-cascader-menus-placement-topLeft{animation-name:antSlideDownIn}.ant-cascader-menus.ant-slide-up-leave.ant-slide-up-leave-active.ant-cascader-menus-placement-bottomLeft{animation-name:antSlideUpOut}.ant-cascader-menus.ant-slide-up-leave.ant-slide-up-leave-active.ant-cascader-menus-placement-topLeft{animation-name:antSlideDownOut}.ant-cascader-menu{display:inline-block;min-width:111px;height:180px;margin:0;padding:4px 0;overflow:auto;vertical-align:top;list-style:none;border-right:1px solid #303030;-ms-overflow-style:-ms-autohiding-scrollbar}.ant-cascader-menu:first-child{border-radius:2px 0 0 2px}.ant-cascader-menu:last-child{margin-right:-1px;border-right-color:transparent;border-radius:0 2px 2px 0}.ant-cascader-menu:only-child{border-radius:2px}.ant-cascader-menu-item{padding:5px 12px;overflow:hidden;line-height:22px;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:all .3s}.ant-cascader-menu-item:hover{background:rgba(255,255,255,.08)}.ant-cascader-menu-item-disabled{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-cascader-menu-item-disabled:hover{background:0 0}.ant-cascader-menu-empty .ant-cascader-menu-item{color:rgba(255,255,255,.3);cursor:default;pointer-events:none}.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled),.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover{font-weight:600;background-color:#111b26}.ant-cascader-menu-item-expand{position:relative;padding-right:24px}.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-item-loading-icon{position:absolute;right:12px;color:rgba(255,255,255,.45);font-size:10px}.ant-cascader-menu-item-disabled.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-item-disabled.ant-cascader-menu-item-loading-icon{color:rgba(255,255,255,.3)}.ant-cascader-menu-item .ant-cascader-menu-item-keyword{color:#a61d24}.ant-cascader-picker-rtl .ant-cascader-input.ant-input{padding-right:11px;padding-left:24px;text-align:right}.ant-cascader-picker-rtl .ant-cascader-picker-label{padding:0 12px 0 20px;text-align:right}.ant-cascader-picker-rtl .ant-cascader-picker-arrow,.ant-cascader-picker-rtl .ant-cascader-picker-clear{right:auto;left:12px}.ant-cascader-picker-rtl.ant-cascader-picker-small .ant-cascader-picker-arrow,.ant-cascader-picker-rtl.ant-cascader-picker-small .ant-cascader-picker-clear{right:auto;left:8px}.ant-cascader-menu-rtl .ant-cascader-menu{border-right:none;border-left:1px solid #303030}.ant-cascader-menu-rtl .ant-cascader-menu:first-child{border-radius:0 2px 2px 0}.ant-cascader-menu-rtl .ant-cascader-menu:last-child{margin-right:0;margin-left:-1px;border-left-color:transparent;border-radius:2px 0 0 2px}.ant-cascader-menu-rtl .ant-cascader-menu:only-child{border-radius:2px}.ant-cascader-menu-rtl .ant-cascader-menu-item-expand{padding-right:12px;padding-left:24px}.ant-tree-checkbox,.ant-tree-checkbox-wrapper{padding:0;list-style:none;font-feature-settings:tnum}.ant-cascader-menu-rtl .ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon,.ant-cascader-menu-rtl .ant-cascader-menu-item-loading-icon{right:auto;left:12px}.ant-cascader-menu-rtl .ant-cascader-menu-item-loading-icon{transform:scaleY(-1)}.ant-cascader-menus{position:relative;margin-top:2px;margin-bottom:2px}nz-tree-virtual-scroll-view{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}nz-tree-virtual-scroll-view .ant-tree-list,nz-tree-virtual-scroll-view .ant-tree-list-holder{height:100%}nz-tree-view .ant-tree-switcher+.ant-tree-switcher.nz-tree-leaf-line-icon,nz-tree-virtual-scroll-view .ant-tree-switcher+.ant-tree-switcher.nz-tree-leaf-line-icon{display:none}nz-tree-view .ant-tree-list-holder-inner{display:flex;flex-direction:column}.ant-tree-treenode-leaf-last .ant-tree-switcher-leaf-line::before{top:auto!important;bottom:auto!important;height:14px!important}.ant-tree.ant-tree-directory .ant-tree-treenode{position:relative}.ant-tree.ant-tree-directory .ant-tree-treenode::before{position:absolute;top:0;right:0;bottom:4px;left:0;transition:background-color .3s;content:'';pointer-events:none}.ant-tree.ant-tree-directory .ant-tree-treenode:hover::before{background:rgba(255,255,255,.08)}.ant-tree.ant-tree-directory .ant-tree-treenode>*{z-index:1}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-switcher{transition:color .3s}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper{border-radius:0;user-select:none}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode .ant-tree-node-content-wrapper.ant-tree-node-selected{color:#fff;background:0 0}.ant-tree.ant-tree-directory .ant-tree-treenode-selected::before,.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before{background:#177ddc}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher{color:#fff}.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-node-content-wrapper{color:#fff;background:0 0}.ant-tree-checkbox{box-sizing:border-box;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;position:relative;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-tree-checkbox-input:focus+.ant-tree-checkbox-inner,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner,.ant-tree-checkbox:hover .ant-tree-checkbox-inner{border-color:#177ddc}.ant-tree-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #177ddc;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox::after,.ant-tree-checkbox:hover::after{visibility:visible}.ant-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:transparent;border:1px solid #434343;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-tree-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5.71px;height:9.14px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-tree-checkbox-disabled,.ant-tree-checkbox-disabled .ant-tree-checkbox-input,.ant-tree-checkbox-disabled+span{cursor:not-allowed}.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-select-tree,.ant-tree{transition:background-color .3s}.ant-tree-checkbox-checked .ant-tree-checkbox-inner{background-color:#177ddc;border-color:#177ddc}.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after{border-color:rgba(255,255,255,.3);animation-name:none}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner{background-color:rgba(255,255,255,.08);border-color:#434343!important}.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after{border-color:rgba(255,255,255,.08);border-collapse:separate;animation-name:none}.ant-tree-checkbox-disabled+span{color:rgba(255,255,255,.3)}.ant-tree-checkbox-disabled:hover::after,.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-disabled::after{visibility:hidden}.ant-tree-checkbox-wrapper{box-sizing:border-box;margin:0;color:rgba(255,255,255,.85);font-size:14px;font-variant:tabular-nums;display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-tree-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-tree-checkbox-wrapper.ant-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-tree-checkbox-wrapper+.ant-tree-checkbox-wrapper{margin-left:8px}.ant-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-tree,.ant-tree-checkbox-group{padding:0;color:rgba(255,255,255,.85);font-size:14px;line-height:1.5715;box-sizing:border-box;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum}.ant-tree-checkbox-group{margin:0;display:inline-block}.ant-tree-checkbox-group-item{margin-right:8px}.ant-tree-checkbox-group-item:last-child{margin-right:0}.ant-tree-checkbox-group-item+.ant-tree-checkbox-group-item{margin-left:0}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner{background-color:transparent;border-color:#434343}.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner::after{top:50%;left:50%;width:8px;height:8px;background-color:#177ddc;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner::after{background-color:rgba(255,255,255,.3);border-color:rgba(255,255,255,.3)}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item{margin-right:0;margin-left:8px}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item:last-child{margin-left:0!important}.ant-tree-checkbox-group-rtl .ant-tree-checkbox-group-item+.ant-tree-checkbox-group-item{margin-left:8px}.ant-tree{margin:0;background:0 0;border-radius:2px}.ant-tree-focused:not(:hover):not(.ant-tree-active-focused){background:#111b26}.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner{align-items:stretch}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode .ant-select-tree-node-content-wrapper,.ant-tree.ant-tree-block-node .ant-tree-list-holder-inner .ant-tree-node-content-wrapper{flex:auto}.ant-tree .ant-tree-treenode{display:flex;align-items:flex-start;padding:0 0 4px;outline:0}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-tree .ant-tree-treenode-disabled .ant-tree-node-content-wrapper:hover{background:0 0}.ant-tree .ant-tree-treenode-active .ant-tree-node-content-wrapper{background:rgba(255,255,255,.08)}.ant-tree .ant-tree-treenode:not(.ant-tree .ant-tree-treenode-disabled).filter-node .ant-tree-title{color:inherit;font-weight:500}.ant-tree-indent{align-self:stretch;white-space:nowrap;user-select:none}.ant-tree-indent-unit{display:inline-block;width:24px}.ant-tree-switcher{position:relative;flex:none;align-self:stretch;width:24px;margin:0;line-height:24px;text-align:center;cursor:pointer;user-select:none}.ant-tree-switcher .ant-select-tree-switcher-icon,.ant-tree-switcher .ant-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-tree-switcher .ant-select-tree-switcher-icon svg,.ant-tree-switcher .ant-tree-switcher-icon svg{transition:transform .3s}.ant-tree-switcher-noop{cursor:default}.ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-tree-switcher-loading-icon{color:#177ddc}.ant-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-tree-switcher-leaf-line::after,.ant-tree-switcher-leaf-line::before{position:absolute;margin-left:-1px;content:' '}.ant-tree-switcher-leaf-line::before{top:0;bottom:-4px;border-left:1px solid #d9d9d9}.ant-tree-switcher-leaf-line::after{width:10px;height:14px;border-bottom:1px solid #d9d9d9}.ant-tree-checkbox{top:initial;margin:4px 8px 0 0}.ant-tree .ant-tree-node-content-wrapper{position:relative;z-index:auto;min-height:24px;margin:0;padding:0 4px;color:inherit;line-height:24px;background:0 0;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-tree .ant-tree-node-content-wrapper:hover{background-color:rgba(255,255,255,.08)}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:#11263c}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;vertical-align:top}.ant-tree .ant-tree-node-content-wrapper .ant-tree-iconEle:empty,.ant-tree-show-line .ant-tree-indent-unit-end::before{display:none}.ant-tree-unselectable .ant-tree-node-content-wrapper:hover{background-color:transparent}.ant-tree-node-content-wrapper[draggable=true]{line-height:24px;user-select:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#177ddc;border-radius:1px;pointer-events:none}.ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #177ddc;border-radius:50%;content:''}.ant-tree .ant-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #177ddc}.ant-tree-show-line .ant-tree-indent-unit{position:relative;height:100%}.ant-tree-show-line .ant-tree-indent-unit::before{position:absolute;top:0;right:12px;bottom:-4px;border-right:1px solid #434343;content:''}.ant-tree-show-line .ant-tree-switcher{background:#141414}.ant-tree-show-line .ant-tree-switcher-line-icon{vertical-align:-.225em}.ant-tree-rtl .ant-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{right:-6px;left:unset}.ant-tree-rtl .ant-tree-switcher_close .ant-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-rtl.ant-tree-show-line .ant-tree-indent-unit::before{right:auto;left:-13px;border-right:none;border-left:1px solid #434343}.ant-tree-rtl.ant-tree-checkbox,.ant-tree-select-dropdown-rtl .ant-select-tree-checkbox{margin:4px 0 0 8px}.font-highlight{color:#a61d24}.ant-select-tree,.ant-select-tree-checkbox,.ant-select-tree-checkbox-group,.ant-select-tree-checkbox-wrapper{color:rgba(255,255,255,.85);font-size:14px}.ant-tree-child-tree{overflow:hidden}nz-tree{display:block}.ant-select-tree-checkbox{box-sizing:border-box;padding:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;position:relative;line-height:1;white-space:nowrap;outline:0;cursor:pointer}.ant-select-tree-checkbox-input:focus+.ant-select-tree-checkbox-inner,.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner,.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner{border-color:#177ddc}.ant-select-tree-checkbox-checked::after{position:absolute;top:0;left:0;width:100%;height:100%;border:1px solid #177ddc;border-radius:2px;visibility:hidden;animation:antCheckboxEffect .36s ease-in-out;animation-fill-mode:backwards;content:''}.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox::after,.ant-select-tree-checkbox:hover::after{visibility:visible}.ant-input-number__hide-step .ant-input-number-handler-wrap,.ant-select-tree-checkbox-disabled:hover::after,.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-disabled::after,.exception__img-block::after{visibility:hidden}.ant-select-tree-checkbox-inner{position:relative;top:0;left:0;display:block;width:16px;height:16px;direction:ltr;background-color:transparent;border:1px solid #434343;border-radius:2px;border-collapse:separate;transition:all .3s}.ant-picker-calendar-rtl,.ant-result-rtl,.ant-select-tree-checkbox-rtl,.ant-space-rtl,.ant-tree-select-dropdown-rtl,.avatar-list-rtl,.error-collect-rtl,.exception-rtl,.global-footer-rtl,.loading-default-rtl,.onboarding-rtl,.page-header-rtl,.result-rtl,.setting-drawer-rtl,.tag-select-rtl{direction:rtl}.ant-select-tree-checkbox-inner::after{position:absolute;top:50%;left:22%;display:table;width:5.71px;height:9.14px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;transition:all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;content:' '}.ant-select-tree-checkbox-input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;cursor:pointer;opacity:0}.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after{position:absolute;display:table;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);opacity:1;transition:all .2s cubic-bezier(.12,.4,.29,1.46) .1s;content:' '}.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner{background-color:#177ddc;border-color:#177ddc}.ant-select-tree-checkbox-disabled{cursor:not-allowed}.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner::after{border-color:rgba(255,255,255,.3);animation-name:none}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-input{cursor:not-allowed}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner{background-color:rgba(255,255,255,.08);border-color:#434343!important}.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after{border-color:rgba(255,255,255,.08);border-collapse:separate;animation-name:none}.ant-select-tree-checkbox-disabled+span{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-select-tree-checkbox-wrapper{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;list-style:none;font-feature-settings:tnum;display:inline-flex;align-items:baseline;line-height:unset;cursor:pointer}.ant-select-tree-checkbox-wrapper::after{display:inline-block;width:0;overflow:hidden;content:'\a0'}.ant-select-tree-checkbox-wrapper.ant-select-tree-checkbox-wrapper-disabled{cursor:not-allowed}.ant-select-tree-checkbox-wrapper+.ant-select-tree-checkbox-wrapper{margin-left:8px}.ant-select-tree-checkbox+span{padding-right:8px;padding-left:8px}.ant-select-tree-checkbox-group{box-sizing:border-box;margin:0;padding:0;font-variant:tabular-nums;line-height:1.5715;list-style:none;font-feature-settings:tnum;display:inline-block}.ant-select-tree-checkbox-group-item{margin-right:8px}.ant-select-tree-checkbox-group-item:last-child{margin-right:0}.ant-select-tree-checkbox-group-item+.ant-select-tree-checkbox-group-item{margin-left:0}.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner{background-color:transparent;border-color:#434343}.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner::after{top:50%;left:50%;width:8px;height:8px;background-color:#177ddc;border:0;transform:translate(-50%,-50%) scale(1);opacity:1;content:' '}.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner::after{background-color:rgba(255,255,255,.3);border-color:rgba(255,255,255,.3)}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item{margin-right:0;margin-left:8px}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item:last-child{margin-left:0!important}.ant-select-tree-checkbox-group-rtl .ant-select-tree-checkbox-group-item+.ant-select-tree-checkbox-group-item{margin-left:8px}.ant-tree-select-dropdown{padding:8px 4px 0}.ant-tree-select-dropdown .ant-select-tree{border-radius:0}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner{align-items:stretch}.ant-tree-select-dropdown .ant-select-tree-list-holder-inner .ant-select-tree-treenode{padding-bottom:8px}.ant-picker-calendar,.ant-select-tree{padding:0;line-height:1.5715;box-sizing:border-box;font-variant:tabular-nums;font-feature-settings:tnum;list-style:none}.ant-select-tree{margin:0;background:0 0;border-radius:2px}.ant-select-tree-focused:not(:hover):not(.ant-select-tree-active-focused){background:#111b26}.ant-select-tree-list-holder-inner{align-items:flex-start}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner{align-items:stretch}.ant-select-tree.ant-select-tree-block-node .ant-select-tree-list-holder-inner .ant-select-tree-node-content-wrapper{flex:auto}.ant-select-tree .ant-select-tree-treenode{display:flex;align-items:flex-start;padding:0 0 4px;outline:0}.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper{color:rgba(255,255,255,.3);cursor:not-allowed}.ant-select-tree .ant-select-tree-treenode-disabled .ant-select-tree-node-content-wrapper:hover{background:0 0}.ant-select-tree .ant-select-tree-treenode-active .ant-select-tree-node-content-wrapper{background:rgba(255,255,255,.08)}.ant-select-tree .ant-select-tree-treenode:not(.ant-select-tree .ant-select-tree-treenode-disabled).filter-node .ant-select-tree-title{color:inherit;font-weight:500}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date .ant-picker-calendar-date-value,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today .ant-picker-calendar-date-value,.ant-select-tree-switcher-loading-icon{color:#177ddc}.ant-select-tree-indent{align-self:stretch;white-space:nowrap;user-select:none}.ant-select-tree-indent-unit{display:inline-block;width:24px}.ant-select-tree-switcher{position:relative;flex:none;align-self:stretch;width:24px;margin:0;line-height:24px;text-align:center;cursor:pointer;user-select:none}.ant-select-tree-switcher .ant-select-tree-switcher-icon,.ant-select-tree-switcher .ant-tree-switcher-icon{display:inline-block;font-size:10px;vertical-align:baseline}.ant-select-tree-switcher .ant-select-tree-switcher-icon svg,.ant-select-tree-switcher .ant-tree-switcher-icon svg{transition:transform .3s}.ant-select-tree-switcher-noop{cursor:default}.ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(-90deg)}.ant-select-tree-switcher-leaf-line{position:relative;z-index:1;display:inline-block;width:100%;height:100%}.ant-select-tree-switcher-leaf-line::before{position:absolute;top:0;bottom:-4px;margin-left:-1px;border-left:1px solid #d9d9d9;content:' '}.ant-select-tree-switcher-leaf-line::after{position:absolute;width:10px;height:14px;margin-left:-1px;border-bottom:1px solid #d9d9d9;content:' '}.ant-select-tree-checkbox{top:initial;margin:4px 8px 0 0}.ant-select-tree .ant-select-tree-node-content-wrapper{position:relative;z-index:auto;min-height:24px;margin:0;padding:0 4px;color:inherit;line-height:24px;background:0 0;border-radius:2px;cursor:pointer;transition:all .3s,border 0s,line-height 0s,box-shadow 0s}.ant-select-tree .ant-select-tree-node-content-wrapper:hover,.g2-mini-progress__wrap{background-color:rgba(255,255,255,.08)}.ant-select-tree .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected{background-color:#11263c}.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;vertical-align:top}.ant-select-tree .ant-select-tree-node-content-wrapper .ant-select-tree-iconEle:empty,.ant-select-tree-show-line .ant-select-tree-indent-unit-end::before{display:none}.ant-select-tree-unselectable .ant-select-tree-node-content-wrapper:hover{background-color:transparent}.ant-select-tree-node-content-wrapper[draggable=true]{line-height:24px;user-select:none}.ant-select-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator{position:absolute;z-index:1;height:2px;background-color:#177ddc;border-radius:1px;pointer-events:none}.ant-select-tree-node-content-wrapper[draggable=true] .ant-tree-drop-indicator::after{position:absolute;top:-3px;left:-6px;width:8px;height:8px;background-color:transparent;border:2px solid #177ddc;border-radius:50%;content:''}.ant-select-tree .ant-select-tree-treenode.drop-container>[draggable]{box-shadow:0 0 0 2px #177ddc}.ant-select-tree-show-line .ant-select-tree-indent-unit{position:relative;height:100%}.ant-select-tree-show-line .ant-select-tree-indent-unit::before{position:absolute;top:0;right:12px;bottom:-4px;border-right:1px solid #434343;content:''}.ant-select-tree-show-line .ant-select-tree-switcher{background:#141414}.ant-select-tree-show-line .ant-select-tree-switcher-line-icon{vertical-align:-.225em}.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher_close .ant-select-tree-switcher-icon svg{transform:rotate(90deg)}.ant-tree-select-dropdown-rtl .ant-select-tree .ant-select-tree-switcher-loading-icon{transform:scaleY(-1)}.ant-tree.ant-select-tree.ant-tree-show-line nz-tree-node[builtin]:not(:last-child)>li::before{content:' ';width:1px;border-left:1px solid #d9d9d9;height:calc(100% - 16px);position:absolute;left:12px;margin:26px 0}.ant-select-dropdown.ant-select-tree-dropdown{top:100%;left:0;position:relative;width:100%;margin-top:4px;margin-bottom:4px;overflow:auto}.ant-picker-calendar{margin:0;color:rgba(255,255,255,.85);font-size:14px;background:#141414}.ant-picker-calendar-header{display:flex;justify-content:flex-end;padding:12px 0}.ant-picker-calendar .ant-picker-panel .ant-picker-body,.task__item{padding:8px 0}.ant-picker-calendar-header .ant-picker-calendar-year-select{min-width:80px}.ant-picker-calendar-header .ant-picker-calendar-month-select{min-width:70px;margin-left:8px}.ant-picker-calendar-header .ant-picker-calendar-mode-switch{margin-left:8px}.ant-picker-calendar .ant-picker-panel{background:#141414;border:0;border-top:1px solid #303030;border-radius:0}.ant-picker-calendar .ant-picker-panel .ant-picker-date-panel,.ant-picker-calendar .ant-picker-panel .ant-picker-month-panel{width:auto}.ant-picker-calendar .ant-picker-panel .ant-picker-content{width:100%}.ant-picker-calendar-mini{border-radius:2px}.ant-picker-calendar-mini .ant-picker-calendar-header{padding-right:8px;padding-left:8px}.ant-picker-calendar-mini .ant-picker-panel{border-radius:0 0 2px 2px}.ant-picker-calendar-mini .ant-picker-content{height:256px}.ant-picker-calendar-mini .ant-picker-content th{height:auto;padding:0;line-height:18px}.ant-picker-calendar-full .ant-picker-panel{display:block;width:100%;text-align:right;background:#141414;border:0}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell .ant-picker-calendar-date-today::before,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell::before{display:none}.ant-picker-calendar-full .ant-picker-panel .ant-picker-body td,.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{padding:0}.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{height:auto;padding:0 12px 5px 0;line-height:18px}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell:hover .ant-picker-calendar-date{background:rgba(255,255,255,.08)}.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected .ant-picker-calendar-date-today,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date,.ant-picker-calendar-full .ant-picker-panel .ant-picker-cell-selected:hover .ant-picker-calendar-date-today{background:#111b26}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date{display:block;width:auto;height:auto;margin:0 4px;padding:4px 8px 0;border:0;border-top:2px solid #303030;border-radius:0;transition:background .3s}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-value{line-height:24px;transition:color .3s}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content{position:static;width:auto;height:86px;overflow-y:auto;color:rgba(255,255,255,.85);line-height:1.5715;text-align:left}.ant-image,.half-float,.row-masonry{position:relative}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today{border-color:#177ddc}.modal-header,.st .ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table-tbody>tr:last-child>td{border-bottom:1px solid #303030}.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-today .ant-picker-calendar-date-value{color:rgba(255,255,255,.85)}@media only screen and (max-width:480px){.ant-picker-calendar-header{display:block}.ant-picker-calendar-header .ant-picker-calendar-year-select{width:50%}.ant-picker-calendar-header .ant-picker-calendar-month-select{width:calc(50% - 8px)}.ant-picker-calendar-header .ant-picker-calendar-mode-switch{width:100%;margin-top:8px;margin-left:0}.ant-picker-calendar-header .ant-picker-calendar-mode-switch>label{width:50%;text-align:center}}.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-mode-switch,.ant-picker-calendar-rtl .ant-picker-calendar-header .ant-picker-calendar-month-select{margin-right:8px;margin-left:0}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel{text-align:left}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-body th{padding:0 0 5px 12px}.ant-picker-calendar-rtl.ant-picker-calendar-full .ant-picker-panel .ant-picker-calendar-date-content{text-align:right}.ant-result{padding:48px 32px}.ant-result-success .ant-result-icon>.anticon{color:#49aa19}.ant-result-error .ant-result-icon>.anticon{color:#a61d24}.ant-result-info .ant-result-icon>.anticon{color:#177ddc}.ant-result-warning .ant-result-icon>.anticon{color:#d89614}.ant-result-image{width:250px;height:295px;margin:auto}.ant-result-icon{margin-bottom:24px;text-align:center}.ant-result-icon>.anticon{font-size:72px}.ant-result-title{color:rgba(255,255,255,.85);font-size:24px;line-height:1.8;text-align:center}.ant-result-subtitle{color:rgba(255,255,255,.45);font-size:14px;line-height:1.6;text-align:center}.ant-result-extra{margin:24px 0 0;text-align:center}.ant-result-extra>*{margin-right:8px}.ant-result-extra>:last-child{margin-right:0}.ant-result-content{margin-top:24px;padding:24px 40px}.ant-result-rtl .ant-result-extra>*{margin-right:0;margin-left:8px}.ant-result-rtl .ant-result-extra>:last-child{margin-left:0}nz-result{display:block}.ant-space{display:inline-flex}.ant-space-vertical{flex-direction:column}.ant-space-align-center{align-items:center}.ant-space-align-start{align-items:flex-start}.ant-space-align-end{align-items:flex-end}.ant-space-align-baseline{align-items:baseline}.ant-space-item:empty{display:none}nz-space-item{display:block}.ant-image{display:inline-block}.ant-image-mask,.ant-image-placeholder{position:absolute;left:0;top:0;right:0;bottom:0}.ant-image-img{display:block;width:100%;height:auto}.ant-image-img-placeholder{background-color:#f5f5f5;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTQuNSAyLjVoLTEzQS41LjUgMCAwIDAgMSAzdjEwYS41LjUgMCAwIDAgLjUuNWgxM2EuNS41IDAgMCAwIC41LS41VjNhLjUuNSAwIDAgMC0uNS0uNXpNNS4yODEgNC43NWExIDEgMCAwIDEgMCAyIDEgMSAwIDAgMSAwLTJ6bTguMDMgNi44M2EuMTI3LjEyNyAwIDAgMS0uMDgxLjAzSDIuNzY5YS4xMjUuMTI1IDAgMCAxLS4wOTYtLjIwN2wyLjY2MS0zLjE1NmEuMTI2LjEyNiAwIDAgMSAuMTc3LS4wMTZsLjAxNi4wMTZMNy4wOCAxMC4wOWwyLjQ3LTIuOTNhLjEyNi4xMjYgMCAwIDEgLjE3Ny0uMDE2bC4wMTUuMDE2IDMuNTg4IDQuMjQ0YS4xMjcuMTI3IDAgMCAxLS4wMi4xNzV6IiBmaWxsPSIjOEM4QzhDIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=);background-repeat:no-repeat;background-position:center center;background-size:30%}.ant-image-mask{display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(0,0,0,.5);cursor:pointer;opacity:0;transition:opacity .3s}.ant-image-mask:hover,.cdk-overlay-backdrop.ant-image-preview-mask,.img-thm:hover .img-thm__icon,.loading-backdrop{opacity:1}.ant-image-preview-img,.ant-image-preview-img-wrapper{transition:transform .3s cubic-bezier(.215,.61,.355,1) 0s}.ant-image-mask-info .anticon{margin-inline-end:4px}.ant-image-preview{pointer-events:none;height:100%;text-align:center}.ant-image-preview.ant-zoom-enter,.ant-image-preview.antzoom-appear{transform:none;opacity:0;animation-duration:.3s;user-select:none}.ant-image-preview-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;height:100%;background-color:rgba(0,0,0,.45)}.ant-image-preview-mask-hidden{display:none}.ant-image-preview-wrap{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;outline:0;-webkit-overflow-scrolling:touch;z-index:1080}.ant-image-preview-body{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.ant-image-preview-img{max-width:100%;max-height:100%;vertical-align:middle;transform:scale3d(1,1,1);cursor:grab;user-select:none;pointer-events:auto}.ant-image-preview-img-wrapper{position:absolute;top:0;right:0;bottom:0;left:0}.ant-image-preview-img-wrapper::before{display:inline-block;width:1px;height:50%;margin-right:-1px;content:''}.ant-image-preview-moving .ant-image-preview-img{cursor:grabbing}.ant-image-preview-moving .ant-image-preview-img-wrapper{transition-duration:0s}.ant-image-preview-operations{box-sizing:border-box;margin:0;padding:0;font-size:14px;font-variant:tabular-nums;line-height:1.5715;font-feature-settings:tnum;position:absolute;top:0;right:0;z-index:1;display:flex;flex-direction:row-reverse;align-items:center;width:100%;color:rgba(255,255,255,.85);list-style:none;background:rgba(0,0,0,.1);pointer-events:auto}.ant-image-preview-operations-icon,.ant-image-preview-switch-left>.anticon,.ant-image-preview-switch-right>.anticon{font-size:18px}.ant-image-preview-operations-operation{margin-left:12px;padding:12px;cursor:pointer}.ant-image-preview-operations-operation-disabled{color:rgba(255,255,255,.25);pointer-events:none}.ant-image-preview-operations-operation:last-of-type{margin-left:0}.ant-image-preview-switch-left,.ant-image-preview-switch-right{position:absolute;top:50%;right:10px;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:-22px;color:rgba(255,255,255,.85);background:rgba(0,0,0,.1);border-radius:50%;cursor:pointer;pointer-events:auto}.ant-image-preview-switch-left-disabled,.ant-image-preview-switch-right-disabled{color:rgba(255,255,255,.25);cursor:not-allowed}.ant-image-preview-switch-left-disabled>.anticon,.ant-image-preview-switch-right-disabled>.anticon{cursor:not-allowed}.ant-image-preview-switch-left{left:10px}.ant-image-preview-switch-right{right:10px}sf+st{margin-top:16px}.ant-btn+.ant-btn,.ant-btn+nz-button-group,.ant-btn+nz-dropdown,.ant-btn+nz-popconfirm,nz-button-group+.ant-btn,nz-button-group+nz-popconfirm,nz-dropdown+.ant-btn,nz-popconfirm+.ant-btn,nz-popconfirm+nz-button-group,nz-popconfirm+nz-popconfirm{margin-left:8px}.ant-btn-group .ant-btn+.ant-btn{margin-left:-1px}.ant-transfer-operation .ant-btn+.ant-btn{margin-left:initial}[dir=rtl] .ant-btn+.ant-btn,[dir=rtl] .ant-btn+nz-button-group,[dir=rtl] .ant-btn+nz-dropdown,[dir=rtl] .ant-btn+nz-popconfirm,[dir=rtl] nz-button-group+.ant-btn,[dir=rtl] nz-button-group+nz-popconfirm,[dir=rtl] nz-dropdown+.ant-btn,[dir=rtl] nz-popconfirm+.ant-btn,[dir=rtl] nz-popconfirm+nz-button-group,[dir=rtl] nz-popconfirm+nz-popconfirm{margin-right:8px;margin-left:inherit}a:focus{text-decoration:none}.ant-card{margin-bottom:16px}.ant-card__body-nopadding .ant-card-body{padding:0!important}@media (min-width:300px){.ant-drawer-left .drawer-sm,.ant-drawer-right .drawer-sm{width:auto!important;max-width:300px}}@media (max-width:299px){.ant-drawer-left .drawer-sm,.ant-drawer-right .drawer-sm{width:100%!important}}@media (min-width:600px){.ant-drawer-left .drawer-md,.ant-drawer-right .drawer-md{width:auto!important;max-width:600px}}@media (max-width:599px){.ant-drawer-left .drawer-md,.ant-drawer-right .drawer-md{width:100%!important}}@media (min-width:900px){.ant-drawer-left .drawer-lg,.ant-drawer-right .drawer-lg{width:auto!important;max-width:900px}}@media (max-width:899px){.ant-drawer-left .drawer-lg,.ant-drawer-right .drawer-lg{width:100%!important}}@media (min-width:1200px){.ant-drawer-left .drawer-xl,.ant-drawer-right .drawer-xl{width:auto!important;max-width:1200px}}@media (max-width:1199px){.ant-drawer-left .drawer-xl,.ant-drawer-right .drawer-xl{width:100%!important}}.drawer-footer{position:absolute;bottom:0;left:0;width:100%;padding:10px 24px;text-align:right;background:#1f1f1f;border-radius:0 0 2px 2px}.ant-form-item-label em{color:#bfbfbf}.ant-form-item-control em{margin-left:8px}[dir=rtl] .ant-form-item-control em{margin-right:8px;margin-left:inherit}@media (min-width:576px){.modal-sm .ant-modal{width:auto!important;max-width:300px}}@media (min-width:768px){.modal-md .ant-modal{width:auto!important;max-width:600px}}@media (min-width:992px){.modal-lg .ant-modal{width:auto!important;max-width:900px}}@media (min-width:1600px){.modal-xl .ant-modal{width:auto!important;max-width:1200px}}.modal-header{display:flex;justify-content:space-between;margin:-24px -24px 24px;padding:16px 24px;background:#141414;border-radius:2px 2px 0 0}.modal-title{margin:0;color:rgba(255,255,255,.85);font-weight:500;font-size:16px;line-height:22px;word-wrap:break-word}.modal-title small{margin-left:8px;color:#8c8c8c;font-size:12px}.modal-spin{display:block;min-height:150px;line-height:150px;text-align:center}.modal-footer{margin:24px -24px -24px;padding:10px 16px;text-align:right;border-radius:0 0 2px 2px}.modal-include-tabs nz-tabset{margin-top:-16px}.modal-body-nopadding .ant-modal-body{padding:0!important}.ant-table td .img,.ant-table td>img{max-width:32px;max-height:32px;margin-right:4px;vertical-align:middle;border-radius:4px}.ant-table-rep__hide-header-footer .ant-table-footer,.ant-table-rep__hide-header-footer .ant-table-title,.ant-table-rep__title{display:none}[dir=rtl] .ant-table td .img,[dir=rtl] .ant-table td>img{margin-right:inherit;margin-left:4px}@media screen and (max-width:767px){.ant-table-rep__title{display:inline-block;width:100px;padding-right:8px;color:rgba(179,179,179,.85);text-align:right}.ant-table-rep__hide-header-footer .ant-table-footer,.ant-table-rep__hide-header-footer .ant-table-title{display:block}.ant-table-rep .ant-table table{width:100%!important;table-layout:auto!important}.ant-table-rep .ant-table-thead{display:none}.ant-table-rep .ant-table-title{text-align:center;background:#303030}.ant-table-rep .ant-table-tbody>tr:nth-child(4n+3){background:#0c0c0c}.ant-table-rep .ant-table-tbody>tr>td{display:flex;align-items:center;width:100%;padding:8px;white-space:inherit;text-align:left!important;border-bottom:none}.ant-table-rep .ant-table-tbody>tr>td .ant-table-rep__title+:not(.ant-avatar){flex:1;word-break:break-all}}.ant-tag__plus .ant-tag{background:#fff;border-style:dashed}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small{font-size:65%}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small{font-size:75%}.h1{font-size:34px}.h2{font-size:26px}.h3{font-size:22px}.h4{font-size:18px}.h5{font-size:16px}.h6{font-size:14px}.list-styled{list-style:inherit;padding-right:18px;padding-left:0}.list-unstyled{list-style:none;padding-right:0;padding-left:inherit}fieldset{border:none}.display-1{font-size:32px}.display-2{font-size:24px}.display-3{font-size:20px}.search__form .ant-form-item{margin-right:0;margin-bottom:24px}.search__form .ant-form-item-control{flex:1}.file-manager,.sf__object-card .sf__fixed{flex-wrap:wrap}.half-float img{display:block;max-width:100%;height:auto}.half-float .half-float-bottom{position:absolute;left:50%;z-index:2}.half-float.half-float-sm{margin-bottom:42px}.half-float.half-float-sm .half-float-bottom{bottom:-32px;width:64px;height:64px;margin-left:-32px}.half-float.half-float-md{margin-bottom:50px}.half-float.half-float-md .half-float-bottom{bottom:-40px;width:80px;height:80px;margin-left:-40px}.half-float.half-float-lg{margin-bottom:58px}.half-float.half-float-lg .half-float-bottom{bottom:-48px;width:96px;height:96px;margin-left:-48px}.row-masonry{width:100%;margin:0;padding:0;column-gap:16px}.row-masonry>.col-masonry{display:inline-block;width:100%;min-height:1em;margin-bottom:15px}.sf__array>.ant-form-item,.sf__title{margin-bottom:8px}.row-masonry img{max-width:100%}@media only screen and (min-width:480px){.row-masonry-xs-1{column-count:1;columns:1}.row-masonry-xs-2{column-count:2;columns:2}.row-masonry-xs-3{column-count:3;columns:3}.row-masonry-xs-4{column-count:4;columns:4}.row-masonry-xs-5{column-count:5;columns:5}.row-masonry-xs-6{column-count:6;columns:6}.row-masonry-xs-7{column-count:7;columns:7}.row-masonry-xs-8{column-count:8;columns:8}.row-masonry-xs-9{column-count:9;columns:9}}@media only screen and (min-width:576px){.row-masonry-sm-1{column-count:1;columns:1}.row-masonry-sm-2{column-count:2;columns:2}.row-masonry-sm-3{column-count:3;columns:3}.row-masonry-sm-4{column-count:4;columns:4}.row-masonry-sm-5{column-count:5;columns:5}.row-masonry-sm-6{column-count:6;columns:6}.row-masonry-sm-7{column-count:7;columns:7}.row-masonry-sm-8{column-count:8;columns:8}.row-masonry-sm-9{column-count:9;columns:9}}@media only screen and (min-width:768px){.row-masonry-md-1{column-count:1;columns:1}.row-masonry-md-2{column-count:2;columns:2}.row-masonry-md-3{column-count:3;columns:3}.row-masonry-md-4{column-count:4;columns:4}.row-masonry-md-5{column-count:5;columns:5}.row-masonry-md-6{column-count:6;columns:6}.row-masonry-md-7{column-count:7;columns:7}.row-masonry-md-8{column-count:8;columns:8}.row-masonry-md-9{column-count:9;columns:9}}@media only screen and (min-width:992px){.row-masonry-lg-1{column-count:1;columns:1}.row-masonry-lg-2{column-count:2;columns:2}.row-masonry-lg-3{column-count:3;columns:3}.row-masonry-lg-4{column-count:4;columns:4}.row-masonry-lg-5{column-count:5;columns:5}.row-masonry-lg-6{column-count:6;columns:6}.row-masonry-lg-7{column-count:7;columns:7}.row-masonry-lg-8{column-count:8;columns:8}.row-masonry-lg-9{column-count:9;columns:9}}@media only screen and (min-width:1200px){.row-masonry-xl-1{column-count:1;columns:1}.row-masonry-xl-2{column-count:2;columns:2}.row-masonry-xl-3{column-count:3;columns:3}.row-masonry-xl-4{column-count:4;columns:4}.row-masonry-xl-5{column-count:5;columns:5}.row-masonry-xl-6{column-count:6;columns:6}.row-masonry-xl-7{column-count:7;columns:7}.row-masonry-xl-8{column-count:8;columns:8}.row-masonry-xl-9{column-count:9;columns:9}}.header-dropdown{background-color:#1f1f1f;border-radius:4px}@media screen and (max-width:480px){.header-dropdown{right:0!important;left:0!important;width:100%!important;border-radius:0!important}}.sf{display:block}.sf__optional{margin-left:2px;color:rgba(128,128,128,.85)}.sf__fixed{display:flex}.sf__title{padding:0 16px;font-weight:700;text-align:left}.sf__object-card .ant-card-body{padding-left:0}.sf__object-card-fold .ant-card-body{display:none}.sf__array-add{margin-right:16px}.sf__array-container .ant-card{margin:0 16px 16px 0}.sf__array-container .ant-card-body{padding-bottom:0}.sf__array-container .ant-card .sf__array-remove{position:absolute;top:-16px;right:-16px;display:none;width:32px;height:32px;font-size:20px;line-height:32px;text-align:center;background:rgba(0,0,0,.66);border-radius:50%;cursor:pointer}.sf__array-container .ant-card .sf__array-remove i{color:#fff}.sf__array-container .ant-card:hover .sf__array-remove{display:block}@media (max-width:767px){.sf__array>.ant-form-item>.ant-form-item-control-wrapper,.sf__array>.ant-form-item>.ant-form-item-label{flex:0 0 100%;max-width:100%}.sf__array>.ant-form-item>.ant-form-item-label{display:flex;margin-bottom:8px}.sf__array-container .ant-card{margin-right:0}.sf__array-container .ant-card .sf__array-remove{right:8px;display:block}.sf__array-container>.sf__array-item{flex:0 0 100%;max-width:100%}}.sf__checkbox-list{display:block;width:100%}@media (min-width:768px){.sf__checkbox-list .ant-col{margin-top:8px}}.sf .ant-upload-select-picture-card i{color:#999;font-size:32px}.sf .ant-upload.ant-upload-drag{height:180px}.sf .ant-transfer-list{background:inherit}.sf .ant-transfer-list-header label{position:unset}.sf .ant-transfer .ant-btn+.ant-btn{margin-left:0}.sf__no-error .ant-form-item{margin-bottom:8px}.sf__inline .sf__item{display:inline-block;margin-bottom:8px;vertical-align:top}.sf__inline .ant-form-inline>.sf__item,.sf__inline .sf__array-container .ant-card-body>.sf__item{margin-bottom:0}.sf__inline .ant-form-inline .ant-select{min-width:100px}.sf__inline .sf__array-container>.sf__array-item{flex:initial;width:100%;max-width:100%}.sf__inline .sf__array-container .ant-card{margin:0}.sf__inline .sf__array-container .ant-card-body{padding:8px 0 0 8px}.sf__inline .sf-btns{margin-right:0}@media (max-width:767px){.sf__inline .sf__item{display:block;width:100%}.sf__inline .sf__item .ant-form-item{display:block!important;width:initial!important;margin-right:0}.sf__inline .ant-form-item-control,.sf__inline .ant-form-item-label{display:block!important;padding:inherit}}.sf__horizontal .ant-form-item-label>label{display:flex;justify-content:flex-end}.sf__horizontal .sf__label-text{overflow:hidden;text-overflow:ellipsis}@media (max-width:767px){.sf__horizontal .ant-form-item-label>label{justify-content:flex-start}}.sf__no-colon .ant-form-item-label label::after{content:' '}.sf__compact .ant-form-item{margin-bottom:8px}.sf__compact .sf__array-container .ant-card{margin:0 8px 8px 0}.sf__compact .sf__array-item .ant-card-body{padding:8px}.acl__hide{display:none!important}.setting-drawer__content{position:relative;min-height:100%;background:#1f1f1f}.setting-drawer__handle,.theme-btn{position:fixed;display:flex;cursor:pointer}.setting-drawer__body-item{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}.setting-drawer__body-item:first-child{padding-top:0}.setting-drawer__body-item:last-child{padding-bottom:0}.setting-drawer__title{margin-bottom:12px;color:rgba(255,255,255,.85);font-size:14px;line-height:22px}.setting-drawer__theme{margin-top:24px;overflow:hidden}.setting-drawer__theme-tag{float:left;width:20px;height:20px;margin-right:8px;color:#fff;font-weight:700;text-align:center;border-radius:2px;cursor:pointer}.setting-drawer__handle{right:0;z-index:999;align-items:center;justify-content:center;font-size:16px;text-align:center;border-radius:4px 0 0 4px;transition:right .3s cubic-bezier(.9,0,.3,.7);pointer-events:auto}.setting-drawer__handle-icon{color:#fff}.setting-drawer__handle-opened{z-index:1001}.setting-drawer-rtl .setting-drawer__handle{right:inherit;left:0;border-radius:0 4px 4px 0}.theme-btn{right:32px;bottom:102px;z-index:2147483640;flex-direction:column}.theme-btn-active{width:44px;height:44px;color:#177ddc;font-size:22px;line-height:44px}.theme-btn .ant-avatar{color:#000;background-color:#fff;box-shadow:0 3px 6px -4px rgba(0,0,0,.48),0 6px 16px 0 rgba(0,0,0,.32),0 9px 28px 8px rgba(0,0,0,.2);transition:color .3s}.theme-btn .ant-avatar:hover,.yn__yes{color:#177ddc}.bg-blue-dark-h,.bg-blue-h,.bg-blue-light-h,.bg-cyan-dark-h,.bg-cyan-h,.bg-cyan-light-h,.bg-error-h,.bg-geekblue-dark-h,.bg-geekblue-h,.bg-geekblue-light-h,.bg-gold-dark-h,.bg-gold-h,.bg-gold-light-h,.bg-green-dark-h,.bg-green-h,.bg-green-light-h,.bg-grey-dark-h,.bg-grey-darker-h,.bg-grey-h,.bg-grey-light-h,.bg-grey-lighter-h,.bg-highlight-h,.bg-info-h,.bg-lime-dark-h,.bg-lime-h,.bg-lime-light-h,.bg-magenta-dark-h,.bg-magenta-h,.bg-magenta-light-h,.bg-normal-h,.bg-orange-dark-h,.bg-orange-h,.bg-orange-light-h,.bg-primary-h,.bg-processing-h,.bg-purple-dark-h,.bg-purple-h,.bg-purple-light-h,.bg-red-dark-h,.bg-red-h,.bg-red-light-h,.bg-success-h,.bg-volcano-dark-h,.bg-volcano-h,.bg-volcano-light-h,.bg-warning-h,.bg-yellow-dark-h,.bg-yellow-h,.bg-yellow-light-h{transition:background-color .3s}.theme-btn-rtl{right:inherit;left:32px}.yn__no,.yn__yes{display:inline-flex;align-items:center;font-style:normal}.yn__no span,.yn__yes span{margin-left:4px}.yn__no{color:#8c8c8c}.pro-passport__langs .anticon,.text-white{color:#fff!important}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.border{border:1px solid #303030!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-1{border:1px solid #303030!important}.rounded-md,.rounded-sm{border-radius:2px}.course__img,.rounded-top-left-md,.rounded-top-left-sm{border-top-left-radius:2px}.course__img,.rounded-top-right-md,.rounded-top-right-sm{border-top-right-radius:2px}.rounded-bottom-left-md,.rounded-bottom-left-sm{border-bottom-left-radius:2px}.rounded-bottom-right-md,.rounded-bottom-right-sm{border-bottom-right-radius:2px}.border-top-1{border-top:1px solid #303030!important}.border-right-1{border-right:1px solid #303030!important}.border-bottom-1{border-bottom:1px solid #303030!important}.border-left-1{border-left:1px solid #303030!important}.border-red{border-color:#d32029!important}.border-volcano{border-color:#d84a1b!important}.border-orange{border-color:#d87a16!important}.border-gold{border-color:#d89614!important}.border-yellow{border-color:#d8bd14!important}.border-lime{border-color:#8bbb11!important}.border-green{border-color:#49aa19!important}.border-cyan{border-color:#13a8a8!important}.border-blue{border-color:#177ddc!important}.border-geekblue{border-color:#2b4acb!important}.border-purple{border-color:#642ab5!important}.border-magenta{border-color:#cb2b83!important}.border-grey{border-color:#bfbfbf!important}.border-primary{border-color:#177ddc!important}.border-success{border-color:#49aa19!important}.border-error{border-color:#a61d24!important}.border-warning{border-color:#d89614!important}.border-info,.border-processing{border-color:#177ddc!important}.border-highlight{border-color:#a61d24!important}.border-normal{border-color:#d9d9d9!important}.rounded-lg{border-radius:4px}.rounded-top-left-lg{border-top-left-radius:4px}.rounded-top-right-lg{border-top-right-radius:4px}.rounded-bottom-left-lg{border-bottom-left-radius:4px}.rounded-bottom-right-lg{border-bottom-right-radius:4px}.rounded-circle{border-radius:50%}.rounded-0{border-radius:0}.border-white{border-color:#fff!important}.rotate-360{transform:rotate(360deg)}.rotate-345{transform:rotate(345deg)}.rotate-330{transform:rotate(330deg)}.rotate-315{transform:rotate(315deg)}.rotate-300{transform:rotate(300deg)}.rotate-285{transform:rotate(285deg)}.rotate-270{transform:rotate(270deg)}.rotate-255{transform:rotate(255deg)}.rotate-240{transform:rotate(240deg)}.rotate-225{transform:rotate(225deg)}.rotate-210{transform:rotate(210deg)}.rotate-195{transform:rotate(195deg)}.rotate-180{transform:rotate(180deg)}.rotate-165{transform:rotate(165deg)}.rotate-150{transform:rotate(150deg)}.rotate-135{transform:rotate(135deg)}.rotate-120{transform:rotate(120deg)}.rotate-105{transform:rotate(105deg)}.rotate-90{transform:rotate(90deg)}.rotate-75{transform:rotate(75deg)}.rotate-60{transform:rotate(60deg)}.rotate-45{transform:rotate(45deg)}.rotate-30{transform:rotate(30deg)}.rotate-15{transform:rotate(15deg)}code{margin:0 4px;padding:2px 4px;font-size:90%;background-color:#f7f7f7;border:1px solid #eee;border-radius:2px}.pr0,.px0{padding-right:0!important}.pl0,.px0,[dir=rtl] .pr0{padding-left:0!important}.pb0,.py0{padding-bottom:0!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.text-hover{cursor:pointer}.text-hover:hover{color:#177ddc!important}.bg-red-light{background-color:#a61d24!important}.bg-red{background-color:#d32029!important}.bg-red-dark{background-color:#e84749!important}.bg-red-light-h:hover{background-color:#a61d24!important}.bg-red-h:hover{background-color:#d32029!important}.bg-red-dark-h:hover{background-color:#e84749!important}.text-red-light{color:#a61d24!important}.text-red{color:#d32029!important}.text-red-dark{color:#e84749!important}.bg-volcano-light{background-color:#aa3e19!important}.bg-volcano{background-color:#d84a1b!important}.bg-volcano-dark{background-color:#e87040!important}.bg-volcano-light-h:hover{background-color:#aa3e19!important}.bg-volcano-h:hover{background-color:#d84a1b!important}.bg-volcano-dark-h:hover{background-color:#e87040!important}.text-volcano-light{color:#aa3e19!important}.text-volcano{color:#d84a1b!important}.text-volcano-dark{color:#e87040!important}.bg-orange-light{background-color:#aa6215!important}.bg-orange{background-color:#d87a16!important}.bg-orange-dark{background-color:#e89a3c!important}.bg-orange-light-h:hover{background-color:#aa6215!important}.bg-orange-h:hover{background-color:#d87a16!important}.bg-orange-dark-h:hover{background-color:#e89a3c!important}.text-orange-light{color:#aa6215!important}.text-orange{color:#d87a16!important}.text-orange-dark{color:#e89a3c!important}.bg-gold-light{background-color:#aa7714!important}.bg-gold{background-color:#d89614!important}.bg-gold-dark{background-color:#e8b339!important}.bg-gold-light-h:hover{background-color:#aa7714!important}.bg-gold-h:hover{background-color:#d89614!important}.bg-gold-dark-h:hover{background-color:#e8b339!important}.text-gold-light{color:#aa7714!important}.text-gold{color:#d89614!important}.text-gold-dark{color:#e8b339!important}.bg-yellow-light{background-color:#aa9514!important}.bg-yellow{background-color:#d8bd14!important}.bg-yellow-dark{background-color:#e8d639!important}.bg-yellow-light-h:hover{background-color:#aa9514!important}.bg-yellow-h:hover{background-color:#d8bd14!important}.bg-yellow-dark-h:hover{background-color:#e8d639!important}.text-yellow-light{color:#aa9514!important}.text-yellow{color:#d8bd14!important}.text-yellow-dark{color:#e8d639!important}.bg-lime-light{background-color:#6f9412!important}.bg-lime{background-color:#8bbb11!important}.bg-lime-dark{background-color:#a9d134!important}.bg-lime-light-h:hover{background-color:#6f9412!important}.bg-lime-h:hover{background-color:#8bbb11!important}.bg-lime-dark-h:hover{background-color:#a9d134!important}.text-lime-light{color:#6f9412!important}.text-lime{color:#8bbb11!important}.text-lime-dark{color:#a9d134!important}.bg-green-light{background-color:#3c8618!important}.bg-green{background-color:#49aa19!important}.bg-green-dark{background-color:#6abe39!important}.bg-green-light-h:hover{background-color:#3c8618!important}.bg-green-h:hover{background-color:#49aa19!important}.bg-green-dark-h:hover{background-color:#6abe39!important}.text-green-light{color:#3c8618!important}.text-green{color:#49aa19!important}.text-green-dark{color:#6abe39!important}.bg-cyan-light{background-color:#138585!important}.bg-cyan{background-color:#13a8a8!important}.bg-cyan-dark{background-color:#33bcb7!important}.bg-cyan-light-h:hover{background-color:#138585!important}.bg-cyan-h:hover{background-color:#13a8a8!important}.bg-cyan-dark-h:hover{background-color:#33bcb7!important}.text-cyan-light{color:#138585!important}.text-cyan{color:#13a8a8!important}.text-cyan-dark{color:#33bcb7!important}.bg-blue-light{background-color:#1765ad!important}.bg-blue{background-color:#177ddc!important}.bg-blue-dark{background-color:#3c9ae8!important}.bg-blue-light-h:hover{background-color:#1765ad!important}.bg-blue-h:hover{background-color:#177ddc!important}.bg-blue-dark-h:hover{background-color:#3c9ae8!important}.text-blue-light{color:#1765ad!important}.text-blue{color:#177ddc!important}.text-blue-dark{color:#3c9ae8!important}.bg-geekblue-light{background-color:#263ea0!important}.bg-geekblue{background-color:#2b4acb!important}.bg-geekblue-dark{background-color:#5273e0!important}.bg-geekblue-light-h:hover{background-color:#263ea0!important}.bg-geekblue-h:hover{background-color:#2b4acb!important}.bg-geekblue-dark-h:hover{background-color:#5273e0!important}.text-geekblue-light{color:#263ea0!important}.text-geekblue{color:#2b4acb!important}.text-geekblue-dark{color:#5273e0!important}.bg-purple-light{background-color:#51258f!important}.bg-purple{background-color:#642ab5!important}.bg-purple-dark{background-color:#854eca!important}.bg-purple-light-h:hover{background-color:#51258f!important}.bg-purple-h:hover{background-color:#642ab5!important}.bg-purple-dark-h:hover{background-color:#854eca!important}.text-purple-light{color:#51258f!important}.text-purple{color:#642ab5!important}.text-purple-dark{color:#854eca!important}.bg-magenta-light{background-color:#a02669!important}.bg-magenta{background-color:#cb2b83!important}.bg-magenta-dark{background-color:#e0529c!important}.bg-magenta-light-h:hover{background-color:#a02669!important}.bg-magenta-h:hover{background-color:#cb2b83!important}.bg-magenta-dark-h:hover{background-color:#e0529c!important}.text-magenta-light{color:#a02669!important}.text-magenta{color:#cb2b83!important}.text-magenta-dark{color:#e0529c!important}.bg-grey-light{background-color:#d9d9d9!important}.bg-grey{background-color:#bfbfbf!important}.bg-grey-dark{background-color:#8c8c8c!important}.bg-grey-light-h:hover{background-color:#d9d9d9!important}.bg-grey-h:hover{background-color:#bfbfbf!important}.bg-grey-dark-h:hover{background-color:#8c8c8c!important}.text-grey-light{color:#d9d9d9!important}.text-grey{color:#bfbfbf!important}.text-grey-dark{color:#8c8c8c!important}.bg-primary-light{background-color:#3c9be8!important}.bg-primary{background-color:#177ddc!important}.bg-primary-dark{background-color:#095cb5!important}.bg-primary-h:hover{background-color:#177ddc!important}.text-primary-light{color:#3c9be8!important}.text-primary{color:#177ddc!important}.text-primary-dark{color:#095cb5!important}.bg-success-light{background-color:#67b839!important}.bg-success{background-color:#49aa19!important}.bg-success-dark{background-color:#31850d!important}.bg-success-h:hover{background-color:#49aa19!important}.text-success-light{color:#67b839!important}.text-success{color:#49aa19!important}.text-success-dark{color:#31850d!important}.bg-error-light{background-color:#b33b3d!important}.bg-error{background-color:#a61d24!important}.bg-error-dark{background-color:#800f19!important}.bg-error-h:hover{background-color:#a61d24!important}.text-error-light{color:#b33b3d!important}.text-error{color:#a61d24!important}.text-error-dark{color:#800f19!important}.bg-warning-light{background-color:#e6b239!important}.bg-warning{background-color:#d89614!important}.bg-warning-dark{background-color:#b37407!important}.bg-warning-h:hover{background-color:#d89614!important}.text-warning-light{color:#e6b239!important}.text-warning{color:#d89614!important}.text-warning-dark{color:#b37407!important}.bg-info-light{background-color:#3c9be8!important}.bg-info{background-color:#177ddc!important}.bg-info-dark{background-color:#095cb5!important}.bg-info-h:hover{background-color:#177ddc!important}.text-info-light{color:#3c9be8!important}.text-info{color:#177ddc!important}.text-info-dark{color:#095cb5!important}.bg-processing-light{background-color:#3c9be8!important}.bg-processing{background-color:#177ddc!important}.bg-processing-dark{background-color:#095cb5!important}.bg-processing-h:hover{background-color:#177ddc!important}.text-processing-light{color:#3c9be8!important}.text-processing{color:#177ddc!important}.text-processing-dark{color:#095cb5!important}.bg-highlight-light{background-color:#b33b3d!important}.bg-highlight{background-color:#a61d24!important}.bg-highlight-dark{background-color:#800f19!important}.bg-highlight-h:hover{background-color:#a61d24!important}.text-highlight-light{color:#b33b3d!important}.text-highlight{color:#a61d24!important}.text-highlight-dark{color:#800f19!important}.bg-normal-light{background-color:#e6d8d8!important}.bg-normal{background-color:#d9d9d9!important}.bg-normal-dark{background-color:#b3a8a8!important}.bg-normal-h:hover{background-color:#d9d9d9!important}.bg-grey-lighter,.bg-grey-lighter-h:hover{background-color:#0f0f0f!important}.text-normal-light{color:#e6d8d8!important}.text-normal{color:#d9d9d9!important}.text-normal-dark{color:#b3a8a8!important}.bg-grey-darker,.bg-grey-darker-h:hover{background-color:#0a0a0a!important}.text-grey-lighter{color:#0f0f0f!important}.text-grey-darker{color:#0a0a0a!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.flex-center,.flex-center-between{display:flex!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center,.flex-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.flex-1{flex:1!important}.flex-column{flex-direction:column!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-center-between{align-items:center!important;justify-content:space-between!important}.float-none{float:none!important}.float-left{float:left!important}.float-right{float:right!important}.icon-sm{font-size:28px!important}.icon-md{font-size:56px!important}.icon-lg{font-size:84px!important}.icon-xl{font-size:112px!important}.icon-xxl{font-size:140px!important}.img-fluid{max-width:100%;height:auto}.point{cursor:pointer}.no-resize{min-width:100%;max-width:100%;resize:none}.no-data{color:rgba(0,0,0,.25);font-size:16px;line-height:64px;text-align:center}.no-data i{position:relative;top:3px;margin-right:16px;font-size:24px}.block-center{margin:0 auto}.mr0,.mx0{margin-right:0!important}.ml0,.mx0{margin-left:0!important}.mt0,.my0{margin-top:0!important}.mb0,.my0{margin-bottom:0!important}.bg-center{background-position:center center;background-size:cover}.page-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10000;padding-top:200px;text-align:center;background:rgba(255,255,255,.08)}.fixed-bottom,.fixed-top{z-index:9;left:0;right:0}.pt0,.py0{padding-top:0!important}.color-weak{display:block;filter:invert(80%)}.disabled{color:rgba(255,255,255,.3);pointer-events:none}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-top{position:fixed;top:0}.fixed-bottom{position:fixed;bottom:0}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}@media (max-width:575px){.hidden-xs{display:none!important}}@media (max-width:991px){.hidden-md{display:none!important}}@media (max-width:1199px){.hidden-lg{display:none!important}}@media (max-width:1599px){.hidden-xl{display:none!important}}@media (min-width:768px){.hidden-pc{display:none!important}}.m0{margin:0!important}.mr-xs,.mx-xs{margin-right:4px!important}.ml-xs,.mx-xs{margin-left:4px!important}.mt-xs,.my-xs{margin-top:4px!important}.mb-xs,.my-xs{margin-bottom:4px!important}.p0{padding:0!important}.pr-xs,.px-xs{padding-right:4px!important}.pl-xs,.px-xs{padding-left:4px!important}.pt-xs,.py-xs{padding-top:4px!important}.pb-xs,.py-xs{padding-bottom:4px!important}.m-xs{margin:4px!important}.mr-sm,.mx-sm{margin-right:8px!important}.ml-sm,.mx-sm{margin-left:8px!important}.mt-sm,.my-sm{margin-top:8px!important}.mb-sm,.my-sm{margin-bottom:8px!important}.p-xs{padding:4px!important}.pr-sm,.px-sm{padding-right:8px!important}.pl-sm,.px-sm,[dir=rtl] .pr-sm{padding-left:8px!important}.pt-sm,.py-sm{padding-top:8px!important}.pb-sm,.py-sm{padding-bottom:8px!important}.m-sm{margin:8px!important}.mr-md,.mx-md{margin-right:16px!important}.ml-md,.mx-md{margin-left:16px!important}.mt-md,.my-md{margin-top:16px!important}.mb-md,.my-md{margin-bottom:16px!important}.p-sm{padding:8px!important}.pr-md,.px-md{padding-right:16px!important}.pl-md,.px-md{padding-left:16px!important}.pt-md,.py-md{padding-top:16px!important}.pb-md,.py-md{padding-bottom:16px!important}.m-md{margin:16px!important}.mr-lg,.mx-lg{margin-right:24px!important}.ml-lg,.mx-lg{margin-left:24px!important}.mt-lg,.my-lg{margin-top:24px!important}.mb-lg,.my-lg{margin-bottom:24px!important}.p-md{padding:16px!important}.pr-lg,.px-lg{padding-right:24px!important}.pl-lg,.px-lg,[dir=rtl] .pr-lg{padding-left:24px!important}.pt-lg,.py-lg{padding-top:24px!important}.pb-lg,.py-lg{padding-bottom:24px!important}.m-lg{margin:24px!important}.mr-xl,.mx-xl{margin-right:32px!important}.ml-xl,.mx-xl{margin-left:32px!important}.mt-xl,.my-xl{margin-top:32px!important}.mb-xl,.my-xl{margin-bottom:32px!important}.p-lg{padding:24px!important}.pr-xl,.px-xl{padding-right:32px!important}.pl-xl,.px-xl{padding-left:32px!important}.pt-xl,.py-xl{padding-top:32px!important}.pb-xl,.py-xl{padding-bottom:32px!important}.m-xl{margin:32px!important}.mr-xxl,.mx-xxl{margin-right:48px!important}.ml-xxl,.mx-xxl{margin-left:48px!important}.mt-xxl,.my-xxl{margin-top:48px!important}.mb-xxl,.my-xxl{margin-bottom:48px!important}.p-xl{padding:32px!important}.pr-xxl,.px-xxl{padding-right:48px!important}.pl-xxl,.px-xxl,[dir=rtl] .pr-xxl{padding-left:48px!important}.pt-xxl,.py-xxl{padding-top:48px!important}.pb-xxl,.py-xxl{padding-bottom:48px!important}.m-xxl{margin:48px!important}.p-xxl{padding:48px!important}[dir=rtl] .mr0{margin-left:0!important;margin-right:inherit!important}[dir=rtl] .ml0{margin-right:0!important;margin-left:inherit!important}[dir=rtl] .pr0{padding-right:inherit!important}[dir=rtl] .pl0{padding-right:0!important;padding-left:inherit!important}[dir=rtl] .mr-xs{margin-left:4px!important;margin-right:inherit!important}[dir=rtl] .ml-xs{margin-right:4px!important;margin-left:inherit!important}[dir=rtl] .pr-xs{padding-left:4px!important;padding-right:inherit!important}[dir=rtl] .pl-xs{padding-right:4px!important;padding-left:inherit!important}[dir=rtl] .mr-sm{margin-left:8px!important;margin-right:inherit!important}[dir=rtl] .ml-sm{margin-right:8px!important;margin-left:inherit!important}[dir=rtl] .pr-sm{padding-right:inherit!important}[dir=rtl] .pl-sm{padding-right:8px!important;padding-left:inherit!important}[dir=rtl] .mr-md{margin-left:16px!important;margin-right:inherit!important}[dir=rtl] .ml-md{margin-right:16px!important;margin-left:inherit!important}[dir=rtl] .pr-md{padding-left:16px!important;padding-right:inherit!important}[dir=rtl] .pl-md{padding-right:16px!important;padding-left:inherit!important}[dir=rtl] .mr-lg{margin-left:24px!important;margin-right:inherit!important}[dir=rtl] .ml-lg{margin-right:24px!important;margin-left:inherit!important}[dir=rtl] .pr-lg{padding-right:inherit!important}[dir=rtl] .pl-lg{padding-right:24px!important;padding-left:inherit!important}[dir=rtl] .mr-xl{margin-left:32px!important;margin-right:inherit!important}[dir=rtl] .ml-xl{margin-right:32px!important;margin-left:inherit!important}[dir=rtl] .pr-xl{padding-left:32px!important;padding-right:inherit!important}[dir=rtl] .pl-xl{padding-right:32px!important;padding-left:inherit!important}[dir=rtl] .mr-xxl{margin-left:48px!important;margin-right:inherit!important}[dir=rtl] .ml-xxl{margin-right:48px!important;margin-left:inherit!important}[dir=rtl] .pr-xxl{padding-right:inherit!important}[dir=rtl] .pl-xxl{padding-right:48px!important;padding-left:inherit!important}.text-left{text-align:left!important}.text-center{text-align:center!important}.text-right,[dir=rtl] .text-left{text-align:right!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-nowrap{white-space:nowrap!important}.text-wrap{white-space:pre-wrap!important}.text-truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.text-xs{font-size:12px!important}.text-sm{font-size:14px!important}.text-md{font-size:16px!important}.text-lg{font-size:18px!important}.text-xl{font-size:22px!important}.text-xxl{font-size:28px!important}[dir=rtl] .text-right{text-align:left!important}.width-xs{width:80px!important}.max-width-xs{max-width:80px!important}.min-width-xs{min-width:80px!important}.width-sm{width:160px!important}.max-width-sm{max-width:160px!important}.min-width-sm{min-width:160px!important}.width-md{width:240px!important}.max-width-md{max-width:240px!important}.min-width-md{min-width:240px!important}.width-lg{width:320px!important}.max-width-lg{max-width:320px!important}.min-width-lg{min-width:320px!important}.width-xl{width:400px!important}.max-width-xl{max-width:400px!important}.min-width-xl{min-width:400px!important}.width-xxl{width:480px!important}.max-width-xxl{max-width:480px!important}.min-width-xxl{min-width:480px!important}.width-10{width:10%!important}.max-width-10{max-width:10%!important}.min-width-10{min-width:10%!important}.width-20{width:20%!important}.max-width-20{max-width:20%!important}.min-width-20{min-width:20%!important}.width-30{width:30%!important}.max-width-30{max-width:30%!important}.min-width-30{min-width:30%!important}.width-40{width:40%!important}.max-width-40{max-width:40%!important}.min-width-40{min-width:40%!important}.width-50{width:50%!important}.max-width-50{max-width:50%!important}.min-width-50{min-width:50%!important}.width-60{width:60%!important}.max-width-60{max-width:60%!important}.min-width-60{min-width:60%!important}.width-70{width:70%!important}.max-width-70{max-width:70%!important}.min-width-70{min-width:70%!important}.width-80{width:80%!important}.max-width-80{max-width:80%!important}.min-width-80{min-width:80%!important}.width-90{width:90%!important}.max-width-90{max-width:90%!important}.min-width-90{min-width:90%!important}.width-100{width:100%!important}.max-width-100{max-width:100%!important}.min-width-100{min-width:100%!important}@media (max-width:767px){.hidden-mobile,.hidden-sm{display:none!important}.max-width-sm,.min-width-sm,.width-sm{width:100%!important}}.scrollbar{overflow:auto}.scrollbar-x{overflow-x:auto;overflow-y:hidden}.scrollbar-y{overflow-x:hidden;overflow-y:auto}.ant-anchor-wrapper,.ant-dialog-wrap,.ant-drawer-body,.ant-drawer-wrapper-body,.scrollbar,body,textarea.ant-input{scrollbar-color:rgba(0,0,0,.3) #6e6e6e;scrollbar-width:thin}.ant-anchor-wrapper::-webkit-scrollbar,.ant-dialog-wrap::-webkit-scrollbar,.ant-drawer-body::-webkit-scrollbar,.ant-drawer-wrapper-body::-webkit-scrollbar,.scrollbar::-webkit-scrollbar,body::-webkit-scrollbar,textarea.ant-input::-webkit-scrollbar{width:6px;height:6px}.ant-anchor-wrapper::-webkit-scrollbar-track,.ant-dialog-wrap::-webkit-scrollbar-track,.ant-drawer-body::-webkit-scrollbar-track,.ant-drawer-wrapper-body::-webkit-scrollbar-track,.scrollbar::-webkit-scrollbar-track,body::-webkit-scrollbar-track,textarea.ant-input::-webkit-scrollbar-track{box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.ant-anchor-wrapper::-webkit-scrollbar-thumb,.ant-dialog-wrap::-webkit-scrollbar-thumb,.ant-drawer-body::-webkit-scrollbar-thumb,.ant-drawer-wrapper-body::-webkit-scrollbar-thumb,.scrollbar::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,textarea.ant-input::-webkit-scrollbar-thumb{background-color:#6e6e6e;outline:#333 solid 1px}.st{display:block}.st__p-left .ant-table-pagination{display:block;float:none;text-align:left}.st__p-center .ant-table-pagination{display:block;float:none;text-align:center}.st__btn-sub .st__btn-text{color:inherit}.st__btn-disabled .st__btn-text{color:rgba(179,179,179,.85);pointer-events:none}.st .nz-resizable-handle{display:flex;align-items:center;justify-content:center}.st .nz-resizable-handle>i{width:1px;height:60%;background:#434343}.st .nz-resizable-preview{border-width:0 1px 0 0}.st .nz-resizable.ant-table-column-has-sorters .nz-resizable-handle{margin-right:8px}.st .ant-table~nz-pagination>.ant-pagination{margin-bottom:0}.st__filter-keyword{padding:8px}.st .ant-table-column-title{display:flex;align-items:center}.st__head-optional,.st__head-tip{margin-left:2px;color:rgba(128,128,128,.85)}.st .ant-table-thead>tr>th .ant-table-filter-selected.ant-table-filter-icon{color:#177ddc}.st__checkall-selection{display:inline-block;margin-left:4px}.sv,.sv__container{display:block}.st .ant-table-tbody>tr .ant-table-wrapper:only-child .ant-table{margin:0}.st .ant-table-cell-fix-left-first::after,.st .ant-table-cell-fix-left-last::after{transform:translateX(80%)}.st .ant-table-cell-fix-right-first::after,.st .ant-table-cell-fix-right-last::after{transform:translateX(-80%)}@media screen and (min-width:768px){.st__width-strict .ant-table-body>table,.st__width-strict .ant-table-content>table{word-wrap:break-word!important;table-layout:fixed!important}}.sv+.sv{margin-top:16px}.sv__container .ant-row{margin-bottom:-16px;overflow:hidden}.sv__item-fixed{display:flex}.sv__item-fixed .sv__label{flex:0 0 auto;overflow:hidden;text-align:right;text-overflow:ellipsis}.sv__item-fixed .sv__detail{flex:1 0 0}.sv__item+.ant-divider{margin:0 0 16px}.sv__title{display:block;float:none;clear:both;width:100%;margin-bottom:16px;color:rgba(255,255,255,.85);font-weight:500;font-size:14px}.sv__detail,.sv__label{display:table-cell;padding-bottom:16px;line-height:22px}.sv__label{color:rgba(179,179,179,.85);white-space:nowrap}.sv__label:not(.sv__label-empty)::after{position:relative;top:-.5px;margin:0 8px 0 2px;content:':'}.sv__label-optional{margin-left:2px;color:rgba(128,128,128,.85)}.sv__label-optional-no-text{margin-left:0}.sv__label-optional>.anticon{margin-left:2px}.sv__detail{width:100%;color:rgba(255,255,255,.85);word-break:break-all}.se__line,.sv__small .sv__detail,.sv__small .sv__label,.sv__vertical .sv__label{padding-bottom:8px}.sv__type-primary .sv__detail{color:#177ddc}.sv__type-success .sv__detail{color:#49aa19}.sv__type-danger .sv__detail{color:#a61d24}.sv__type-warning .sv__detail{color:#d89614}.sv__default::before{content:-}.sv__default~.sv__unit{display:none!important}.sv__unit{display:inline;margin-left:8px;color:#8c8c8c}.sv__small .ant-row{margin-bottom:-8px}.sv__small .sv__title{margin-bottom:12px;color:rgba(255,255,255,.85)}.sv__value{display:inline-flex;align-items:center}.sv__value-prefix,.sv__value-unit{color:rgba(179,179,179,.85);font-size:12px;font-style:normal}.sv__value-prefix{padding-right:3px}.sv__value-text{font-size:18px}.sv__value-unit{padding-left:3px}.sv__value:not(:first-child){position:relative;margin-left:8px;padding-left:14px}.sv__value:not(:first-child)::before{position:absolute;left:0;width:6px;color:rgba(179,179,179,.85);content:/}.sv__value-small .sv__value-text{font-size:14px}.sv__value-large .sv__value-text{font-size:24px}.sv__large .sv__title{font-size:16px}.sv__horizontal .sv__label-width{display:flex;justify-content:flex-end}.se__title,.sv__vertical .sv__detail,.sv__vertical .sv__label{display:block}.sv__horizontal .sv__label-width .sv__label-text{overflow:hidden;text-overflow:ellipsis}.sv__no-colon::after{content:' '!important}.se__title{float:none;clear:both;width:100%;color:rgba(255,255,255,.85);font-weight:700;font-size:14px;line-height:1.5715}.se__item:last-child{margin-bottom:0;padding-bottom:0}.se__item-empty::before{display:inline-block;content:''}.se__item+.ant-divider{margin:0 0 24px}.se__label{display:table-cell;flex:0 0 auto;width:initial;white-space:nowrap;text-align:right}.se__label-optional{margin-left:2px;color:rgba(128,128,128,.85)}.se__label-optional-no-text{margin-left:0}.se__label-optional>.anticon{margin-left:2px}.se__control{flex:1 0 0;width:100%}.se__compact>.se__item,.se__compact>.se__title{margin-bottom:8px}.se__compact>.se__item+.ant-divider,.se__compact>.se__title+.ant-divider{margin:0 0 8px}.se__compact .ant-form-item-extra{display:none}.se__line{border-bottom:1px dashed #303030}.se__hide-label .se__nolabel,.se__inline .se__nolabel,.se__vertical .se__nolabel{display:none!important}.se__horizontal>.se__item{display:flex}.se__horizontal>.se__item:last-child{margin-bottom:0}.se__horizontal>.se__item .se__label{display:flex;justify-content:flex-end}.se__horizontal>.se__item .se__label-text{overflow:hidden;text-overflow:ellipsis}.se__horizontal>.se__item .ant-form-item-required::before{line-height:inherit}.se__horizontal>.se__item .ant-form-item-label>label::after{margin-left:4px}.se__vertical>.se__item{display:block;width:100%}.se__inline .ant-form-item-label,.se__inline .se__control{display:inline-block;width:initial!important;text-align:left;vertical-align:top}.se__inline>.se__item{margin-right:16px}.se__inline>.se__item[col='1']{flex-basis:auto;width:100%}.se__inline>.se__item:last-child{margin-right:0}.se__no-colon::after{content:' '!important}@media (max-width:767px){.se__horizontal>.se__item{display:block}.se__horizontal>.se__item .ant-form-item-label{width:100%!important;text-align:left}.se__horizontal>.se__item .se__label{justify-content:normal}.se__horizontal .se__control,.se__horizontal .se__label,.se__vertical .se__control,.se__vertical .se__label{width:100%!important}}.avatar-list,.avatar-list__item,.avatar-list__wrap{display:inline-block}.avatar-list__wrap{margin-left:8px;padding:0;font-size:0}.avatar-list__item{width:32px;height:32px;margin-left:-8px;font-size:14px}.avatar-list__item .ant-avatar{border:1px solid #fff;cursor:pointer}.avatar-list__large{width:40px;height:40px}.avatar-list__small{width:24px;height:24px}.avatar-list__mini{width:20px;height:20px}.avatar-list__mini .ant-avatar{width:20px;height:20px;line-height:20px}.avatar-list__mini .ant-avatar-string{font-size:12px;line-height:18px}ellipsis{display:inline}.ellipsis{display:inline-block;width:100%;overflow:hidden;word-break:break-all}.ellipsis__lines{position:relative}.ellipsis__line-clamp{position:relative;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.ellipsis__shadow{position:absolute;z-index:-999;display:block;color:transparent;opacity:0}.error-collect{padding-right:24px;color:#f5222d;cursor:pointer}.error-collect__count{padding-left:8px}.error-collect-rtl{padding-right:0;padding-left:24px}.error-collect-rtl .error-collect__count{padding-right:8px;padding-left:0}.exception{display:flex;align-items:center;height:100%}.exception__img-block{flex:0 0 62.5%;width:62.5%;padding-right:152px;zoom:1}.exception__img-block::after,.exception__img-block::before{display:table;content:' '}.exception__img-block::after{clear:both;height:0;font-size:0}.exception__img{float:right;width:100%;max-width:430px;height:360px;background-repeat:no-repeat;background-position:50% 50%;background-size:100% 100%}.exception__cont{flex:auto}.exception__cont-title{margin-bottom:24px;color:#434e59;font-weight:600;font-size:72px;line-height:72px}.exception__cont-desc{margin-bottom:16px;color:rgba(255,255,255,.45);font-size:20px;line-height:28px}.exception__cont-actions .ant-btn:not(:last-child){margin-right:8px}@media screen and (max-width:1200px){.exception__img-block{padding-right:88px}}@media screen and (max-width:576px){.exception{display:block;text-align:center}.exception__img-block{margin:0 auto 24px;padding-right:0}}@media screen and (max-width:480px){.exception__img-block{margin-bottom:-24px;overflow:hidden}}.exception-rtl .exception__cont-actions .ant-btn:not(:last-child){margin-right:0}.footer-toolbar{position:fixed;right:0;bottom:0;display:flex;height:56px;padding:0 24px;line-height:56px;background:#1f1f1f;border-top:1px solid #303030;box-shadow:0 -6px 16px -8px rgba(0,0,0,.32),0 -9px 28px 0 rgba(0,0,0,.2),0 -12px 48px 16px rgba(0,0,0,.12);transition:all .3s}.alain-pro__header,.alain-pro__top-nav,.quick-menu,.quick-menu__ctrl{box-shadow:0 6px 16px -8px rgba(0,0,0,.32),0 9px 28px 0 rgba(0,0,0,.2),0 12px 48px 16px rgba(0,0,0,.12)}.footer-toolbar__left{flex:1}.full-content{display:block;height:100%;overflow:auto}.full-content__body{overflow:hidden}.global-footer{display:block;margin:48px 0 24px;padding:0 16px;text-align:center}.global-footer__links{margin-bottom:8px}.global-footer__links-item{display:inline-block;color:rgba(255,255,255,.45);transition:all .3s}.global-footer__links-item:not(:last-child){margin-right:40px}.global-footer__links-item:hover{color:rgba(255,255,255,.85)}.global-footer__copyright{color:rgba(255,255,255,.45);font-size:14px}.global-footer-rtl .global-footer__links-item:not(:last-child){margin-right:inherit;margin-left:40px}.notice-icon{width:336px}.notice-icon__btn{display:inline-block;cursor:pointer;transition:all .3s}.notice-icon .ant-popover-inner-content{padding:0}.notice-icon .ant-tabs-bar{margin-bottom:4px}.notice-icon .ant-tabs-nav .ant-tabs-tab{margin-right:32px;padding:12px 16px}.notice-icon .ant-tabs-nav .ant-tabs-tab:last-child{margin-right:0}.notice-icon .ant-tabs-nav-scroll{text-align:center}.notice-icon .ant-list{max-height:400px;overflow:auto}.notice-icon .ant-list-item{padding-right:24px;padding-left:24px;overflow:hidden;cursor:pointer;transition:all .3s}.notice-icon .ant-list-item:last-child{border-bottom:0}.page-header,.page-header .ant-tabs-bar,.reuse-tab__line{border-bottom:1px solid #303030}.notice-icon .ant-list-item:hover{background:#111b26}.notice-icon .ant-list-item-meta{width:100%}.notice-icon .ant-list-item-meta-title{margin-bottom:8px;font-weight:400}.notice-icon .ant-list-item .ant-avatar{margin-top:4px;background:#fff}.notice-icon__notfound{padding:73px 0 88px;color:rgba(255,255,255,.45);text-align:center}.notice-icon__clear,.notice-icon__clear:hover{color:rgba(255,255,255,.85)}.notice-icon__notfound-img{display:inline-block;height:76px;margin-bottom:16px}.notice-icon__clear{height:46px;line-height:46px;text-align:center;border-top:1px solid #303030;border-radius:0 0 2px 2px;cursor:pointer;transition:all .3s}.notice-icon__item-desc,.notice-icon__item-time{font-size:12px;line-height:1.5715}.notice-icon__item .ant-badge-count{top:-10px}.notice-icon__item-read{opacity:.4}.notice-icon__item-time{margin-top:4px}.notice-icon__item-extra{float:right;margin-top:-1.5px;margin-right:0;color:rgba(255,255,255,.45);font-weight:400}.page-header{display:block;padding:16px 32px 0;background-color:#141414}.page-header__wide{max-width:1200px;margin:auto}.page-header .ant-breadcrumb{margin-bottom:16px}.page-header .ant-tabs{margin:0 0 -17px}.page-header__detail{display:flex}.page-header__row{display:flex;width:100%}.page-header__logo{flex:0 1 auto;margin-right:16px;padding-top:1px}.page-header__logo img{display:block;width:28px;height:28px;border-radius:2px}.page-header__title{color:rgba(255,255,255,.85);font-weight:500;font-size:20px}.page-header__title small{padding-left:8px;font-weight:400;font-size:14px}.page-header__action{min-width:266px;margin-left:56px}.page-header__desc,.page-header__title{flex:auto}.page-header__action,.page-header__extra,.page-header__main{flex:0 1 auto}.page-header__main{width:100%}.page-header__action,.page-header__desc,.page-header__extra,.page-header__logo,.page-header__title{margin-bottom:16px}.page-header__action,.page-header__extra{text-align:right}.page-header__extra{min-width:242px;margin-left:88px}@media screen and (max-width:1200px){.page-header__extra{margin-left:44px}}@media screen and (max-width:992px){.page-header__extra{margin-left:20px}}@media screen and (max-width:768px){.page-header__row{display:block}.page-header__action,.page-header__extra{margin-left:0;text-align:left}}@media screen and (max-width:576px){.page-header__detail{display:block}}@media screen and (max-width:480px){.page-header__action .ant-btn,.page-header__action .ant-btn-group{display:block;margin-bottom:8px}.page-header__action .ant-input-search-enter-button .ant-btn{margin-bottom:0}.page-header__action .ant-btn-group>.ant-btn{display:inline-block;margin-bottom:0}}.page-header-rtl .page-header__logo{margin-right:0;margin-left:16px}.page-header-rtl .page-header__title small{padding-right:8px;padding-left:0}.page-header-rtl .page-header__action{margin-right:56px;margin-left:0}.page-header-rtl .page-header__extra{margin-right:88px;margin-left:0}@media screen and (max-width:1200px){.page-header-rtl .page-header__extra{margin-right:44px;margin-left:0}}@media screen and (max-width:992px){.page-header-rtl .page-header__extra{margin-right:20px;margin-left:0}}.quick-menu{position:fixed;right:-1px;left:auto;z-index:11;display:block;backface-visibility:hidden;transition:margin .3s cubic-bezier(1,0,0,1)}.quick-menu,.quick-menu__ctrl{background-color:#1f1f1f;border:1px solid #303030}.quick-menu__inner{position:relative;padding:0 12px}.quick-menu__ctrl{position:absolute;top:-1px;left:-50px;width:50px;height:50px;text-align:center;border-right:0;border-radius:3px 0 0 3px;cursor:pointer}.quick-menu__ctrl-icon{font-size:20px;line-height:49px}.result{display:block;width:72%;margin:0 auto;text-align:center}.result__icon{margin-bottom:24px;font-size:72px;line-height:72px}.result__icon-success{color:#49aa19}.result__icon-error{color:#a61d24}.result__title{margin-bottom:16px;color:rgba(255,255,255,.85);font-weight:500;font-size:24px;line-height:32px}.result__desc{margin-bottom:24px;color:rgba(255,255,255,.45);font-size:14px;line-height:22px}.result__extra{padding:24px 40px;text-align:left;border-radius:2px}@media screen and (max-width:480px){.result{width:100%}.result__extra{padding:18px 20px}}.result__actions{margin-top:32px}.result__actions button:not(:last-child){margin-right:8px}.reuse-tab{display:block;background-color:#141414;outline:0;user-select:none}.reuse-tab .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{position:absolute;display:none;margin:0;color:rgba(255,255,255,.85);font-size:10px}.reuse-tab .ant-tabs-nav .ant-tabs-tab:hover .reuse-tab__op{display:block}.reuse-tab .ant-tabs-nav .ant-tabs-tab .reuse-tab__name-width{display:inline-block;overflow:hidden;text-overflow:ellipsis}.reuse-tab .ant-tabs>.ant-tabs-nav{margin:0}.reuse-tab__line{padding:8px}.reuse-tab__line .ant-tabs-nav::before{border-bottom:none}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab{padding:0}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{top:12px;right:2px}.reuse-tab__line .ant-tabs-nav .ant-tabs-tab .reuse-tab__name{display:inline-block;padding:8px 20px}.reuse-tab__card{padding-top:8px}.reuse-tab__card .ant-tabs-nav-container{padding:0 8px}.reuse-tab__card .ant-tabs-nav .ant-tabs-tab .reuse-tab__op{top:4px;right:4px}.reuse-tab__disabled{opacity:.8;pointer-events:none}.reuse-tab__cm .ant-menu{border:1px solid #e9e9e9}.tag-select{position:relative;display:block;max-height:24px;margin-left:-8px;overflow:hidden;line-height:1.5715;transition:all .3s;user-select:none}.tag-select__expanded{max-height:200px;transition:all .3s}.tag-select__has-expand{padding-right:50px}.tag-select .ant-tag{margin-right:24px;padding:0 8px}.tag-select__trigger{position:absolute;top:0;right:0}.loading-default,.onboarding__mask{position:fixed;left:0;bottom:0;top:0}.tag-select__trigger-icon{margin-left:8px;font-size:12px}.tag-select-rtl{margin-right:-8px;margin-left:0}.tag-select-rtl__has-expand{padding-right:0!important;padding-left:50px!important}.tag-select-rtl .tag-select .ant-tag{margin-right:0;margin-left:24px}.tag-select-rtl .tag-select__trigger{right:initial;left:0}.tag-select-rtl .tag-select__trigger-icon{margin-right:0;margin-left:8px}.loading-backdrop{z-index:9999;background-color:rgba(0,0,0,.15)}.loading-default{right:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center}.g2-mini-progress,.g2-pie,.pdf-container,g2,g2-bar,g2-chart,g2-custom,g2-gauge,g2-mini-area,g2-mini-bar,g2-single-bar,g2-tag-cloud,g2-timeline{display:block}.loading-default__icon{margin-bottom:8px;color:#177ddc;font-size:24px}.loading-default__text{color:#177ddc}.loading-default__custom{width:64px;height:64px;fill:#fff}.onboarding+.cdk-overlay-container{z-index:99999}.onboarding__mask{right:0;z-index:99998;background-color:#000;opacity:.5}.onboarding__item{position:absolute}.onboarding__light{position:absolute;z-index:99999;background-color:#141414;animation:2.5s cubic-bezier(.55,.05,.6,.2) 0s infinite normal none running onboardingAnt;pointer-events:none}.g2-card,.g2-card__top,.pdf-container{position:relative}.onboarding__light-el{z-index:100000!important}.onboarding__light-ant{transition:all .3s ease-out}.onboarding__footer{margin-top:8px}.onboarding__total{color:rgba(255,255,255,.85)}.g2-card__meta,.g2-pie__legend-percent,.g2-pie__total-title{color:rgba(255,255,255,.45)}@keyframes onboardingAnt{0%,33%{box-shadow:#141414 0 0 0 2px,#141414 0 0 0}100%,66%{box-shadow:#141414 0 0 0 2px,rgba(20,20,20,.01) 0 0 0 10px}}.pdf-container{height:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}g2-bar,g2-tag-cloud{width:100%}.g2-card__top{width:100%;overflow:hidden}.g2-card__top-margin{margin-bottom:12px}.g2-card__top-has-margin{margin-bottom:20px}.g2-card__meta{height:22px;font-size:14px;line-height:22px}.g2-card__total,.g2-pie__legend-title{color:rgba(255,255,255,.85)}.g2-card__meta-wrap{float:left}.g2-card__meta-action{position:absolute;top:4px;right:0;line-height:1;cursor:pointer}.g2-card__avatar{position:relative;top:4px;float:left;margin-right:20px}.g2-card__total{height:38px;margin-top:4px;margin-bottom:0;overflow:hidden;font-size:30px;line-height:38px;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.g2-card__desc{width:100%;margin-bottom:12px}.g2-card__footer{margin-top:8px;padding-top:9px;border-top:1px solid #303030}.g2-card__footer>*{position:relative}.g2-mini-progress{position:relative;width:100%;padding:5px 0}.g2-mini-progress__wrap{position:relative}.g2-mini-progress__value{width:0;height:100%;background-color:#177ddc;border-radius:1px 0 0 1px;transition:all .4s cubic-bezier(.08,.82,.17,1) 0s}.g2-mini-progress__target{position:absolute;top:0;bottom:0}.g2-mini-progress__target-item{position:absolute;top:0;left:0;width:2px;height:4px;border-radius:100px}.g2-pie,.g2-pie__chart{position:relative}.g2-mini-progress__target-item:last-child{top:auto;bottom:0}.g2-pie__legend{position:absolute;top:50%;right:0;min-width:250px;margin:0 20px;padding:0;list-style:none;transform:translateY(-50%)}.g2-pie__legend-item{height:22px;margin-bottom:16px;line-height:22px;cursor:pointer}.g2-pie__legend-item:last-child{margin-bottom:0}.g2-pie__legend-dot{position:relative;top:-1px;display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:8px}.g2-pie__legend-value{position:absolute;right:0}.g2-pie__legend-has .g2-pie__chart{width:calc(100% - 240px)}.g2-pie__legend-block .g2-pie__chart{width:100%;margin:0 0 32px}.g2-pie__legend-block .g2-pie__legend{position:relative;min-width:auto;transform:none}.g2-pie__total{position:absolute;top:50%;left:50%;height:62px;text-align:center;transform:translate(-50%,-50%)}.g2-pie__total-title{height:22px;margin-bottom:8px;font-weight:400;font-size:14px;line-height:22px}.g2-pie__total-stat{display:block;height:32px;color:rgba(255,255,255,.85);font-size:1.2em;line-height:32px;white-space:nowrap}.g2-pie__mini .g2-pie__total-title{margin-top:4px;margin-bottom:0}.g2-radar{display:block}.g2-radar__legend{margin-top:16px}.g2-radar__legend-item{position:relative;color:rgba(255,255,255,.45);line-height:22px;text-align:center;cursor:pointer}.g2-radar__legend-item::after{position:absolute;top:8px;right:0;width:1px;height:40px;background-color:#303030;content:''}.g2-radar__legend-item:last-child::after{display:none}.g2-radar__legend-dot,.g2-water-wave,.number-info,.number-info__value-text,.trend{display:inline-block}.g2-radar__legend-title{margin-top:4px;margin-bottom:0;padding-left:16px;color:rgba(255,255,255,.85);font-size:24px;line-height:32px}.g2-radar__legend-dot{position:relative;top:-1px;width:6px;height:6px;margin-right:6px;border-radius:6px}.g2-water-wave{position:relative;transform-origin:left}.g2-water-wave__desc{position:absolute;top:32px;left:0;width:100%;text-align:center}.g2-water-wave__desc-title{color:rgba(255,255,255,.45);font-size:14px;line-height:22px}.g2-water-wave__desc-percent{color:rgba(255,255,255,.85);font-size:24px;line-height:32px}.g2-water-wave__canvas{transform:scale(.5);transform-origin:0 0}.number-info__title{margin-bottom:16px;color:rgba(255,255,255,.85);font-size:16px;transition:all .3s}.number-info__title-sub{height:22px;overflow:hidden;color:rgba(255,255,255,.45);font-size:14px;line-height:22px;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.number-info__value{margin-top:4px;overflow:hidden;font-size:0;white-space:nowrap;text-overflow:ellipsis;word-break:break-all}.number-info__value-suffix{margin-left:4px;color:rgba(255,255,255,.85);font-size:16px;font-style:normal}.number-info__value-text{height:32px;color:rgba(255,255,255,.85);font-size:24px;line-height:32px}.number-info__value-sub{margin-left:32px;color:rgba(255,255,255,.45);font-size:16px;vertical-align:top}.number-info__value-sub .anticon{margin-left:4px;font-size:12px;transform:scale(.82)}.number-info__value-sub .anticon-caret-up{color:#d32029}.number-info__value-sub .anticon-caret-down{color:#49aa19}.number-info__light .number-info__value-text{color:rgba(255,255,255,.85)}.number-info:not(:first-child){position:relative;margin-left:32px;padding-left:32px}.number-info:not(:first-child)::after{position:absolute;top:0;bottom:0;left:0;width:1px;margin:8px 0;background-color:#303030;content:''}.trend{font-size:14px;line-height:22px}.trend__down,.trend__up{position:relative;top:1px;margin-left:4px}.trend__down i,.trend__up i{font-size:12px;transform:scale(.83)}.trend__up{color:#d32029}.trend__down{top:-1px;color:#49aa19}.trend__grey .trend__down,.trend__grey .trend__up{color:rgba(255,255,255,.85)}.trend__reverse .trend__up{color:#49aa19}.trend__reverse .trend__down{color:#d32029}.alain-pro__menu{display:block}.alain-pro__menu-item--disabled{pointer-events:none}.alain-pro__menu-only-icon .alain-pro__menu-item{padding-right:8px!important;padding-left:8px!important}.alain-pro__menu-only-icon .alain-pro__menu-item:first-child{padding-left:0}.alain-pro__menu-only-icon .alain-pro__menu-icon{margin-right:0;font-size:16px}.alain-pro__menu-title{position:relative}.alain-pro__menu-title-badge{display:flex;justify-content:center;width:18px;height:18px;padding:0;font-size:12px;line-height:18px;background:#177ddc;border-radius:50%}.alain-pro__menu-title-badge>em{color:#fff;font-style:normal}.alain-pro__menu-img{width:14px!important;height:14px!important}.alain-pro__side-nav .alain-pro__menu-title{display:flex;align-items:center}.alain-pro__side-nav .alain-pro__menu-title-text{flex:1}.alain-pro__side-nav .ant-menu-inline-collapsed .alain-pro__menu-title-badge{position:absolute;top:0;right:-16px;width:8px;height:8px}.alain-pro__side-nav .ant-menu-inline-collapsed .alain-pro__menu-title-badge>em{display:none}.alain-pro__main{min-height:100vh;background-color:#000}.alain-pro__main>.ant-layout-header{height:64px;line-height:64px}.alain-pro__page-header-wrapper{position:relative;display:block;margin:-24px -24px 0}.alain-pro__page-header-content{margin:24px 24px 0}.alain-pro__page-grid{display:block;width:100%;height:100%;min-height:100%;transition:.3s}.alain-pro__page-grid-wide{max-width:1200px;margin:0 auto}.alain-pro__page-grid-no-spacing{width:initial;margin:-24px -24px 0}.alain-pro__fetching-icon{display:none}.alain-pro__fetching .alain-pro__fetching-icon{display:block}@media screen and (max-width:767px){.alain-pro__page-header-content{margin:24px 10px 0}}.alain-pro__header{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 12px 0 0;background:#141414}.alain-pro__header-logo{padding:0 24px}.alain-pro__header-right{display:flex;align-items:center;justify-items:center}.alain-pro__header-item{position:relative;display:flex;align-items:center;justify-items:center;height:64px;padding:0 12px;line-height:64px;cursor:pointer;transition:all .3s}.alain-pro__header-item-icon,.alain-pro__header-item>i{font-size:16px!important;transform:none!important}.alain-pro__header-item,.alain-pro__header-item-icon{color:rgba(255,255,255,.85)}.alain-pro__header-item:hover{background:rgba(0,0,0,.025)}.alain-pro__header-item:hover,.alain-pro__header-item:hover .alain-pro__header-item-icon{color:#fff}.alain-pro__header-trigger{padding:0 24px}.alain-pro__header-trigger .alain-pro__header-item-icon{font-size:20px!important}.alain-pro__header-search:hover{background:0 0}.alain-pro__header-fixed{position:fixed;top:0;right:0;z-index:9;width:100%;transition:width .2s}.alain-pro__header-hide{opacity:0;transition:opacity .2s}@media only screen and (max-width:767px){.alain-pro__header-name{display:none}.alain-pro__header-trigger{padding:0 12px}.alain-pro__header-logo{position:relative;padding-right:12px;padding-left:12px}}layout-pro-header{z-index:1}[dir=rtl] .alain-pro__header-fixed{right:inherit;left:0}.alain-pro__top-nav{position:relative;width:100%;height:64px;padding:0 12px 0 0;transition:background .3s,width .2s}.alain-pro__top-nav .alain-pro__menu .ant-menu{display:flex;align-items:center;height:64px;border:none}.alain-pro__top-nav .alain-pro__menu-wrap{flex:1;padding-right:8px}.alain-pro__top-nav .alain-pro__menu-item{height:100%}.alain-pro__top-nav .alain-pro__menu-item .ant-menu-submenu-title{height:100%;padding:0 12px}.alain-pro__top-nav-main{display:flex;height:64px;padding-left:24px}.alain-pro__top-nav-main-wide{max-width:1200px;margin:auto;padding-left:4px}.alain-pro__top-nav-main-left{display:flex;flex:1}.alain-pro__top-nav-logo{width:165px}.alain-pro__top-nav-logo h1{margin:0 0 0 12px;color:#fff;font-size:16px}.alain-pro__top-nav .alain-pro__menu-title-badge{position:absolute;top:-16px;right:-16px}.alain-pro__sider,.alain-pro__sider-logo{position:relative;display:block;overflow:hidden}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item-icon{color:rgba(255,255,255,.65)}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover{background:#177ddc}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item .ant-popover-open .alain-pro__header-item-icon,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item,.alain-pro__dark .alain-pro__top-nav .alain-pro__header-item:hover .alain-pro__header-item-icon{color:#fff}.alain-pro__light .alain-pro__top-nav{background-color:#fff}.alain-pro__light .alain-pro__top-nav h1{color:#002140}[dir=rtl] .alain-pro__top-nav-logo h1{margin-right:12px;margin-left:0}.alain-pro__sider{z-index:10;min-height:100vh;box-shadow:2px 0 6px rgba(0,21,41,.35)}.alain-pro__sider-logo{height:64px;padding-left:24px;line-height:64px;background:#1f1f1f;transition:all .3s}.alain-pro__sider-logo img{display:inline-block;height:32px;vertical-align:middle}.alain-pro__sider-logo h1{display:inline-block;margin:0 0 0 12px;color:#fff;font-weight:600;font-size:20px;font-family:'Myriad Pro','Helvetica Neue',Arial,Helvetica,sans-serif;vertical-align:middle;transition:all .3s}.alain-pro__sider-fixed{position:fixed;top:0;left:0}.alain-pro__sider-fixed .alain-pro__side-nav-wrap{height:calc(100vh - 64px);padding-bottom:24px;overflow-y:scroll}.alain-pro__drawer .ant-drawer-wrapper-body{height:100%;overflow:auto}.alain-pro__drawer .ant-drawer-body{height:100vh;padding:0;overflow-x:hidden}.aside-collapsed .alain-pro__sider-logo{display:flex;justify-content:center;padding:0}.aside-collapsed .alain-pro__sider-logo h1{display:none}.alain-pro__light .alain-pro__sider{background-color:#fff;box-shadow:2px 0 8px 0 rgba(29,35,41,.05)}.alain-pro__light .alain-pro__sider-logo{background:#fff;box-shadow:1px 1px 0 0 #303030}.alain-pro__light .alain-pro__sider-logo h1{color:#177ddc}.alain-pro__light .alain-pro__sider .ant-menu-light{border-right-color:transparent}[dir=rtl] .alain-pro__sider-logo{padding-right:24px;padding-left:0}[dir=rtl] .alain-pro__sider-logo h1{margin-right:12px;margin-left:0}[dir=rtl] .alain-pro__sider-fixed{right:0;left:inherit}.alain-pro__footer,[dir=rtl] .aside-collapsed .alain-pro__sider-logo{padding:0}.ant-card{transition:none}.alain-pro__header-item .ant-badge-count{position:absolute;top:24px;right:12px}.full-content__hidden-title page-header,.full-content__opened .alain-pro__sider,.full-content__opened layout-pro-header,.full-content__opened reuse-tab{display:none!important}.footer-toolbar{z-index:99;width:auto}.footer-toolbar__body .alain-pro__body{margin-bottom:64px!important}.alain-pro__menu-side .footer-toolbar{left:256px}.alain-pro__menu-top .footer-toolbar{left:0}.aside-collapsed .footer-toolbar{left:80px}.page-header{padding-right:24px;padding-left:24px}.btn-flat{background:0 0!important;border-color:transparent!important;box-shadow:none!important}.ant-dropdown-menu-item{outline:0}@page{size:a3}.brand-page-loading{position:absolute;top:0;right:0;left:0;min-height:200px}.brand-top-right{position:absolute;top:8px;right:8px}.brand-top-left{position:absolute;top:8px;left:8px}.brand-range-picker__date{display:inline-block;width:240px}.alain-pro__header-search,.setting-drawer__blockChecbox{display:flex}.setting-drawer__handle-opened{right:300px!important}.setting-drawer__blockChecbox-item{position:relative;margin-right:16px;border-radius:2px;cursor:pointer}.setting-drawer__blockChecbox-item img{width:48px}.setting-drawer__blockChecbox-selectIcon{position:absolute;top:0;right:0;width:100%;height:100%;padding-top:15px;padding-left:24px;color:#177ddc;font-weight:700;font-size:14px}.setting-drawer__handle{top:114px;width:32px;height:32px;background:rgba(0,0,0,.38)}.setting-drawer__handle-icon{font-size:16px}.setting-drawer-rtl .setting-drawer__handle-opened{right:inherit!important;left:300px!important}.alain-pro__header-search .anticon-search{font-size:16px;cursor:pointer}.alain-pro__header-search-input{width:0;overflow:hidden;background:0 0;border-radius:0;transition:width .3s,margin-left .3s}.alain-pro__header-search-input .ant-select-selection{background:0 0}.alain-pro__header-search-input input{padding-right:0;padding-left:0;background:0 0;border:0;outline:0;box-shadow:none}.alain-pro__header-search-input,.alain-pro__header-search-input:focus,.alain-pro__header-search-input:hover,.message__tools{border-bottom:1px solid #434343}.alain-pro__header-search-show:hover{background:0 0!important}.alain-pro__header-search-show .alain-pro__header-search-input{width:210px;margin-left:8px}.alain-pro__dark .alain-pro__top-nav .alain-pro__header-search-show .ant-input{color:#fff}.brand-bordered{overflow:hidden;border:1px solid rgba(24,28,33,.06)}.brand-bordered>[class*=ant-col-]::after,.brand-bordered>[class*=ant-col-]::before{position:absolute;display:block;content:''}.brand-bordered>[class*=ant-col-]::before{right:0;bottom:-1px;left:0;height:0;border-top:1px solid rgba(24,28,33,.06)}.brand-bordered>[class*=ant-col-]::after{top:0;bottom:0;left:-1px;width:0;border-left:1px solid rgba(24,28,33,.06)}.brand-border-width-2{border-width:2px!important}.brand-collapse-arrow-reverse .ant-collapse>.ant-collapse-item>.ant-collapse-header{padding-right:40px;padding-left:12px}.brand-collapse-arrow-reverse .ant-collapse>.ant-collapse-item>.ant-collapse-header .arrow{right:16px;left:unset}.dd-btn{display:block;width:24px;height:24px;color:#bfbfbf;line-height:24px;text-align:center;border-radius:50%;cursor:pointer}.quick-chat,.quill-editor{line-height:initial}.dd-btn:hover{background:#1f1f1f;border:1px solid #303030}.attachment-img,.img-thm{background-color:transparent}.attachment{display:flex;align-items:center;margin-bottom:8px;padding:4px;border:1px solid #e8e8e8}.attachment-icon{padding:2px;font-size:40px}.attachment-img{width:64px;height:64px;background-position:center center;background-size:cover}.feed__icon{position:relative}.feed__icon-tag{position:absolute;top:-6px;right:-2px}.img-thm{position:relative;display:block;max-width:100%;height:auto}.img-thm__icon,.img-thm__mask{position:absolute;transition:all .2s ease-in-out;display:block}.img-thm__mask{top:0;right:0;bottom:0;left:0;z-index:2;background-color:rgba(0,0,0,.3)}.img-thm__icon{top:50%;left:50%;z-index:3;color:#fff;font-size:32px;opacity:0}.img-thm__img{z-index:1;max-width:100%;height:auto}.img-thm__zoom-in{overflow:hidden}.img-thm__zoom-in .img-thm__icon{transform:translate(-50%,-50%) scale(.6)}.img-thm__zoom-in .img-thm__img{transition:all .3s ease-in-out}.img-thm__zoom-in:hover .img-thm__icon{transform:translate(-50%,-50%) scale(1)}.img-thm__zoom-in:hover .img-thm__img{transform:scale(1.1)}.img-thm:not(:hover):not(:focus) .img-thm__mask{opacity:0}.quill-editor.ng-dirty.ng-invalid .ql-container,.quill-editor.ng-dirty.ng-invalid .ql-toolbar{border-color:#a61d24}.ql-snow .ql-size .ql-picker-item[data-value="10px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="10px"]::before{content:'10px'}.ql-snow .ql-size .ql-picker-item[data-value="12px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="12px"]::before{content:'12px'}.ql-snow .ql-size .ql-picker-item[data-value="14px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="14px"]::before{content:'14px'}.ql-snow .ql-size .ql-picker-item[data-value="16px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="16px"]::before{content:'16px'}.ql-snow .ql-size .ql-picker-item[data-value="18px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="18px"]::before{content:'18px'}.ql-snow .ql-size .ql-picker-item[data-value="20px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="20px"]::before{content:'20px'}.ql-snow .ql-size .ql-picker-item[data-value="24px"]::before,.ql-snow .ql-size .ql-picker-label[data-value="24px"]::before{content:'24px'}app-file-manager file-manager{display:block;padding:24px;background:#1f1f1f}.file-manager{display:flex;margin-top:16px}.file-manager__header{display:flex;align-items:center;margin-top:16px;padding:0 32px 4px 12px;font-weight:700;border-bottom:2px solid rgba(0,0,0,.05)}.file-manager__header-name{flex:1}.file-manager__header-pixel{width:150px}.file-manager__header-time{width:130px}.file-manager__small .file-item{display:flex;align-items:center;width:100%;margin:0 0 2px;padding:4px 32px 4px 0;text-align:left}.file-manager__small .file-item__icon,.file-manager__small .file-item__img{display:block;width:32px;height:32px;margin:0 8px;font-size:20px;line-height:32px;text-align:center}.file-manager__small .file-item__name{flex:1}.file-manager__small .file-item__pixel{position:inherit;width:150px}.file-manager__small .file-item__pixel>span{background:0 0}.file-manager__small .file-item__time{display:block;width:130px}.file-item{position:relative;z-index:1;flex:0 0 auto;flex-shrink:0;width:9rem;margin:0 8px 8px 0;padding:16px 0 24px;text-align:center;border:1px solid transparent;cursor:pointer}.file-item:hover{border-color:rgba(0,0,0,.05)}.file-item:hover .file-item__actions{display:block}.file-item__selected{background-color:#111d2c!important;border-color:#177ddc!important}.course__img,.file-item__img{background-color:transparent}.file-item__selected .file-item__actions{display:block}.file-item__icon{display:block;margin:16px 0;font-size:40px}.file-item__img{display:block;width:4rem;height:4rem;margin:0 auto .75rem;font-size:2.5rem;line-height:4rem;background-position:center center;background-size:cover}.file-item__name{height:28px;padding:0 8px;overflow:hidden;color:#4e5155;line-height:28px;white-space:nowrap;text-overflow:ellipsis}.file-item__pixel{position:absolute;bottom:0;left:0;width:100%}.file-item__pixel>span{display:block;width:100%;padding:2px 0;background:rgba(0,0,0,.01)}.file-item__time{display:none}.file-item__actions{position:absolute;top:8px;right:8px;display:none}.ware__color{display:inline-block;width:12px;height:12px}.ware__imgs .se__label{padding-right:8px}.ware__imgs-wrap{display:flex;align-items:center}.ware__imgs-color{display:flex;margin:0;padding:0;list-style:none}.ware__imgs-item{position:relative;width:72px;height:72px;margin-right:16px;border:1px solid #ccc}.ware__imgs-item-img{width:70px;height:70px}.ware__imgs-item-img img{max-width:100%;max-height:100%}.ware__imgs-item-del{position:absolute;top:2px;right:4px;color:#fff;line-height:normal}.ware__imgs-item::before{position:absolute;top:24px;display:block;width:100%;color:#ccc;line-height:normal;text-align:center;content:'细节图'}.ware__imgs-item:first-child::before{content:'主图*'}.ware__imgs-item-exists::before{content:''}.faq-v1__item{display:flex;align-items:center;padding:8px}.faq-v1__item-icon{font-size:24px}.faq-v1__item-title{margin-bottom:0;font-weight:400;font-size:14px}.faq-v1__item-remark{margin-bottom:0;color:#bfbfbf}.faq-v1__item-hover{background-color:rgba(0,0,0,.02);cursor:pointer}.faq-v1__item-hover:hover{background-color:rgba(0,0,0,.04)}.faq-v1__item-hover:hover .faq__item-icon,.faq-v1__item-hover:hover .faq__item-title{color:#177ddc}.task__container{border-bottom:1px solid #303030}.task__container:last-child{border-bottom:none}.task__title{margin-bottom:16px;color:#a3a4a6;font-weight:400;font-size:12px}.task__item{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(24,28,33,.06)}.task__item:first-child{border-top:none}.task__item-handle{margin-right:16px;color:#bfbfbf;font-size:12px;cursor:pointer}.task__item-done{color:#a3a4a6}.message__container{position:relative}.message__sidebox{position:absolute;top:0;left:0;width:250px;height:100%;background:rgba(255,255,255,.03)}.message__tools{display:flex;flex-wrap:wrap;align-items:center;padding:4px 24px;border-top:1px solid #434343}.message__tools-choose{display:flex;flex:1;flex-wrap:wrap;align-items:center}.message__content{min-height:600px}.message__item{display:flex;align-items:center;padding:4px 24px;border-top:1px solid #303030}.message__item:first-child{border-top:none}.message__item-from{display:flex;align-items:center;width:160px}.message__item-subject{width:100%;color:#595959}.message__item-subject:hover{color:#177ddc}.message__item-date{color:#bfbfbf;white-space:nowrap}.message__item-unread .message__item-subject{font-weight:700}@media (min-width:768px){.message__container{padding-left:250px}}@media (max-width:767px){.message__tools-choose{flex-basis:100%}.message__item{flex-wrap:wrap}}.course__img{display:block;padding-top:60%;background-position:center center;background-size:cover}.course__star .ant-rate{font-size:10px}.chat__container{display:flex;overflow:hidden;background:#1f1f1f;border:1px solid #303030}.chat__scroll-container{position:relative;width:100%}.chat__sidebox{display:flex;flex-direction:column;width:250px;box-shadow:6px 0 16px -8px rgba(0,0,0,.32),9px 0 28px 0 rgba(0,0,0,.2),12px 0 48px 16px rgba(0,0,0,.12);transition:.2s all}.chat__contact{display:flex;align-items:center;padding:8px 16px;color:#4e5155;cursor:pointer}.chat__contact:hover:not(.chat__contact-active){background-color:rgba(24,28,33,.03)}.chat__contact .ant-badge-status-text{color:#52c41a;font-size:12px}.chat__contact-offline{opacity:.7}.chat__contact-offline .ant-badge-status-text{color:#f5222d}.chat__contact-active{background-color:#e84c64}.chat__contact-active,.chat__contact-active .ant-badge-status-text{color:#fff}.chat__user-avatar{height:40px;border-radius:50%}.chat__message{display:flex;flex-shrink:0;margin-bottom:8px}.chat__message-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:24px}.chat__message-left{margin-right:58px}.chat__message-left .chat__message-avatar{margin-right:8px}.chat__message-right{flex-direction:row-reverse;margin-left:58px}.chat__message-right .chat__message-avatar{margin-left:8px}.chat__message-send{text-align:center}.chat__message-avatar{width:50px;text-align:center}.chat__message-text{width:100%;color:#bfbfbf;font-size:12px;text-align:center}.chat__message-time{padding-top:2px;color:#bfbfbf;font-size:12px;white-space:nowrap}.chat__message-msg{padding:4px 8px;background:#050505;border-radius:4px}.fc-antd .fc-event,.fc-antd .fc-scrollgrid,.fc-antd td,.fc-antd th{border:1px solid #303030}.chat__message-msg--name{display:block;margin-bottom:2px}[dir=rtl] .chat__message-left{margin-right:inherit;margin-left:58px}[dir=rtl] .chat__message-left .chat__message-avatar{margin-right:inherit;margin-left:8px}[dir=rtl] .chat__message-right{margin-right:inherit;margin-left:58px}[dir=rtl] .chat__message-right .chat__message-avatar{margin-right:inherit;margin-left:8px}.fc-antd a{color:inherit}.fc-antd a,.fc-antd a:hover{text-decoration:none}.fc-antd .fc-col-header-cell{padding:8px;color:rgba(255,255,255,.85)}.fc-antd .fc-day:not(.fc-axis){padding:4px}.fc-antd .fc-day.fc-day-today{background:rgba(232,232,232,.2)}.fc-antd .fc-event{background:#1f1f1f;box-shadow:0 0 8px 0 rgba(0,0,0,.055)}.fc-antd .fc-event-title-container{padding:4px 4px 4px 20px}.fc-antd .fc-event-title-container::before{position:absolute;top:50%;left:4px;display:block;width:10px;height:10px;margin-top:-5px;background:rgba(0,0,0,.2);border-radius:50%;content:' '}.fc-antd .fc-event-title{display:block;overflow:hidden;color:rgba(255,255,255,.85);white-space:nowrap;text-overflow:ellipsis}.fc-antd .fc-event.fc-not-start.fc-end .fc-event-main{padding-left:4px}.fc-antd .fc-event.fc-not-start.fc-end .fc-event-main::before{display:none}.fc-antd .fc-event-fill-primary,.fc-antd .fc-event-primary .fc-event-title-container::before{background-color:#177ddc}.fc-antd .fc-event-fill-success,.fc-antd .fc-event-success .fc-event-title-container::before{background-color:#49aa19}.fc-antd .fc-event-danger .fc-event-title-container::before,.fc-antd .fc-event-fill-danger{background-color:#d32029}.fc-antd .fc-event-fill-warning,.fc-antd .fc-event-warning .fc-event-title-container::before{background-color:#d8bd14}.fc-antd .fc-event-fill-purple,.fc-antd .fc-event-purple .fc-event-title-container::before{background-color:#642ab5}.fc-antd .fc-event-fill-magenta,.fc-antd .fc-event-magenta .fc-event-title-container::before{background-color:#cb2b83}.fc-antd .fc-popover-header{padding:8px 16px;background:#eee}.fc-antd .fc-popover-body{background:#1f1f1f}.pro-passport{display:flex;flex-basis:100%;align-items:stretch;justify-content:stretch;min-height:100vh;overflow:hidden}.pro-passport__langs{position:fixed;top:16px;left:16px;z-index:9999}.pro-passport__langs .alain-pro__header-item{height:auto;padding:0}.pro-passport__bg{padding:0 24px;background-color:transparent;background-position:center center;background-size:cover}.pro-passport__bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:.4}.pro-passport__form{padding:32px}.pro-passport__form-logo{height:32px;text-align:center}.pro-passport__form-logo img{max-height:100%}.pro-passport__form-title{margin:16px 0;color:#bfbfbf;text-align:center}@media (max-width:991px){.pro-passport__form{width:100%}}.quick-chat{position:fixed;top:auto;right:0;bottom:0;left:auto;z-index:98;display:flex;flex:1;flex-direction:column;width:320px;margin-right:30px;background-color:#1f1f1f;border:1px solid #303030;border-bottom:none;border-radius:4px 4px 0 0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14)}.quick-chat__bar{display:flex;flex-direction:row;align-items:center;height:32px;border-bottom:1px solid #303030;cursor:pointer;user-select:none}.quick-chat__bar--title{flex:1;height:32px;padding-left:16px;font-size:14px;line-height:32px}.quick-chat__bar--title:hover{background-color:#242424}.quick-chat__bar--title-has-message{animation:antSwingIn 1.5s infinite}.quick-chat__bar--menu{display:flex;align-items:center;height:32px}.quick-chat__bar--menu .anticon{font-size:18px}.quick-chat__bar--close{padding:0 16px 0 8px}.quick-chat__body{max-height:370px;transition:max-height .5s cubic-bezier(0,1,0,1)}.quick-chat__content{position:relative;display:flex;flex-direction:column;height:320px}.app-dd__op,.quick-chat .chat__message{align-items:center}.quick-chat__content .chat__scroll-container{display:block}.quick-chat__reply{height:50px;padding:8px;border-top:1px solid #303030}.quick-chat__reply--ipt{display:block;width:100%;height:100%;background:0 0;border:none;outline:0}.quick-chat .chat__message-avatar{width:28px}.quick-chat .chat__user-avatar{height:20px}.quick-chat__collapsed .quick-chat__body{max-height:0}.quick-chat__collapsed .quick-chat__body .chat__scroll-container{display:none}[dir=rtl] .quick-chat{right:inherit;left:0;margin-right:inherit;margin-left:30px}[dir=rtl] .quick-chat__bar--title{padding-right:16px;padding-left:0}.app-dd{position:relative;display:block}.app-dd__op{position:absolute;top:-24px;right:24px;z-index:99;display:flex;justify-content:center}.app-dd__op-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:8px;color:#fff;background:rgba(0,0,0,.4);border-radius:0 0 4px 4px;cursor:pointer;pointer-events:auto}.app-dd__op-btn:hover{background:rgba(0,0,0,.3)}.app-dd__ph{opacity:.3}.app-dd__item{position:relative;display:block}.app-dd__item-btn{position:absolute;top:8px;right:8px;display:none;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(0,0,0,.02);cursor:pointer}.app-dd__item:hover .app-dd__item-refresh{display:flex}.app-dd__item-design{opacity:.8;user-select:none}.app-dd__item-design .app-dd__item-handle{display:flex!important;background:rgba(0,0,0,.1)}.app-dd__item-design .app-dd__item-refresh{display:none!important}.app-dd__item.cdk-drag-preview{border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.app-dd__item.cdk-drag-animating{transition:transform 250ms cubic-bezier(0,0,.2,1)} \ No newline at end of file diff --git a/src/assets/tmp/app-data.json b/src/assets/tmp/app-data.json new file mode 100644 index 00000000..851ca714 --- /dev/null +++ b/src/assets/tmp/app-data.json @@ -0,0 +1,35 @@ +{ + "app": { + "name": "Ng Alain Pro", + "description": "Ng-zorro admin panel front-end framework" + }, + "user": { + "name": "Admin", + "avatar": "./assets/tmp/img/avatar.jpg", + "email": "cipchk@qq.com" + }, + "menu": [ + { + "text": "主导航", + "i18n": "menu.main", + "group": true, + "hideInBreadcrumb": true, + "children": [ + { + "text": "仪表盘", + "i18n": "menu.dashboard", + "icon": "anticon anticon-dashboard", + "link": "/dashboard" + }, + { + "text": "快捷菜单", + "i18n": "menu.shortcut", + "icon": "anticon anticon-rocket", + "shortcutRoot": true, + "children": [] + } + ] + } + ] + } + \ No newline at end of file diff --git a/src/assets/tmp/demo.docx b/src/assets/tmp/demo.docx new file mode 100644 index 0000000000000000000000000000000000000000..06974ccf3ce4c3a7e5c5f1cdcce900aa47dc737c GIT binary patch literal 11722 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 literal 0 HcmV?d00001 diff --git a/src/assets/tmp/demo.pdf b/src/assets/tmp/demo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..73d3d8cb21bd143bb57769faddf8d29635b9eb25 GIT binary patch literal 46673 zcmeFWXHZjJ81MVqK)R^(CL#jTM0yJ%0wN+JDkb#Zd#?)81w=4NjYt#eEujPu5JHg- zA&@}m0TOB;A%wtv&)j>?%=voH`{~Zzvu4j;&z@QH%y0ew&suA5;a5*}BxR%&>FMR} zJiOy==SDB8=iulS;2IDrM(^n5@INB*|MQLJzg@@w6;}Fx!fI;t(mJjl0girmq;))O z100_^+Iu@V(o4T^^l}bxxg#ehr=&4h2-NqqC+g+ zhG9d!zDiv5E7*8^Mm^B?D;k)2lK4dOmv~mn4+~4nYN=n^%@(4`76X@;uNPlm4N^@* z`SQYxeND&O=xo&)caCq=_J&C=3qQ`h(ep@6g2nba3(EGH^b~3q=Dl6 z9!1^6>qS1J!xxQsEJgX(FUl&~e@vaEz85+cKHA~;!QYFmlNkdnfgiKZdKlvD1B}a7bHP=p2_Q(C#0g8;M8G zYNQ?_laFh5j#YK1QpVU9ewfS`J(DYny*A_Pac!TjMTB zw%8xpyG;ad7C_vYbUk734>@|8WPQJW(GhDuM|*%`=WC6`?l&B`38|PSYv)-xB+OIadcV_qMqK5o_8Ui|CNWdEIA**Rdc8v&lO}tp7p& z2lZ>s%daBtfut;dUGRwg2eMjO)r-v|EelC^?mJO2&kiuZ8yttZH~z){ ze@DF@`@a}nK%d)UH6cA>B2E!^p_6<;^RCLY z=)Zz82unYV7Rt5^A^ad908hf6CiIB*_ZbY994F3z};D3VgTYvs9 z|NjJxA@@QIivW3r!Q0C3Un!nwWIa)Wh8=H{|10nt?QsHt!yyLm&P`Zz`hK)%oKH5jcx4@>N|B;y-J^;^_g{-5NN5n^g zludie6>XA?AQvc6I|0FS8m|@`yi$Lf|oT7Ea|Kjhp(5C&b8UBM}AP4|Olw9zT zlm6wu29y6EuFWv*ilW;6SLvsqCs_oPgZ`y6_Ai|+x@8MpUHHxaYIJ>c1B*cGPEVc* z7#fsuYei^$ZZ0(AzmiU=S6@Op`rnx~$%jJFbO)@PySrA9zjXhJv9zT8IR5o5j}(l2 z3tJue@j^@NDxJk`0W7G62Aa{uU~zR=W_INi{Z3I?HKlqF*pAz@Sn|apO<|8Z&u3ZA z=Ra64T!>RT8%Wutv&miQz0=9j@F280IptQcXP5sO2V_Aeh~ilc)b*fXx;?wByKH*TXxm%zt=Amy zu%YMjOOIAEOunm&gzoflRr%5$N;oQGG7ZOseZXPgX%Idv^tCQj*SiK!O;01ZI4sk5 zc=DVsOZ^?D4s+L(AXFl8@rc0cJYCjcrw_n}-3>`)3CSEFz1_7E&TzZdb~bRv2ZTtB z&lYH8s$LR01BgXRHALk`Qw>|(fx+Z;$*KAbQ;#;^NL;m|XQ84Nr?Y-{pScj8fJth-cVsU?=kjOU{-? z{g_hCDaN$Z%ZeJT_&l?g`aw7{fs-eandNPC*!H$$-k6lH(kG141XI7rEppBPROUW0_t(F5@37zS{)@YIc|hGfb9dQnD;4<+UHWR- zYh~Km{8aNW|3i{r2F%lpU$O zq^GlESDA3JxP{{uV!!ZIin*@$H!E~lZ>u_2_CYwe=hzv7r!00jVsITusGkXbk=nFK zuRIqrwSmg>s+`Fn9`z$m1GI2V2C_`MG|!H=|KZ30`+_m=E5$Tl5Ak?$KYiOEo^D{U zz?nCPyiuDz?Mdwq6iuq|F~OxOA{K+60uH!VcWDezZbRxU^Biz*?Y}(1g+GfX4 zy8{pq|1HmZPOaI&9fx>#d$T{)IM5=<*rNm?_m;=@(rSpqNaQ1#y>gX%Zv&B(E3MyP6W@GKFR$B-k>%Etj{#Z5*~Ev9sW&jA;E6s1Nlh=D1~IifJGg zqmGfnmOpv#=rAvE%Q1+0&4#NyIW9az5ZLoI{&7^n-_R8p^^I>$#PVInx$i;^CS>Bi$3J|SF7?nP$J1WeN z>?eN#a@akxHzDI}s~K?%E>lOQp1tp)-`M}`wjcjFjuv8@zZ(0KsT#MTmA-svRB1Ow zi{*Z`V3#ERGTvmZ|wrh3e6=NV@;;5?t_U78x;>G(_vDz7NZQyg=5`)TB`GG#q~ z<9YqXV(T*cT-vN4U&G`Jg9m21wSe#qoelH&)4Nx|!)~$vv*Mb-t^-3)yK={8$_t)8 zjmJ&w*Gp0!QbOn*PEd$1RVmZNP2w%L%u;WF1FfAL8Py)g-?V@W0!aL zU8D=F=U??s-luqIW*HFa+$UG+KvLxQ2$oC|DPWnb3LF!5Vv5AI-uCpoZ+cn3xyY4& zlrvpY*SFNP(AR+tXIznE6Q%a);n>}$i1M;B_OY#K;|s%{7XfmYEIqeldCH=>NLNT< zTX7_blO;qcns;%%6dUDfZ_3BMUdDm_8&wZ+EuwoYvb!gJ(f$fMo*!b}?UVVokK}FX z>8KI?QW)KAyNhh~YfpWvqDH&|^j5Mca8!K-UX=T4W3x?Jh4B{ z-r3!C_M<5Nu?zk^I&`fLGX84O*5K`5JLyE@L4)q4)?%x2emiG-d5;R|Z*dH&9f6?| z&)S>z8k*ueE;U_Z!YP*L)l_z$M%xjq<>hOC-E~^yaeAwf;w3NmE!V8!Dq@G7 zopmzIj)=Qxa1EPUo!y&qb&i*qguwS>a(v=T%yN;G;Vm`QI zGtm_^`}Cr*a>dwvK<=yxh|T4x@jjW;ofTD{=4AE}=+GQd$3Ppe}68Cd%|&+@lc#^{sK|squ9!$?|B~n5Z5B z57zXCjr+XS5(!%vVPb0eBKkUcWs~GHZTN4iJJTvTVg_BXqwpj?kMQ9Uor{~p(XGCa zcY1#nFinCOi^aNHGJ(e_kD{P9dDhCLfw7qX>~Zb^@7%D1dk~!WfhRe08wMJLzKydn zi01;C!?bH|M%TgL|*hES@J|1VDnxeYY8 zv51)4FsxRcM>l#w$n!`6c@g`@k=d#O&t0qbTJm=D`bN#h+(u@+rQ2C+Jbm8=XQP&NV#ODvZ7S0C+3+1xR9?GJ z?Rq5r#9$V?G$E$~Uw25_iF|Nn`xP9xZ&K85rtX4y7E2R?=iBAT`0_u_WapY2OmiW_ zu*!w!B*!SQ?olwh)Qf~a!dn*^L}N(dxKR9z*I>Fp0rld1@DafsJHM+s4r1}!`ix2e zU0es1_$>ds1c))@7aG_hv zsAPg`;6lH)5!6pR;9zAvyEf$RDY4kA`%uJY!?{MYjl&wclFK%G&BT(>QQ0}Wun>3* zV;eM-R~Th6k3IRCZ3*$y#wEMQ48J=*ig?iC)CX%!6*r08?f{Ztq}DX1j7^g$jguYF z(RPh^Of+@cfN9qIBo#N=b-vmkUv|2S+wI(4=qeZ2KQI>)CLURKL~C74 z+@~tP>fH^vlzBr~Ch+iS?^_<}+^!(ofW9;G1RIAnOrlM+oiQ@jaZ~ka!STa>%iF?r zH?wVr#V4Qx9*+mAT29(3KOa=aRK7DqWNTmokA(+QjL?-eN!BU)Z2@oH&*l;R{Rq%N zxl{)}cel_z^8f+r&wyGlkWpZ_#3;w^U2UdWa2xjP-r08S#YP53ne2VBbFh>laMhjG z8wY!EGZMO*?M?oQ+vR4Kq7J5bcOD!HTnt7(-HP%IQaPO2oZ7va9U(U#Lf3HK?lpMU zufs7S^%UAKIGlohs-5bEiU?WDId6O6==jEC-LV{A>zz$31mMat&7(7GHl@ulu=}pQiOSj76O^nH?n!^ zBX^NxufOU%QqrmX^eP^qn!Sc&aqGY3<HVU%b$QN$sb<1uscD))2NIHh`z$dS#efv|m zlc>0|+aIJ~KP8OD);WuV+AOo%xiN}&A*D@RGC0%I63S%=I!z8<4(8^Hi^u_P!^$`z28ZUs`=a0>mliAM`CG6`>9E2LR)LKEGT9|V@D4?tH?vr`9O9#p>h03aVub@K#A=iTUnWK}| zqExF+#P^eWMe&?I7RI^a$AW4+CzzrIXdrb;GfrEAojWJ;_@9!)w z8qmRFg;#{hPfQ*L6T9+i4Z93!@Xybh@k`|Urn!M-d$ob$kccFcC=Q4>mDaH~s_+fj z+~4G6r*=ph6WdG|1^ZCB1t>*Lk^6#YzRhuN|IXq}}5V4}5qU4L#3ei$yUpGzWU zCx>4w?QO;@FVu@q^I`YoNAwm|lPf!KT$0<0fVu=BBzqrCW7F$>Kjcy84a3+w2B_FR ztEK4Zr6|s(_L%UIj@_ulh_n`y*geG{U9c-Y$lDKvJE02p@SH?UMG75;tkv6y9;Vt1 zM8;A)aV%V&tmmU~v%Q|ukv5c1QD^j05WRLy;%f|}y<^PiK>KciOZQG1jFmST#&@J`@|2_9TX$Ax z_UhKAT9qYxhn#t;6)Qd&#+Isk1Knih<^`n0F3w#DZT9=AJX>Ylx|7hj5nGi< z7Zw6hBhD>aJd`%&E-|u;zNO3)`rt5N&FYLlDWB=)NhIU4hl2oQSF@rZ_3zb#0ihOa zXIB1n*zHjM2!TtFTIGa#?f9 zt+sR7zHO<_M5$0AoB9*IAkA~HU=&%E(Y1GvqOmK~v&x(R7dY4D)o>8tRbT76I1dp( z^F*qiDsT|zOjb!79aH<%O_u6U3#yG5W7lql4%22)dR{SmY+c=*PZZa@8(yctbM9$?rVx~K3*Y;?P$EDbwEme1yFYIYD%zPKWvWfI<^!C-Q)dFnPr$JXq z^3TY=P$Zwv1-<^)CBxXvM5^=ndzQA2@gdCby(o*Bu9#{lO{@N$f?0{H8bQ&^=jei` zRg_oBV=J4+UjGEH-LnJhc!qF-diC-NoI{(nMOucf#Wez8T3@^(>#EJe_h>$C$vK|0 zJ0Xl+BA>m`k=IVcpzVz0ymXkw^2>G{8Z{0VHvQvl3E0%~3brE)2CIeq<9c*8yOlrR z5vk6hmfA6P)w5f5V10YZZY^3#X=C0(*Wvp5S>Wd4&DW94GP7;Lu}OD!3se5Y7I_L?GpPqd* zO49Gf;YT7ZM)ehq@GQfi5^kstDmxBvoxRKe6#$OeS#y-Bh2 zORv{;3L()Iig_5?ilsjMCkfwUPLCZHEYApzw~H)J-Aw>_ebC{ z^WXE`*f$I5l@B9*XqM%o1RnpTA1Y6??_%P!58iJIXIw4`XZ>>a2*D4>I#zZ4{gSJ> zRnR|iMX4+~9QZUzJvM^v6-rzQNb9HeDSSMAGLloih-LN`97H#bx|C(cTu`2hAdAMI#@^@|r&YQ!azsM+&^#0lMwcg2NG;U+q51!}k(h%YebcP0k2eG_g> z{tE&2wD)Ff?610mQf@+;iqHBpUbC8*X!64=tR)ku666QRhYI+eVg>mEaIsXy>pe#? z9>;up&Q?6U-c@4V6q9Z1PJ8%S6D^ew<#67!Ppy3wj(6s!lL)lCVE&U>AA$18*W2eR z=>#>%KV~9WZoa=-`**G7edFAMxLq}6?<#ItQp+{qJCpT?qn#*IvB0~gO!Cn$=v(#1 zwLW8O^?XDm3naD?{y+7F3oE$Y&b^*@7RYEanc2?WwhdNK*?$Ot@3#ubZ)i^AD885~ zD{zdZ-&Ht&kyAM5WJg|@uWA~vRv0|Ayt<|%UVO+nIISKnxu`I7F1RR@siNwp=m$vS zysu0*)MBYCfO^w@5xS^|(s)75d+Hio7c_T%8Qnf5`T3as+fVghOb@H0SxQCYJVVbxb&G#a zCsJhpvI9;;&dK$s?+l*@^?U^K=Sr<4dA8(#@w)dj?j`Q|%k1=l2F%5A%t zg^nLd%+No_>utJJUKGPB1Kr~8QNLd)l6${TIon0;gp6Kzeum*W|rhe;?SiL*->*0*%^v8QUm!={z zTTo@v@jp{eKL@v~BH|qnRG+&Kowl3BzxYOC-j3qAC9(Q9$PR9*VbS-lc zdHW>Kiv@D~$sE4i!eKx1Jt^{fh5G2Kfh+j5shCaOYHb@D)JzbZX+P8FVs!> zyKCoe2QH>^SB=@9zC&$t z!`IxakgO_WI(&KjT9@Sq;_bq*i-ud%F!g%qO+k(g=exP8kK-+64@ZuH_#cCR={T%OF5}JD$ zCS5az-?KOEWYJZlp^)xDQkOhP4Uq!246~^UX8_235S+tj29*)3x90vuK8&^oe;u;R zCQ~@SFrt_{TLsxJY9FmJ zrttUVo$hI})?WIOtBSEU0R=WCRgCQ@_ z@yPCUY>|fG*cX+L%~z^ssa4)ucubjKsgq@4sl2}ig;uz!$4Qm3A=r4Ox%3sTTE0oa zUNH=inFwWY7SQg56!9}27UtkR;6yKTE7Y8!z|#dWp?<0dU3JY~*_wy5{>;duHjW+7 z)X2XDO;wF980LCw)mSB#?=`%CTI1`xz}!wORfq?B-_2;?KSRArh>(NZ?$wYf+Ij}; zbNgu4=1r^Z0+|vQL|Sd8R!g$FL?9;ljcZJSYnxD z>+T?i@6RYc`eO3k`Q|jZW5APMe#U%D?=)HkIrd_iIcGy7F{oE=l^eoO89)8%B5YX1 zdlPA*o8&ZCGwl+dul;}vudE5IW~lg74|R-;S6BM=q;gGk-H$e{HCx!E*h@Xe+MRE= z7aH0-*`h1dCqC<;zW~4BfopPLt>9=SB0irH7+@kPw z9KEc=e}G6|M1ooXK4?3Rac%DOnQ8?=;0K$niS43r<`7^gRMGueu6niN9fnBT3)_#S zW@S3~ALg|ZEZ^AG&shIbq$52M^x$<@*3Z;x5%s4A4F%BjkoYz6O-Gy~&Mv63d48{L zPs^<{))V6()h{Ni{%nTwHvIGJYm$v$Kd0W_)g49~dOzlF#@$;X)sx&k_aCBa8SPj! z6{-b7F3b4A6a(E(x&2PnvIS!M!)d}tSMoi_{e(XEJ#y?yQ79zyR}S&pR!qp!Mk%;s{5tq6&2?Ou_fl?US3%r#`tyc5r0G zkOiz9rM;xiX0c*UCpnZtU@j^+%5=5H2GtrbX(S!#%^Wd^y`Ut+q&t9(P(d;~!E>#FIt0Pu5Cis<^IAzx`b z=(4|bV3de1hSsM%r73d~Y3`7UbL6qvSx~4lXqXXS`NTCp9ci0>D6vbie@5l3!D=qz zL_(vc@>pyyI@ET3|Fm#y@qUcp?+J?w-_ye1YWiH=pZ~N?cnvRCtE4A>5ekZN{lvk# z%80`X1yxFwYFUp4sbtTM!0NNd!@Y~EjURo@pi?Nic*qawL5ZI@A<6dP+ zk=i=7VEeJ#gstOAU!vSz>AS&+w1zLD%jU#K3wP7bX`0h!-`Cy&mr)2ulW*=UygQe+ zmAt}dbDqfY?X`xVN>b&fgK97*cH1r;>r3QN74@dedcw1l%nBjUxxFJi@d~~a$$!ly zQOVBC5?4;0(A5w94A3Sdm%9ph+Z)#Fh)>KH(>FWCAG&ilr1F<_co+>gDgIsU1pABV zAp8HVoc5v#N|JGUf9hJbw6~9JT~Z2OIDd2HUuPA|Dh_3;;zOp{2mdJfOaCxDK$SXt z4Km&CYn4aa#NxUeYvE7<4xS*GmPdp#dF`CtbAP7@{Hc!56MnVm$U7U0zMnBE^`~We zPHEz$hjKgxFrXsKIWMO^t%YDmcDUF-8!w(4Ewti^qLwqsw7Uw4Xzjg*EAN#`HWR|V zfM@8=d(Ew>a&t3i!{NYxP+zjZ%|8W#*jO6-gX`6+U%{DPmFEQIULW%i4(3|1`oNo; zUvjdwtlU;#DvUJA>ip-l|ZN{K^fORWqOm!6RR#iW_gJt1J&su48 zb}XY+LO0?NhTz483k3S->IO8bwS{WC61^Wy-xluQb6^@U1|mdf7N$86UhlR(JoC+} z>lfEo)o^>~Q2DOZN?xOvlghwmE}YOC^?l~Igya@|2ZYwhobB{lyxHYzr_@G?uTc=h z22&lk+s+YxP2kkI=v1-mBaMDQ?;SWtqiv4)#WZj*^62~Rt!Dgc;=AM^15oEbJbHY6 zofPEdS=VTj%|?Op)J*$}5^%+vt?=zqh~mYIRI-#&EaQZb$%@P8neqpyghHQBci=a7 z$|K!6oC(A~Im0)NaqCJSj(gjYd%L!C>Emgn&ZT>hpyfoVFwy7J$-=}6nugljA0ocfn2AywYdR(X?XAi7w8-=SN)8xD|7}By~E?el?vF4g{ zjLAN)pV#WVvfGACiB(Ju)QV6!n*J--!n1fL%WtjDv@SLO)nA?L zY*X>Ac6xW5&TWA9^Q`AH=NM;qcy8!S_*{+J(*k#^QRf?fzaZmq5tlrt9;yS>kCFjn zxQB*_l+pe?>!s@kg*(Ht__^|*9|SZjnwS5&*E!x?SB!PvwY6^jb87NruHcEAo<-yc zx&AUi8%Qp2Oz{#9%3ryxr=q(hBx9hIkvFd^i3x(5_WoscTw;4(%9Ktm0va(+7VdGI4i;D0aK|P!K#|p!&fP7w?z9ckD~OH zcbyk@R?EeYdYfMnpW|h6HoTn&rh*zW8kx=i;hX-UrM6gt(s@R+smtqxb6GUb)Z6Qo zG~OO=Dt=KoT*I68^<)PD-ueM~U<_ecmf_kcj*tq$e5Lkp9gE8*`10>fQC#ue`>Xo1 z>6;rNooc}Kd+Sx1&8@tryt);9v>~9&SdkKooQ}CBLKL-$uuAKiCctLK>^Tk5CN83K zNN397QU(m8O$7oIL~7Y1;HTTiFLOfiwvwY$EO>XVFS(d8$Yv=5|05#z*j~A6Qecf* zsJs}t$H5&C^-}Kx$T~Tyn7+%PxNI(dz4!IA1e1Bq0#iFlJ>&Z+MO~|h<3n4;e0Z%} z{&|i(u7bls!dmJOdNJtoRCk1V3bZE&(?%;c_Y-?*XyhN~XVX44v=z|PIfbLfg$H$j zw-q>sql>R*(8lS`*sR?}|HVEWIq!#pln-z7PzPiY`^#3Kc4%^Ras_ZrJ+~;ZgW)(l z>sVS}y5Ly(FAt;uVhXZf6Y@w>>8aMkILlk7nD>@n)(3!j)J7`U zCaLrrO3E$c@@!)fhcwse(Jz=r=xHF0i{u(|p4dR+rR4?jm1`QZ$l4l~esvla`c|9B z*)A3*)b!kZQ`!2GYVl)rjVBa|?x2l-P?^671d|6%|1?OnauoRzSCb#P;2>HYdr$Jq zGe#ex$akw(Gmrd12kxs^%8`#|zOCwhKIh8c;e397jJ>{x+oYssB*DHMMA5|RrbmpG zBvyW!>UXmrYf|UUsUBxODi$#Vh1|_@oU*5zfAF>>_i@!tIhUlcN35q${YJ-9pZndO z4xfC~g19W1cT>Y`z>C4NT+XxW<@2YHVAk)h*h|c?Z~p{5pX1(6d%4(pHE@s{WEH&G zdmxmmuz`h#uJS7CPjbtFpBAde7mF4MN))Um)|l;}iW+qnc$yyHUr?NQnIr5AqW-3L zZf5!J7|s~fGSaL3cmcqiLJ<2Hp%g<<0(Xaelef*XcPxG(Jpy|pRw^$=^4FOcFM_4} z|8?Qn?HW9}8t&H~lI@faR(|w}w=4ccb#6WfYp>xim)sO)v|Fx>D@vCf_y_kGz!>M> zRYvZ26&7}F6!9%oYc9-=&^Wi}Z@=fc&0IsOYqsp2ShzIwGWWdZQ5Wq`3Qenr5B(s!fM-k zijGnMmX^iZZrP>Fjx^wl)~!kk2PRdBR@{5=F+Vj(b~7q^&lxo{9Q9an*OJnjb5}bG z8rM-N(KUq)Gqc<@a_FsIu>EuunzflDRzFL)vvy#6r1tW=gaIOLDmvn`3S{)up?boW zhR~flp(9yWs~YE7aPlpEOs#IiWG?o|P%yPXbl6iAr?$JymG$%Mueq7nrl08($x^;( z$x93s*(#&Y2hVP<)I& zOj~JL?5+C6V{V=CJLs(|+kIOHxLeZWu}80P^NDVJ?zbX#?GiiJd?CV)kQ7ATs1524 zaCmjPSsBuUa1Z~d0^eU?;QIzL%Gzy9JoTIAR~(PED|U$WAXAjYo!`HXlt$&<4hK4J zuSfjU7>N!SAi{Nr%}x}ejT$U$$N{Q6 z4o5`LST0-Y`7-;*ke084R-3$KUF`p=MledwT!q`KB7bS{hPk#?d}ud?dIYWi1H@z^ ztr^v6;(Ved@OxqDlz+M?KL?FR$4V=WE|0h)H7R|-LWIA03IQcL87aE8Y60k1j)m8E z-Wpc8vM;(lW(uY^CgPy?C>m&}F zG-UC^SwATed(+XsvLZ1g-jxEL;sUup;T8@Hb&K;ifPI47s*Qe;?KahBsi1SFnt?)y zYd&`~^~S7z6N|pYmdxqp_EFc@Connq59Su}(290>pzpe>4 zVpnLyOQ8Dormdzr6u3FDAvxd~*~j2bscmY)tNU-wMJjxF*8pgD9(f#=^J$XM#{I1; zO8w!_!oFb`)A;@%hDQ6ocs&oS!uf2A%_efCE{X@bLjylroIjn6oT3=E<3NM(= zSrs5BH;)P4g0!xuVI)8F_&m)1NX)E7 zEM?Ju9hh-j_i3Aj$tJwE-suGLLq}gsOI%)0;H`#p*alKVW-mkcNmP_SK`vu;>MJDpT!!TOIAX z18Co>q#+hTkiu`R;FIXr_y0Kzi9v+1sON78f0~NUE-tzM%{|(X<|l`WnU3-(5g5zq z&Uy9%!Ymd1adAYcBV2(2B7Ecl@rhWr=2IXw}Y?TG{r}vYg-ISp-eEQ|m=`ki8)?>s@iKCbkG5*4oN56;-4S&~h zz!AC+bwkp9j5`bd@hd!RJrSqTsJc=*{Ju(^fq87DA-2niZvt>RJcjWDF-C(oOyQ@IgCgtL324&%TJ<^33Ag?1Zk${E;AwWJ;v+>z#g) zZY}{!FaFXy-O7`e&uqCsh=!;@BW919Kn71)43x)4Dy)aK8tbCBhP;{6vG5X;3}*e} zto&}ScdINIK{_2?uDzyVT{C9c4f>uaS2?X_S=2AEn%|^Gp=VFdA2#{!p^hKQ=Qviu z?yK>RQk7q_9Q*@MtP%*|tx$h*aef1++gN;)SCYrBa0u^+%?DG|{6=5yIAR8OtpWKA z#&p1!8bVz)IrBlk0XCQOxd+ zcru7mLt%b?#zwkd(vZd-$t~}}Lj{x@tp=@z_fP?L8iuV%=BEX;-})U22p?vR&#S$ZnK=#>w ztY?hxsAeSpvO&b?cSf3+P+r9-{#p5$7OH8~y%V~QOXo>^8kb-Bi!0sy!VJv0C#*DL z6%6XqeFdQPElsFMc!1A1Ge8m^f}MDb2ji-(Sj}r5TmNWgh&(dBjqKHnFJzmdDH!hy zB_`2N+sY56P-`5=<}{e5c+7>OHk=C&rwsRW3RFrsPjhLvxQKuzE3C7WgXBik(s>x>$_v*D=hsGi!$O7Pk)jVjCf5wzbp ziz36GC=Nejn?F-FzoT%z*aNU*fYVSLFKL59lOHYiLR$OfR9htBoxk+vuftyq70oKc zCmwr;ntL~ZlLx;y;y(lIKhO;o_rR{hxoad&+nb1q1pA2Ym)$^okl*A=ur zZ=`jQ6`*d0C6P+97yINWNH%i;v*#}|irLhwwDpLVl$@I8fSseKSv@V(s#}YX4CS92F}f8xAZ%Uf~{ zE3ZT6{Jfs8c|Jtxp?K>R?qlCI7uu#D0;I7zPkqfRd%sDsR5-_)w-cw=mAPP zW-7!+B;Sr)NSF)rD!$e*B%B|;xRp3O3HBH(;W4cMf=VfXS&2k@O(oXDSytDYuj`X3ZV@>ZO2mqWef0%aKEZN`BQJ&tr^!Mr!MuQ z#pC+7RUg@ZKi;&KZnty!P>uvJ)qP)<8J#t*P6~a$vA8E)nv03loXv!TEudiR$0rJpj$P zYP+w79H5F>cYL-pQoMmUun_~PKYlQwRS=(*hn-v;SOr@QjNcU{h-zg1-hemPODX`{ ze}n!s8RrkDtLCY@cf8B{;5{}vdPl>1g(CJ0$%rr2J+aua{H#oPHBV^PtqX{cVkc+= zHu)LDjApIl0_KSn-?hpk?kr_P_^#vMuN6te2}6%_vVysqZy1p(fd!lz+_&IBm5q)o z4EmNxryPxakLTB1;3>OmvWXio{`HqW|8eR_D-{;4yFs?#4lP$C_0BY)tdHL>3g8#7Qjwi2rMJ_@Nx}S{ zobbsn{>?R1ULO#-so!u@KE3StQep25>~Z)UK27lXQ+hJEnjQ&>}u8_VbpmrH3GAxrU`Q3r(k01Sl zDN489#dP|7c09P<+@x;iJPZ9Y8+E-I7K;^+Z?w3tOjA&jCJVGp^yh8+=^re(SUIr6 zk5}${QzhNWbp9YyK?;{&3a~>MeftN%#8#eXRF`M_yFam#)M7GzU<}XWtec| z#OU4NbGmf7Jsg`-%FNqFs5w&n`Quv#hlPN(v;0!eCim)&&_sf5m9%YRL}wp+@HfP; z!k@bG{q*snd433Q!W?FQEOGv44k-h$8%F+Qm1IvQo)Llo#g5!KQL3|(7~i@Y^}m!xih3C5IzkL7#B1?D13Ux7x7$4A56HeYsTyg zNpA*i*z>HZANVJQJ4G{c@y0jrVG}*z)Peofe@G2o5jO+(1vfYDHOG*(2t{vw7`uo^ z>qaHv8sYcFI{B9FN$Rwhx0~K~n%Z0EZND5Ypt?yLa;eK1c`71iVg{LHIcQG^I@bdL zt^P#v7au!CZLIPhH!fPURL4qnG70NZwjcVbytn_$(~uqZNN+E8E?g4dxUN()2j?H= z{{v$=Ao@l;)NLOunU?d5iwybq7a3kwB2Xcd{IgM!1qnOPYL~%_HvSs%tRnbGCMAz5?#^?^lk0 zPub_LkhkUa)N5;NSHZ&3-_FlDkcB(z$RRpj)&7Hel~EU2)b`J76kj%qGWQ}JKvB&{ z*~p^`pQB!~kQD%xkAAneBrK-25e%=VO>*Zk>f-#WP^dW)TC2-6xw!Ita2${(wZTe} zTXTpJMh|m|7w}%vdo)up-O08g+*b%!2-~l2!l|Vne{_!+Elb&1`KS7m!szz_AL2Vj z@B`7;*nmd3Ysb`TkrQcb$n3d$esqiznoQ|V}HJeySy~4BmP<2 zET0JJrX9Bfv8}hVhV^%l?QEWR+xkpHs2MFB{~zHT`(yN)ro7)LnHpW}H?aAwd!>ct#q(v^9=Ptlf4^In?eFiD%c z&MT2t5KmzbeU`gziM=btl9(W7gv#U6Sm z)=-~3#J1Wj{?(Mw5zZ!xv0dw9d$5Q80Iz+vvCJRF?=a_|Tkmfr+o}YgA=v}@A7GDb zvFqjRq%r1f4@a%rs3)2zO$k0px1S@y1$-WIel~B``RDbM&OeLj-#S$0tm`75`La1E zuec(|7)tb1nE#~8p1=dVjz@SOGPDzi(c`p{?j%dDolj@>B96`cvu7?Qp&bhJ{uG^m z{yf8;Y(G6yNlJQO=#jD7@f1f>?5=gvvz4R8nx?m?AL-1a9`^H^GL-%_{Ym}Kd&Dcq zV=sI3ah&0@uxGc{4N@cbK$~{6k7*;PJK2M+@EJA>C3=;u#otA{tB3xxxiO)ln|m@e z8+s*79<1M4;%o}@;~Zd*q{L_0{ZTnu$lKYzbkpi9vF4av(&zjeta7Z`8P5AOiMFTb z^KAPQY@hS=Lyq$fSsnI%i~_g$H=+1BdTG{;5td^gwOWNTZ|6V6I+Yz8yFC)B81QPn%KMLA%0a;{n=)`E%Yvo0D*i<0DsK$&ZeX@t*b4J8JURL2J0r z`S&pRN3)#Q@~W%!ikJE1ayLh0E9@f_ zIU*P5oB@-_Axc7(7HEoX>x0gZkJv1&fGt^qEli3M51;T5zZy6G9VUidis9QM@P8t318)aRnS1LkY(aQ+={enh05 zsdv+2&C*|!;>dP}qnKvN`X}#Gl!g{sqNa=2a;=x|cWGfTjlYz(sClf{GN)_VvbLe6 zveBhWna)ybV<|IKYWKKqUQK~lE?@~8RZPU(Lb(%Wt z0Pk5JYeFyYY8{r&UOojo%o5z=^1*8Mw!B}^+hYm(mlEhjy@c|Ak{*?3X@{QTY?Oyl zqwU>u_w$WL_I9IV{C);GJpvneAJ**+jgRnI^aEHrh9eK-_eJQsojBgS1&8r@hHoM? z8)}rE>0LP2DD54SUF)muK>Y1|>xMm>Y;Bdv+m5gwZ@u@SP^(W+6Z^KP%3kdNeM)Po zgZZ&Et^n^SVM>XWpaY-ZC=Y5}trcT=`T*?#1xANSI(w=(Z%tSY6%9nVX_TzdheAev>=f`TS?(PbuYm`^p%Xf2F zpL7}De~@Oq&9eq)oqrmuOer3v1<}QF@}nhlGXRpDD_}FOI?)?$qINXNus-XM>kUU% z{BvJs?d)ZrKg)BJxs;)G+(Qf5kHXE(-pX?f*JP=HwEcUl5|l@KDk9_jlkWxkArfI< zcGUUV&BM;WucL=L#oEMG^sgR=gm*)>C+NlQ3s#_{-g0lEUfqlDqm&r4{GR6<&HkG6 z=gaOn)D)XnZnekC{JV_l+s#4e-z;hEUyL4@BJXILbs$flg~`ff5S+dOVc9jrko_WEf>zwIqg=^&uya$J1nv-^Z=A3^%%9d8L zme0+ovv)9cu?Lx8o3qmS8PaW7>TrHeMpyW(P>kLPKf}kg`wGrvvH1|IXifX46Z{)X zS~#xPLj7zunV-*=2z^AIY^Qoz<4s2=X&tU+-?f)BjD4@T9i_aOJy}0~kf01_5i^Ek ztDJd|phxO?l)(vi)@3;Q^Icf+uTitS?CgoCI3#9>_0p`YIQyP0?nYWiCK<1wSDS&R zwRwN9(QbVb*4!>?{Z~*DRcKzbJnh}lBapLKVb`Cbucgj$f-}hF>%7uuoV_*WG5nU< zz7^35SReEhC8q;gVw9r^=Iv^8hl9ne;r1pA>lvDTvYPV*t#tNK<_<8&evV#|^V}1B zp0I-w?B4}5<}%^T<_zuEUf!d%ycgSWwf+rY{glt7^K%*s)KUo^Q=?7V!`5Lfbyp8l zD^T}&|7MNz^LwZXFQ=~ZZxO4pjkQs!ICVwZ`R70@)O9I7Z(?@XQML{5IRA{xw^391 z*0dmS{#lc}^RqB~e=v?RZKD-#PcH0W*;pOj<@_jlp7moFZOA;mp#_fM4N!CY5r_hP zFBSHGthHLh=M}6RcG05rqhn)k?pZPG%dB9p-#iMhVBOF2u@YL#HpRbBr{B#zK~%=rnBc;%)h+C`R7GT>><`d zyC{jW_HW_KQz}e{?Psgd!WmUHwgQhkd%KlM#5Rs6R@utfwRBTzvY}P!{XK&$E3?Av zKb8#8#+ zS5OlUa~{w*-)=C#@wW{7<74!8rJ;Sydp$^xmVYxyEY!#)S~x>|ze|<5Hp{gO`fiu= zZ(ll#>nl+UCU~92&_eTdu1I+`pL2d4a$tg!c14LzJ4JVPIK&PKL=MYi?UH+_x%h|}z)S*;(Zj;K2S zq)VC^b|z2_vYxCHxv*|1Ml3ccff^yPN5ruw({Rw;Ec z=AlIGU81McX2z!&H^;l+=c$!wCv-aNUG1bNp~(3b{ta|hR}M!G`q&%Ju_Onaf0nU} z)^X1HH`i6Dvsa^)Dlo4mX}dTso1#zJ+kh#KfBAD)IEw1ueb7ez?4Kz0Pse6CI`7NB z=KSpcVfGJ3SP$yXzn9&PNV053scpO2Umj*X%eYeLZ>Z8fTgJI(z3gReqYvGrvWM3> z#F8_gzP*3L<^%h=uvQP&@M*jxe&g)b)~OeV*_SP{EQXz**`21{@6+@%Dtl>fc`Kmo z{F@i*JlfuC(8<2@C~J>@o-4P7Z9zvC~E34EqB_0!ZewIrm^w;%KelDf9^3TMVIUj6* zR#lOA(7zk2kJ4mqoQ;`{GY>i1@+Ifrw0{}@ug@;dtGOnWBJWKv zXXpDGW+OEL>rWTk32WVLUP33A2b_PynV(^|jJj|cWp04Ew`W;auqCoO7pDyPx0=`! zt^w`48e4)6=l!acup~R_o9p0{F$K60Gwtr*JXmLo66ZLge=|sr^Z$ck4Yyvwa;|Y6K)>_vvi4qpPPX0N{q|P>F<$lmU);CHH&tbA?;asmZsKPOR2TgS`o2Upq7eQYC%K>xpWv% z6ciAFK}1Bv8!9S@iZJ5+#<$nAPLXkDzW4q9c)$0TU(;Mp&e>=0wb$iYH;0M?gjBSY z=C@dI9*9r1Ez<>8wzC88=c)>R=%#KQ;e_=>7DO1U+g7uMBJ>Z*G3^&WNnPo%$UyYp zAzU*846PP=V*{eBjHu&(2!2?j;OfRy-D!)o4i8C9tO@$beE5Ku$a|tX_cTU|@gNR5 z9}yn$VlUz<_DWsbBW$YGYe0=liau+Ck9$76Q0r0Siu^ncf@-G_eXd7jr3;?wFyce% zSdRgs~n0_ys6#vO!*#v>wV1-iRul zwQ?SEK|@ubn-Ea&GR%0rT(KrtoW+9TcBwl;B92=uzw^QK(J1ZbAYxU0a;<2L6x~yZ zV{+wOJCXg>hzu|j_7Qc5&?Bd^1~FBXRbMDJ?Uawy5f&I;q|4!BFbE;MyM~`~JA3}m_I%UBo zP7&-+N(Z<1LgpMr#g_!wXC9U2QeYQEL|X;>e8Cl4IO`@|rAxPJ$wx#;)vSE#y}RK3 z^8-cT3QLT0hJgoX!@i~&?g^c&P=t_U;=^7btEviX#8nntm>jdTw~sgxzG#FuUAz4%ZO_k zaW8i02ORHjMg?uIT+bQZypEi&=fui{1?Ti|7M2n6&W$zpsW=Ab>U2=8CpYvs8esu6 zJ*SEXlN{HpdRYMT%b9_M<+)Xaxxb1rkW|Sc8om(l7W5IF2RxIG=tedVfBJzw+nC{hv1q!G+#l%8A5h= z#2ugmvVKZ{Z#bdZk=0{_&&!91NhfeIhv3?8T;q&m;w``qoxo&6a&1`O;;g>D*hdO* zF3y2rD=PHs3_0hdh@u^1D__^_V;53w{A8>-TQQs)>xKrUV8ytK zOhnzIq&Wt`^%*e?!;()D+&jXLIWwqn5FwTSXW_L8+7ea1&QQB5i@S}tU zcO~!(juj^TwHTCO1df&r93%*y8^Zhtz^CkjbL41@DVUvf$PO3m1&iSNJ9ZTd<_H8r zeKWvCa?r2G4?7|gyDb33h%0{;;4D_eQWDZtj*$fMSvIunR8T)@&k>c=T2%}w0=~u7 zC-vZ)7VJbf;(d9=<6L@Z>B*4O++Bn^o@A*g zEg|JQ;j6X*X={arl_K>avaSe+q)Ig>LytIT7)S>E! z71Gm%YP1zVH|oSeSXEiT{}L|zimQ{i# z>`yO&w}RroYZ28`3JsBBhD%_BHK0zu89GD`aN7*v=d!GCpHrydKApbu zWrJqIkdg}^LsC(*qYOD`@z4+~s7>xb?JFCwiX3n%&TvbH1j_;{mw;%N3{3@>whVh- zFF4nlY?(5-=M+f3B4JkjU14BlHG=wouzbu0e$oRwMh3>k`}-% z-zK=aW=QRU-h{QWf&bTtErR>or9h`$0LmbmDMdsf@#6|Xv0w9{Jy@U}Ccz?U>v)<4 z-OB*XD+e}lGNNakSRX5Ng9z$31yHAVJ~+AqUUaI=TLqn>9(*`OaMb`eJYd<-(QU|{ zGQyir9A~YH&u2jQtri^nR0kee2ON=6ezL0SAaC4iWFg7ND$EDn>wIX6xxjT2kqZ<; zO=CNxMx83R%785pu0dL2JVsOn??a>DdJ2{BX(r20isY(NgmtAn522toNM13lN0i9kf=dd^MDg!d7QnA*om1Y8a zBFbz5A9CRrcEq9OOA4AV$83iMT_wj@0{tgXxzp#ipA7<`FP z(e*&8?T{Ianl{P#T#fktfaHqQ4{0H^8Hz8Vp8urNG|6YeE*7X=Sk?*3;UQh0a-FEs zUlXtf&fM?`uGO~?`>_cbK^zNRE@y)%)(%eXYZsDQpaT7kYfq($)9OCXgk6&YM1Pd~j<6|#mm`AM4(`hv zRFNDP^u?ag{M_&+Ss9JOkeV^%%&3E=~KR5FCqEX1?I6>1JHjsoD0pb!P%I|f{dWO4G0IMaYY=H)w|RO~6syhm)hUOwfQRlZz~I z?nLW_mQ)PNqkdAQuuy3Ys^vWUfx;7=R6~A{45TQw8j%GrYz?Fp*#IQ#2+8gX+@)G@ z-x<1xS@7=KQN7bIIG)oAeX{_gFhVA9d z5m%h0(UhuKYaS$Cnc!SN>P(h{JxSUDi1Ucb`$(R-Me?>!F|S+Xy|hXzDo%39M(`~MJc^sa z?_JPm^2BlRKBRgx@QJf>ZaYAx(~35MgJePJIxpL&S zJ;3xhXQ&zS%>oo?A-v$^wVDqdj`D3Sf}@lPpj|EXy$}1=w6AdS4YGpWg|Z_sQQLl4m`Q zdH?}5ZXrR!0BtOw4=nSWO7rxd|a z&w3Sg4`a_K!461;AEy_Pjb8G&4%l~mb{BLc8|-^8{&NnpAJ@_&LY`wgsPaM*)~Y`; ztGI?nJZL8sSINPBBw=OZp&uJjyNc><^~e68tGF-^W?1Lc=ZCu-okuKrhTsmuUhyup zX&b6BxR7a1THpd)!wC7OV4m`j7q}aEhz&Y|6Mi!rY;yMIRH@R4F)ITydyT4Y!;wq| zpx9hbzzn{UrRgB4do4KQGRWe9!GQ`u%V6a= z1@}&0013ZQ-a$3wJMsIy;PVB7qrSHqjUp4Z2 zO~@a~hb`d-hiieJwh*-~Nw-`M-$Om-Fo?)dE25B71V=)$KR;cbjjDwC<=9Wl5ge6Q z?Jq8<^;5P<{%A!-6t3&`F63G^Bwj>P#}RoqIdW|_LxUsD_8_WI)q=t;^4<3%ef_#mU{K=N9<-0b3{H_viO&y*WP@= z9fG-9!G8QUh-w^!5furm$|(at4>|HI6_x6YxU(u?tQJJjguw+J^3#LRFP9fJ~6Du~JYs%UalG)Z5o7IA5^|6+s;EN#`Pm(+2d8^oBix zJ;7wnQ?K0sP-O?uoDxYveiboj>%pu*ds_!@;$om7l~~1A=(dEKRS2$d(J0RyfiCBP zq_;xz&q91k1X?rms|?_0J%Gb<79?5g2L;EhnFV*^4gnbn!0QzeT+@P4GzV-hKXONi zZ*wgPyJ#n@u%kTcnwX(+1fZL8oJ9l{w;tZ20B~;~Y;C$qg5av`5k!NLM}IuL1G%`4 z8TvZe4he$0)-u{;z^`-R;Uyd`6_SIlSq6(O0X#V$JGV}7g$WBVz#7~KMSAC>w?+}x z%7j^=Eb@F%n;+cY3Y<0s1hfoDR1sz_Rj`-YsrptdD%P4RIL^}y-$o|1uOjT0e0-V& z?1}2#1XYRc5Zw8Gy}VY9q*IO|EWrxop=&FlvHkMcUl80wN(=kBC zmVnxGBwg!))-?kwHtK>VnxMJeo4EBt*K@JFl`M%BM<1`1LEnM^acT5y&1WXu8K zzS;2ndjv;R1O!LKa!&`ns=GPhG2{B7@!+{+dvJZ!cvyg)FvIciVW$etWTf~mMd;Ao zFc;pL6zDWQ;K^Nqt|kG$9w4ZPYzp)e_MUcA^&c}RsjEmq>{^_BwHWo$Qsi?L=&u6x z7%IS}jo`#KZ~>~}Iv*CFQ*b0Ejk*qa-+b8mCEy~3;M98X9vft3TTe*#&f361vju0T z`Ju~k27wcrCuc?}kc+v3z4~#`^++xnpx=6sw@AC95E6;!(tuyNFptUbU~#@}rr?-p zu5KO&O)U{?)*JR%A>@S~mF(l7!O=bT!0|!B{hLYq?J2k_Hb0UDd#(6g1lm$O>=`T0 zP2W>ohV$YtQa}+_Ab>U?>I$@Zi{KpMBs|mSq{+q!ju7VDH4Auy1PZ?Rd&#N02m|Z9;N`Pw}2Ko z8Yu;PjqlA13nLv7rEVNWm4r;{omr4!VHR8iHUXF$jc=ShM@VpGU5YU1DY%Ee9{K^z zDCfQEaSvuS9@+vP$x+Fv@J6`6L}}^9rsonsnh? z!BwNX3hvEqQ2BjVcmVCN&)F00Kt`q!^P?c<#tvT0bz8W@jt%HI$4z=5hq%+N2P076 z{R#>0!D$!Vah|jLjaXT)imbW>XT_NWch1|aT0w5X(Pn1o5MIF*JCcCN7eYq*1;@Ar zRsRXu7JaePIJ-sxHpCIB96ghX5%CoK*@L-3a`Em|SIA}PiG!tv#FwA9#%Yr+|mrZ&VXOj15Kh5mXryW3e^qpg6e53g^-=4z_jvE zuZVY`A~;ioFvdz%Qjn*s5}FJ5j-z9<1lKMh%$qCM6FujtS!+SaS-s@0PWj7Z9OXkb zC6ZQNp#2f}9ZTi;6?p#hfMJy&8qWkAVRvX$~+J8^8YLvW^N z4m=VRBSA48vE`6IZx}g* zVR+NHryTX@2m`M!gC~R|4P=>*VVawK9_j-bkt}k%Q}}B2p<8o}CO( z9CzR~Lw8UF*9;CoC(DC26(=%~B~uC9i+f6Qr@I_^$39q(#CI10@p53@XjkOIQ$^Wz zq&sE8+K&fTkOFU>6`oM)HtvTXhI*5Q@T&~)k!*ZkfykeH@bo;aj~_BI7f3hJVm?sI z8bSS%>Vdftwq6SEX#jQR!~dTF`Jif#o2A`!Sbk6aXm`sypenV8@GaS5tK}#2QLpeZ)Wh5@c@lNzeGb_v zd!?PWQNG_U?S^V}jC&N;S3c~KZot1&paavLl;GYiK;$iu!r9m{9w49D*xhBS5h#<>=~BQ?(K?CWK9Fmor!>^-s=VBMp@Lh800iCab+la8=N3kp%68 zYJEQ^ZT5AD1uTKJ5CXSyK?CPbc@EH=A~>SgFSzS^L~wQ#SCZlA`6M}>d_-E>!4Z!M zsu^m5%|cN-Wzf*b<~WL8a1A7J_-H0x zQ-whzp3|YJTA&Np0DH?sd{_i~LV=~hJ)b%O?=-`@Nrs22S#bYp?xMX;a36v-K$9v! zUpvK@YD9gK{8g2t!9s9-8)D;Z@VMnlIiD_NcL`#AsU9@fkPO3T9e_4chq)^g9M4R) zLxRXc)@7kw%`NctXG4xTM6O1MI5nz3xmn(04)AX$`mcBqBjtjZq)~7#s|$N_y_|i@ zuj(exW&_tHSy3+Uu@w5SLzq=B2+j0*>^!PRkchQU72J=L`>KZJx*UW~LB7jXkn?Mx z(R*MWxFNxp!z)jC8Tm(+qc%9*(`M+myFqQFwdBctScXVAKlYdBA`c;yhOpknK=?>c z3c+KPDDRK@4_cs&twC*Rz2pTRP;LNy+crwtCj{|*VL^3MC;IsFEc6$4bPFJ#bu#qQ zgMzxt6BScbodVu#xu^kehqbyM{;(Rc;KI+?n+iDKLhv>#>Sc3x2s`#tE__f`&^I06 zAwg7m<{r=vdG$ni0#m%Ce%Yw!f5uD#hl0FE#nk(+vp!qq0nq|PR?o?5NbjUit)Ld+$12mO2@@%c(Cw5S6 z1XeTWLRCPLXCb1tty*)Q;I2t7p!9zHhAV~z5b>8GxIfr9+*g5mgb8)DOlr*{J1}Jv zWHtMVfnE-U_N2|6Cu?rJ|Qa-Lx`AxDLkvSuh_8>~R<7m1e;!xMl=vY}{GQ zBRFF!B)Gdl79@5^aQ&$W@G$OUY!Y0hl5@~{g9CY>y>oSO)-kw_r3H46U$tV|@+g_g z&ColzZ##D(;u<9B;M_j&3hq%|2;4EOav9PK#tQCC&edDEJ2zo<4#5>Ot%5U=0 zZqWmq+JSK;srI8oSXEt+d)K(Y6H@Vs4fO06+y~6Ba(T`{Qec;Rp-tOWw3Sg&GcXFS zU8e}ncX2@KaW)I*_i%>{8~DBzv*H(=sYiQ+bE2)Ht&)`k+;p7aUR+*O^)m~u5n{s} zn_&+oV4U0!!i=-qL|g8g9w;JbPI+;!+zHNrQTie8IM0~7-O`Tn15e~QtSrHOI8B%l zGsd5Ub$4Jb3_xspskGz+R*;Mpv*P!D!Tn~~V&_VsR2fY#+H!DGz{l9fo&>(#4J*f4 zW(N7rjc-iw>DfUEe!&%LY&Z}1)A6bJnGL^kBgTxY-M4A+ib@lTiovkYjd2VUR>%Qu zMUNS@h=6K8aaS7)X4#7vkyPkR?8|lHu08OC>OpyJJ$-CgM*}F@qGI`+W2jfr6o=qG zr8dlF5~PO>wwE3=R|-x*&ouL_XPBT@c7^Vrglm{UO)g*$UX08Q8Nr$U#8VU1cWvFC zxdx#XM>z%Ouk$ZlKnl6eu@@GWQ+=eWbW6OJFa)kk$6jadPh*t((~Qy4S^D8_2#?4F z2hSATsh6vql)~d=1icyscPD4`+=FAhqAeQE2$VG-xLTGCdOqDPdEvMYoKA2yQ3g1R z6Fiju`U1h}sg5xRzvjIff-RRS+NxCt;LEVX9*h@lUFvP%dO=WD2q-`22P%TAR``M9 zrU;I0@W4jq{#E2FPQbo zG6TnBp28I}jDquMy}&n8aGYM{bG-ytzvE00Cvc_|mG_w-ea(WiqJy|{0_K3wXe*-G zxq7J?)+l$9HzRh=1c}iDNFT=%c%`i7{Sc3HrXpuDPQ(iK1_rQ)*e}zTOU65oGa~Jx zt$L#gcoNqHr+k)bM9t<(JBDVHvV=Gffcv|XR_GGHshMa7*bYUIQ9e*~KybaQAl8xM z4G#g|_X&;(E<&7A9{gC8qi_<4SV+YMInyW|I*A?G{n>~qrCRw}s>COsJw;*`z`N;% z9^_Fq-Sr|%aGqZTJkTq+qpu$PkF#8J5J8v@U7ov-lFuz2IV)yF3Zt0D0@UVD1RAFRWupkibZC2|V^Bpp zvaS8t6(#Dra;-bcLUIVMg)v`n7r<@u80z+O0CqzT^lI`Wm%@@Om0E2*xULC2gm!X~ z;A*KMd7K%M160XoP-+Nr!B-Ad1n8{5lJ&>HAbESt#umwzSAgNB+k=_tW(AoS+qUn?#zN$igr>VP+bS2Z2a)jaHoy{aNi*K z8ud0IETk4*R0E>TJowfP%Fc)ERlsi@m=QDf7)QWn!3ME{KL+8qXsc`L0>{V`P8E@I zsz^-=>jWgjse0G3B0RRj|RC zYj;J?7x}un39bPhf({>1^;H+F1taXEcu3M9(2Ed`?S5(LQ!kbE^4C-= zk}U5M`I;)m>;!tW8NYR*4{a+l0h;B1s`96YoXSC`96C9CF5o_714PpUe$Q`Ur7+)&94lIF#7i|Q# z!;Gr762gj6M8*KjOb%AJtrnd{uwO1i)pT8g`|FYASdX=`Llg4im0gX{H)HQ|@BN@? zt42ZdrU#t{R7-*|$1o6SE4Z*xaD9p}ctA*S-3%-4Ed)y}h&i`ngl&cNV&2@hmL z38ax1o-?+jEzo)LFm?xKj^pNO$CSY5A5wRS8}rQgRW^2#33g^9c#szyBvqC2oZXd- zYlPI}Nh2OBxO%DrzU~H{5dO}cEX;x{_3D9|)7ZE-mjT+A4H2qt{63)4Mg%LDEL^JR zkZeh^66&z(N$754LPjd*dj?Qd)r^W_VVsX`MD77$fM+s8aCJ-zBA&<(o&eh~5i-gQ zdJhBlB-z&t{*#Hk&vwvADGnlAaHk6g<~{=&A5))0`Bm}xIS}4aJ`p&=%4Y> zXk6f)TvOTr%abCO^@sp)A*a=?>ctjyw#{m6EZG}zs$OgX=A8n4#UvPC;mmRaMq`lN zBUKa#uA)$l87c)5S}nNBWE1=X8S+!AZcp;OQdm$wV3``@&-j-c6~wAl|4jgyGEQiX zlsQlhF2)hHR?r<)xyVr?HfY~)HFhub2Z~gv5sRU5`e1Jm9@2<4wIB}C0KY+o;BH*# zgdp$Q2d-#V^>mIzplX=ah^Y(!DRc|7Dn%2a3;5u@@q@OK1XrjcIh-%JVkA{6E)|@c zL;5mx^rlMw`8W$jvQwsj8`k&{@hR5YEVz>`A+~vt)FkW4qw|uWmkwLLct&*qEeyc<@b_DiPD%O|#8zn({a}Uopi;?(b7=BCc_);ji zU$k3r?{|t{`$%}yIFAfaB~{60Qt~o?_RR3pX-&{VJYN1v$7_t_ZJK9ONv=XlDx>wC7auB6b8tyDWo-Zby8r zL8V};i-xK+($nZvs;QBBO^G2 z7rq{TfODyxq^EEju#wbZiI%J46B)}ntphls>%wZ zJZ>yBF#e1%jseg&2B?o%`7OUnm9JCrilWU2$g9R8PjoE)4-f%-N1EF~xvpWUdy{?Q zM{eVbG?NJ_FpdXhCtRUft>Ucex!V>9|YCc+wXL({DU@ASx>O#43rzEH-~ zXw|j}u8mfVj3@f05j=^jU=?9KygN*Gu~<+&)p}&) za7-rGZ{j#ZuGZ{RH3Y_2xsH}uu*WMA8b=o(s$3;$vx@gvAf-bp;x<6l5g41}sBNyn z?NWC(*HG za#Zbx<%JQv-w1Tq22`0VRq)O(!>VokOg}rp!!}EoW+bi!_^AS&=J}8@W3-+ zR1q@TlTp0OD*Q+4Q-OMcJi?-ZcjevSgtjAFX#Eph+}?>GC|JN9+;g{m+AUFo>>4A!z1wee%Pu7a7Rz zc1W&Am68t z$gK5p9?56;lCWa6JSv5erJs%5b&6^Z0mHC?do@AlV{M$fOHjQX$`M@#o?e5U?L&u# z5bAXj-55|0fAhs^O+N7N8r2V9iu$Vgg0qlJh}&+$dT^~2kHHprh_}iAgo9-$m zPSPmYJ4O3z6}0R{kToPx7E78AA@|r0{2?MKClh(r>4Gb@v45QKoeFRsdX)zcwimpp zRQOZ`t*v5kK5*gyP*#)rnt7pDwAB;#A&Q18j&lqsck5)EtF10Md&k?(5D=Ub$(`&2 zf_wO;gWJ-tgE*GE26BCjAU?~(y>aJ$M*6()(zKnm5;_n|YW_X|u10s5iM(X4q{`?A z``J0NGXT9Q6Idj73a9L958kIkidbMFu(!kxOw|po-Y2+{EX6YxAb*^!_)L6ahlI7M z2!kJ-BLY8r1t^01^qYVXM_^TXAXkEdGu+LLr6Zu}637P=Mi{(k38%oS^FZsS_=J3n$D>x42%^$J1vps_ zJR*g#c)1^f7d1l&v#UgfqzDid#$gGeE*9Lsx(fG39FMRa+Rs$?n7D49V1&{OJc(kH z8xZ5U5PO+xfUw7)0>9?GJtY3qG=UvT`Neh$Wx=No$yciRgEGM zS0^9zV(4=z&~r;by&j`nGP_LINv4U{bjUU{y7M^wPJ0oNOL3+}{dgxt2M z7I3;eCJ8*n1*%I&77x8A`)e_dF{qI=dXWL0gYd#~Nh=2IX$!FFRE)%k*dkh=LRilc z!L>fUzzsMrnkt9Ueq}9^ct^ZkMY0+>n%E~eiikU&yFr_I;I+I;$#V7Rbv&ev6&$QY za90uT*A)=lah7&8AuwL}v9nYJDhs|oj{Y~QQ6roY;slL2QUB5hiB1xRdma>kD{@SP z8PpVn|HmLWW}W@TR!DHpJah=IfNg~Ya0!k9cO#3DJ5F0bD>N@gjEOizG4uchzs<$E zg#~wh$ig+J+OFham$jeQ4H6YJKt=Xh)=AR?mFC?X=g6IxVyZvs*yLV(bMNg%Wk6#;2M zKt#HLfOG@|2~ANzK!^e9z1L6zgc3;p;5p~s^WFRX>;Gr1ux9rA?04^X?`QAHVkR@d zOEm;TJtgM#63+!QWTn9063_zK7d^4zjq}~!M;i>?HLYh zoEB$Bia!xYPTp{3^M5C&W7mC78O?@!R~k2D!l#nizcuRqb2@u%z9Rw5k1xC3kf)Ns z562rhy6|Hj7Uk>rvC2UXl|C}@%BjiWBI)r-dAjUB0^Y^?^qAZ^<% z_R|IDDvq@#Jg>rHEz45AOf<8VVIrR>oqv^%^%b3S9C;Edc~<|M;pxxJ2A0ktFYG*8 zW7VeiV^!{zxd&v(Ld66OZ zj9)X2!!^^}q$sc^P~GxOFDboaV?2~0nrB<9;DXiJnSv8*`Im^l|L{l%G>fs~KU>yw zX+lYD(oy%v>sMFB{Ilx}NMo$Y?)X1G@jmo(hj|%MClEW814 z3cS|e+-0iVs{wHAm<{6V;L}~zygP4ANK7Ps6a;4+qz*o3?K&9*j!ce!mdSq>tL+g- zNqkr|y31&(UrZV{k7d#?zs#~$Q^uY)5&dDE%Y@qNerK?I@EYrT!ZTl)H$J0*>ybBr zO$v8pc%X7dPIA2}1tI->+^<|&;S84*Vb3n+x|&@)QFcsg6aMvXNSPc|bMANjOjk3- z&ovikLW^SOi-Ubqg~0JQDvu#e&ZJn2(MXRY_BT>Y9vqwD^Z2TDDU0JGk*Pe8lYiFp zRlp>_+TjZ^m!e8QM!fUQR-Qqz7FAHr^N>T5`^y?*0T48HO~)v>_%;^C=c}-nvnMR} zMDbNy_RhC?K)O(~edZf0hUwuI-gT{puf1)0Po)BsU7b&qx`K_d(X8@z%6@8_~UXmGg8e;uob=-Tl$G2z$^V3eRDH2 zU*;IX_C^gv>0>~?4Z);l3O(~W5)jhp>G7?%y0Zx3TNy7-ToA*<)V^P8g9clvwgd3`Y!U3A4CBvPE1ua9m{vPIsAK0_ z=nfBiAw5xF&TyZjx7}C!!|2Ex@#6}R*chllr8c=Vp#w~RN*vD0%bDP`UR$y*lGqW; zbuq#fG(1z2^2S*7JzL`eHYZU)LY&^Hn|tRf4J_MyXcqQ1#YRe=UIpteWc@~s4%%%A z?&so-!y39@F4nH}t}y$9a$-nf0>SoJO{VE3UslwuhD(n-bJ=;=rpp(eTUO8faVM&BDS8R*;=G=JthS~QUP44V*W zQ2^yPykWZ$bZpCLzv#FfDz0%Q807zTno~~Wi$xZ#ZK?LYpA&~ZbAItwaAl_9@TBDr z#Xa9@E_Fcs`Uh1dWp*OEK`{8w4JAbu)U2Ifdg_nh^pKKJYpgp!M&y{N~EJ>@&_RMaLrK#gAp2`DCa^Eq{MsKjuNH zY_!v-5K|LT0S96nOC*7rU@e`^8l&7i9a?=@n5!-n3=boY;z3v0{ zHX$KWc|-P%d0BA@`d(m^kZ$V~R)Vy!9>b=+tUSUi#Sou%f#M>;yiQN3B0cLP=gZ5!PW7;8cz#8dYV(fYR zp^l0TwsYp)-F6tG!`I=@G#xdSYv~nlV1F3JL@7dy`dYs{ey2F9HfBzdPP1*OT~(knZu_dL8!Q!nX7DMi(M`&5Hw zU%6?t=$VIlcf1+{znwpI%lbVnc^T-H?$ z6iAA(f6G3eewHNpC=rmA@4m}*GgON80yb8&)^+rUnY`i;Mzz5cO!`3)=e`*$xQU7% z1FeWQF|eNJ&jfIUlRm~hI8n=D@!&H?IjduVpx+e`nJQ6G2sf!Kb?bJDU`e*P?s|qDf3411h!EtzuSW53x7d zJMx1W?qW2!S{-3iZGq70f0KjFKf&J6xQ-6H9rl&nI#ldwF=$6%Yjt#suj~UU?=Kg4 zt4ny}?(XfAm-3eh=cZEs1LF7bP~HSI{3$btyfcaXM4v)A(8V zMG;&vyv1eiC!fm=8N7qRYyouN)tmJ0Y_deMY4R9{-?c|Ni1=NTAhJF|xjhN>&mq@9d~Ko!#|AZpCL@yYs|W+2+M zX}+>s=(pvlZtkAW?$q9MCbZCR0UXyFleF;388g#GH}0q`(9p>ll?whY7iPEsF-FyD zQupLEY)Uz^t@)}V*pVn#y{voI@2=b^m~r-X!7tmz$0!h)YMzFWl>Fa6S+&e|(QrN0 zqxDsERH0M6_#lm}I9ix&k8>D;$)r@?DK^B4XuJ0m6ZoNgTgojeR#GM-0=#B$1G(pL zMthfoAk|?EqZv9yh&N~I>c&giw~GZ00XicBcyX=xqANw(J@;jjrap2JZf~P=xq7^6 z$}6M~rCF)+8j5C{cEc=F3KHr+zX8iSSlU=z`Ea*J74}dufn0=yMJw-mBy$H1h`WMQ z#aZI?N$7$SJ(Dr0-@Ib81?f(yXCmr}1-yvVc%XPyoUny zpk~uHG;_&1Pz^SWSR%2Hidd|H- zDVw-opv(-SwD#Vst`Y;cSJ@==cSTJYj16H4aoD!yY69U$B%ZJNPIM0OKG(QLfa>f= zoQDGKAJ#BFO@hY#WSU_S4c=^ zSsHh-!sPzGJs8&77)Z|Bplw`kVlKk&>vVl)jGF@Y)OgG8c`c7jnYD3->R68JV?T>p zc)#_J37%c0-A3e@7mj@}8(S0a4AL)Bat*DkzDlyV3N%rusI-|8;Okx9>bDv6QQt4_ zDt`Z*`8rMLm78DuOP~Js`4lSjEod^8ulbyk)okn;k_F!^aIxr2pxjrp8Fx~|^@S|l zFw(Au6+Tn=ZdKBj-PU6CkF+z)YwG*gI;SM}`mL$ZkQ+l*jxRHszoE7mL8y~iC2gIz zUh^wNtlphYl?L7kx+Qwv&>};OM@W!5_1@y3=RL=^OLU-%E<7TldDeGz&(I>f&~1I; zre@_mUk2=@I=0T3F6Y(molk&v~(O_*9pBg8G(61o>sT`ZBFl}i4o%4`0Hm68f# zR&4chR^0VsR;=|P1gUS8)mpzYo`hAx zfD7KGbRmK8)x|^_sGy>7RYAhvOKSh%;hSa@JGCIAV%!rCPeR>6ZnT5H*KI*-nG-ov?M7*mF!NKB{8< zP)aqcjya`Eb-3fqJC2;*uSKVC{icp-6L@6UV$qVn9tj?~wR+z8X3D*LPQuDBg~WiC zdiV@EYYpP~K!H%Y(Y|fW8jQN)N<{aunV}Ic3trpmBzO`T(#*4aTd*(a*IfvYs(l-k zsYSmX4^m(Be^i<51Ghohzs4EqQSN)(e0`~K>x~?@gJM|4>bEpA@d|mX7k#!hsVXby zhwWXvklMCAJyQwt`)?8MV&g^bS>;!n&vdyM+gIK!^nG>EoX`%~w__jPiCHVnkWqBL zUncM7W8ZW!Pc?k4N2aqV%3LESngeg>)V~jsEHBYv-*3=$kHUi>u0y@; z4}v(s6RBpeQ%qlqUtQ4gIw4@4)~?o5#uCx27Ou+5fDCD|1@aG5FfN}O(Jyl$T^;~LgL3k>5aR4sxrE#-2M9% zag(hLIYWq3Ry=_OGBN4tcXtn+iG48cr6XvgUt*^ovr@cL9#ai6CXciqI0t?ExVhoY z%fsq@h)wft?HQZ;IHTux}5{ffuI=ij3B#?+TMWqRQ3XeR*Wz8Qfb7~^j zlwIaO%%jGQHYwdD7Q91NoXWfy%QgEL6j;WOra0e7S>Y9OAi?bv$g{&H&ra*>CgjGa z#`?712Id?Wi&^CE*@SnZcA^F?3esdZ$P#Hm=#?(7Xo#GP%Y>N(I$dq{~F!oF8dE-g8fvxM29a@FY)nDF&z6iV7GlY7{Sz%kt#G(J)yZuA^+p3+2s+L^4 ziIUpYeH8l(y?szd&HeD44JK@j-r|Ulj%_Q*LyOy3yH*IxTYJsivVtbGIjpTKT}|}c z(i+;FWj4?*sTWA~tFAo^h}q`lR>pa!=k>BG(_bJFk19s1C=;9NKjT6em-~1J%2r0W z`S$B5`-2u4RSlTA&1kFPwmDmVeeRx?HNTY*qG45?%w9($rkAq8d&AH-w1BOW1hs{EJf-sHhXYyF#u%{DMw?Ldlfv90#oasOZQ7#^K@QuT z{l!A&7yJVUCySSt1N>f{yWF@im?J0HwiYq0l0liWU`8&GzsySL;+4G~{214~KH7MY z0&{Lz#H0ndQa_0q=zBtg=x+q4h6VZ5k1hV_TxRyT%)2>bXgDjDzUR|UVGZVVWkSD_ zBzSFuT@Nzz6VU}dv^Wckyo)0kl`LUe&6JDk^1OxYy#rr)a$u{-=Rs52Qh{6Y^%8IV z!lUgMR}AF>_njzy{VIE=+e1hSY1^8z=n0_T$FP&D38VWL%B+^=%{Ly2lY&oT` zHBq5^RiSLTlUxP4Y3vW*`iu2VTxZl;4cNgUr>&)epKvL z;`MWYMiJha>Q^U4eC_zeRNDBA+rZ?;Eml$cuvav8AFZ9qnF^|$WoGK~D&tw7(YGlN zs1sY@{?YBR&%oa@oU$`_$y+R1k#`*0|LU!+ROP#lF)@bH8ZYqt05i&`t3Y{&+@}II2wG3K&|s>sfwU%yjf_GL zM)*Ew2{oFNVM3iXg0?+*2z&=~<1k_oRW($~k>kQ9*80)Cf@fXuSizr2zW(>OIp4am@{BfZ$%`q4AokcPaC znR)%5gq!)Pt(_zn^ytfA9#&3t92VUmzqT|*R&Efjfwz_yB$hT%VVs*Kes5~7FPEO^ zd~ZnfZ9%U_EWpl2?WF|K#LG~VW)!EokAV}17JB`5Qts%P$>I#Vy}>y~N(IfzA6?7G z^yOuv@L*X1(qlP7b8Uszl|^w_)8q0C#5sJ9*a`_o70FxI)7rDaEtDN)@`w3sUTGlV z6mFy*)i)M@0$k)N|5|pYX}0w3IP$yPo4o=2my9ybyY;YP_F+=W#S_YJZ|*K$h^``2 zHO)gQ&a1pLgCt?jLTYKAWKbc8vaux|gg`I#wJ)RZx2F zqck9u647kd)6LcGbpbTY&8nqI9L;MNBM4#|#W)`Ph?rel5mY42lojXRIu z+r;;;-5*9DE~4|8uAf2?>l|8FvZtgrsEc(;H)bhgXlj9_8JIeO5ZV^t<&v7G6pE&7 zuJ7gZVtc+4N3yM{keO{o1KwKnRypF-Da}ysvBa@G_h#ei*(=Q!Ujw(*^w#r-E2S`7 z>O6JJ*_jqWNODd>iI81?XD{(e{j$~+B{OA}12egypAq6TrvfUvzLtLF&W`nJ*D2vv z-sIsQYpVsSZJ?5Z!=k;B&YoJ#eovys+TL6?HVhXewVC5EevUT#1Ql?&x9bGF2B9u4Gxevyh};&jd21#2j}fiGV(qC|5p6kxXbt@{JR)PJ_~dUyu+s_r z8g;me?=0+0`cMX~(z!2+SjdBrwu%t}arK=f1&zI5A?&2VH z9Wqlo4L9si`*10&&c>{s6j}+k5cYi=w29?pE+L#tR(ZcSL&enDDxq4luuoDtG+kg! zQI_OE3DsOO&LCz7)et~QG8_kP&(t>Wt1PS3x+BKdO4g8$0VCX{{NHW&Hph0b_0DMW zJkG+(t_bhvGgY?!0;i^ zL)6G&44(GLeq|{qB-t^w#W{OTL_ndlD5iB;m|IFJ&k386&W9YPibB(FbC?n4> zro?0rl^yzrGYfn%W{V91C2Qk{uSC#&*huuuAmgE3ko#9sX|#IjEZ4fBjY5(2#H(Er zI0&=0$%Ifi_@UH93dn063-DbXFA^KGsM!8=7UlL*1aYdQ?ehB6Z{Q4Gh7rCojvf24 zAk_!UbMtoNY@2hh@hZSk^kiaT2B@K1{2J`rdU}5l3k{wHajd0utwyof!UFaNvXuq4 zt-uoAU;3JG#H$ z5jyd71mT81wE3yrRknKnvy|B=I(NQtZ@5w@rG;6mp12ilnm#x*)(vXeJW#F`jif#J z=@C#O-#42Iadx0E252_sEGEfPJ5S-dl7cYJan^C9e$b@f0dlo73}ka@w@3 z4TA->PSd&Dk-}_Yi55$ZDS==3EU;X4ZphDD0Z;LuF%R3u!U7tVxQR;+3;L#na#_NL z=&oWWbA%#KIg|DGhMyFg3I``*8~P6X_gd8HPlfs5-x*a}esUI_I%Sy-qb*Q-nR-->5jKbW#D21UexcO$EAZPq9He`t`O(E1kOibPcRSoqm3 z)Oz2oS?)wD2b}2`1_jc35wRB5A_~+uBq?AyLM(&`4Ty9j(+k@%vE4G5n%e*{t?KD#Bj=t{$ zRNk^3u)G~u_mLX*lvkHEchN!0Gaut#gi+hB<(%6AQoqi?ct_WpzOwDBWkkj%{{ErHfz#} zH!ugyOBOw2AD4cMhx0`OpWZtZ3KXi7Nv8>%*IKo%ahr9jzZou>z>=iF_iVH?@pNr| z`$Y(ezsd6egD3AbrZ(PB>Q@Uke4f<*=DT&)_kfwH>sOE_hWA!H5_??zV|Gg&m$zKV z+@vn2&aPX@@wUEUSF3%iBv+@-R7MDny%smJ5rBWyiw*JGz5C{Sg<92XzVXo~$NcZ6 zI%hX)ycfTI?f}(|nv;_$d=-Q|Or?g(#jxS^Z2D#iJiN|gu3WT*(Xe?N^BuTB?i~=h z)m9z$yYI*~#NhSwkkrq==$;V9v@a~h>+J?gO71@#F zRdD^6>%BY{=d|E)CGG#CqHMT4R znn-q%7z^^I1;_>kY{#^2_dT=Jl~d>WCi1*w%%slErj~37H8E{5A9O%V;p%=aQC6qJ z*1{vnxZw}DnTkjGK#^L>+%c;Pw+B@_I5)Lvf;H@OH@0cZwD{o9=hpT)!4Fdg~p|sM5 z%f0e>r8`Z8zC!q#QVn$;%zIF-JIh|tQbaQYvLbAWVZ38NMM|vO*!`d{jx=n$*Fyx9 zc{%~&%$+7Tgz?+|)EXzetYT%32 z^)CylyY_m?jvkvQiQE;7iGmp!ht%x=67zi8N?)azZPKGQLs8w7+>x@oVC@eY&R4M@ z2IsDGHEHjxoG$iWTTG(AW@E454X{RX5wuF20)`Nh)Gb455ErP|(;Nz+KHN-g{xD98rZ%0al{r`h0+^TddPzfqV4$|-E|9W4= zccL0sE7fRr1BuoeSx~BgSQB6JGI!=v?OU?)GW7KKvYfnHSzDP}RQVfyDD5KV+aR$R4`7K40BgNlvIS4;+L8+v-{=^Xli=Nja) z0x*8F%b8ULd%A|54DNoeP(*^P`mLMVm?9HOtj9Y+{}p;KfBB zu*PXrO7b~PRPtz|8n*+`VbjsDEpEirB<$4+O=))DdgmSp)X?J=1_BOK-081C!;hyn zc&#U|b!=6q8n}$eudT-G_N8DB5AvXy&M-t(seZE2AYQtTOkx3N6w!d_rWuKp&gq!z zB?tA6?vWdZk2W7-xzj#8bRLb3w!q3%S|y_QcWe4ZDaB5dLQDqLb@4D=oA-l?>{5>h zdi%KUN#^j5MbPH_a>Ra2GEW6*_jzwj|9D266mEK23Ox4SC#}$Jc1v+?Z2iUB&$P2W zb9IzX@3YjtT{TMg8UB6+m4=-OO=^)rp$<7AS_ea3;-0QPRG!TIeN%bOAU%*+!P-A# z1Fn&ABJLH~k4GQ6Hbr!0@CW+u6QDgUV&}|3H=pf-)@TKn7$BaG2qYY0?{TyTd+5p_ zApsBv9PKD6F^Ju@M?f@So=AY0s0uHhk7~#r0IrC7{p8<&QQ7wegK(2k4?S3yxbuk5V}=y1{D>CBh&X_ zn%Zjm_Fe!nZAbb56zRtxc4Yg=6FAfh34{Nd`p%JGNPxVAI9mhN z83_=Pl%lUd!`_0d#_z$*JfU)pB^09{X4Ic^ufRLN?#%p0;hZF zZjXehL5{Q;#PlGZ&PW%4goNyo+Fz{jO@$cLGBn*jzcMdGK4s&KS45nB$RZw+R%WZk zf8C5>lNMreg5R`L{Cn^ao9yX?1A)A3i;8>!NoT*(-HFRXZB=iWjUImS6MtV+X8djPsqQ*8Mrs=LY3@Oh^bYxN0KftUcLa#g)8YXWb%Z(i z3jV`yUpT~xK^!0k|yM@bjx1YB2mCxM0q0 literal 0 HcmV?d00001 diff --git a/src/assets/tmp/demo.pptx b/src/assets/tmp/demo.pptx new file mode 100644 index 0000000000000000000000000000000000000000..e794dacd0a3373d7d04b450ecca8e5157452885f GIT binary patch literal 33579 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 literal 0 HcmV?d00001 diff --git a/src/assets/tmp/demo.zip b/src/assets/tmp/demo.zip new file mode 100644 index 0000000000000000000000000000000000000000..96450fd0f5a5a2f549c98e95be96c2e4c48b8b6d GIT binary patch literal 86275 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 Di2y!d literal 0 HcmV?d00001 diff --git a/src/assets/tmp/docx.docx b/src/assets/tmp/docx.docx new file mode 100644 index 0000000000000000000000000000000000000000..586982682af5f3c7b3c33e364239ee40eb1e73d3 GIT binary patch literal 14517 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