├── public └── favicon.ico ├── README.md ├── postcss.config.js ├── src ├── styles │ └── index.css ├── utils │ └── sockets │ │ └── messageHandler.tsx └── pages │ ├── _app.tsx │ ├── api │ └── socket.tsx │ └── index.tsx ├── next-env.d.ts ├── tailwind.config.js ├── .gitignore ├── tsconfig.json ├── package.json └── yarn.lock /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kolberszymon/socket-chat-app/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### Github repo for medium article series 2 | 3 | [Part 1:](https://medium.com/p/976555ecba) 4 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | 'tailwindcss', 4 | 'autoprefixer', 5 | ] 6 | } -------------------------------------------------------------------------------- /src/styles/index.css: -------------------------------------------------------------------------------- 1 | @import 'tailwindcss/base'; 2 | @import 'tailwindcss/components'; 3 | 4 | /* Your own custom component styles */ 5 | 6 | @import 'tailwindcss/utilities'; -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /src/utils/sockets/messageHandler.tsx: -------------------------------------------------------------------------------- 1 | export default (io, socket) => { 2 | const createdMessage = (msg) => { 3 | socket.broadcast.emit("newIncomingMessage", msg); 4 | }; 5 | 6 | socket.on("createdMessage", createdMessage); 7 | }; 8 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | './src/components/**/*.{ts,tsx,js,jsx}', 4 | './src/pages/**/*.{ts,tsx,js,jsx}' 5 | ], 6 | theme: { 7 | extend: {}, 8 | }, 9 | variants: {}, 10 | plugins: [], 11 | } 12 | -------------------------------------------------------------------------------- /src/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import Head from 'next/head' 2 | import { AppProps } from 'next/app' 3 | import '../styles/index.css' 4 | 5 | function MyApp({ Component, pageProps }: AppProps) { 6 | return ( 7 | <> 8 | 9 | NextJS TailwindCSS TypeScript Starter 10 | 11 | 12 | 13 | 14 | ) 15 | } 16 | 17 | export default MyApp -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | 21 | # debug 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | 26 | # local env files 27 | .env.local 28 | .env.development.local 29 | .env.test.local 30 | .env.production.local 31 | -------------------------------------------------------------------------------- /src/pages/api/socket.tsx: -------------------------------------------------------------------------------- 1 | import { Server } from "socket.io"; 2 | import messageHandler from "../../utils/sockets/messageHandler"; 3 | 4 | export default function SocketHandler(req, res) { 5 | // It means that socket server was already initialised 6 | if (res.socket.server.io) { 7 | console.log("Already set up"); 8 | res.end(); 9 | return; 10 | } 11 | 12 | const io = new Server(res.socket.server); 13 | res.socket.server.io = io; 14 | 15 | const onConnection = (socket) => { 16 | messageHandler(io, socket); 17 | }; 18 | 19 | // Define actions inside 20 | io.on("connection", onConnection); 21 | 22 | console.log("Setting up socket"); 23 | res.end(); 24 | } 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": [ 5 | "dom", 6 | "dom.iterable", 7 | "esnext" 8 | ], 9 | "allowJs": true, 10 | "skipLibCheck": true, 11 | "strict": false, 12 | "forceConsistentCasingInFileNames": true, 13 | "noEmit": true, 14 | "esModuleInterop": true, 15 | "module": "esnext", 16 | "moduleResolution": "node", 17 | "resolveJsonModule": true, 18 | "isolatedModules": true, 19 | "jsx": "preserve", 20 | "incremental": true 21 | }, 22 | "exclude": [ 23 | "node_modules" 24 | ], 25 | "include": [ 26 | "next-env.d.ts", 27 | "**/*.ts", 28 | "**/*.tsx" 29 | ] 30 | } 31 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nextjs-tailwindcss-typescript-starter", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start" 9 | }, 10 | "dependencies": { 11 | "next": "12.1.0", 12 | "react": "17.0.2", 13 | "react-dom": "17.0.2", 14 | "socket.io": "^4.5.1", 15 | "socket.io-client": "^4.5.1" 16 | }, 17 | "devDependencies": { 18 | "@types/node": "^17.0.21", 19 | "@types/react": "^17.0.39", 20 | "autoprefixer": "^10.4.2", 21 | "postcss": "^8.4.7", 22 | "postcss-import": "^14.0.2", 23 | "tailwindcss": "^3.0.23", 24 | "typescript": "^4.6.2" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import io from "socket.io-client"; 2 | import { useState, useEffect } from "react"; 3 | 4 | let socket; 5 | 6 | type Message = { 7 | author: string; 8 | message: string; 9 | }; 10 | 11 | export default function Home() { 12 | const [username, setUsername] = useState(""); 13 | const [chosenUsername, setChosenUsername] = useState(""); 14 | const [message, setMessage] = useState(""); 15 | const [messages, setMessages] = useState>([]); 16 | 17 | useEffect(() => { 18 | socketInitializer(); 19 | }, []); 20 | 21 | const socketInitializer = async () => { 22 | // We just call it because we don't need anything else out of it 23 | await fetch("/api/socket"); 24 | 25 | socket = io(); 26 | 27 | socket.on("newIncomingMessage", (msg) => { 28 | setMessages((currentMsg) => [ 29 | ...currentMsg, 30 | { author: msg.author, message: msg.message }, 31 | ]); 32 | console.log(messages); 33 | }); 34 | }; 35 | 36 | const sendMessage = async () => { 37 | socket.emit("createdMessage", { author: chosenUsername, message }); 38 | setMessages((currentMsg) => [ 39 | ...currentMsg, 40 | { author: chosenUsername, message }, 41 | ]); 42 | setMessage(""); 43 | }; 44 | 45 | const handleKeypress = (e) => { 46 | //it triggers by pressing the enter key 47 | if (e.keyCode === 13) { 48 | if (message) { 49 | sendMessage(); 50 | } 51 | } 52 | }; 53 | 54 | return ( 55 |
56 |
57 | {!chosenUsername ? ( 58 | <> 59 |

60 | How people should call you? 61 |

62 | setUsername(e.target.value)} 68 | /> 69 | 77 | 78 | ) : ( 79 | <> 80 |

81 | Your username: {username} 82 |

83 |
84 |
85 | {messages.map((msg, i) => { 86 | return ( 87 |
91 | {msg.author} : {msg.message} 92 |
93 | ); 94 | })} 95 |
96 |
97 | setMessage(e.target.value)} 103 | onKeyUp={handleKeypress} 104 | /> 105 |
106 | 114 |
115 |
116 |
117 | 118 | )} 119 |
120 |
121 | ); 122 | } 123 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@next/env@12.1.0": 6 | version "12.1.0" 7 | resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.0.tgz#73713399399b34aa5a01771fb73272b55b22c314" 8 | integrity sha512-nrIgY6t17FQ9xxwH3jj0a6EOiQ/WDHUos35Hghtr+SWN/ntHIQ7UpuvSi0vaLzZVHQWaDupKI+liO5vANcDeTQ== 9 | 10 | "@next/swc-android-arm64@12.1.0": 11 | version "12.1.0" 12 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.1.0.tgz#865ba3a9afc204ff2bdeea49dd64d58705007a39" 13 | integrity sha512-/280MLdZe0W03stA69iL+v6I+J1ascrQ6FrXBlXGCsGzrfMaGr7fskMa0T5AhQIVQD4nA/46QQWxG//DYuFBcA== 14 | 15 | "@next/swc-darwin-arm64@12.1.0": 16 | version "12.1.0" 17 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.0.tgz#08e8b411b8accd095009ed12efbc2f1d4d547135" 18 | integrity sha512-R8vcXE2/iONJ1Unf5Ptqjk6LRW3bggH+8drNkkzH4FLEQkHtELhvcmJwkXcuipyQCsIakldAXhRbZmm3YN1vXg== 19 | 20 | "@next/swc-darwin-x64@12.1.0": 21 | version "12.1.0" 22 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.0.tgz#fcd684497a76e8feaca88db3c394480ff0b007cd" 23 | integrity sha512-ieAz0/J0PhmbZBB8+EA/JGdhRHBogF8BWaeqR7hwveb6SYEIJaDNQy0I+ZN8gF8hLj63bEDxJAs/cEhdnTq+ug== 24 | 25 | "@next/swc-linux-arm-gnueabihf@12.1.0": 26 | version "12.1.0" 27 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.0.tgz#9ec6380a27938a5799aaa6035c205b3c478468a7" 28 | integrity sha512-njUd9hpl6o6A5d08dC0cKAgXKCzm5fFtgGe6i0eko8IAdtAPbtHxtpre3VeSxdZvuGFh+hb0REySQP9T1ttkog== 29 | 30 | "@next/swc-linux-arm64-gnu@12.1.0": 31 | version "12.1.0" 32 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.0.tgz#7f4196dff1049cea479607c75b81033ae2dbd093" 33 | integrity sha512-OqangJLkRxVxMhDtcb7Qn1xjzFA3s50EIxY7mljbSCLybU+sByPaWAHY4px97ieOlr2y4S0xdPKkQ3BCAwyo6Q== 34 | 35 | "@next/swc-linux-arm64-musl@12.1.0": 36 | version "12.1.0" 37 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.0.tgz#b445f767569cdc2dddee785ca495e1a88c025566" 38 | integrity sha512-hB8cLSt4GdmOpcwRe2UzI5UWn6HHO/vLkr5OTuNvCJ5xGDwpPXelVkYW/0+C3g5axbDW2Tym4S+MQCkkH9QfWA== 39 | 40 | "@next/swc-linux-x64-gnu@12.1.0": 41 | version "12.1.0" 42 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.0.tgz#67610e9be4fbc987de7535f1bcb17e45fe12f90e" 43 | integrity sha512-OKO4R/digvrVuweSw/uBM4nSdyzsBV5EwkUeeG4KVpkIZEe64ZwRpnFB65bC6hGwxIBnTv5NMSnJ+0K/WmG78A== 44 | 45 | "@next/swc-linux-x64-musl@12.1.0": 46 | version "12.1.0" 47 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.0.tgz#ea19a23db08a9f2e34ac30401f774cf7d1669d31" 48 | integrity sha512-JohhgAHZvOD3rQY7tlp7NlmvtvYHBYgY0x5ZCecUT6eCCcl9lv6iV3nfu82ErkxNk1H893fqH0FUpznZ/H3pSw== 49 | 50 | "@next/swc-win32-arm64-msvc@12.1.0": 51 | version "12.1.0" 52 | resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.0.tgz#eadf054fc412085659b98e145435bbba200b5283" 53 | integrity sha512-T/3gIE6QEfKIJ4dmJk75v9hhNiYZhQYAoYm4iVo1TgcsuaKLFa+zMPh4056AHiG6n9tn2UQ1CFE8EoybEsqsSw== 54 | 55 | "@next/swc-win32-ia32-msvc@12.1.0": 56 | version "12.1.0" 57 | resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.0.tgz#68faeae10c89f698bf9d28759172b74c9c21bda1" 58 | integrity sha512-iwnKgHJdqhIW19H9PRPM9j55V6RdcOo6rX+5imx832BCWzkDbyomWnlzBfr6ByUYfhohb8QuH4hSGEikpPqI0Q== 59 | 60 | "@next/swc-win32-x64-msvc@12.1.0": 61 | version "12.1.0" 62 | resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.0.tgz#d27e7e76c87a460a4da99c5bfdb1618dcd6cd064" 63 | integrity sha512-aBvcbMwuanDH4EMrL2TthNJy+4nP59Bimn8egqv6GHMVj0a44cU6Au4PjOhLNqEh9l+IpRGBqMTzec94UdC5xg== 64 | 65 | "@nodelib/fs.scandir@2.1.5": 66 | version "2.1.5" 67 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 68 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 69 | dependencies: 70 | "@nodelib/fs.stat" "2.0.5" 71 | run-parallel "^1.1.9" 72 | 73 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 74 | version "2.0.5" 75 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 76 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 77 | 78 | "@nodelib/fs.walk@^1.2.3": 79 | version "1.2.8" 80 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 81 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 82 | dependencies: 83 | "@nodelib/fs.scandir" "2.1.5" 84 | fastq "^1.6.0" 85 | 86 | "@socket.io/component-emitter@~3.1.0": 87 | version "3.1.0" 88 | resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" 89 | integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== 90 | 91 | "@types/component-emitter@^1.2.10": 92 | version "1.2.11" 93 | resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.11.tgz#50d47d42b347253817a39709fef03ce66a108506" 94 | integrity sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ== 95 | 96 | "@types/cookie@^0.4.1": 97 | version "0.4.1" 98 | resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" 99 | integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== 100 | 101 | "@types/cors@^2.8.12": 102 | version "2.8.12" 103 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" 104 | integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== 105 | 106 | "@types/node@>=10.0.0": 107 | version "18.0.0" 108 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" 109 | integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== 110 | 111 | "@types/node@^17.0.21": 112 | version "17.0.45" 113 | resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" 114 | integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== 115 | 116 | "@types/prop-types@*": 117 | version "15.7.5" 118 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 119 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 120 | 121 | "@types/react@^17.0.39": 122 | version "17.0.47" 123 | resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.47.tgz#4ee71aaf4c5a9e290e03aa4d0d313c5d666b3b78" 124 | integrity sha512-mk0BL8zBinf2ozNr3qPnlu1oyVTYq+4V7WA76RgxUAtf0Em/Wbid38KN6n4abEkvO4xMTBWmnP1FtQzgkEiJoA== 125 | dependencies: 126 | "@types/prop-types" "*" 127 | "@types/scheduler" "*" 128 | csstype "^3.0.2" 129 | 130 | "@types/scheduler@*": 131 | version "0.16.2" 132 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 133 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 134 | 135 | accepts@~1.3.4: 136 | version "1.3.8" 137 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" 138 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== 139 | dependencies: 140 | mime-types "~2.1.34" 141 | negotiator "0.6.3" 142 | 143 | acorn-node@^1.8.2: 144 | version "1.8.2" 145 | resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" 146 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== 147 | dependencies: 148 | acorn "^7.0.0" 149 | acorn-walk "^7.0.0" 150 | xtend "^4.0.2" 151 | 152 | acorn-walk@^7.0.0: 153 | version "7.2.0" 154 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 155 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 156 | 157 | acorn@^7.0.0: 158 | version "7.4.1" 159 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 160 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 161 | 162 | anymatch@~3.1.2: 163 | version "3.1.2" 164 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 165 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 166 | dependencies: 167 | normalize-path "^3.0.0" 168 | picomatch "^2.0.4" 169 | 170 | arg@^5.0.2: 171 | version "5.0.2" 172 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" 173 | integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== 174 | 175 | autoprefixer@^10.4.2: 176 | version "10.4.7" 177 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.7.tgz#1db8d195f41a52ca5069b7593be167618edbbedf" 178 | integrity sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA== 179 | dependencies: 180 | browserslist "^4.20.3" 181 | caniuse-lite "^1.0.30001335" 182 | fraction.js "^4.2.0" 183 | normalize-range "^0.1.2" 184 | picocolors "^1.0.0" 185 | postcss-value-parser "^4.2.0" 186 | 187 | base64id@2.0.0, base64id@~2.0.0: 188 | version "2.0.0" 189 | resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" 190 | integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== 191 | 192 | binary-extensions@^2.0.0: 193 | version "2.2.0" 194 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 195 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 196 | 197 | braces@^3.0.2, braces@~3.0.2: 198 | version "3.0.2" 199 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 200 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 201 | dependencies: 202 | fill-range "^7.0.1" 203 | 204 | browserslist@^4.20.3: 205 | version "4.21.1" 206 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.1.tgz#c9b9b0a54c7607e8dc3e01a0d311727188011a00" 207 | integrity sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ== 208 | dependencies: 209 | caniuse-lite "^1.0.30001359" 210 | electron-to-chromium "^1.4.172" 211 | node-releases "^2.0.5" 212 | update-browserslist-db "^1.0.4" 213 | 214 | camelcase-css@^2.0.1: 215 | version "2.0.1" 216 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" 217 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 218 | 219 | caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001335, caniuse-lite@^1.0.30001359: 220 | version "1.0.30001361" 221 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001361.tgz#ba2adb2527566fb96f3ac7c67698ae7fc495a28d" 222 | integrity sha512-ybhCrjNtkFji1/Wto6SSJKkWk6kZgVQsDq5QI83SafsF6FXv2JB4df9eEdH6g8sdGgqTXrFLjAxqBGgYoU3azQ== 223 | 224 | chokidar@^3.5.3: 225 | version "3.5.3" 226 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 227 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 228 | dependencies: 229 | anymatch "~3.1.2" 230 | braces "~3.0.2" 231 | glob-parent "~5.1.2" 232 | is-binary-path "~2.1.0" 233 | is-glob "~4.0.1" 234 | normalize-path "~3.0.0" 235 | readdirp "~3.6.0" 236 | optionalDependencies: 237 | fsevents "~2.3.2" 238 | 239 | color-name@^1.1.4: 240 | version "1.1.4" 241 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 242 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 243 | 244 | component-emitter@~1.3.0: 245 | version "1.3.0" 246 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" 247 | integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== 248 | 249 | cookie@~0.4.1: 250 | version "0.4.2" 251 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" 252 | integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== 253 | 254 | cors@~2.8.5: 255 | version "2.8.5" 256 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" 257 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== 258 | dependencies: 259 | object-assign "^4" 260 | vary "^1" 261 | 262 | cssesc@^3.0.0: 263 | version "3.0.0" 264 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 265 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 266 | 267 | csstype@^3.0.2: 268 | version "3.1.0" 269 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" 270 | integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== 271 | 272 | debug@~4.3.1, debug@~4.3.2: 273 | version "4.3.4" 274 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 275 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 276 | dependencies: 277 | ms "2.1.2" 278 | 279 | defined@^1.0.0: 280 | version "1.0.0" 281 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 282 | integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ== 283 | 284 | detective@^5.2.1: 285 | version "5.2.1" 286 | resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034" 287 | integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== 288 | dependencies: 289 | acorn-node "^1.8.2" 290 | defined "^1.0.0" 291 | minimist "^1.2.6" 292 | 293 | didyoumean@^1.2.2: 294 | version "1.2.2" 295 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" 296 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 297 | 298 | dlv@^1.1.3: 299 | version "1.1.3" 300 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" 301 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 302 | 303 | electron-to-chromium@^1.4.172: 304 | version "1.4.173" 305 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.173.tgz#48f128dda49cd7f6317e65ac0085bd3a6b9b6e3b" 306 | integrity sha512-Qo3LnVW6JRNhD32viSdPebxKI7K+3WeBDjU1+Q2yZS83zAh8C2LyPpzTimlciv6U74KpY9n/0ESAhUByRke0jw== 307 | 308 | engine.io-client@~6.2.1: 309 | version "6.2.2" 310 | resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.2.2.tgz#c6c5243167f5943dcd9c4abee1bfc634aa2cbdd0" 311 | integrity sha512-8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ== 312 | dependencies: 313 | "@socket.io/component-emitter" "~3.1.0" 314 | debug "~4.3.1" 315 | engine.io-parser "~5.0.3" 316 | ws "~8.2.3" 317 | xmlhttprequest-ssl "~2.0.0" 318 | 319 | engine.io-parser@~5.0.3: 320 | version "5.0.4" 321 | resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0" 322 | integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg== 323 | 324 | engine.io@~6.2.0: 325 | version "6.2.0" 326 | resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.2.0.tgz#003bec48f6815926f2b1b17873e576acd54f41d0" 327 | integrity sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg== 328 | dependencies: 329 | "@types/cookie" "^0.4.1" 330 | "@types/cors" "^2.8.12" 331 | "@types/node" ">=10.0.0" 332 | accepts "~1.3.4" 333 | base64id "2.0.0" 334 | cookie "~0.4.1" 335 | cors "~2.8.5" 336 | debug "~4.3.1" 337 | engine.io-parser "~5.0.3" 338 | ws "~8.2.3" 339 | 340 | escalade@^3.1.1: 341 | version "3.1.1" 342 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 343 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 344 | 345 | fast-glob@^3.2.11: 346 | version "3.2.11" 347 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 348 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 349 | dependencies: 350 | "@nodelib/fs.stat" "^2.0.2" 351 | "@nodelib/fs.walk" "^1.2.3" 352 | glob-parent "^5.1.2" 353 | merge2 "^1.3.0" 354 | micromatch "^4.0.4" 355 | 356 | fastq@^1.6.0: 357 | version "1.13.0" 358 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 359 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 360 | dependencies: 361 | reusify "^1.0.4" 362 | 363 | fill-range@^7.0.1: 364 | version "7.0.1" 365 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 366 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 367 | dependencies: 368 | to-regex-range "^5.0.1" 369 | 370 | fraction.js@^4.2.0: 371 | version "4.2.0" 372 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" 373 | integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== 374 | 375 | fsevents@~2.3.2: 376 | version "2.3.2" 377 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 378 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 379 | 380 | function-bind@^1.1.1: 381 | version "1.1.1" 382 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 383 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 384 | 385 | glob-parent@^5.1.2, glob-parent@~5.1.2: 386 | version "5.1.2" 387 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 388 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 389 | dependencies: 390 | is-glob "^4.0.1" 391 | 392 | glob-parent@^6.0.2: 393 | version "6.0.2" 394 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 395 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 396 | dependencies: 397 | is-glob "^4.0.3" 398 | 399 | has@^1.0.3: 400 | version "1.0.3" 401 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 402 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 403 | dependencies: 404 | function-bind "^1.1.1" 405 | 406 | is-binary-path@~2.1.0: 407 | version "2.1.0" 408 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 409 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 410 | dependencies: 411 | binary-extensions "^2.0.0" 412 | 413 | is-core-module@^2.9.0: 414 | version "2.9.0" 415 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" 416 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== 417 | dependencies: 418 | has "^1.0.3" 419 | 420 | is-extglob@^2.1.1: 421 | version "2.1.1" 422 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 423 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 424 | 425 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 426 | version "4.0.3" 427 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 428 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 429 | dependencies: 430 | is-extglob "^2.1.1" 431 | 432 | is-number@^7.0.0: 433 | version "7.0.0" 434 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 435 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 436 | 437 | "js-tokens@^3.0.0 || ^4.0.0": 438 | version "4.0.0" 439 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 440 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 441 | 442 | lilconfig@^2.0.5: 443 | version "2.0.5" 444 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" 445 | integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== 446 | 447 | loose-envify@^1.1.0: 448 | version "1.4.0" 449 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 450 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 451 | dependencies: 452 | js-tokens "^3.0.0 || ^4.0.0" 453 | 454 | merge2@^1.3.0: 455 | version "1.4.1" 456 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 457 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 458 | 459 | micromatch@^4.0.4: 460 | version "4.0.5" 461 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 462 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 463 | dependencies: 464 | braces "^3.0.2" 465 | picomatch "^2.3.1" 466 | 467 | mime-db@1.52.0: 468 | version "1.52.0" 469 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 470 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 471 | 472 | mime-types@~2.1.34: 473 | version "2.1.35" 474 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 475 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 476 | dependencies: 477 | mime-db "1.52.0" 478 | 479 | minimist@^1.2.6: 480 | version "1.2.6" 481 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" 482 | integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== 483 | 484 | ms@2.1.2: 485 | version "2.1.2" 486 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 487 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 488 | 489 | nanoid@^3.1.30, nanoid@^3.3.4: 490 | version "3.3.4" 491 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 492 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 493 | 494 | negotiator@0.6.3: 495 | version "0.6.3" 496 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 497 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 498 | 499 | next@12.1.0: 500 | version "12.1.0" 501 | resolved "https://registry.yarnpkg.com/next/-/next-12.1.0.tgz#c33d753b644be92fc58e06e5a214f143da61dd5d" 502 | integrity sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q== 503 | dependencies: 504 | "@next/env" "12.1.0" 505 | caniuse-lite "^1.0.30001283" 506 | postcss "8.4.5" 507 | styled-jsx "5.0.0" 508 | use-subscription "1.5.1" 509 | optionalDependencies: 510 | "@next/swc-android-arm64" "12.1.0" 511 | "@next/swc-darwin-arm64" "12.1.0" 512 | "@next/swc-darwin-x64" "12.1.0" 513 | "@next/swc-linux-arm-gnueabihf" "12.1.0" 514 | "@next/swc-linux-arm64-gnu" "12.1.0" 515 | "@next/swc-linux-arm64-musl" "12.1.0" 516 | "@next/swc-linux-x64-gnu" "12.1.0" 517 | "@next/swc-linux-x64-musl" "12.1.0" 518 | "@next/swc-win32-arm64-msvc" "12.1.0" 519 | "@next/swc-win32-ia32-msvc" "12.1.0" 520 | "@next/swc-win32-x64-msvc" "12.1.0" 521 | 522 | node-releases@^2.0.5: 523 | version "2.0.5" 524 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" 525 | integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== 526 | 527 | normalize-path@^3.0.0, normalize-path@~3.0.0: 528 | version "3.0.0" 529 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 530 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 531 | 532 | normalize-range@^0.1.2: 533 | version "0.1.2" 534 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 535 | integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== 536 | 537 | object-assign@^4, object-assign@^4.1.1: 538 | version "4.1.1" 539 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 540 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 541 | 542 | object-hash@^3.0.0: 543 | version "3.0.0" 544 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" 545 | integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== 546 | 547 | path-parse@^1.0.7: 548 | version "1.0.7" 549 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 550 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 551 | 552 | picocolors@^1.0.0: 553 | version "1.0.0" 554 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 555 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 556 | 557 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 558 | version "2.3.1" 559 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 560 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 561 | 562 | pify@^2.3.0: 563 | version "2.3.0" 564 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 565 | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== 566 | 567 | postcss-import@^14.0.2, postcss-import@^14.1.0: 568 | version "14.1.0" 569 | resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" 570 | integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== 571 | dependencies: 572 | postcss-value-parser "^4.0.0" 573 | read-cache "^1.0.0" 574 | resolve "^1.1.7" 575 | 576 | postcss-js@^4.0.0: 577 | version "4.0.0" 578 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" 579 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== 580 | dependencies: 581 | camelcase-css "^2.0.1" 582 | 583 | postcss-load-config@^3.1.4: 584 | version "3.1.4" 585 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" 586 | integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== 587 | dependencies: 588 | lilconfig "^2.0.5" 589 | yaml "^1.10.2" 590 | 591 | postcss-nested@5.0.6: 592 | version "5.0.6" 593 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" 594 | integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== 595 | dependencies: 596 | postcss-selector-parser "^6.0.6" 597 | 598 | postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.6: 599 | version "6.0.10" 600 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" 601 | integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== 602 | dependencies: 603 | cssesc "^3.0.0" 604 | util-deprecate "^1.0.2" 605 | 606 | postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: 607 | version "4.2.0" 608 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 609 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 610 | 611 | postcss@8.4.5: 612 | version "8.4.5" 613 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" 614 | integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== 615 | dependencies: 616 | nanoid "^3.1.30" 617 | picocolors "^1.0.0" 618 | source-map-js "^1.0.1" 619 | 620 | postcss@^8.4.14, postcss@^8.4.7: 621 | version "8.4.14" 622 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" 623 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== 624 | dependencies: 625 | nanoid "^3.3.4" 626 | picocolors "^1.0.0" 627 | source-map-js "^1.0.2" 628 | 629 | queue-microtask@^1.2.2: 630 | version "1.2.3" 631 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 632 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 633 | 634 | quick-lru@^5.1.1: 635 | version "5.1.1" 636 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" 637 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 638 | 639 | react-dom@17.0.2: 640 | version "17.0.2" 641 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" 642 | integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== 643 | dependencies: 644 | loose-envify "^1.1.0" 645 | object-assign "^4.1.1" 646 | scheduler "^0.20.2" 647 | 648 | react@17.0.2: 649 | version "17.0.2" 650 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 651 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 652 | dependencies: 653 | loose-envify "^1.1.0" 654 | object-assign "^4.1.1" 655 | 656 | read-cache@^1.0.0: 657 | version "1.0.0" 658 | resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" 659 | integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== 660 | dependencies: 661 | pify "^2.3.0" 662 | 663 | readdirp@~3.6.0: 664 | version "3.6.0" 665 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 666 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 667 | dependencies: 668 | picomatch "^2.2.1" 669 | 670 | resolve@^1.1.7, resolve@^1.22.0: 671 | version "1.22.1" 672 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 673 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 674 | dependencies: 675 | is-core-module "^2.9.0" 676 | path-parse "^1.0.7" 677 | supports-preserve-symlinks-flag "^1.0.0" 678 | 679 | reusify@^1.0.4: 680 | version "1.0.4" 681 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 682 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 683 | 684 | run-parallel@^1.1.9: 685 | version "1.2.0" 686 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 687 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 688 | dependencies: 689 | queue-microtask "^1.2.2" 690 | 691 | scheduler@^0.20.2: 692 | version "0.20.2" 693 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" 694 | integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== 695 | dependencies: 696 | loose-envify "^1.1.0" 697 | object-assign "^4.1.1" 698 | 699 | socket.io-adapter@~2.4.0: 700 | version "2.4.0" 701 | resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6" 702 | integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== 703 | 704 | socket.io-client@^4.5.1: 705 | version "4.5.1" 706 | resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.5.1.tgz#cab8da71976a300d3090414e28c2203a47884d84" 707 | integrity sha512-e6nLVgiRYatS+AHXnOnGi4ocOpubvOUCGhyWw8v+/FxW8saHkinG6Dfhi9TU0Kt/8mwJIAASxvw6eujQmjdZVA== 708 | dependencies: 709 | "@socket.io/component-emitter" "~3.1.0" 710 | debug "~4.3.2" 711 | engine.io-client "~6.2.1" 712 | socket.io-parser "~4.2.0" 713 | 714 | socket.io-parser@~4.0.4: 715 | version "4.0.5" 716 | resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.5.tgz#cb404382c32324cc962f27f3a44058cf6e0552df" 717 | integrity sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig== 718 | dependencies: 719 | "@types/component-emitter" "^1.2.10" 720 | component-emitter "~1.3.0" 721 | debug "~4.3.1" 722 | 723 | socket.io-parser@~4.2.0: 724 | version "4.2.1" 725 | resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.1.tgz#01c96efa11ded938dcb21cbe590c26af5eff65e5" 726 | integrity sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g== 727 | dependencies: 728 | "@socket.io/component-emitter" "~3.1.0" 729 | debug "~4.3.1" 730 | 731 | socket.io@^4.5.1: 732 | version "4.5.1" 733 | resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.1.tgz#aa7e73f8a6ce20ee3c54b2446d321bbb6b1a9029" 734 | integrity sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ== 735 | dependencies: 736 | accepts "~1.3.4" 737 | base64id "~2.0.0" 738 | debug "~4.3.2" 739 | engine.io "~6.2.0" 740 | socket.io-adapter "~2.4.0" 741 | socket.io-parser "~4.0.4" 742 | 743 | source-map-js@^1.0.1, source-map-js@^1.0.2: 744 | version "1.0.2" 745 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 746 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 747 | 748 | styled-jsx@5.0.0: 749 | version "5.0.0" 750 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77" 751 | integrity sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA== 752 | 753 | supports-preserve-symlinks-flag@^1.0.0: 754 | version "1.0.0" 755 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 756 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 757 | 758 | tailwindcss@^3.0.23: 759 | version "3.1.4" 760 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.1.4.tgz#64b09059805505902139fa805d97046080bd90b9" 761 | integrity sha512-NrxbFV4tYsga/hpWbRyUfIaBrNMXDxx5BsHgBS4v5tlyjf+sDsgBg5m9OxjrXIqAS/uR9kicxLKP+bEHI7BSeQ== 762 | dependencies: 763 | arg "^5.0.2" 764 | chokidar "^3.5.3" 765 | color-name "^1.1.4" 766 | detective "^5.2.1" 767 | didyoumean "^1.2.2" 768 | dlv "^1.1.3" 769 | fast-glob "^3.2.11" 770 | glob-parent "^6.0.2" 771 | is-glob "^4.0.3" 772 | lilconfig "^2.0.5" 773 | normalize-path "^3.0.0" 774 | object-hash "^3.0.0" 775 | picocolors "^1.0.0" 776 | postcss "^8.4.14" 777 | postcss-import "^14.1.0" 778 | postcss-js "^4.0.0" 779 | postcss-load-config "^3.1.4" 780 | postcss-nested "5.0.6" 781 | postcss-selector-parser "^6.0.10" 782 | postcss-value-parser "^4.2.0" 783 | quick-lru "^5.1.1" 784 | resolve "^1.22.0" 785 | 786 | to-regex-range@^5.0.1: 787 | version "5.0.1" 788 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 789 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 790 | dependencies: 791 | is-number "^7.0.0" 792 | 793 | typescript@^4.6.2: 794 | version "4.7.4" 795 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" 796 | integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== 797 | 798 | update-browserslist-db@^1.0.4: 799 | version "1.0.4" 800 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824" 801 | integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA== 802 | dependencies: 803 | escalade "^3.1.1" 804 | picocolors "^1.0.0" 805 | 806 | use-subscription@1.5.1: 807 | version "1.5.1" 808 | resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" 809 | integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== 810 | dependencies: 811 | object-assign "^4.1.1" 812 | 813 | util-deprecate@^1.0.2: 814 | version "1.0.2" 815 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 816 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 817 | 818 | vary@^1: 819 | version "1.1.2" 820 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 821 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== 822 | 823 | ws@~8.2.3: 824 | version "8.2.3" 825 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" 826 | integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== 827 | 828 | xmlhttprequest-ssl@~2.0.0: 829 | version "2.0.0" 830 | resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" 831 | integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== 832 | 833 | xtend@^4.0.2: 834 | version "4.0.2" 835 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 836 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 837 | 838 | yaml@^1.10.2: 839 | version "1.10.2" 840 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 841 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 842 | --------------------------------------------------------------------------------