Commit c625462e98eec006aaeeef14280775cafeb72364
1 parent
b6cea4a9
feat(ws): added WebSocket examples and service scripts
Showing
16 changed files
with
733 additions
and
74 deletions
CHANGELOG.zh_CN.md
package.json
... | ... | @@ -42,7 +42,7 @@ |
42 | 42 | "qrcode": "^1.4.4", |
43 | 43 | "sortablejs": "^1.13.0", |
44 | 44 | "vditor": "^3.8.1", |
45 | - "vue": "3.0.5", | |
45 | + "vue": "^3.0.7", | |
46 | 46 | "vue-i18n": "^9.0.0", |
47 | 47 | "vue-router": "^4.0.4", |
48 | 48 | "vue-types": "^3.0.2", |
... | ... | @@ -73,7 +73,7 @@ |
73 | 73 | "@vitejs/plugin-legacy": "^1.3.1", |
74 | 74 | "@vitejs/plugin-vue": "^1.1.5", |
75 | 75 | "@vitejs/plugin-vue-jsx": "^1.1.2", |
76 | - "@vue/compiler-sfc": "3.0.5", | |
76 | + "@vue/compiler-sfc": "^3.0.7", | |
77 | 77 | "autoprefixer": "^10.2.4", |
78 | 78 | "commitizen": "^4.2.3", |
79 | 79 | "conventional-changelog-cli": "^2.1.1", | ... | ... |
src/components/SimpleMenu/src/index.less
src/locales/lang/en/routes/demo/feat.ts
src/locales/lang/zh_CN/routes/demo/feat.ts
src/router/menus/modules/demo/feat.ts
src/router/routes/modules/demo/feat.ts
... | ... | @@ -22,6 +22,14 @@ const feat: AppRouteModule = { |
22 | 22 | }, |
23 | 23 | }, |
24 | 24 | { |
25 | + path: 'ws', | |
26 | + name: 'WebSocket', | |
27 | + component: () => import('/@/views/demo/feat/ws/index.vue'), | |
28 | + meta: { | |
29 | + title: t('routes.demo.feat.ws'), | |
30 | + }, | |
31 | + }, | |
32 | + { | |
25 | 33 | path: 'tabs', |
26 | 34 | name: 'TabsDemo', |
27 | 35 | component: () => import('/@/views/demo/feat/tabs/index.vue'), | ... | ... |
src/views/demo/feat/ws/index.vue
0 → 100644
1 | +<template> | |
2 | + <PageWrapper title="WebSocket 示例"> | |
3 | + <div class="flex"> | |
4 | + <div class="w-1/3 bg-white p-4"> | |
5 | + <div class="flex items-center"> | |
6 | + <span class="text-lg font-medium mr-4"> 连接状态: </span> | |
7 | + <Tag :color="getTagColor">{{ status }}</Tag> | |
8 | + </div> | |
9 | + <hr class="my-4" /> | |
10 | + | |
11 | + <div class="flex"> | |
12 | + <a-input v-model:value="server" disabled> | |
13 | + <template #addonBefore> 服务地址 </template> | |
14 | + </a-input> | |
15 | + <a-button :type="getIsOpen ? 'danger' : 'primary'" @click="toggle"> | |
16 | + {{ getIsOpen ? '关闭连接' : '开启连接' }} | |
17 | + </a-button> | |
18 | + </div> | |
19 | + <p class="text-lg font-medium mt-4">设置</p> | |
20 | + <hr class="my-4" /> | |
21 | + | |
22 | + <InputTextArea | |
23 | + placeholder="需要发送到服务器的内容" | |
24 | + :disabled="!getIsOpen" | |
25 | + v-model:value="sendValue" | |
26 | + allowClear | |
27 | + /> | |
28 | + | |
29 | + <a-button type="primary" block class="mt-4" :disabled="!getIsOpen" @click="handlerSend"> | |
30 | + 发送 | |
31 | + </a-button> | |
32 | + </div> | |
33 | + | |
34 | + <div class="w-2/3 bg-white ml-4 p-4"> | |
35 | + <span class="text-lg font-medium mr-4"> 消息记录: </span> | |
36 | + <hr class="my-4" /> | |
37 | + | |
38 | + <div class="max-h-80 overflow-auto"> | |
39 | + <ul> | |
40 | + <li v-for="item in getList" class="border-b-1 mt-2" :key="item.time"> | |
41 | + <div class="flex items-center"> | |
42 | + <span class="mr-2 text-primary font-medium">收到消息:</span> | |
43 | + <span>{{ formatToDateTime(item.time) }}</span> | |
44 | + </div> | |
45 | + <div> | |
46 | + {{ item.res }} | |
47 | + </div> | |
48 | + </li> | |
49 | + </ul> | |
50 | + </div> | |
51 | + </div> | |
52 | + </div> | |
53 | + </PageWrapper> | |
54 | +</template> | |
55 | +<script lang="ts"> | |
56 | + import { defineComponent, reactive, watchEffect, computed, toRefs } from 'vue'; | |
57 | + import { Alert, Tag, Input } from 'ant-design-vue'; | |
58 | + | |
59 | + import { PageWrapper } from '/@/components/Page'; | |
60 | + | |
61 | + import { useWebSocket } from '@vueuse/core'; | |
62 | + | |
63 | + import { formatToDateTime } from '/@/utils/dateUtil'; | |
64 | + export default defineComponent({ | |
65 | + components: { | |
66 | + PageWrapper, | |
67 | + [Input.name]: Input, | |
68 | + InputTextArea: Input.TextArea, | |
69 | + Alert, | |
70 | + Tag, | |
71 | + }, | |
72 | + setup() { | |
73 | + const state = reactive({ | |
74 | + server: 'ws://localhost:3380/test', | |
75 | + sendValue: '', | |
76 | + recordList: [] as { id: number; time: number; res: string }[], | |
77 | + }); | |
78 | + | |
79 | + const { status, data, send, close, open } = useWebSocket(state.server, { | |
80 | + autoReconnect: true, | |
81 | + heartbeat: true, | |
82 | + }); | |
83 | + | |
84 | + watchEffect(() => { | |
85 | + if (data.value) { | |
86 | + try { | |
87 | + const res = JSON.parse(data.value); | |
88 | + state.recordList.push(res); | |
89 | + } catch (error) { | |
90 | + state.recordList.push({ | |
91 | + res: data.value, | |
92 | + id: Math.ceil(Math.random() * 1000), | |
93 | + time: new Date().getTime(), | |
94 | + }); | |
95 | + } | |
96 | + } | |
97 | + }); | |
98 | + | |
99 | + const getIsOpen = computed(() => status.value === 'OPEN'); | |
100 | + const getTagColor = computed(() => (getIsOpen.value ? 'success' : 'red')); | |
101 | + | |
102 | + const getList = computed(() => { | |
103 | + return [...state.recordList].reverse(); | |
104 | + }); | |
105 | + | |
106 | + function handlerSend() { | |
107 | + send(state.sendValue); | |
108 | + state.sendValue = ''; | |
109 | + } | |
110 | + | |
111 | + function toggle() { | |
112 | + if (getIsOpen.value) { | |
113 | + close(); | |
114 | + } else { | |
115 | + open(); | |
116 | + } | |
117 | + } | |
118 | + return { | |
119 | + status, | |
120 | + formatToDateTime, | |
121 | + ...toRefs(state), | |
122 | + handlerSend, | |
123 | + getList, | |
124 | + toggle, | |
125 | + getIsOpen, | |
126 | + getTagColor, | |
127 | + }; | |
128 | + }, | |
129 | + }); | |
130 | +</script> | ... | ... |
test/upload-server/README.md
test/upload-server/app.js
1 | 1 | const Koa = require('koa'); |
2 | -const fs = require('fs'); | |
3 | 2 | const path = require('path'); |
4 | 3 | const router = require('koa-router')(); |
5 | 4 | const koaBody = require('koa-body'); |
6 | 5 | const static = require('koa-static'); |
7 | 6 | const cors = require('koa2-cors'); |
7 | +const fs = require('fs-extra'); | |
8 | 8 | const app = new Koa(); |
9 | 9 | |
10 | +const uploadUrl = 'http://localhost:3001/static/upload'; | |
11 | + | |
12 | +fs.ensureDir(path.join(__dirname, 'static/upload')); | |
13 | + | |
10 | 14 | app.use(cors()); |
11 | 15 | |
12 | 16 | app.use( |
... | ... | @@ -19,8 +23,6 @@ app.use( |
19 | 23 | }) |
20 | 24 | ); |
21 | 25 | |
22 | -const uploadUrl = 'http://localhost:3001/static/upload'; | |
23 | - | |
24 | 26 | router.get('/', (ctx) => { |
25 | 27 | ctx.type = 'html'; |
26 | 28 | const pathUrl = path.join(__dirname, '/static/upload.html'); |
... | ... | @@ -61,7 +63,6 @@ const uploadFilePublic = function (ctx, files, flag) { |
61 | 63 | } |
62 | 64 | }; |
63 | 65 | if (flag) { |
64 | - // 多个文件上传 | |
65 | 66 | for (let i = 0; i < files.length; i++) { |
66 | 67 | const f1 = files[i]; |
67 | 68 | fileFunc(f1); | ... | ... |
test/upload-server/package.json
1 | 1 | { |
2 | - "name": "server", | |
2 | + "name": "upload-server", | |
3 | 3 | "version": "1.0.0", |
4 | - "main": "index.js", | |
4 | + "main": "app.js", | |
5 | 5 | "license": "MIT", |
6 | + "scripts": { | |
7 | + "start": "node app.js" | |
8 | + }, | |
6 | 9 | "dependencies": { |
7 | - "koa": "^2.13.0", | |
10 | + "fs-extra": "^9.1.0", | |
11 | + "koa": "^2.13.1", | |
8 | 12 | "koa-body": "^4.2.0", |
9 | 13 | "koa-router": "^10.0.0", |
10 | 14 | "koa-static": "^5.0.0", | ... | ... |
test/upload-server/yarn.lock
... | ... | @@ -27,6 +27,11 @@ any-promise@^1.1.0: |
27 | 27 | resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" |
28 | 28 | integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= |
29 | 29 | |
30 | +at-least-node@^1.0.0: | |
31 | + version "1.0.0" | |
32 | + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" | |
33 | + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== | |
34 | + | |
30 | 35 | bytes@3.1.0: |
31 | 36 | version "3.1.0" |
32 | 37 | resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" |
... | ... | @@ -146,6 +151,21 @@ fresh@~0.5.2: |
146 | 151 | resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" |
147 | 152 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= |
148 | 153 | |
154 | +fs-extra@^9.1.0: | |
155 | + version "9.1.0" | |
156 | + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" | |
157 | + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== | |
158 | + dependencies: | |
159 | + at-least-node "^1.0.0" | |
160 | + graceful-fs "^4.2.0" | |
161 | + jsonfile "^6.0.1" | |
162 | + universalify "^2.0.0" | |
163 | + | |
164 | +graceful-fs@^4.1.6, graceful-fs@^4.2.0: | |
165 | + version "4.2.6" | |
166 | + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" | |
167 | + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== | |
168 | + | |
149 | 169 | http-assert@^1.3.0: |
150 | 170 | version "1.4.1" |
151 | 171 | resolved "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878" |
... | ... | @@ -213,6 +233,15 @@ is-generator-function@^1.0.7: |
213 | 233 | resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b" |
214 | 234 | integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ== |
215 | 235 | |
236 | +jsonfile@^6.0.1: | |
237 | + version "6.1.0" | |
238 | + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" | |
239 | + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== | |
240 | + dependencies: | |
241 | + universalify "^2.0.0" | |
242 | + optionalDependencies: | |
243 | + graceful-fs "^4.1.6" | |
244 | + | |
216 | 245 | keygrip@~1.1.0: |
217 | 246 | version "1.1.0" |
218 | 247 | resolved "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" |
... | ... | @@ -282,7 +311,7 @@ koa2-cors@^2.0.6: |
282 | 311 | resolved "https://registry.npmjs.org/koa2-cors/-/koa2-cors-2.0.6.tgz#9ad23df3a0b9bb84530b46f5944f3fb576086554" |
283 | 312 | integrity sha512-JRCcSM4lamM+8kvKGDKlesYk2ASrmSTczDtGUnIadqMgnHU4Ct5Gw7Bxt3w3m6d6dy3WN0PU4oMP43HbddDEWg== |
284 | 313 | |
285 | -koa@^2.13.0: | |
314 | +koa@^2.13.1: | |
286 | 315 | version "2.13.1" |
287 | 316 | resolved "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051" |
288 | 317 | integrity sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w== |
... | ... | @@ -451,6 +480,11 @@ type-is@^1.6.14, type-is@^1.6.16: |
451 | 480 | media-typer "0.3.0" |
452 | 481 | mime-types "~2.1.24" |
453 | 482 | |
483 | +universalify@^2.0.0: | |
484 | + version "2.0.0" | |
485 | + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" | |
486 | + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== | |
487 | + | |
454 | 488 | unpipe@1.0.0: |
455 | 489 | version "1.0.0" |
456 | 490 | resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" | ... | ... |
test/websocket-server/app.js
0 → 100644
1 | +const Koa = require('koa'); | |
2 | +const route = require('koa-route'); | |
3 | +const websockify = require('koa-websocket'); | |
4 | + | |
5 | +const app = websockify(new Koa()); | |
6 | + | |
7 | +app.ws.use(function (ctx, next) { | |
8 | + ctx.websocket.send('connection succeeded!'); | |
9 | + return next(ctx); | |
10 | +}); | |
11 | + | |
12 | +app.ws.use( | |
13 | + route.all('/test', function (ctx) { | |
14 | + // ctx.websocket.send('Hello World'); | |
15 | + ctx.websocket.on('message', function (message) { | |
16 | + // do something with the message from client | |
17 | + | |
18 | + if (message !== 'ping') { | |
19 | + let data = JSON.stringify({ | |
20 | + id: Math.ceil(Math.random() * 1000), | |
21 | + time: new Date().getTime(), | |
22 | + res: `${message}`, | |
23 | + }); | |
24 | + ctx.websocket.send(data); | |
25 | + } | |
26 | + console.log(message); | |
27 | + }); | |
28 | + }) | |
29 | +); | |
30 | + | |
31 | +app.listen(3380, () => { | |
32 | + console.log('websocket server is listen in: ' + 3380); | |
33 | +}); | ... | ... |
test/websocket-server/package.json
0 → 100644
1 | +{ | |
2 | + "name": "websocket-server", | |
3 | + "version": "1.0.0", | |
4 | + "main": "app.js", | |
5 | + "license": "MIT", | |
6 | + "scripts": { | |
7 | + "start": "node app.js" | |
8 | + }, | |
9 | + "dependencies": { | |
10 | + "fs-extra": "^9.1.0", | |
11 | + "koa": "^2.13.1", | |
12 | + "koa-route": "^3.2.0", | |
13 | + "koa-websocket": "^6.0.0" | |
14 | + } | |
15 | +} | ... | ... |
test/websocket-server/yarn.lock
0 → 100644
1 | +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. | |
2 | +# yarn lockfile v1 | |
3 | + | |
4 | + | |
5 | +accepts@^1.3.5: | |
6 | + version "1.3.7" | |
7 | + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" | |
8 | + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== | |
9 | + dependencies: | |
10 | + mime-types "~2.1.24" | |
11 | + negotiator "0.6.2" | |
12 | + | |
13 | +any-promise@^1.1.0: | |
14 | + version "1.3.0" | |
15 | + resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" | |
16 | + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= | |
17 | + | |
18 | +at-least-node@^1.0.0: | |
19 | + version "1.0.0" | |
20 | + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" | |
21 | + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== | |
22 | + | |
23 | +cache-content-type@^1.0.0: | |
24 | + version "1.0.1" | |
25 | + resolved "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c" | |
26 | + integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA== | |
27 | + dependencies: | |
28 | + mime-types "^2.1.18" | |
29 | + ylru "^1.2.0" | |
30 | + | |
31 | +co@^4.4.0, co@^4.6.0: | |
32 | + version "4.6.0" | |
33 | + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" | |
34 | + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= | |
35 | + | |
36 | +content-disposition@~0.5.2: | |
37 | + version "0.5.3" | |
38 | + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" | |
39 | + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== | |
40 | + dependencies: | |
41 | + safe-buffer "5.1.2" | |
42 | + | |
43 | +content-type@^1.0.4: | |
44 | + version "1.0.4" | |
45 | + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" | |
46 | + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== | |
47 | + | |
48 | +cookies@~0.8.0: | |
49 | + version "0.8.0" | |
50 | + resolved "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" | |
51 | + integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow== | |
52 | + dependencies: | |
53 | + depd "~2.0.0" | |
54 | + keygrip "~1.1.0" | |
55 | + | |
56 | +debug@*, debug@^4.0.1: | |
57 | + version "4.3.1" | |
58 | + resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" | |
59 | + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== | |
60 | + dependencies: | |
61 | + ms "2.1.2" | |
62 | + | |
63 | +debug@~3.1.0: | |
64 | + version "3.1.0" | |
65 | + resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" | |
66 | + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== | |
67 | + dependencies: | |
68 | + ms "2.0.0" | |
69 | + | |
70 | +deep-equal@~1.0.1: | |
71 | + version "1.0.1" | |
72 | + resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" | |
73 | + integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= | |
74 | + | |
75 | +delegates@^1.0.0: | |
76 | + version "1.0.0" | |
77 | + resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" | |
78 | + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= | |
79 | + | |
80 | +depd@^2.0.0, depd@~2.0.0: | |
81 | + version "2.0.0" | |
82 | + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" | |
83 | + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== | |
84 | + | |
85 | +depd@~1.1.2: | |
86 | + version "1.1.2" | |
87 | + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" | |
88 | + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= | |
89 | + | |
90 | +destroy@^1.0.4: | |
91 | + version "1.0.4" | |
92 | + resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" | |
93 | + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= | |
94 | + | |
95 | +ee-first@1.1.1: | |
96 | + version "1.1.1" | |
97 | + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" | |
98 | + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= | |
99 | + | |
100 | +encodeurl@^1.0.2: | |
101 | + version "1.0.2" | |
102 | + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" | |
103 | + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= | |
104 | + | |
105 | +escape-html@^1.0.3: | |
106 | + version "1.0.3" | |
107 | + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" | |
108 | + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= | |
109 | + | |
110 | +fresh@~0.5.2: | |
111 | + version "0.5.2" | |
112 | + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" | |
113 | + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= | |
114 | + | |
115 | +fs-extra@^9.1.0: | |
116 | + version "9.1.0" | |
117 | + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" | |
118 | + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== | |
119 | + dependencies: | |
120 | + at-least-node "^1.0.0" | |
121 | + graceful-fs "^4.2.0" | |
122 | + jsonfile "^6.0.1" | |
123 | + universalify "^2.0.0" | |
124 | + | |
125 | +graceful-fs@^4.1.6, graceful-fs@^4.2.0: | |
126 | + version "4.2.6" | |
127 | + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" | |
128 | + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== | |
129 | + | |
130 | +http-assert@^1.3.0: | |
131 | + version "1.4.1" | |
132 | + resolved "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878" | |
133 | + integrity sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw== | |
134 | + dependencies: | |
135 | + deep-equal "~1.0.1" | |
136 | + http-errors "~1.7.2" | |
137 | + | |
138 | +http-errors@^1.6.3: | |
139 | + version "1.8.0" | |
140 | + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507" | |
141 | + integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A== | |
142 | + dependencies: | |
143 | + depd "~1.1.2" | |
144 | + inherits "2.0.4" | |
145 | + setprototypeof "1.2.0" | |
146 | + statuses ">= 1.5.0 < 2" | |
147 | + toidentifier "1.0.0" | |
148 | + | |
149 | +http-errors@~1.7.2: | |
150 | + version "1.7.3" | |
151 | + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" | |
152 | + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== | |
153 | + dependencies: | |
154 | + depd "~1.1.2" | |
155 | + inherits "2.0.4" | |
156 | + setprototypeof "1.1.1" | |
157 | + statuses ">= 1.5.0 < 2" | |
158 | + toidentifier "1.0.0" | |
159 | + | |
160 | +inherits@2.0.4: | |
161 | + version "2.0.4" | |
162 | + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" | |
163 | + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== | |
164 | + | |
165 | +is-generator-function@^1.0.7: | |
166 | + version "1.0.8" | |
167 | + resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b" | |
168 | + integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ== | |
169 | + | |
170 | +isarray@0.0.1: | |
171 | + version "0.0.1" | |
172 | + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" | |
173 | + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= | |
174 | + | |
175 | +jsonfile@^6.0.1: | |
176 | + version "6.1.0" | |
177 | + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" | |
178 | + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== | |
179 | + dependencies: | |
180 | + universalify "^2.0.0" | |
181 | + optionalDependencies: | |
182 | + graceful-fs "^4.1.6" | |
183 | + | |
184 | +keygrip@~1.1.0: | |
185 | + version "1.1.0" | |
186 | + resolved "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" | |
187 | + integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ== | |
188 | + dependencies: | |
189 | + tsscmp "1.0.6" | |
190 | + | |
191 | +koa-compose@^3.0.0: | |
192 | + version "3.2.1" | |
193 | + resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" | |
194 | + integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= | |
195 | + dependencies: | |
196 | + any-promise "^1.1.0" | |
197 | + | |
198 | +koa-compose@^4.1.0: | |
199 | + version "4.1.0" | |
200 | + resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" | |
201 | + integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== | |
202 | + | |
203 | +koa-convert@^1.2.0: | |
204 | + version "1.2.0" | |
205 | + resolved "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" | |
206 | + integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= | |
207 | + dependencies: | |
208 | + co "^4.6.0" | |
209 | + koa-compose "^3.0.0" | |
210 | + | |
211 | +koa-route@^3.2.0: | |
212 | + version "3.2.0" | |
213 | + resolved "https://registry.npmjs.org/koa-route/-/koa-route-3.2.0.tgz#76298b99a6bcfa9e38cab6fe5c79a8733e758bce" | |
214 | + integrity sha1-dimLmaa8+p44yrb+XHmocz51i84= | |
215 | + dependencies: | |
216 | + debug "*" | |
217 | + methods "~1.1.0" | |
218 | + path-to-regexp "^1.2.0" | |
219 | + | |
220 | +koa-websocket@^6.0.0: | |
221 | + version "6.0.0" | |
222 | + resolved "https://registry.npmjs.org/koa-websocket/-/koa-websocket-6.0.0.tgz#7fb7698a7004c07aac663b15e84bf4bc99901352" | |
223 | + integrity sha512-pGTaB+aXILD/q+bQNh+Ejrg8zSxf6QRpiUQoh2TFQSmUZo2hrt6KGk4qlyxfHxFH40bVtyKeo4x1u0kKgJDOWA== | |
224 | + dependencies: | |
225 | + co "^4.4.0" | |
226 | + debug "^4.0.1" | |
227 | + koa-compose "^4.1.0" | |
228 | + ws "^7.0.1" | |
229 | + | |
230 | +koa@^2.13.1: | |
231 | + version "2.13.1" | |
232 | + resolved "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz#6275172875b27bcfe1d454356a5b6b9f5a9b1051" | |
233 | + integrity sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w== | |
234 | + dependencies: | |
235 | + accepts "^1.3.5" | |
236 | + cache-content-type "^1.0.0" | |
237 | + content-disposition "~0.5.2" | |
238 | + content-type "^1.0.4" | |
239 | + cookies "~0.8.0" | |
240 | + debug "~3.1.0" | |
241 | + delegates "^1.0.0" | |
242 | + depd "^2.0.0" | |
243 | + destroy "^1.0.4" | |
244 | + encodeurl "^1.0.2" | |
245 | + escape-html "^1.0.3" | |
246 | + fresh "~0.5.2" | |
247 | + http-assert "^1.3.0" | |
248 | + http-errors "^1.6.3" | |
249 | + is-generator-function "^1.0.7" | |
250 | + koa-compose "^4.1.0" | |
251 | + koa-convert "^1.2.0" | |
252 | + on-finished "^2.3.0" | |
253 | + only "~0.0.2" | |
254 | + parseurl "^1.3.2" | |
255 | + statuses "^1.5.0" | |
256 | + type-is "^1.6.16" | |
257 | + vary "^1.1.2" | |
258 | + | |
259 | +media-typer@0.3.0: | |
260 | + version "0.3.0" | |
261 | + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" | |
262 | + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= | |
263 | + | |
264 | +methods@~1.1.0: | |
265 | + version "1.1.2" | |
266 | + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" | |
267 | + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= | |
268 | + | |
269 | +mime-db@1.46.0: | |
270 | + version "1.46.0" | |
271 | + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz#6267748a7f799594de3cbc8cde91def349661cee" | |
272 | + integrity sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ== | |
273 | + | |
274 | +mime-types@^2.1.18, mime-types@~2.1.24: | |
275 | + version "2.1.29" | |
276 | + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz#1d4ab77da64b91f5f72489df29236563754bb1b2" | |
277 | + integrity sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ== | |
278 | + dependencies: | |
279 | + mime-db "1.46.0" | |
280 | + | |
281 | +ms@2.0.0: | |
282 | + version "2.0.0" | |
283 | + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" | |
284 | + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= | |
285 | + | |
286 | +ms@2.1.2: | |
287 | + version "2.1.2" | |
288 | + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" | |
289 | + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== | |
290 | + | |
291 | +negotiator@0.6.2: | |
292 | + version "0.6.2" | |
293 | + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" | |
294 | + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== | |
295 | + | |
296 | +on-finished@^2.3.0: | |
297 | + version "2.3.0" | |
298 | + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" | |
299 | + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= | |
300 | + dependencies: | |
301 | + ee-first "1.1.1" | |
302 | + | |
303 | +only@~0.0.2: | |
304 | + version "0.0.2" | |
305 | + resolved "https://registry.npmjs.org/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" | |
306 | + integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= | |
307 | + | |
308 | +parseurl@^1.3.2: | |
309 | + version "1.3.3" | |
310 | + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" | |
311 | + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== | |
312 | + | |
313 | +path-to-regexp@^1.2.0: | |
314 | + version "1.8.0" | |
315 | + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" | |
316 | + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== | |
317 | + dependencies: | |
318 | + isarray "0.0.1" | |
319 | + | |
320 | +safe-buffer@5.1.2: | |
321 | + version "5.1.2" | |
322 | + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" | |
323 | + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== | |
324 | + | |
325 | +setprototypeof@1.1.1: | |
326 | + version "1.1.1" | |
327 | + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" | |
328 | + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== | |
329 | + | |
330 | +setprototypeof@1.2.0: | |
331 | + version "1.2.0" | |
332 | + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" | |
333 | + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== | |
334 | + | |
335 | +"statuses@>= 1.5.0 < 2", statuses@^1.5.0: | |
336 | + version "1.5.0" | |
337 | + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" | |
338 | + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= | |
339 | + | |
340 | +toidentifier@1.0.0: | |
341 | + version "1.0.0" | |
342 | + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" | |
343 | + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== | |
344 | + | |
345 | +tsscmp@1.0.6: | |
346 | + version "1.0.6" | |
347 | + resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" | |
348 | + integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== | |
349 | + | |
350 | +type-is@^1.6.16: | |
351 | + version "1.6.18" | |
352 | + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" | |
353 | + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== | |
354 | + dependencies: | |
355 | + media-typer "0.3.0" | |
356 | + mime-types "~2.1.24" | |
357 | + | |
358 | +universalify@^2.0.0: | |
359 | + version "2.0.0" | |
360 | + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" | |
361 | + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== | |
362 | + | |
363 | +vary@^1.1.2: | |
364 | + version "1.1.2" | |
365 | + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" | |
366 | + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= | |
367 | + | |
368 | +ws@^7.0.1: | |
369 | + version "7.4.3" | |
370 | + resolved "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz#1f9643de34a543b8edb124bdcbc457ae55a6e5cd" | |
371 | + integrity sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA== | |
372 | + | |
373 | +ylru@^1.2.0: | |
374 | + version "1.2.1" | |
375 | + resolved "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" | |
376 | + integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== | ... | ... |
yarn.lock
... | ... | @@ -1645,6 +1645,17 @@ |
1645 | 1645 | estree-walker "^2.0.1" |
1646 | 1646 | source-map "^0.6.1" |
1647 | 1647 | |
1648 | +"@vue/compiler-core@3.0.7": | |
1649 | + version "3.0.7" | |
1650 | + resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.7.tgz#421782a4c67cc3f2b7c30457ef446d74f8524f74" | |
1651 | + integrity sha512-JFohgBXoyUc3mdeI2WxlhjQZ5fakfemJkZHX8Gu/nFbEg3+lKVUZmNKWmmnp9aOzJQZKoj77LjmFxiP+P+7lMQ== | |
1652 | + dependencies: | |
1653 | + "@babel/parser" "^7.12.0" | |
1654 | + "@babel/types" "^7.12.0" | |
1655 | + "@vue/shared" "3.0.7" | |
1656 | + estree-walker "^2.0.1" | |
1657 | + source-map "^0.6.1" | |
1658 | + | |
1648 | 1659 | "@vue/compiler-dom@3.0.5": |
1649 | 1660 | version "3.0.5" |
1650 | 1661 | resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.5.tgz#7885a13e6d18f64dde8ebceec052ed2c102696c2" |
... | ... | @@ -1653,35 +1664,43 @@ |
1653 | 1664 | "@vue/compiler-core" "3.0.5" |
1654 | 1665 | "@vue/shared" "3.0.5" |
1655 | 1666 | |
1656 | -"@vue/compiler-sfc@3.0.5": | |
1657 | - version "3.0.5" | |
1658 | - resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.5.tgz#3ae08e60244a72faf9598361874fb7bdb5b1d37c" | |
1659 | - integrity sha512-uOAC4X0Gx3SQ9YvDC7YMpbDvoCmPvP0afVhJoxRotDdJ+r8VO3q4hFf/2f7U62k4Vkdftp6DVni8QixrfYzs+w== | |
1667 | +"@vue/compiler-dom@3.0.7": | |
1668 | + version "3.0.7" | |
1669 | + resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.7.tgz#54d2e12fb9a7aff53abd19dac2c2679533f0c919" | |
1670 | + integrity sha512-VnIH9EbWQm/Tkcp+8dCaNVsVvhm/vxCrIKWRkXY9215hTqOqQOvejT8IMjd2kc++nIsYMsdQk6H9qqBvoLe/Cw== | |
1671 | + dependencies: | |
1672 | + "@vue/compiler-core" "3.0.7" | |
1673 | + "@vue/shared" "3.0.7" | |
1674 | + | |
1675 | +"@vue/compiler-sfc@^3.0.7": | |
1676 | + version "3.0.7" | |
1677 | + resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.0.7.tgz#900414750cc726553b870490f48073451fd14f07" | |
1678 | + integrity sha512-37/QILpGE+J3V+bP9Slg9e6xGqfk+MmS2Yj8ChR4fS0/qWUU/YoYHE0GPIzjmBdH0JVOOmJqunxowIXmqNiHng== | |
1660 | 1679 | dependencies: |
1661 | 1680 | "@babel/parser" "^7.12.0" |
1662 | 1681 | "@babel/types" "^7.12.0" |
1663 | - "@vue/compiler-core" "3.0.5" | |
1664 | - "@vue/compiler-dom" "3.0.5" | |
1665 | - "@vue/compiler-ssr" "3.0.5" | |
1666 | - "@vue/shared" "3.0.5" | |
1682 | + "@vue/compiler-core" "3.0.7" | |
1683 | + "@vue/compiler-dom" "3.0.7" | |
1684 | + "@vue/compiler-ssr" "3.0.7" | |
1685 | + "@vue/shared" "3.0.7" | |
1667 | 1686 | consolidate "^0.16.0" |
1668 | 1687 | estree-walker "^2.0.1" |
1669 | 1688 | hash-sum "^2.0.0" |
1670 | 1689 | lru-cache "^5.1.1" |
1671 | 1690 | magic-string "^0.25.7" |
1672 | 1691 | merge-source-map "^1.1.0" |
1673 | - postcss "^7.0.32" | |
1674 | - postcss-modules "^3.2.2" | |
1692 | + postcss "^8.1.10" | |
1693 | + postcss-modules "^4.0.0" | |
1675 | 1694 | postcss-selector-parser "^6.0.4" |
1676 | 1695 | source-map "^0.6.1" |
1677 | 1696 | |
1678 | -"@vue/compiler-ssr@3.0.5": | |
1679 | - version "3.0.5" | |
1680 | - resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.5.tgz#7661ad891a0be948726c7f7ad1e425253c587b83" | |
1681 | - integrity sha512-Wm//Kuxa1DpgjE4P9W0coZr8wklOfJ35Jtq61CbU+t601CpPTK4+FL2QDBItaG7aoUUDCWL5nnxMkuaOgzTBKg== | |
1697 | +"@vue/compiler-ssr@3.0.7": | |
1698 | + version "3.0.7" | |
1699 | + resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.0.7.tgz#28b85d497381d75fe44234057b140b0065ca9dbf" | |
1700 | + integrity sha512-nHRbHeSpfXwjypettjrA16TjgfDcPEwq3m/zHnGyLC1QqdLtklXmpSM43/CPwwTCRa/qdt0pldJf22MiCEuTSQ== | |
1682 | 1701 | dependencies: |
1683 | - "@vue/compiler-dom" "3.0.5" | |
1684 | - "@vue/shared" "3.0.5" | |
1702 | + "@vue/compiler-dom" "3.0.7" | |
1703 | + "@vue/shared" "3.0.7" | |
1685 | 1704 | |
1686 | 1705 | "@vue/devtools-api@^6.0.0-beta.5": |
1687 | 1706 | version "6.0.0-beta.7" |
... | ... | @@ -1695,6 +1714,13 @@ |
1695 | 1714 | dependencies: |
1696 | 1715 | "@vue/shared" "3.0.5" |
1697 | 1716 | |
1717 | +"@vue/reactivity@3.0.7": | |
1718 | + version "3.0.7" | |
1719 | + resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.7.tgz#e6ccc7bef7fc10b0972e4d974bad71679d3b26ad" | |
1720 | + integrity sha512-FotWcNNaKhqpFZrdgsUOZ1enlJ5lhTt01CNTtLSyK7jYFgZBTuw8vKsEutZKDYZ1XKotOfoeO8N3pZQqmM6Etw== | |
1721 | + dependencies: | |
1722 | + "@vue/shared" "3.0.7" | |
1723 | + | |
1698 | 1724 | "@vue/runtime-core@3.0.5": |
1699 | 1725 | version "3.0.5" |
1700 | 1726 | resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.5.tgz#da6331d5f300d5794e9e0ebdc8a8bd72a9e19962" |
... | ... | @@ -1703,6 +1729,14 @@ |
1703 | 1729 | "@vue/reactivity" "3.0.5" |
1704 | 1730 | "@vue/shared" "3.0.5" |
1705 | 1731 | |
1732 | +"@vue/runtime-core@3.0.7": | |
1733 | + version "3.0.7" | |
1734 | + resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.7.tgz#d44c0b0a57d7e392912a87362a4430ccf446ecea" | |
1735 | + integrity sha512-DBAZAwVvdmMXuyd6/9qqj/kYr/GaLTmn1L2/QLxLwP+UfhIboiTSBc/tUUb8MRk7Bb98GzNeAWkkT6AfooS3dQ== | |
1736 | + dependencies: | |
1737 | + "@vue/reactivity" "3.0.7" | |
1738 | + "@vue/shared" "3.0.7" | |
1739 | + | |
1706 | 1740 | "@vue/runtime-dom@3.0.5": |
1707 | 1741 | version "3.0.5" |
1708 | 1742 | resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.5.tgz#1ce2c9c449e26ab06963da0064096e882a7a8935" |
... | ... | @@ -1712,11 +1746,25 @@ |
1712 | 1746 | "@vue/shared" "3.0.5" |
1713 | 1747 | csstype "^2.6.8" |
1714 | 1748 | |
1749 | +"@vue/runtime-dom@3.0.7": | |
1750 | + version "3.0.7" | |
1751 | + resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.7.tgz#b70668d729020bc4ad608c20367223f259576ba6" | |
1752 | + integrity sha512-Oij4ruOtnpQpCj+/Q3JPzgpTJ1Q7+N67pA53A8KVITEtxfvKL46NN6dhAZ5NGqwX6RWZpYqWQNewITeF0pHr8g== | |
1753 | + dependencies: | |
1754 | + "@vue/runtime-core" "3.0.7" | |
1755 | + "@vue/shared" "3.0.7" | |
1756 | + csstype "^2.6.8" | |
1757 | + | |
1715 | 1758 | "@vue/shared@3.0.5": |
1716 | 1759 | version "3.0.5" |
1717 | 1760 | resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.5.tgz#c131d88bd6713cc4d93b3bb1372edb1983225ff0" |
1718 | 1761 | integrity sha512-gYsNoGkWejBxNO6SNRjOh/xKeZ0H0V+TFzaPzODfBjkAIb0aQgBuixC1brandC/CDJy1wYPwSoYrXpvul7m6yw== |
1719 | 1762 | |
1763 | +"@vue/shared@3.0.7": | |
1764 | + version "3.0.7" | |
1765 | + resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.0.7.tgz#96d52988efc07444c108c7c6803ba7cc93e40045" | |
1766 | + integrity sha512-dn5FyfSc4ky424jH4FntiHno7Ss5yLkqKNmM/NXwANRnlkmqu74pnGetexDFVG5phMk9/FhwovUZCWGxsotVKg== | |
1767 | + | |
1720 | 1768 | "@vueuse/core@^4.3.1": |
1721 | 1769 | version "4.3.1" |
1722 | 1770 | resolved "https://registry.npmjs.org/@vueuse/core/-/core-4.3.1.tgz#f6fdb2afef6acbe59abb9832d0a7cfa01e65ce36" |
... | ... | @@ -4848,12 +4896,10 @@ icss-replace-symbols@^1.1.0: |
4848 | 4896 | resolved "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" |
4849 | 4897 | integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= |
4850 | 4898 | |
4851 | -icss-utils@^4.0.0, icss-utils@^4.1.1: | |
4852 | - version "4.1.1" | |
4853 | - resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" | |
4854 | - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== | |
4855 | - dependencies: | |
4856 | - postcss "^7.0.14" | |
4899 | +icss-utils@^5.0.0: | |
4900 | + version "5.1.0" | |
4901 | + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" | |
4902 | + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== | |
4857 | 4903 | |
4858 | 4904 | ieee754@^1.1.13: |
4859 | 4905 | version "1.2.1" |
... | ... | @@ -6921,52 +6967,46 @@ postcss-media-query-parser@^0.2.3: |
6921 | 6967 | resolved "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" |
6922 | 6968 | integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= |
6923 | 6969 | |
6924 | -postcss-modules-extract-imports@^2.0.0: | |
6925 | - version "2.0.0" | |
6926 | - resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" | |
6927 | - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== | |
6928 | - dependencies: | |
6929 | - postcss "^7.0.5" | |
6970 | +postcss-modules-extract-imports@^3.0.0: | |
6971 | + version "3.0.0" | |
6972 | + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" | |
6973 | + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== | |
6930 | 6974 | |
6931 | -postcss-modules-local-by-default@^3.0.2: | |
6932 | - version "3.0.3" | |
6933 | - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" | |
6934 | - integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== | |
6975 | +postcss-modules-local-by-default@^4.0.0: | |
6976 | + version "4.0.0" | |
6977 | + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" | |
6978 | + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== | |
6935 | 6979 | dependencies: |
6936 | - icss-utils "^4.1.1" | |
6937 | - postcss "^7.0.32" | |
6980 | + icss-utils "^5.0.0" | |
6938 | 6981 | postcss-selector-parser "^6.0.2" |
6939 | 6982 | postcss-value-parser "^4.1.0" |
6940 | 6983 | |
6941 | -postcss-modules-scope@^2.2.0: | |
6942 | - version "2.2.0" | |
6943 | - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" | |
6944 | - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== | |
6984 | +postcss-modules-scope@^3.0.0: | |
6985 | + version "3.0.0" | |
6986 | + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" | |
6987 | + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== | |
6945 | 6988 | dependencies: |
6946 | - postcss "^7.0.6" | |
6947 | - postcss-selector-parser "^6.0.0" | |
6989 | + postcss-selector-parser "^6.0.4" | |
6948 | 6990 | |
6949 | -postcss-modules-values@^3.0.0: | |
6950 | - version "3.0.0" | |
6951 | - resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" | |
6952 | - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== | |
6991 | +postcss-modules-values@^4.0.0: | |
6992 | + version "4.0.0" | |
6993 | + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" | |
6994 | + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== | |
6953 | 6995 | dependencies: |
6954 | - icss-utils "^4.0.0" | |
6955 | - postcss "^7.0.6" | |
6996 | + icss-utils "^5.0.0" | |
6956 | 6997 | |
6957 | -postcss-modules@^3.2.2: | |
6958 | - version "3.2.2" | |
6959 | - resolved "https://registry.npmjs.org/postcss-modules/-/postcss-modules-3.2.2.tgz#ee390de0f9f18e761e1778dfb9be26685c02c51f" | |
6960 | - integrity sha512-JQ8IAqHELxC0N6tyCg2UF40pACY5oiL6UpiqqcIFRWqgDYO8B0jnxzoQ0EOpPrWXvcpu6BSbQU/3vSiq7w8Nhw== | |
6998 | +postcss-modules@^4.0.0: | |
6999 | + version "4.0.0" | |
7000 | + resolved "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.0.0.tgz#2bc7f276ab88f3f1b0fadf6cbd7772d43b5f3b9b" | |
7001 | + integrity sha512-ghS/ovDzDqARm4Zj6L2ntadjyQMoyJmi0JkLlYtH2QFLrvNlxH5OAVRPWPeKilB0pY7SbuhO173KOWkPAxRJcw== | |
6961 | 7002 | dependencies: |
6962 | 7003 | generic-names "^2.0.1" |
6963 | 7004 | icss-replace-symbols "^1.1.0" |
6964 | 7005 | lodash.camelcase "^4.3.0" |
6965 | - postcss "^7.0.32" | |
6966 | - postcss-modules-extract-imports "^2.0.0" | |
6967 | - postcss-modules-local-by-default "^3.0.2" | |
6968 | - postcss-modules-scope "^2.2.0" | |
6969 | - postcss-modules-values "^3.0.0" | |
7006 | + postcss-modules-extract-imports "^3.0.0" | |
7007 | + postcss-modules-local-by-default "^4.0.0" | |
7008 | + postcss-modules-scope "^3.0.0" | |
7009 | + postcss-modules-values "^4.0.0" | |
6970 | 7010 | string-hash "^1.1.1" |
6971 | 7011 | |
6972 | 7012 | postcss-resolve-nested-selector@^0.1.1: |
... | ... | @@ -6996,7 +7036,7 @@ postcss-scss@^2.1.1: |
6996 | 7036 | dependencies: |
6997 | 7037 | postcss "^7.0.6" |
6998 | 7038 | |
6999 | -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: | |
7039 | +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: | |
7000 | 7040 | version "6.0.4" |
7001 | 7041 | resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3" |
7002 | 7042 | integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== |
... | ... | @@ -7024,7 +7064,7 @@ postcss-value-parser@^4.1.0: |
7024 | 7064 | resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" |
7025 | 7065 | integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== |
7026 | 7066 | |
7027 | -postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: | |
7067 | +postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.31, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.6: | |
7028 | 7068 | version "7.0.35" |
7029 | 7069 | resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" |
7030 | 7070 | integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== |
... | ... | @@ -7033,7 +7073,7 @@ postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0. |
7033 | 7073 | source-map "^0.6.1" |
7034 | 7074 | supports-color "^6.1.0" |
7035 | 7075 | |
7036 | -postcss@^8.2.1: | |
7076 | +postcss@^8.1.10, postcss@^8.2.1: | |
7037 | 7077 | version "8.2.6" |
7038 | 7078 | resolved "https://registry.npmjs.org/postcss/-/postcss-8.2.6.tgz#5d69a974543b45f87e464bc4c3e392a97d6be9fe" |
7039 | 7079 | integrity sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg== |
... | ... | @@ -9100,7 +9140,7 @@ vue-types@^3.0.2: |
9100 | 9140 | dependencies: |
9101 | 9141 | is-plain-object "3.0.1" |
9102 | 9142 | |
9103 | -vue@3.0.5, vue@^3.0.0: | |
9143 | +vue@^3.0.0: | |
9104 | 9144 | version "3.0.5" |
9105 | 9145 | resolved "https://registry.npmjs.org/vue/-/vue-3.0.5.tgz#de1b82eba24abfe71e0970fc9b8d4b2babdc3fe1" |
9106 | 9146 | integrity sha512-TfaprOmtsAfhQau7WsomXZ8d9op/dkQLNIq8qPV3A0Vxs6GR5E+c1rfJS1SDkXRQj+dFyfnec7+U0Be1huiScg== |
... | ... | @@ -9109,6 +9149,15 @@ vue@3.0.5, vue@^3.0.0: |
9109 | 9149 | "@vue/runtime-dom" "3.0.5" |
9110 | 9150 | "@vue/shared" "3.0.5" |
9111 | 9151 | |
9152 | +vue@^3.0.7: | |
9153 | + version "3.0.7" | |
9154 | + resolved "https://registry.npmjs.org/vue/-/vue-3.0.7.tgz#8bcff51f8be570f9e4ce8cc5f52e2ab0fe3c74a1" | |
9155 | + integrity sha512-8h4TikD+JabbMK9aRlBO4laG0AtNHRPHynxYgWZ9sq1YUPfzynd9Jeeb27XNyZytC7aCQRX9xe1+TQJuc181Tw== | |
9156 | + dependencies: | |
9157 | + "@vue/compiler-dom" "3.0.7" | |
9158 | + "@vue/runtime-dom" "3.0.7" | |
9159 | + "@vue/shared" "3.0.7" | |
9160 | + | |
9112 | 9161 | vuex-module-decorators@^1.0.1: |
9113 | 9162 | version "1.0.1" |
9114 | 9163 | resolved "https://registry.npmjs.org/vuex-module-decorators/-/vuex-module-decorators-1.0.1.tgz#d34dafb5428a3636f1c26d3d014c15fc9659ccd0" | ... | ... |