├── .env.example ├── assets ├── add-custom-app.png └── side-bar-menu.png ├── .eslintrc.js ├── src ├── write.js ├── utils │ ├── isAppManifestValid.js │ └── fetchAppInfo.js ├── startDev.js └── buildList.js ├── .github ├── workflows │ └── auto-label.yml └── ISSUE_TEMPLATE │ └── safe-app-request.md ├── package.json ├── LICENSE ├── .gitignore ├── README.md ├── config └── appsList.js ├── public └── gnosis-default.applist.json └── yarn.lock /.env.example: -------------------------------------------------------------------------------- 1 | REACT_APP_IPFS_GATEWAY= -------------------------------------------------------------------------------- /assets/add-custom-app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe-global/safe-apps-list/HEAD/assets/add-custom-app.png -------------------------------------------------------------------------------- /assets/side-bar-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe-global/safe-apps-list/HEAD/assets/side-bar-menu.png -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: [ 3 | 'eslint:recommended', 4 | 'prettier', // Add prettier rules to eslint 5 | 'plugin:prettier/recommended', // Plugin to use prettier rules with eslint 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/write.js: -------------------------------------------------------------------------------- 1 | const config = require('dotenv').config() 2 | const buildList = require('./buildList.js'); 3 | 4 | (async () => { 5 | const list = await buildList().then(list => JSON.stringify(list, null, 2)) 6 | console.log(list) 7 | })() 8 | -------------------------------------------------------------------------------- /src/utils/isAppManifestValid.js: -------------------------------------------------------------------------------- 1 | module.exports = (appInfo) => 2 | // `appInfo` exists and `name` exists 3 | !!appInfo?.name && 4 | // if `name` exists is not 'unknown' 5 | appInfo.name !== 'unknown' && 6 | // `description` exists 7 | !!appInfo.description && 8 | // no `error` (or `error` undefined) 9 | !appInfo.error -------------------------------------------------------------------------------- /.github/workflows/auto-label.yml: -------------------------------------------------------------------------------- 1 | name: Auto Label new Issue 2 | on: 3 | issues: 4 | types: 5 | - opened 6 | jobs: 7 | label_issues: 8 | runs-on: ubuntu-latest 9 | permissions: 10 | issues: write 11 | steps: 12 | - run: gh issue edit "$NUMBER" --add-label "$LABELS" 13 | env: 14 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} 15 | GH_REPO: ${{ github.repository }} 16 | NUMBER: ${{ github.event.issue.number }} 17 | LABELS: New 18 | -------------------------------------------------------------------------------- /src/startDev.js: -------------------------------------------------------------------------------- 1 | const cors = require('cors') 2 | const config = require('dotenv').config() 3 | const express = require('express') 4 | 5 | const buildList = require('./buildList') 6 | 7 | const app = express() 8 | const port = process.env.PORT || '8080' 9 | app.use(cors()) 10 | 11 | app.get('/', async (req, res) => { 12 | const list = await buildList() 13 | res.json(list) 14 | }); 15 | 16 | 17 | app.listen(port, () => { 18 | console.log(`Listening to requests on http://localhost:${port}`) 19 | }); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "safe-apps-list", 3 | "version": "0.1.0", 4 | "description": "Gnosis Safe default apps list", 5 | "main": "public/app-list.json", 6 | "scripts": { 7 | "build": "rimraf public && mkdir -p public && cross-env node src/write.js > public/gnosis-default.applist.json", 8 | "start": "nodemon src/startDev.js" 9 | }, 10 | "dependencies": { 11 | "express": "^4.17.1" 12 | }, 13 | "devDependencies": { 14 | "axios": "^0.21.1", 15 | "cors": "^2.8.5", 16 | "cross-env": "^7.0.3", 17 | "dotenv": "^8.2.0", 18 | "eslint": "^7.23.0", 19 | "eslint-plugin-prettier": "^3.3.1", 20 | "nodemon": "^2.0.7", 21 | "prettier": "^2.2.1", 22 | "rimraf": "^3.0.2" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Safe Ecosystem Foundation 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/buildList.js: -------------------------------------------------------------------------------- 1 | const { version } = require('../package.json') 2 | 3 | const safeAppsConfig = require('../config/appsList') 4 | const fetchAppInfo = require('./utils/fetchAppInfo') 5 | 6 | const getAppsList = async () => { 7 | if (!process.env.REACT_APP_IPFS_GATEWAY) { 8 | throw Error('REACT_APP_IPFS_GATEWAY should be defined') 9 | } 10 | 11 | const safeAppsWithManifestInfoPromises = safeAppsConfig.map(async app => { 12 | const appInfo = fetchAppInfo(app) 13 | return appInfo 14 | }) 15 | 16 | const safeAppsWithManifestInfo = await Promise.all(safeAppsWithManifestInfoPromises) 17 | 18 | return safeAppsWithManifestInfo 19 | } 20 | 21 | 22 | const buildList = async () => { 23 | const parsed = version.split('.') 24 | 25 | const appsList = await getAppsList() 26 | 27 | return { 28 | name: "Gnosis Safe default apps list", 29 | timestamp: new Date().toISOString(), 30 | version: { 31 | major: +parsed[0], 32 | minor: +parsed[1], 33 | patch: +parsed[2], 34 | }, 35 | logoUri: 'logo-uri', 36 | keywords: ['gnosis', 'safe', 'default', 'app', 'list'], 37 | apps: [...appsList] 38 | } 39 | } 40 | 41 | module.exports = buildList -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | -------------------------------------------------------------------------------- /src/utils/fetchAppInfo.js: -------------------------------------------------------------------------------- 1 | const axios = require('axios') 2 | const isAppManifestValid = require('./isAppManifestValid') 3 | 4 | const removeLastTrailingSlash = (url) => { 5 | if (url.substr(-1) === '/') { 6 | return url.substr(0, url.length - 1) 7 | } 8 | return url 9 | } 10 | 11 | const getEmptySafeApp = () => { 12 | return { 13 | id: Math.random().toString(), 14 | url: '', 15 | name: 'unknown', 16 | iconUrl: '', 17 | description: '', 18 | // fetchStatus: SAFE_APP_FETCH_STATUS.LOADING, 19 | } 20 | } 21 | 22 | module.exports = async ({ url: appUrl, networks }) => { 23 | let res = { 24 | ...getEmptySafeApp(), 25 | // loadingStatus: SAFE_APP_FETCH_STATUS.ERROR, 26 | } 27 | 28 | if (!appUrl?.length) { 29 | return res 30 | } 31 | 32 | res.url = appUrl.trim() 33 | const noTrailingSlashUrl = removeLastTrailingSlash(res.url) 34 | 35 | try { 36 | const appInfo = await axios.get(`${noTrailingSlashUrl}/manifest.json`, { timeout: 5_000 }) 37 | 38 | // verify imported app fulfil safe requirements 39 | if (!appInfo?.data || !isAppManifestValid(appInfo.data)) { 40 | throw Error('The app does not fulfil the structure required.') 41 | } 42 | 43 | // the DB origin field has a limit of 100 characters 44 | const originFieldSize = 100 45 | const jsonDataLength = 20 46 | const remainingSpace = originFieldSize - res.url.length - jsonDataLength 47 | 48 | const appInfoData = { 49 | name: appInfo.data.name, 50 | iconPath: appInfo.data.iconPath, 51 | description: appInfo.data.description, 52 | providedBy: appInfo.data.providedBy, 53 | } 54 | 55 | res = { 56 | ...res, 57 | ...appInfoData, 58 | networks, 59 | id: JSON.stringify({ url: res.url, name: appInfo.data.name.substring(0, remainingSpace) }), 60 | // loadingStatus: SAFE_APP_FETCH_STATUS.SUCCESS, 61 | } 62 | 63 | if (appInfo.data.iconPath) { 64 | try { 65 | const iconInfo = await axios.get(`${noTrailingSlashUrl}/${appInfo.data.iconPath}`, { timeout: 1000 * 10 }) 66 | if (/image\/\w/gm.test(iconInfo.headers['content-type'])) { 67 | res.iconUrl = `${noTrailingSlashUrl}/${appInfo.data.iconPath}` 68 | } 69 | } catch (error) { 70 | console.error(`It was not possible to fetch icon from app ${res.url}`) 71 | } 72 | } 73 | return res 74 | } catch (error) { 75 | console.error(`It was not possible to fetch app from ${res.url}: ${error.message}`) 76 | return res 77 | } 78 | } -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/safe-app-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Safe app request 3 | about: Create a request to add, remove or update a Safe app 4 | --- 5 | 6 | 19 | 20 | ### Entry type 21 | 24 | - New addition 25 | - Update 26 | - Removal 27 | 28 | ### App info 29 | 30 | URL: 31 | 32 | Manifest.json URL: 33 | 34 | Name: 35 | 36 | Description: 37 | 38 | Icon (PNG, 180x180): 39 | It's minified via https://tinypng.com: yes/no 40 | 41 | Homepage: 42 | Twitter: 43 | GitHub: 44 | Discord: 45 | Telegram: 46 | 47 | App supports batching multiple transactions via Safe: yes/no 48 | 49 | Tracking parameters implementation: 50 | - UTM parameters (e.g., https://your-app.com/?utm_source=SafeWallet): yes/no 51 | - Onchain tracking parameters (e.g., https://your-app.com/?ref=0xSafeAddress): yes/no 52 | 53 | ### Supported networks 54 | 58 | - Mainnet 59 | - Goerli 60 | - Gnosis Chain 61 | - Energy Web Chain 62 | - Volta 63 | 64 | ### Revision checks 65 | 68 | - [ ] Used smart contracts were audited. 69 | - [ ] You have implemented the app using the [Safe Apps SDK](https://github.com/safe-global/safe-apps-sdk) 70 | - [ ] Your Safe App includes a `manifest.json` file at the root [with the required data](https://github.com/5afe/safe-apps-list/blob/main/README.md) 71 | - [ ] The app can be loaded as a custom Safe App in the Apps section of [https://app.safe.global](https://app.safe.global). 72 | - [ ] The app auto-connects to the Safe as a wallet 73 | - [ ] It doesn't try to connect to the browser wallet (e.g. MetaMask) 74 | - [ ] You are able to trigger and execute one transaction with a Safe. 75 | - [ ] RPC requests are optimized (not triggering many requests in a very short time period). 76 | - [ ] Your app supports tracking parameters as described in the [README](https://github.com/5afe/safe-apps-list/blob/main/README.md#support-tracking-parameters) (UTM parameters and/or onchain tracking). 77 | - [ ] Access to private repositories, if applicable, is granted to: [@safe-reviewer](https://github.com/safe-reviewer) 78 | 79 | ### Audit document 80 | 83 | 84 | ### Code for review 85 | 88 | 89 | ### Team information 90 | 91 | Company: 92 | 93 | Official website: 94 | 95 | Point of contact: 96 | 97 | Email/Telegram: 98 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ‼️ New submission proccess 2 | Please note that from 🗓️ **01.01.24**, new Safe App submissions will first have to go through a [new pre-assessment form](https://forms.gle/PcDcaVx715LKrrQs8). 3 | 4 | Do not create GitHub issues directly without submitting that from, otherwise they will not be accepted. Thank you! 5 | 6 | --- 7 | 8 | # Releasing your Safe App 9 | 10 | Here are some details about the release process for Safe Apps. 11 | 12 | ## Get your Safe Apps into the hands of users 13 | 14 | Once you finish developing and testing your Safe App, your users can test it by opening the link to the hosted Safe App and adding it as a Custom App. [This guide](https://help.safe.global/en/articles/40859-add-a-custom-safe-app) explains how to add custom apps. 15 | 16 | ## Get your Safe App listed in Safe\{Wallet\} 17 | 18 | Please, remember that when listing your Safe App for the first time you need to fill the [pre-assessment form](https://forms.gle/PcDcaVx715LKrrQs8) before continuing the process. 19 | 20 | Once you get response from the team, you need to make sure your app meets the following criteria: 21 | 22 | ### Smart contracts must be audited 23 | 24 | Security is the top priority for Safe. Please provide an external audit result document if the Safe App includes smart contracts. If a third party created the smart contracts, ensure they are audited. 25 | 26 | ### Your Safe App must include a manifest 27 | 28 | There must be a `manifest.json` at the root directory containing the following data: 29 | 30 | `"name": "Name of your Safe App"` 31 | 32 | Your Safe App's name needs to have 50 characters maximum. 33 | 34 | `"iconPath": "your_logo.svg"` 35 | 36 | A relative file path to your App's logo. The icon must be a square SVG image of at least 128 by 128 pixels. 37 | 38 | `"description": "This is the Safe app description."` 39 | 40 | Few sentences describing your application, a maximum of 200 characters 41 | 42 | You can find an example manifest file on [GitHub](https://github.com/safe-global/safe-apps-sdk/blob/main/packages/cra-template-safe-app/template/public/manifest.json). You can also find an example Safe App on IPFS [here](https://ipfs.io/ipfs/QmTgnb1J9FDR9gimptzvaEiNa25s92iQy37GyqYfwZw8Aj/). 43 | 44 | Remember that **CORS** needs to be configured correctly on the `manifest.json` so we can fetch the information as [mentioned here](./get-started.md#cors). 45 | 46 | ### The app auto connects to the Safe 47 | 48 | When the user opens the app, it should automatically select the Safe as a wallet. Ensure to check the case if the user previously opened the app outside of the Safe with another wallet. 49 | 50 | ### The Safe team has reviewed the Safe App 51 | 52 | The requirement doesn't apply for battle-tested applications hosted on the same domain as the main dapp. 53 | 54 | While we won't be able to do a proper audit for your Safe App, we still would like to look at the source code to raise issues or suggest improvements. Whether your Safe App is open or closed source, please send us either a link to the public repository or an invitation to the private repository. 55 | 56 | We also would like to make a rough functional review of the App, so please provide us with a high-level test plan/feature list that allows our QA team to ensure everything works as intended in production. Video walk-throughs are also welcome. 57 | 58 | ### Help us decode your Safe App transactions 59 | 60 | We want to display interactions with Safe Apps as human-readable as possible. To do this, we need the ABI of the contracts your Safe App interacts with. The ideal way to do this would be to verify your contracts via [Sourcify](https://github.com/ethereum/sourcify), which we can leverage to decode transactions interacting with those contracts. 61 | 62 | Alternatively, you can provide us with the ABIs as JSON files or the links to the verified contracts on Etherscan so we can implement transaction decoding for your Safe App interactions. 63 | 64 | ### Support tracking parameters 65 | 66 | Your Safe App URL should support tracking parameters to help analyze usage, volume and traffic of your Safe App. 67 | 68 | At minimum, implement UTM parameters in your URL structure to track Safe as a source: 69 | `https://your-app.com/?utm_source=SafeWallet` 70 | 71 | Real-world example: `https://app.example.io/#/?utm_source=SafeWallet` 72 | 73 | For apps that support on-chain transactions, we also recommend implementing custom parameters (like referral codes) that can be tracked on platforms like Dune Analytics: 74 | `https://your-app.com/?ref=0xSafeAddress` 75 | 76 | Example implementation: `https://app.example.io/?ref=0x5afE11DBF44AB2D88162f687e01F8DD7a8A3EEEe` 77 | 78 | This tracking helps the Safe ecosystem measure app usage and improve the experience for both users and developers. 79 | 80 | ## Official launch and beyond 81 | 82 | After we have reviewed and integrated your Safe App, the App will first be available in the [staging environment](https://safe-wallet-web.staging.5afe.dev) of the Safe for you to do a final review. We would then approach you to coordinate the launch and a joint announcement. 83 | 84 | At any point after the launch, if you or your users encounter issues with the Safe App or want to release an update to an existing Safe App, please contact us via [Discord](https://chat.safe.global). 85 | 86 | While developing your Safe App, you can use [our production interface](https://app.safe.global) to test it. Some testnets like Sepolia are also available. 87 | 88 | Once your app is live, even if you run it locally, you can import it to the Safe application as a custom app. To do so, you should select the "Apps" tab: 89 | 90 | ![side-bar-menu](./assets/side-bar-menu.png) 91 | 92 | Use the `Add custom app` button and add your app using a link: 93 | 94 | ![add-custom-app](./assets/add-custom-app.png) 95 | -------------------------------------------------------------------------------- /config/appsList.js: -------------------------------------------------------------------------------- 1 | const ETHEREUM_NETWORK = { 2 | MAINNET: 1, 3 | MORDEN: 2, 4 | ROPSTEN: 3, 5 | RINKEBY: 4, 6 | GOERLI: 5, 7 | KOVAN: 42, 8 | BSC: 56, 9 | XDAI: 100, 10 | POLYGON: 137, 11 | ENERGY_WEB_CHAIN: 246, 12 | VOLTA: 73799, 13 | UNKNOWN: 0, 14 | LOCAL: 4447, 15 | } 16 | 17 | const safeAppsConfig = [ 18 | // 1inch 19 | { 20 | url: `https://app.1inch.io/`, 21 | networks: [ 22 | ETHEREUM_NETWORK.MAINNET, 23 | ETHEREUM_NETWORK.BSC, 24 | ETHEREUM_NETWORK.POLYGON, 25 | ], 26 | }, 27 | // Aave 28 | { 29 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmQ3w2ezp2zx3u2LYQHyuNzMrLDJFjyL1rjAFTjNMcQ4cK`, 30 | networks: [ETHEREUM_NETWORK.MAINNET], 31 | }, 32 | // Aave v2 33 | { 34 | url: `https://app.aave.com/`, 35 | networks: [ETHEREUM_NETWORK.MAINNET], 36 | }, 37 | // Balancer Exchange 38 | { 39 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmREcCtsynyrfa4H5bJUJH6sVV1QKygt8M9NNB6dH4Rcm1`, 40 | networks: [ETHEREUM_NETWORK.MAINNET], 41 | }, 42 | // Balancer Pool 43 | { 44 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmVaxypk2FTyfcTS9oZKxmpQziPUTu2VRhhW7sso1mGysf`, 45 | networks: [ETHEREUM_NETWORK.MAINNET], 46 | }, 47 | // Compound 48 | { 49 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmX31xCdhFDmJzoVG33Y6kJtJ5Ujw8r5EJJBrsp8Fbjm7k`, 50 | networks: [ETHEREUM_NETWORK.MAINNET, ETHEREUM_NETWORK.RINKEBY], 51 | }, 52 | // CSV Airdrop 53 | { 54 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmdFyTuzHnzj6Z1pRRLqjWXEbH56TBNKo3M1an21zKWCXt`, 55 | networks: [ETHEREUM_NETWORK.MAINNET, ETHEREUM_NETWORK.RINKEBY, ETHEREUM_NETWORK.XDAI], 56 | }, 57 | // Curve 58 | { 59 | url: `https://curve.fi`, 60 | networks: [ETHEREUM_NETWORK.MAINNET, ETHEREUM_NETWORK.POLYGON], 61 | }, 62 | // DeFi Saver 63 | { 64 | url: `https://app.defisaver.com/`, 65 | networks: [ETHEREUM_NETWORK.MAINNET], 66 | }, 67 | // dHedge 68 | { 69 | url: `https://app.dhedge.org/`, 70 | networks: [ETHEREUM_NETWORK.MAINNET], 71 | }, 72 | // ENS 73 | { 74 | url: `https://app.ens.domains/`, 75 | networks: [ETHEREUM_NETWORK.MAINNET, ETHEREUM_NETWORK.RINKEBY], 76 | }, 77 | // Furucombo 78 | { 79 | url: `https://furucombo.app/`, 80 | networks: [ETHEREUM_NETWORK.MAINNET], 81 | }, 82 | // Gnosis Auction Starter 83 | { 84 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmdCwUutYH8GXXNgTShB4cKJ8YJq4PqZ55QxMznKc9DbeS`, 85 | networks: [ETHEREUM_NETWORK.MAINNET, ETHEREUM_NETWORK.RINKEBY], 86 | }, 87 | // Gnosis CMM 88 | // Point to a static server to allow app update without Safe deployment 89 | { 90 | url: `https://safe-cmm.gnosis.io`, 91 | networks: [ETHEREUM_NETWORK.RINKEBY, ETHEREUM_NETWORK.XDAI], 92 | }, 93 | // Idle 94 | { 95 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmTvrLwJtyjG8QFHgvqdPhcV5DBMQ7oZceSU4uvPw9vQaj`, 96 | networks: [ETHEREUM_NETWORK.MAINNET, ETHEREUM_NETWORK.RINKEBY], 97 | }, 98 | // Lido finance 99 | { 100 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/Qmde8dsa9r8bB59CNGww6LRiaZABuKaJfuzvu94hFkatJC`, 101 | networks: [ETHEREUM_NETWORK.MAINNET], 102 | }, 103 | // Liquity 104 | { 105 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmWZDNujzAHeALnzAvmT975TejAmwWmYTpVqgZrexBAVrt`, 106 | disabled: false, 107 | networks: [ETHEREUM_NETWORK.MAINNET, ETHEREUM_NETWORK.RINKEBY], 108 | }, 109 | // mStable 110 | { 111 | url: `https://mstable.app/`, 112 | networks: [ETHEREUM_NETWORK.MAINNET], 113 | }, 114 | // Mushrooms finance 115 | { 116 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmT96aES2YA9BssByc6DVizQDkofmKRErs8gJyqWipjyS8`, 117 | networks: [ETHEREUM_NETWORK.MAINNET], 118 | }, 119 | // Paraswap 120 | { 121 | url: `https://paraswap.io`, 122 | networks: [ 123 | ETHEREUM_NETWORK.MAINNET, 124 | ETHEREUM_NETWORK.POLYGON, 125 | ETHEREUM_NETWORK.BSC, 126 | ], 127 | }, 128 | // Pooltogether 129 | { 130 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmTa21pi77hiT1sLCGy5BeVwcyzExUSp2z7byxZukye8hr`, 131 | networks: [ETHEREUM_NETWORK.MAINNET, ETHEREUM_NETWORK.RINKEBY], 132 | }, 133 | // Reflexer 134 | { 135 | url: `https://app.reflexer.finance/`, 136 | networks: [ETHEREUM_NETWORK.MAINNET], 137 | }, 138 | // Request 139 | { 140 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmTBBaiDQyGa17DJ7DdviyHbc51fTVgf6Z5PW5w2YUTkgR`, 141 | networks: [ETHEREUM_NETWORK.MAINNET], 142 | }, 143 | // Sablier 144 | { 145 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmXU37CwCx4cJRnv1ArurzmiJDqwCGeKS9sTC6zR1BZkws`, 146 | networks: [ETHEREUM_NETWORK.MAINNET, ETHEREUM_NETWORK.RINKEBY], 147 | }, 148 | // Stakewise 149 | { 150 | url: `https://stakewise.io`, 151 | networks: [ETHEREUM_NETWORK.MAINNET], 152 | }, 153 | // Synthetix 154 | { 155 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmXLxxczMH4MBEYDeeN9zoiHDzVkeBmB5rBjA3UniPEFcA`, 156 | networks: [ETHEREUM_NETWORK.MAINNET, ETHEREUM_NETWORK.RINKEBY], 157 | }, 158 | // Oasis 159 | { 160 | url: `https://oasis.app`, 161 | networks: [ETHEREUM_NETWORK.MAINNET], 162 | }, 163 | // OmniBridge 164 | { 165 | url: `https://bridge.xdaichain.com/`, 166 | networks: [ETHEREUM_NETWORK.MAINNET, ETHEREUM_NETWORK.XDAI], 167 | }, 168 | // OpenZeppelin 169 | { 170 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmQovvfYYMUXjZfNbysQDUEXR8nr55iJRwcYgJQGJR7KEA`, 171 | networks: [ 172 | ETHEREUM_NETWORK.MAINNET, 173 | ETHEREUM_NETWORK.RINKEBY, 174 | //ETHEREUM_NETWORK.ENERGY_WEB_CHAIN, 175 | //ETHEREUM_NETWORK.VOLTA, 176 | // ETHEREUM_NETWORK.XDAI, 177 | ], 178 | }, 179 | // TX-Builder 180 | { 181 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmTJMCBZHX56z36aTUaL2QZ3rKTkzaq1CG3zhPSKb1Su3a`, 182 | networks: [ 183 | ETHEREUM_NETWORK.MAINNET, 184 | ETHEREUM_NETWORK.RINKEBY, 185 | ETHEREUM_NETWORK.ENERGY_WEB_CHAIN, 186 | ETHEREUM_NETWORK.VOLTA, 187 | ETHEREUM_NETWORK.XDAI, 188 | ], 189 | }, 190 | // Wallet-Connect 191 | { 192 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmX9B982ZAaBzbm6yBoZUS3uLgcizYA6wW65RCXVRZkG6f`, 193 | networks: [ 194 | ETHEREUM_NETWORK.MAINNET, 195 | ETHEREUM_NETWORK.RINKEBY, 196 | ETHEREUM_NETWORK.ENERGY_WEB_CHAIN, 197 | ETHEREUM_NETWORK.VOLTA, 198 | ETHEREUM_NETWORK.XDAI, 199 | ], 200 | }, 201 | // Yearn Vaults 202 | { 203 | url: `${process.env.REACT_APP_IPFS_GATEWAY}/Qme9HuPPhgCtgfj1CktvaDKhTesMueGCV2Kui1Sqna3Xs9`, 204 | networks: [ETHEREUM_NETWORK.MAINNET], 205 | }, 206 | // Zerion 207 | { 208 | url: `https://app.zerion.io`, 209 | networks: [ETHEREUM_NETWORK.MAINNET], 210 | }, 211 | ] 212 | 213 | module.exports = safeAppsConfig 214 | -------------------------------------------------------------------------------- /public/gnosis-default.applist.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Gnosis Safe default apps list", 3 | "timestamp": "2021-07-13T18:04:12.109Z", 4 | "version": { 5 | "major": 0, 6 | "minor": 1, 7 | "patch": 0 8 | }, 9 | "logoUri": "logo-uri", 10 | "keywords": [ 11 | "gnosis", 12 | "safe", 13 | "default", 14 | "app", 15 | "list" 16 | ], 17 | "apps": [ 18 | { 19 | "id": "{\"url\":\"https://app.1inch.io/\",\"name\":\"1inch Network\"}", 20 | "url": "https://app.1inch.io/", 21 | "name": "1inch Network", 22 | "iconUrl": "https://app.1inch.io/assets/images/1inch-token.svg", 23 | "description": "The most efficient defi aggregator", 24 | "iconPath": "assets/images/1inch-token.svg", 25 | "providedBy": { 26 | "name": "1inch network", 27 | "url": "https://1inch.io" 28 | }, 29 | "networks": [ 30 | 1, 31 | 56, 32 | 137 33 | ] 34 | }, 35 | { 36 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmQ3w2ezp2zx3u2LYQHyuNzMrLDJFjyL1rjAFTjNMcQ4cK\",\"name\":\"A\"}", 37 | "url": "https://cloudflare-ipfs.com/ipfs/QmQ3w2ezp2zx3u2LYQHyuNzMrLDJFjyL1rjAFTjNMcQ4cK", 38 | "name": "Aave", 39 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmQ3w2ezp2zx3u2LYQHyuNzMrLDJFjyL1rjAFTjNMcQ4cK/aave.svg", 40 | "description": "Lend and borrow straight from your Gnosis Safe", 41 | "iconPath": "aave.svg", 42 | "providedBy": { 43 | "name": "Aave", 44 | "url": "https://aave.com" 45 | }, 46 | "networks": [ 47 | 1 48 | ] 49 | }, 50 | { 51 | "id": "{\"url\":\"https://app.aave.com/\",\"name\":\"Aave v2\"}", 52 | "url": "https://app.aave.com/", 53 | "name": "Aave v2", 54 | "iconUrl": "https://app.aave.com/aave.svg", 55 | "description": "Non-custodial liquidity protocol to earn interest on deposits and borrow", 56 | "iconPath": "aave.svg", 57 | "networks": [ 58 | 1 59 | ] 60 | }, 61 | { 62 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmREcCtsynyrfa4H5bJUJH6sVV1QKygt8M9NNB6dH4Rcm1\",\"name\":\"B\"}", 63 | "url": "https://cloudflare-ipfs.com/ipfs/QmREcCtsynyrfa4H5bJUJH6sVV1QKygt8M9NNB6dH4Rcm1", 64 | "name": "Balancer Exchange", 65 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmREcCtsynyrfa4H5bJUJH6sVV1QKygt8M9NNB6dH4Rcm1/logo512.png", 66 | "description": "Exchange tokens using the Balancer DEX", 67 | "iconPath": "logo512.png", 68 | "providedBy": { 69 | "name": "Balancer Labs", 70 | "url": "https://balancer.finance" 71 | }, 72 | "networks": [ 73 | 1 74 | ] 75 | }, 76 | { 77 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmVaxypk2FTyfcTS9oZKxmpQziPUTu2VRhhW7sso1mGysf\",\"name\":\"B\"}", 78 | "url": "https://cloudflare-ipfs.com/ipfs/QmVaxypk2FTyfcTS9oZKxmpQziPUTu2VRhhW7sso1mGysf", 79 | "name": "Balancer Pool Management", 80 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmVaxypk2FTyfcTS9oZKxmpQziPUTu2VRhhW7sso1mGysf/logo512.png", 81 | "description": "Manage liquidity on Balancer from your Gnosis Safe", 82 | "iconPath": "logo512.png", 83 | "providedBy": { 84 | "name": "Balancer Labs", 85 | "url": "https://balancer.finance" 86 | }, 87 | "networks": [ 88 | 1 89 | ] 90 | }, 91 | { 92 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmX31xCdhFDmJzoVG33Y6kJtJ5Ujw8r5EJJBrsp8Fbjm7k\",\"name\":\"C\"}", 93 | "url": "https://cloudflare-ipfs.com/ipfs/QmX31xCdhFDmJzoVG33Y6kJtJ5Ujw8r5EJJBrsp8Fbjm7k", 94 | "name": "Compound", 95 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmX31xCdhFDmJzoVG33Y6kJtJ5Ujw8r5EJJBrsp8Fbjm7k/Compound.png", 96 | "description": "Money markets on the Ethereum blockchain", 97 | "iconPath": "Compound.png", 98 | "networks": [ 99 | 1, 100 | 4 101 | ] 102 | }, 103 | { 104 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmdFyTuzHnzj6Z1pRRLqjWXEbH56TBNKo3M1an21zKWCXt\",\"name\":\"C\"}", 105 | "url": "https://cloudflare-ipfs.com/ipfs/QmdFyTuzHnzj6Z1pRRLqjWXEbH56TBNKo3M1an21zKWCXt", 106 | "name": "CSV Airdrop", 107 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmdFyTuzHnzj6Z1pRRLqjWXEbH56TBNKo3M1an21zKWCXt/logo.svg", 108 | "description": "Upload your CSV transfer file to send arbitrarily many tokens of various amounts to a list of recipients.", 109 | "iconPath": "logo.svg", 110 | "networks": [ 111 | 1, 112 | 4, 113 | 100 114 | ] 115 | }, 116 | { 117 | "id": "{\"url\":\"https://curve.fi\",\"name\":\"Curve\"}", 118 | "url": "https://curve.fi", 119 | "name": "Curve", 120 | "iconUrl": "https://curve.fi/logo-square.svg", 121 | "description": "Decentralized exchange liquidity pool designed for extremely efficient stablecoin trading and low-risk income for liquidity providers", 122 | "iconPath": "logo-square.svg", 123 | "networks": [ 124 | 1, 125 | 137 126 | ] 127 | }, 128 | { 129 | "id": "{\"url\":\"https://app.defisaver.com/\",\"name\":\"DeFi Saver\"}", 130 | "url": "https://app.defisaver.com/", 131 | "name": "DeFi Saver", 132 | "iconUrl": "https://app.defisaver.com//assets/icons/icon-transparent.svg", 133 | "description": "The next generation DeFi management dashboard", 134 | "iconPath": "/assets/icons/icon-transparent.svg", 135 | "providedBy": { 136 | "name": "DeFi Saver", 137 | "url": "https://defisaver.com" 138 | }, 139 | "networks": [ 140 | 1 141 | ] 142 | }, 143 | { 144 | "id": "{\"url\":\"https://app.dhedge.org/\",\"name\":\"dHEDGE\"}", 145 | "url": "https://app.dhedge.org/", 146 | "name": "dHEDGE", 147 | "iconUrl": "https://app.dhedge.org/logo.svg", 148 | "description": "Decentralized asset management", 149 | "iconPath": "logo.svg", 150 | "providedBy": { 151 | "name": "dHEDGE", 152 | "url": "https://www.dhedge.org/" 153 | }, 154 | "networks": [ 155 | 1 156 | ] 157 | }, 158 | { 159 | "id": "{\"url\":\"https://app.ens.domains/\",\"name\":\"ENS App\"}", 160 | "url": "https://app.ens.domains/", 161 | "name": "ENS App", 162 | "iconUrl": "https://app.ens.domains/android-chrome-144x144.png", 163 | "description": "Decentralised naming for wallets, websites, & more.", 164 | "iconPath": "android-chrome-144x144.png", 165 | "networks": [ 166 | 1, 167 | 4 168 | ] 169 | }, 170 | { 171 | "id": "{\"url\":\"https://furucombo.app/\",\"name\":\"Furucombo\"}", 172 | "url": "https://furucombo.app/", 173 | "name": "Furucombo", 174 | "iconUrl": "https://furucombo.app/apple-touch-icon.png", 175 | "description": "Create all kinds of DeFi combo.", 176 | "iconPath": "apple-touch-icon.png", 177 | "networks": [ 178 | 1 179 | ] 180 | }, 181 | { 182 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmdCwUutYH8GXXNgTShB4cKJ8YJq4PqZ55QxMznKc9DbeS\",\"name\":\"G\"}", 183 | "url": "https://cloudflare-ipfs.com/ipfs/QmdCwUutYH8GXXNgTShB4cKJ8YJq4PqZ55QxMznKc9DbeS", 184 | "name": "Gnosis Auction Starter", 185 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmdCwUutYH8GXXNgTShB4cKJ8YJq4PqZ55QxMznKc9DbeS/logo.svg", 186 | "description": "Safe app to start new auctions on Gnosis Auction", 187 | "iconPath": "logo.svg", 188 | "networks": [ 189 | 1, 190 | 4 191 | ] 192 | }, 193 | { 194 | "id": "{\"url\":\"https://safe-cmm.gnosis.io\",\"name\":\"Gnosis Custom Market Maker\"}", 195 | "url": "https://safe-cmm.gnosis.io", 196 | "name": "Gnosis Custom Market Maker", 197 | "iconUrl": "https://safe-cmm.gnosis.io/img/appIcon.svg", 198 | "description": "Allows you to deploy, withdraw and manage your custom market maker strategies", 199 | "iconPath": "img/appIcon.svg", 200 | "networks": [ 201 | 4, 202 | 100 203 | ] 204 | }, 205 | { 206 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmTvrLwJtyjG8QFHgvqdPhcV5DBMQ7oZceSU4uvPw9vQaj\",\"name\":\"I\"}", 207 | "url": "https://cloudflare-ipfs.com/ipfs/QmTvrLwJtyjG8QFHgvqdPhcV5DBMQ7oZceSU4uvPw9vQaj", 208 | "name": "Idle v4", 209 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmTvrLwJtyjG8QFHgvqdPhcV5DBMQ7oZceSU4uvPw9vQaj/logo.svg", 210 | "description": "Always the best yield, with no effort", 211 | "iconPath": "logo.svg", 212 | "networks": [ 213 | 1, 214 | 4 215 | ] 216 | }, 217 | { 218 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/Qmde8dsa9r8bB59CNGww6LRiaZABuKaJfuzvu94hFkatJC\",\"name\":\"L\"}", 219 | "url": "https://cloudflare-ipfs.com/ipfs/Qmde8dsa9r8bB59CNGww6LRiaZABuKaJfuzvu94hFkatJC", 220 | "name": "Lido Staking", 221 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/Qmde8dsa9r8bB59CNGww6LRiaZABuKaJfuzvu94hFkatJC/logo.svg", 222 | "description": "Lido is the liquid staking solution for Ethereum.", 223 | "iconPath": "logo.svg", 224 | "providedBy": { 225 | "name": "Lido", 226 | "url": "https://lido.fi" 227 | }, 228 | "networks": [ 229 | 1 230 | ] 231 | }, 232 | { 233 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmWZDNujzAHeALnzAvmT975TejAmwWmYTpVqgZrexBAVrt\",\"name\":\"L\"}", 234 | "url": "https://cloudflare-ipfs.com/ipfs/QmWZDNujzAHeALnzAvmT975TejAmwWmYTpVqgZrexBAVrt", 235 | "name": "Liquity Frontend", 236 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmWZDNujzAHeALnzAvmT975TejAmwWmYTpVqgZrexBAVrt/logo256.png", 237 | "description": "Simple frontend with high kickback rate, hosted on Arweave and ENS for maximal decentralisation.", 238 | "iconPath": "logo256.png", 239 | "networks": [ 240 | 1, 241 | 4 242 | ] 243 | }, 244 | { 245 | "id": "{\"url\":\"https://mstable.app/\",\"name\":\"mStable\"}", 246 | "url": "https://mstable.app/", 247 | "name": "mStable", 248 | "iconUrl": "https://mstable.app/icons/mstable-logo.svg", 249 | "description": "mStable unites stablecoins, lending and swapping into one standard.", 250 | "iconPath": "icons/mstable-logo.svg", 251 | "providedBy": { 252 | "name": "mStable", 253 | "url": "https://mstable.app" 254 | }, 255 | "networks": [ 256 | 1 257 | ] 258 | }, 259 | { 260 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmT96aES2YA9BssByc6DVizQDkofmKRErs8gJyqWipjyS8\",\"name\":\"M\"}", 261 | "url": "https://cloudflare-ipfs.com/ipfs/QmT96aES2YA9BssByc6DVizQDkofmKRErs8gJyqWipjyS8", 262 | "name": "Mushrooms Finance", 263 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmT96aES2YA9BssByc6DVizQDkofmKRErs8gJyqWipjyS8/logo.png", 264 | "description": "Mushrooms Finance is a yield aggregator with focus on seeking sustainable profit", 265 | "iconPath": "logo.png", 266 | "networks": [ 267 | 1 268 | ] 269 | }, 270 | { 271 | "id": "{\"url\":\"https://paraswap.io\",\"name\":\"ParaSwap\"}", 272 | "url": "https://paraswap.io", 273 | "name": "ParaSwap", 274 | "iconUrl": "https://paraswap.io/paraswap.svg", 275 | "description": "ParaSwap allows dApps and traders to get the best DEX liquidity by aggregating multiple markets and offering the best rates", 276 | "iconPath": "paraswap.svg", 277 | "providedBy": { 278 | "name": "ParaSwap", 279 | "url": "https://paraswap.io" 280 | }, 281 | "networks": [ 282 | 1, 283 | 137, 284 | 56 285 | ] 286 | }, 287 | { 288 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmTa21pi77hiT1sLCGy5BeVwcyzExUSp2z7byxZukye8hr\",\"name\":\"P\"}", 289 | "url": "https://cloudflare-ipfs.com/ipfs/QmTa21pi77hiT1sLCGy5BeVwcyzExUSp2z7byxZukye8hr", 290 | "name": "PoolTogether", 291 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmTa21pi77hiT1sLCGy5BeVwcyzExUSp2z7byxZukye8hr/pool-together.png", 292 | "description": "No-loss lotteries on your Gnosis Safe", 293 | "iconPath": "pool-together.png", 294 | "providedBy": { 295 | "name": "Avo Labs", 296 | "url": "https://avolabs.io/" 297 | }, 298 | "networks": [ 299 | 1, 300 | 4 301 | ] 302 | }, 303 | { 304 | "id": "{\"url\":\"https://app.reflexer.finance/\",\"name\":\"Reflexer\"}", 305 | "url": "https://app.reflexer.finance/", 306 | "name": "Reflexer", 307 | "iconUrl": "https://app.reflexer.finance/logo512.png", 308 | "description": "Volatility dampened synthetic instruments", 309 | "iconPath": "logo512.png", 310 | "providedBy": { 311 | "name": "Reflexer", 312 | "url": "https://app.reflexer.finance/" 313 | }, 314 | "networks": [ 315 | 1 316 | ] 317 | }, 318 | { 319 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmTBBaiDQyGa17DJ7DdviyHbc51fTVgf6Z5PW5w2YUTkgR\",\"name\":\"R\"}", 320 | "url": "https://cloudflare-ipfs.com/ipfs/QmTBBaiDQyGa17DJ7DdviyHbc51fTVgf6Z5PW5w2YUTkgR", 321 | "name": "Request", 322 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmTBBaiDQyGa17DJ7DdviyHbc51fTVgf6Z5PW5w2YUTkgR/request_icon_green.svg", 323 | "description": "Create, receive and pay crypto invoices straight from your Gnosis Safe", 324 | "iconPath": "request_icon_green.svg", 325 | "providedBy": { 326 | "name": "Request", 327 | "url": "https://request.network" 328 | }, 329 | "networks": [ 330 | 1 331 | ] 332 | }, 333 | { 334 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmXU37CwCx4cJRnv1ArurzmiJDqwCGeKS9sTC6zR1BZkws\",\"name\":\"S\"}", 335 | "url": "https://cloudflare-ipfs.com/ipfs/QmXU37CwCx4cJRnv1ArurzmiJDqwCGeKS9sTC6zR1BZkws", 336 | "name": "Sablier", 337 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmXU37CwCx4cJRnv1ArurzmiJDqwCGeKS9sTC6zR1BZkws/logo.svg", 338 | "description": "Safe App for interacting with the Sablier protocol", 339 | "iconPath": "logo.svg", 340 | "providedBy": { 341 | "name": "Sablier", 342 | "url": "https://sablier.finance" 343 | }, 344 | "networks": [ 345 | 1, 346 | 4 347 | ] 348 | }, 349 | { 350 | "id": "{\"url\":\"https://stakewise.io\",\"name\":\"StakeWise\"}", 351 | "url": "https://stakewise.io", 352 | "name": "StakeWise", 353 | "iconUrl": "https://stakewise.io/logo192.png", 354 | "description": "Stake your ETH and manage capital flexibly with the principal and yield tokens.", 355 | "iconPath": "logo192.png", 356 | "networks": [ 357 | 1 358 | ] 359 | }, 360 | { 361 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmXLxxczMH4MBEYDeeN9zoiHDzVkeBmB5rBjA3UniPEFcA\",\"name\":\"S\"}", 362 | "url": "https://cloudflare-ipfs.com/ipfs/QmXLxxczMH4MBEYDeeN9zoiHDzVkeBmB5rBjA3UniPEFcA", 363 | "name": "Synthetix", 364 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmXLxxczMH4MBEYDeeN9zoiHDzVkeBmB5rBjA3UniPEFcA/Synthetix.png", 365 | "description": "Trade synthetic assets on Ethereum", 366 | "iconPath": "Synthetix.png", 367 | "networks": [ 368 | 1, 369 | 4 370 | ] 371 | }, 372 | { 373 | "id": "{\"url\":\"https://oasis.app\",\"name\":\"Oasis Borrow\"}", 374 | "url": "https://oasis.app", 375 | "name": "Oasis Borrow", 376 | "iconUrl": "https://oasis.app/static/img/logo.svg", 377 | "description": "Generate Dai on Oasis using crypto as your collateral", 378 | "iconPath": "static/img/logo.svg", 379 | "networks": [ 380 | 1 381 | ] 382 | }, 383 | { 384 | "id": "{\"url\":\"https://bridge.xdaichain.com/\",\"name\":\"xDai Bridge\"}", 385 | "url": "https://bridge.xdaichain.com/", 386 | "name": "xDai Bridge", 387 | "iconUrl": "https://bridge.xdaichain.com/logo.svg", 388 | "description": "App that allows you to bridge Dai to xDai and vice versa", 389 | "iconPath": "logo.svg", 390 | "networks": [ 391 | 1, 392 | 100 393 | ] 394 | }, 395 | { 396 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmQovvfYYMUXjZfNbysQDUEXR8nr55iJRwcYgJQGJR7KEA\",\"name\":\"O\"}", 397 | "url": "https://cloudflare-ipfs.com/ipfs/QmQovvfYYMUXjZfNbysQDUEXR8nr55iJRwcYgJQGJR7KEA", 398 | "name": "OpenZeppelin", 399 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmQovvfYYMUXjZfNbysQDUEXR8nr55iJRwcYgJQGJR7KEA/openzeppelin.png", 400 | "description": "Securely manage and monitor your Ethereum project.", 401 | "iconPath": "openzeppelin.png", 402 | "networks": [ 403 | 1, 404 | 4 405 | ] 406 | }, 407 | { 408 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmTJMCBZHX56z36aTUaL2QZ3rKTkzaq1CG3zhPSKb1Su3a\",\"name\":\"T\"}", 409 | "url": "https://cloudflare-ipfs.com/ipfs/QmTJMCBZHX56z36aTUaL2QZ3rKTkzaq1CG3zhPSKb1Su3a", 410 | "name": "Transaction Builder", 411 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmTJMCBZHX56z36aTUaL2QZ3rKTkzaq1CG3zhPSKb1Su3a/tx-builder.png", 412 | "description": "A Safe app to compose custom transactions", 413 | "iconPath": "tx-builder.png", 414 | "networks": [ 415 | 1, 416 | 4, 417 | 246, 418 | 73799, 419 | 100 420 | ] 421 | }, 422 | { 423 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/QmX9B982ZAaBzbm6yBoZUS3uLgcizYA6wW65RCXVRZkG6f\",\"name\":\"W\"}", 424 | "url": "https://cloudflare-ipfs.com/ipfs/QmX9B982ZAaBzbm6yBoZUS3uLgcizYA6wW65RCXVRZkG6f", 425 | "name": "WalletConnect", 426 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/QmX9B982ZAaBzbm6yBoZUS3uLgcizYA6wW65RCXVRZkG6f/wallet-connect.svg", 427 | "description": "Allows your Gnosis Safe Multisig to connect to dapps via WalletConnect.", 428 | "iconPath": "wallet-connect.svg", 429 | "networks": [ 430 | 1, 431 | 4, 432 | 246, 433 | 73799, 434 | 100 435 | ] 436 | }, 437 | { 438 | "id": "{\"url\":\"https://cloudflare-ipfs.com/ipfs/Qme9HuPPhgCtgfj1CktvaDKhTesMueGCV2Kui1Sqna3Xs9\",\"name\":\"Y\"}", 439 | "url": "https://cloudflare-ipfs.com/ipfs/Qme9HuPPhgCtgfj1CktvaDKhTesMueGCV2Kui1Sqna3Xs9", 440 | "name": "Yearn Vaults", 441 | "iconUrl": "https://cloudflare-ipfs.com/ipfs/Qme9HuPPhgCtgfj1CktvaDKhTesMueGCV2Kui1Sqna3Xs9/logo.svg", 442 | "description": "Safe App for interacting with Yearn Vaults", 443 | "iconPath": "logo.svg", 444 | "providedBy": { 445 | "name": "Yearn Finance", 446 | "url": "https://yearn.finance" 447 | }, 448 | "networks": [ 449 | 1 450 | ] 451 | }, 452 | { 453 | "id": "{\"url\":\"https://app.zerion.io\",\"name\":\"Zerion\"}", 454 | "url": "https://app.zerion.io", 455 | "name": "Zerion", 456 | "iconUrl": "https://app.zerion.io//logo.svg", 457 | "description": "Zerion — Invest in DeFi from one place", 458 | "iconPath": "/logo.svg", 459 | "providedBy": { 460 | "name": "Zerion", 461 | "url": "https://app.zerion.io" 462 | }, 463 | "networks": [ 464 | 1 465 | ] 466 | } 467 | ] 468 | } 469 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@7.12.11": 6 | version "7.12.11" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" 8 | integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/helper-validator-identifier@^7.12.11": 13 | version "7.12.11" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" 15 | integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== 16 | 17 | "@babel/highlight@^7.10.4": 18 | version "7.13.10" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" 20 | integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.12.11" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@eslint/eslintrc@^0.4.0": 27 | version "0.4.0" 28 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" 29 | integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== 30 | dependencies: 31 | ajv "^6.12.4" 32 | debug "^4.1.1" 33 | espree "^7.3.0" 34 | globals "^12.1.0" 35 | ignore "^4.0.6" 36 | import-fresh "^3.2.1" 37 | js-yaml "^3.13.1" 38 | minimatch "^3.0.4" 39 | strip-json-comments "^3.1.1" 40 | 41 | "@sindresorhus/is@^0.14.0": 42 | version "0.14.0" 43 | resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" 44 | integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== 45 | 46 | "@szmarczak/http-timer@^1.1.2": 47 | version "1.1.2" 48 | resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" 49 | integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== 50 | dependencies: 51 | defer-to-connect "^1.0.1" 52 | 53 | abbrev@1: 54 | version "1.1.1" 55 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 56 | integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== 57 | 58 | accepts@~1.3.7: 59 | version "1.3.7" 60 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" 61 | integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== 62 | dependencies: 63 | mime-types "~2.1.24" 64 | negotiator "0.6.2" 65 | 66 | acorn-jsx@^5.3.1: 67 | version "5.3.1" 68 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" 69 | integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== 70 | 71 | acorn@^7.4.0: 72 | version "7.4.1" 73 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 74 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 75 | 76 | ajv@^6.10.0, ajv@^6.12.4: 77 | version "6.12.6" 78 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 79 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 80 | dependencies: 81 | fast-deep-equal "^3.1.1" 82 | fast-json-stable-stringify "^2.0.0" 83 | json-schema-traverse "^0.4.1" 84 | uri-js "^4.2.2" 85 | 86 | ajv@^8.0.1: 87 | version "8.0.5" 88 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.0.5.tgz#f07d6fdeffcdbb80485570ce3f1bc845fcc812b9" 89 | integrity sha512-RkiLa/AeJx7+9OvniQ/qeWu0w74A8DiPPBclQ6ji3ZQkv5KamO+QGpqmi7O4JIw3rHGUXZ6CoP9tsAkn3gyazg== 90 | dependencies: 91 | fast-deep-equal "^3.1.1" 92 | json-schema-traverse "^1.0.0" 93 | require-from-string "^2.0.2" 94 | uri-js "^4.2.2" 95 | 96 | ansi-align@^3.0.0: 97 | version "3.0.0" 98 | resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" 99 | integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== 100 | dependencies: 101 | string-width "^3.0.0" 102 | 103 | ansi-colors@^4.1.1: 104 | version "4.1.1" 105 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 106 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 107 | 108 | ansi-regex@^4.1.0: 109 | version "4.1.0" 110 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 111 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 112 | 113 | ansi-regex@^5.0.0: 114 | version "5.0.0" 115 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 116 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 117 | 118 | ansi-styles@^3.2.1: 119 | version "3.2.1" 120 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 121 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 122 | dependencies: 123 | color-convert "^1.9.0" 124 | 125 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 126 | version "4.3.0" 127 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 128 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 129 | dependencies: 130 | color-convert "^2.0.1" 131 | 132 | anymatch@~3.1.1: 133 | version "3.1.1" 134 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" 135 | integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== 136 | dependencies: 137 | normalize-path "^3.0.0" 138 | picomatch "^2.0.4" 139 | 140 | argparse@^1.0.7: 141 | version "1.0.10" 142 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 143 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 144 | dependencies: 145 | sprintf-js "~1.0.2" 146 | 147 | array-flatten@1.1.1: 148 | version "1.1.1" 149 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 150 | integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= 151 | 152 | astral-regex@^2.0.0: 153 | version "2.0.0" 154 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 155 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 156 | 157 | axios@^0.21.1: 158 | version "0.21.1" 159 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" 160 | integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== 161 | dependencies: 162 | follow-redirects "^1.10.0" 163 | 164 | balanced-match@^1.0.0: 165 | version "1.0.0" 166 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 167 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 168 | 169 | binary-extensions@^2.0.0: 170 | version "2.2.0" 171 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 172 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 173 | 174 | body-parser@1.19.0: 175 | version "1.19.0" 176 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" 177 | integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== 178 | dependencies: 179 | bytes "3.1.0" 180 | content-type "~1.0.4" 181 | debug "2.6.9" 182 | depd "~1.1.2" 183 | http-errors "1.7.2" 184 | iconv-lite "0.4.24" 185 | on-finished "~2.3.0" 186 | qs "6.7.0" 187 | raw-body "2.4.0" 188 | type-is "~1.6.17" 189 | 190 | boxen@^4.2.0: 191 | version "4.2.0" 192 | resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" 193 | integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== 194 | dependencies: 195 | ansi-align "^3.0.0" 196 | camelcase "^5.3.1" 197 | chalk "^3.0.0" 198 | cli-boxes "^2.2.0" 199 | string-width "^4.1.0" 200 | term-size "^2.1.0" 201 | type-fest "^0.8.1" 202 | widest-line "^3.1.0" 203 | 204 | brace-expansion@^1.1.7: 205 | version "1.1.11" 206 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 207 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 208 | dependencies: 209 | balanced-match "^1.0.0" 210 | concat-map "0.0.1" 211 | 212 | braces@~3.0.2: 213 | version "3.0.2" 214 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 215 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 216 | dependencies: 217 | fill-range "^7.0.1" 218 | 219 | bytes@3.1.0: 220 | version "3.1.0" 221 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" 222 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== 223 | 224 | cacheable-request@^6.0.0: 225 | version "6.1.0" 226 | resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" 227 | integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== 228 | dependencies: 229 | clone-response "^1.0.2" 230 | get-stream "^5.1.0" 231 | http-cache-semantics "^4.0.0" 232 | keyv "^3.0.0" 233 | lowercase-keys "^2.0.0" 234 | normalize-url "^4.1.0" 235 | responselike "^1.0.2" 236 | 237 | call-bind@^1.0.0: 238 | version "1.0.2" 239 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 240 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 241 | dependencies: 242 | function-bind "^1.1.1" 243 | get-intrinsic "^1.0.2" 244 | 245 | callsites@^3.0.0: 246 | version "3.1.0" 247 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 248 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 249 | 250 | camelcase@^5.3.1: 251 | version "5.3.1" 252 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 253 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 254 | 255 | chalk@^2.0.0: 256 | version "2.4.2" 257 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 258 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 259 | dependencies: 260 | ansi-styles "^3.2.1" 261 | escape-string-regexp "^1.0.5" 262 | supports-color "^5.3.0" 263 | 264 | chalk@^3.0.0: 265 | version "3.0.0" 266 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" 267 | integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== 268 | dependencies: 269 | ansi-styles "^4.1.0" 270 | supports-color "^7.1.0" 271 | 272 | chalk@^4.0.0: 273 | version "4.1.0" 274 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" 275 | integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== 276 | dependencies: 277 | ansi-styles "^4.1.0" 278 | supports-color "^7.1.0" 279 | 280 | chokidar@^3.2.2: 281 | version "3.5.1" 282 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" 283 | integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== 284 | dependencies: 285 | anymatch "~3.1.1" 286 | braces "~3.0.2" 287 | glob-parent "~5.1.0" 288 | is-binary-path "~2.1.0" 289 | is-glob "~4.0.1" 290 | normalize-path "~3.0.0" 291 | readdirp "~3.5.0" 292 | optionalDependencies: 293 | fsevents "~2.3.1" 294 | 295 | ci-info@^2.0.0: 296 | version "2.0.0" 297 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 298 | integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 299 | 300 | cli-boxes@^2.2.0: 301 | version "2.2.1" 302 | resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" 303 | integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== 304 | 305 | clone-response@^1.0.2: 306 | version "1.0.2" 307 | resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" 308 | integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= 309 | dependencies: 310 | mimic-response "^1.0.0" 311 | 312 | color-convert@^1.9.0: 313 | version "1.9.3" 314 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 315 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 316 | dependencies: 317 | color-name "1.1.3" 318 | 319 | color-convert@^2.0.1: 320 | version "2.0.1" 321 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 322 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 323 | dependencies: 324 | color-name "~1.1.4" 325 | 326 | color-name@1.1.3: 327 | version "1.1.3" 328 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 329 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 330 | 331 | color-name@~1.1.4: 332 | version "1.1.4" 333 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 334 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 335 | 336 | concat-map@0.0.1: 337 | version "0.0.1" 338 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 339 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 340 | 341 | configstore@^5.0.1: 342 | version "5.0.1" 343 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" 344 | integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== 345 | dependencies: 346 | dot-prop "^5.2.0" 347 | graceful-fs "^4.1.2" 348 | make-dir "^3.0.0" 349 | unique-string "^2.0.0" 350 | write-file-atomic "^3.0.0" 351 | xdg-basedir "^4.0.0" 352 | 353 | content-disposition@0.5.3: 354 | version "0.5.3" 355 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" 356 | integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== 357 | dependencies: 358 | safe-buffer "5.1.2" 359 | 360 | content-type@~1.0.4: 361 | version "1.0.4" 362 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 363 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 364 | 365 | cookie-signature@1.0.6: 366 | version "1.0.6" 367 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 368 | integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= 369 | 370 | cookie@0.4.0: 371 | version "0.4.0" 372 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" 373 | integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== 374 | 375 | cors@^2.8.5: 376 | version "2.8.5" 377 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" 378 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== 379 | dependencies: 380 | object-assign "^4" 381 | vary "^1" 382 | 383 | cross-env@^7.0.3: 384 | version "7.0.3" 385 | resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" 386 | integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== 387 | dependencies: 388 | cross-spawn "^7.0.1" 389 | 390 | cross-spawn@^7.0.1, cross-spawn@^7.0.2: 391 | version "7.0.3" 392 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 393 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 394 | dependencies: 395 | path-key "^3.1.0" 396 | shebang-command "^2.0.0" 397 | which "^2.0.1" 398 | 399 | crypto-random-string@^2.0.0: 400 | version "2.0.0" 401 | resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" 402 | integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== 403 | 404 | debug@2.6.9, debug@^2.2.0: 405 | version "2.6.9" 406 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 407 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 408 | dependencies: 409 | ms "2.0.0" 410 | 411 | debug@^3.2.6: 412 | version "3.2.7" 413 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 414 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 415 | dependencies: 416 | ms "^2.1.1" 417 | 418 | debug@^4.0.1, debug@^4.1.1: 419 | version "4.3.1" 420 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" 421 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== 422 | dependencies: 423 | ms "2.1.2" 424 | 425 | decompress-response@^3.3.0: 426 | version "3.3.0" 427 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" 428 | integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= 429 | dependencies: 430 | mimic-response "^1.0.0" 431 | 432 | deep-extend@^0.6.0: 433 | version "0.6.0" 434 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 435 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 436 | 437 | deep-is@^0.1.3: 438 | version "0.1.3" 439 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 440 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 441 | 442 | defer-to-connect@^1.0.1: 443 | version "1.1.3" 444 | resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" 445 | integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== 446 | 447 | depd@~1.1.2: 448 | version "1.1.2" 449 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 450 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 451 | 452 | destroy@~1.0.4: 453 | version "1.0.4" 454 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 455 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= 456 | 457 | doctrine@^3.0.0: 458 | version "3.0.0" 459 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 460 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 461 | dependencies: 462 | esutils "^2.0.2" 463 | 464 | dot-prop@^5.2.0: 465 | version "5.3.0" 466 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" 467 | integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== 468 | dependencies: 469 | is-obj "^2.0.0" 470 | 471 | dotenv@^8.2.0: 472 | version "8.2.0" 473 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" 474 | integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== 475 | 476 | duplexer3@^0.1.4: 477 | version "0.1.4" 478 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" 479 | integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= 480 | 481 | ee-first@1.1.1: 482 | version "1.1.1" 483 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 484 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= 485 | 486 | emoji-regex@^7.0.1: 487 | version "7.0.3" 488 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 489 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 490 | 491 | emoji-regex@^8.0.0: 492 | version "8.0.0" 493 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 494 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 495 | 496 | encodeurl@~1.0.2: 497 | version "1.0.2" 498 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 499 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= 500 | 501 | end-of-stream@^1.1.0: 502 | version "1.4.4" 503 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 504 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 505 | dependencies: 506 | once "^1.4.0" 507 | 508 | enquirer@^2.3.5: 509 | version "2.3.6" 510 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" 511 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 512 | dependencies: 513 | ansi-colors "^4.1.1" 514 | 515 | escape-goat@^2.0.0: 516 | version "2.1.1" 517 | resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" 518 | integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== 519 | 520 | escape-html@~1.0.3: 521 | version "1.0.3" 522 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 523 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 524 | 525 | escape-string-regexp@^1.0.5: 526 | version "1.0.5" 527 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 528 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 529 | 530 | eslint-plugin-prettier@^3.3.1: 531 | version "3.3.1" 532 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz#7079cfa2497078905011e6f82e8dd8453d1371b7" 533 | integrity sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ== 534 | dependencies: 535 | prettier-linter-helpers "^1.0.0" 536 | 537 | eslint-scope@^5.1.1: 538 | version "5.1.1" 539 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 540 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 541 | dependencies: 542 | esrecurse "^4.3.0" 543 | estraverse "^4.1.1" 544 | 545 | eslint-utils@^2.1.0: 546 | version "2.1.0" 547 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" 548 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== 549 | dependencies: 550 | eslint-visitor-keys "^1.1.0" 551 | 552 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: 553 | version "1.3.0" 554 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" 555 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== 556 | 557 | eslint-visitor-keys@^2.0.0: 558 | version "2.0.0" 559 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" 560 | integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== 561 | 562 | eslint@^7.23.0: 563 | version "7.23.0" 564 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.23.0.tgz#8d029d252f6e8cf45894b4bee08f5493f8e94325" 565 | integrity sha512-kqvNVbdkjzpFy0XOszNwjkKzZ+6TcwCQ/h+ozlcIWwaimBBuhlQ4nN6kbiM2L+OjDcznkTJxzYfRFH92sx4a0Q== 566 | dependencies: 567 | "@babel/code-frame" "7.12.11" 568 | "@eslint/eslintrc" "^0.4.0" 569 | ajv "^6.10.0" 570 | chalk "^4.0.0" 571 | cross-spawn "^7.0.2" 572 | debug "^4.0.1" 573 | doctrine "^3.0.0" 574 | enquirer "^2.3.5" 575 | eslint-scope "^5.1.1" 576 | eslint-utils "^2.1.0" 577 | eslint-visitor-keys "^2.0.0" 578 | espree "^7.3.1" 579 | esquery "^1.4.0" 580 | esutils "^2.0.2" 581 | file-entry-cache "^6.0.1" 582 | functional-red-black-tree "^1.0.1" 583 | glob-parent "^5.0.0" 584 | globals "^13.6.0" 585 | ignore "^4.0.6" 586 | import-fresh "^3.0.0" 587 | imurmurhash "^0.1.4" 588 | is-glob "^4.0.0" 589 | js-yaml "^3.13.1" 590 | json-stable-stringify-without-jsonify "^1.0.1" 591 | levn "^0.4.1" 592 | lodash "^4.17.21" 593 | minimatch "^3.0.4" 594 | natural-compare "^1.4.0" 595 | optionator "^0.9.1" 596 | progress "^2.0.0" 597 | regexpp "^3.1.0" 598 | semver "^7.2.1" 599 | strip-ansi "^6.0.0" 600 | strip-json-comments "^3.1.0" 601 | table "^6.0.4" 602 | text-table "^0.2.0" 603 | v8-compile-cache "^2.0.3" 604 | 605 | espree@^7.3.0, espree@^7.3.1: 606 | version "7.3.1" 607 | resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" 608 | integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== 609 | dependencies: 610 | acorn "^7.4.0" 611 | acorn-jsx "^5.3.1" 612 | eslint-visitor-keys "^1.3.0" 613 | 614 | esprima@^4.0.0: 615 | version "4.0.1" 616 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 617 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 618 | 619 | esquery@^1.4.0: 620 | version "1.4.0" 621 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 622 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 623 | dependencies: 624 | estraverse "^5.1.0" 625 | 626 | esrecurse@^4.3.0: 627 | version "4.3.0" 628 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 629 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 630 | dependencies: 631 | estraverse "^5.2.0" 632 | 633 | estraverse@^4.1.1: 634 | version "4.3.0" 635 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 636 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 637 | 638 | estraverse@^5.1.0, estraverse@^5.2.0: 639 | version "5.2.0" 640 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" 641 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 642 | 643 | esutils@^2.0.2: 644 | version "2.0.3" 645 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 646 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 647 | 648 | etag@~1.8.1: 649 | version "1.8.1" 650 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 651 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 652 | 653 | express@^4.17.1: 654 | version "4.17.1" 655 | resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" 656 | integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== 657 | dependencies: 658 | accepts "~1.3.7" 659 | array-flatten "1.1.1" 660 | body-parser "1.19.0" 661 | content-disposition "0.5.3" 662 | content-type "~1.0.4" 663 | cookie "0.4.0" 664 | cookie-signature "1.0.6" 665 | debug "2.6.9" 666 | depd "~1.1.2" 667 | encodeurl "~1.0.2" 668 | escape-html "~1.0.3" 669 | etag "~1.8.1" 670 | finalhandler "~1.1.2" 671 | fresh "0.5.2" 672 | merge-descriptors "1.0.1" 673 | methods "~1.1.2" 674 | on-finished "~2.3.0" 675 | parseurl "~1.3.3" 676 | path-to-regexp "0.1.7" 677 | proxy-addr "~2.0.5" 678 | qs "6.7.0" 679 | range-parser "~1.2.1" 680 | safe-buffer "5.1.2" 681 | send "0.17.1" 682 | serve-static "1.14.1" 683 | setprototypeof "1.1.1" 684 | statuses "~1.5.0" 685 | type-is "~1.6.18" 686 | utils-merge "1.0.1" 687 | vary "~1.1.2" 688 | 689 | fast-deep-equal@^3.1.1: 690 | version "3.1.3" 691 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 692 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 693 | 694 | fast-diff@^1.1.2: 695 | version "1.2.0" 696 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" 697 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 698 | 699 | fast-json-stable-stringify@^2.0.0: 700 | version "2.1.0" 701 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 702 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 703 | 704 | fast-levenshtein@^2.0.6: 705 | version "2.0.6" 706 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 707 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 708 | 709 | file-entry-cache@^6.0.1: 710 | version "6.0.1" 711 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 712 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 713 | dependencies: 714 | flat-cache "^3.0.4" 715 | 716 | fill-range@^7.0.1: 717 | version "7.0.1" 718 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 719 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 720 | dependencies: 721 | to-regex-range "^5.0.1" 722 | 723 | finalhandler@~1.1.2: 724 | version "1.1.2" 725 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" 726 | integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== 727 | dependencies: 728 | debug "2.6.9" 729 | encodeurl "~1.0.2" 730 | escape-html "~1.0.3" 731 | on-finished "~2.3.0" 732 | parseurl "~1.3.3" 733 | statuses "~1.5.0" 734 | unpipe "~1.0.0" 735 | 736 | flat-cache@^3.0.4: 737 | version "3.0.4" 738 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 739 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 740 | dependencies: 741 | flatted "^3.1.0" 742 | rimraf "^3.0.2" 743 | 744 | flatted@^3.1.0: 745 | version "3.1.1" 746 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" 747 | integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== 748 | 749 | follow-redirects@^1.10.0: 750 | version "1.13.3" 751 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267" 752 | integrity sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA== 753 | 754 | forwarded@~0.1.2: 755 | version "0.1.2" 756 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 757 | integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= 758 | 759 | fresh@0.5.2: 760 | version "0.5.2" 761 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 762 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= 763 | 764 | fs.realpath@^1.0.0: 765 | version "1.0.0" 766 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 767 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 768 | 769 | fsevents@~2.3.1: 770 | version "2.3.2" 771 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 772 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 773 | 774 | function-bind@^1.1.1: 775 | version "1.1.1" 776 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 777 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 778 | 779 | functional-red-black-tree@^1.0.1: 780 | version "1.0.1" 781 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 782 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 783 | 784 | get-intrinsic@^1.0.2: 785 | version "1.1.1" 786 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 787 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 788 | dependencies: 789 | function-bind "^1.1.1" 790 | has "^1.0.3" 791 | has-symbols "^1.0.1" 792 | 793 | get-stream@^4.1.0: 794 | version "4.1.0" 795 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 796 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 797 | dependencies: 798 | pump "^3.0.0" 799 | 800 | get-stream@^5.1.0: 801 | version "5.2.0" 802 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" 803 | integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== 804 | dependencies: 805 | pump "^3.0.0" 806 | 807 | glob-parent@^5.0.0, glob-parent@~5.1.0: 808 | version "5.1.2" 809 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 810 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 811 | dependencies: 812 | is-glob "^4.0.1" 813 | 814 | glob@^7.1.3: 815 | version "7.1.6" 816 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 817 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 818 | dependencies: 819 | fs.realpath "^1.0.0" 820 | inflight "^1.0.4" 821 | inherits "2" 822 | minimatch "^3.0.4" 823 | once "^1.3.0" 824 | path-is-absolute "^1.0.0" 825 | 826 | global-dirs@^2.0.1: 827 | version "2.1.0" 828 | resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" 829 | integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== 830 | dependencies: 831 | ini "1.3.7" 832 | 833 | globals@^12.1.0: 834 | version "12.4.0" 835 | resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" 836 | integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== 837 | dependencies: 838 | type-fest "^0.8.1" 839 | 840 | globals@^13.6.0: 841 | version "13.7.0" 842 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.7.0.tgz#aed3bcefd80ad3ec0f0be2cf0c895110c0591795" 843 | integrity sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA== 844 | dependencies: 845 | type-fest "^0.20.2" 846 | 847 | got@^9.6.0: 848 | version "9.6.0" 849 | resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" 850 | integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== 851 | dependencies: 852 | "@sindresorhus/is" "^0.14.0" 853 | "@szmarczak/http-timer" "^1.1.2" 854 | cacheable-request "^6.0.0" 855 | decompress-response "^3.3.0" 856 | duplexer3 "^0.1.4" 857 | get-stream "^4.1.0" 858 | lowercase-keys "^1.0.1" 859 | mimic-response "^1.0.1" 860 | p-cancelable "^1.0.0" 861 | to-readable-stream "^1.0.0" 862 | url-parse-lax "^3.0.0" 863 | 864 | graceful-fs@^4.1.2: 865 | version "4.2.6" 866 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" 867 | integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== 868 | 869 | has-flag@^3.0.0: 870 | version "3.0.0" 871 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 872 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 873 | 874 | has-flag@^4.0.0: 875 | version "4.0.0" 876 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 877 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 878 | 879 | has-symbols@^1.0.1: 880 | version "1.0.2" 881 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 882 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 883 | 884 | has-yarn@^2.1.0: 885 | version "2.1.0" 886 | resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" 887 | integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== 888 | 889 | has@^1.0.3: 890 | version "1.0.3" 891 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 892 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 893 | dependencies: 894 | function-bind "^1.1.1" 895 | 896 | http-cache-semantics@^4.0.0: 897 | version "4.1.0" 898 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" 899 | integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== 900 | 901 | http-errors@1.7.2: 902 | version "1.7.2" 903 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" 904 | integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== 905 | dependencies: 906 | depd "~1.1.2" 907 | inherits "2.0.3" 908 | setprototypeof "1.1.1" 909 | statuses ">= 1.5.0 < 2" 910 | toidentifier "1.0.0" 911 | 912 | http-errors@~1.7.2: 913 | version "1.7.3" 914 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" 915 | integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== 916 | dependencies: 917 | depd "~1.1.2" 918 | inherits "2.0.4" 919 | setprototypeof "1.1.1" 920 | statuses ">= 1.5.0 < 2" 921 | toidentifier "1.0.0" 922 | 923 | iconv-lite@0.4.24: 924 | version "0.4.24" 925 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 926 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 927 | dependencies: 928 | safer-buffer ">= 2.1.2 < 3" 929 | 930 | ignore-by-default@^1.0.1: 931 | version "1.0.1" 932 | resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" 933 | integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= 934 | 935 | ignore@^4.0.6: 936 | version "4.0.6" 937 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 938 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 939 | 940 | import-fresh@^3.0.0, import-fresh@^3.2.1: 941 | version "3.3.0" 942 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 943 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 944 | dependencies: 945 | parent-module "^1.0.0" 946 | resolve-from "^4.0.0" 947 | 948 | import-lazy@^2.1.0: 949 | version "2.1.0" 950 | resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" 951 | integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= 952 | 953 | imurmurhash@^0.1.4: 954 | version "0.1.4" 955 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 956 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 957 | 958 | inflight@^1.0.4: 959 | version "1.0.6" 960 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 961 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 962 | dependencies: 963 | once "^1.3.0" 964 | wrappy "1" 965 | 966 | inherits@2, inherits@2.0.4: 967 | version "2.0.4" 968 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 969 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 970 | 971 | inherits@2.0.3: 972 | version "2.0.3" 973 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 974 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 975 | 976 | ini@1.3.7: 977 | version "1.3.7" 978 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" 979 | integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== 980 | 981 | ini@~1.3.0: 982 | version "1.3.8" 983 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" 984 | integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 985 | 986 | ipaddr.js@1.9.1: 987 | version "1.9.1" 988 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 989 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 990 | 991 | is-binary-path@~2.1.0: 992 | version "2.1.0" 993 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 994 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 995 | dependencies: 996 | binary-extensions "^2.0.0" 997 | 998 | is-boolean-object@^1.1.0: 999 | version "1.1.0" 1000 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" 1001 | integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== 1002 | dependencies: 1003 | call-bind "^1.0.0" 1004 | 1005 | is-ci@^2.0.0: 1006 | version "2.0.0" 1007 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 1008 | integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== 1009 | dependencies: 1010 | ci-info "^2.0.0" 1011 | 1012 | is-extglob@^2.1.1: 1013 | version "2.1.1" 1014 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1015 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1016 | 1017 | is-fullwidth-code-point@^2.0.0: 1018 | version "2.0.0" 1019 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1020 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 1021 | 1022 | is-fullwidth-code-point@^3.0.0: 1023 | version "3.0.0" 1024 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1025 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1026 | 1027 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: 1028 | version "4.0.1" 1029 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1030 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 1031 | dependencies: 1032 | is-extglob "^2.1.1" 1033 | 1034 | is-installed-globally@^0.3.1: 1035 | version "0.3.2" 1036 | resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" 1037 | integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== 1038 | dependencies: 1039 | global-dirs "^2.0.1" 1040 | is-path-inside "^3.0.1" 1041 | 1042 | is-npm@^4.0.0: 1043 | version "4.0.0" 1044 | resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" 1045 | integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== 1046 | 1047 | is-number-object@^1.0.4: 1048 | version "1.0.4" 1049 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" 1050 | integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== 1051 | 1052 | is-number@^7.0.0: 1053 | version "7.0.0" 1054 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1055 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1056 | 1057 | is-obj@^2.0.0: 1058 | version "2.0.0" 1059 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" 1060 | integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== 1061 | 1062 | is-path-inside@^3.0.1: 1063 | version "3.0.3" 1064 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 1065 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 1066 | 1067 | is-string@^1.0.5: 1068 | version "1.0.5" 1069 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" 1070 | integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== 1071 | 1072 | is-typedarray@^1.0.0: 1073 | version "1.0.0" 1074 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1075 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 1076 | 1077 | is-yarn-global@^0.3.0: 1078 | version "0.3.0" 1079 | resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" 1080 | integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== 1081 | 1082 | isexe@^2.0.0: 1083 | version "2.0.0" 1084 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1085 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1086 | 1087 | js-tokens@^4.0.0: 1088 | version "4.0.0" 1089 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1090 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1091 | 1092 | js-yaml@^3.13.1: 1093 | version "3.14.1" 1094 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1095 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1096 | dependencies: 1097 | argparse "^1.0.7" 1098 | esprima "^4.0.0" 1099 | 1100 | json-buffer@3.0.0: 1101 | version "3.0.0" 1102 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" 1103 | integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= 1104 | 1105 | json-schema-traverse@^0.4.1: 1106 | version "0.4.1" 1107 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1108 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1109 | 1110 | json-schema-traverse@^1.0.0: 1111 | version "1.0.0" 1112 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" 1113 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== 1114 | 1115 | json-stable-stringify-without-jsonify@^1.0.1: 1116 | version "1.0.1" 1117 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1118 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1119 | 1120 | keyv@^3.0.0: 1121 | version "3.1.0" 1122 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" 1123 | integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== 1124 | dependencies: 1125 | json-buffer "3.0.0" 1126 | 1127 | latest-version@^5.0.0: 1128 | version "5.1.0" 1129 | resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" 1130 | integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== 1131 | dependencies: 1132 | package-json "^6.3.0" 1133 | 1134 | levn@^0.4.1: 1135 | version "0.4.1" 1136 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1137 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1138 | dependencies: 1139 | prelude-ls "^1.2.1" 1140 | type-check "~0.4.0" 1141 | 1142 | lodash.clonedeep@^4.5.0: 1143 | version "4.5.0" 1144 | resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" 1145 | integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= 1146 | 1147 | lodash.flatten@^4.4.0: 1148 | version "4.4.0" 1149 | resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" 1150 | integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= 1151 | 1152 | lodash.truncate@^4.4.2: 1153 | version "4.4.2" 1154 | resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" 1155 | integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= 1156 | 1157 | lodash@^4.17.21: 1158 | version "4.17.21" 1159 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1160 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1161 | 1162 | lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: 1163 | version "1.0.1" 1164 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" 1165 | integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== 1166 | 1167 | lowercase-keys@^2.0.0: 1168 | version "2.0.0" 1169 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" 1170 | integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== 1171 | 1172 | lru-cache@^6.0.0: 1173 | version "6.0.0" 1174 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1175 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1176 | dependencies: 1177 | yallist "^4.0.0" 1178 | 1179 | make-dir@^3.0.0: 1180 | version "3.1.0" 1181 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 1182 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 1183 | dependencies: 1184 | semver "^6.0.0" 1185 | 1186 | media-typer@0.3.0: 1187 | version "0.3.0" 1188 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1189 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= 1190 | 1191 | merge-descriptors@1.0.1: 1192 | version "1.0.1" 1193 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1194 | integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= 1195 | 1196 | methods@~1.1.2: 1197 | version "1.1.2" 1198 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1199 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= 1200 | 1201 | mime-db@1.47.0: 1202 | version "1.47.0" 1203 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" 1204 | integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== 1205 | 1206 | mime-types@~2.1.24: 1207 | version "2.1.30" 1208 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d" 1209 | integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg== 1210 | dependencies: 1211 | mime-db "1.47.0" 1212 | 1213 | mime@1.6.0: 1214 | version "1.6.0" 1215 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1216 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1217 | 1218 | mimic-response@^1.0.0, mimic-response@^1.0.1: 1219 | version "1.0.1" 1220 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" 1221 | integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== 1222 | 1223 | minimatch@^3.0.4: 1224 | version "3.0.4" 1225 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1226 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1227 | dependencies: 1228 | brace-expansion "^1.1.7" 1229 | 1230 | minimist@^1.2.0: 1231 | version "1.2.5" 1232 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1233 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1234 | 1235 | ms@2.0.0: 1236 | version "2.0.0" 1237 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1238 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1239 | 1240 | ms@2.1.1: 1241 | version "2.1.1" 1242 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 1243 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 1244 | 1245 | ms@2.1.2: 1246 | version "2.1.2" 1247 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1248 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1249 | 1250 | ms@^2.1.1: 1251 | version "2.1.3" 1252 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1253 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1254 | 1255 | natural-compare@^1.4.0: 1256 | version "1.4.0" 1257 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1258 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1259 | 1260 | negotiator@0.6.2: 1261 | version "0.6.2" 1262 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" 1263 | integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== 1264 | 1265 | nodemon@^2.0.7: 1266 | version "2.0.7" 1267 | resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.7.tgz#6f030a0a0ebe3ea1ba2a38f71bf9bab4841ced32" 1268 | integrity sha512-XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA== 1269 | dependencies: 1270 | chokidar "^3.2.2" 1271 | debug "^3.2.6" 1272 | ignore-by-default "^1.0.1" 1273 | minimatch "^3.0.4" 1274 | pstree.remy "^1.1.7" 1275 | semver "^5.7.1" 1276 | supports-color "^5.5.0" 1277 | touch "^3.1.0" 1278 | undefsafe "^2.0.3" 1279 | update-notifier "^4.1.0" 1280 | 1281 | nopt@~1.0.10: 1282 | version "1.0.10" 1283 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" 1284 | integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= 1285 | dependencies: 1286 | abbrev "1" 1287 | 1288 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1289 | version "3.0.0" 1290 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1291 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1292 | 1293 | normalize-url@^4.1.0: 1294 | version "4.5.0" 1295 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" 1296 | integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== 1297 | 1298 | object-assign@^4: 1299 | version "4.1.1" 1300 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1301 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1302 | 1303 | on-finished@~2.3.0: 1304 | version "2.3.0" 1305 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 1306 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= 1307 | dependencies: 1308 | ee-first "1.1.1" 1309 | 1310 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 1311 | version "1.4.0" 1312 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1313 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1314 | dependencies: 1315 | wrappy "1" 1316 | 1317 | optionator@^0.9.1: 1318 | version "0.9.1" 1319 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 1320 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 1321 | dependencies: 1322 | deep-is "^0.1.3" 1323 | fast-levenshtein "^2.0.6" 1324 | levn "^0.4.1" 1325 | prelude-ls "^1.2.1" 1326 | type-check "^0.4.0" 1327 | word-wrap "^1.2.3" 1328 | 1329 | p-cancelable@^1.0.0: 1330 | version "1.1.0" 1331 | resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" 1332 | integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== 1333 | 1334 | package-json@^6.3.0: 1335 | version "6.5.0" 1336 | resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" 1337 | integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== 1338 | dependencies: 1339 | got "^9.6.0" 1340 | registry-auth-token "^4.0.0" 1341 | registry-url "^5.0.0" 1342 | semver "^6.2.0" 1343 | 1344 | parent-module@^1.0.0: 1345 | version "1.0.1" 1346 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1347 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1348 | dependencies: 1349 | callsites "^3.0.0" 1350 | 1351 | parseurl@~1.3.3: 1352 | version "1.3.3" 1353 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 1354 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 1355 | 1356 | path-is-absolute@^1.0.0: 1357 | version "1.0.1" 1358 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1359 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1360 | 1361 | path-key@^3.1.0: 1362 | version "3.1.1" 1363 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1364 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1365 | 1366 | path-to-regexp@0.1.7: 1367 | version "0.1.7" 1368 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 1369 | integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= 1370 | 1371 | picomatch@^2.0.4, picomatch@^2.2.1: 1372 | version "2.2.2" 1373 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" 1374 | integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== 1375 | 1376 | prelude-ls@^1.2.1: 1377 | version "1.2.1" 1378 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 1379 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1380 | 1381 | prepend-http@^2.0.0: 1382 | version "2.0.0" 1383 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" 1384 | integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= 1385 | 1386 | prettier-linter-helpers@^1.0.0: 1387 | version "1.0.0" 1388 | resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" 1389 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 1390 | dependencies: 1391 | fast-diff "^1.1.2" 1392 | 1393 | prettier@^2.2.1: 1394 | version "2.2.1" 1395 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" 1396 | integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== 1397 | 1398 | progress@^2.0.0: 1399 | version "2.0.3" 1400 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 1401 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 1402 | 1403 | proxy-addr@~2.0.5: 1404 | version "2.0.6" 1405 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" 1406 | integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== 1407 | dependencies: 1408 | forwarded "~0.1.2" 1409 | ipaddr.js "1.9.1" 1410 | 1411 | pstree.remy@^1.1.7: 1412 | version "1.1.8" 1413 | resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" 1414 | integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== 1415 | 1416 | pump@^3.0.0: 1417 | version "3.0.0" 1418 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 1419 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 1420 | dependencies: 1421 | end-of-stream "^1.1.0" 1422 | once "^1.3.1" 1423 | 1424 | punycode@^2.1.0: 1425 | version "2.1.1" 1426 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1427 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1428 | 1429 | pupa@^2.0.1: 1430 | version "2.1.1" 1431 | resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" 1432 | integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== 1433 | dependencies: 1434 | escape-goat "^2.0.0" 1435 | 1436 | qs@6.7.0: 1437 | version "6.7.0" 1438 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" 1439 | integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== 1440 | 1441 | range-parser@~1.2.1: 1442 | version "1.2.1" 1443 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 1444 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 1445 | 1446 | raw-body@2.4.0: 1447 | version "2.4.0" 1448 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" 1449 | integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== 1450 | dependencies: 1451 | bytes "3.1.0" 1452 | http-errors "1.7.2" 1453 | iconv-lite "0.4.24" 1454 | unpipe "1.0.0" 1455 | 1456 | rc@^1.2.8: 1457 | version "1.2.8" 1458 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 1459 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 1460 | dependencies: 1461 | deep-extend "^0.6.0" 1462 | ini "~1.3.0" 1463 | minimist "^1.2.0" 1464 | strip-json-comments "~2.0.1" 1465 | 1466 | readdirp@~3.5.0: 1467 | version "3.5.0" 1468 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" 1469 | integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== 1470 | dependencies: 1471 | picomatch "^2.2.1" 1472 | 1473 | regexpp@^3.1.0: 1474 | version "3.1.0" 1475 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" 1476 | integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== 1477 | 1478 | registry-auth-token@^4.0.0: 1479 | version "4.2.1" 1480 | resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" 1481 | integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== 1482 | dependencies: 1483 | rc "^1.2.8" 1484 | 1485 | registry-url@^5.0.0: 1486 | version "5.1.0" 1487 | resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" 1488 | integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== 1489 | dependencies: 1490 | rc "^1.2.8" 1491 | 1492 | require-from-string@^2.0.2: 1493 | version "2.0.2" 1494 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" 1495 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== 1496 | 1497 | resolve-from@^4.0.0: 1498 | version "4.0.0" 1499 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1500 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1501 | 1502 | responselike@^1.0.2: 1503 | version "1.0.2" 1504 | resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" 1505 | integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= 1506 | dependencies: 1507 | lowercase-keys "^1.0.0" 1508 | 1509 | rimraf@^3.0.2: 1510 | version "3.0.2" 1511 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1512 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1513 | dependencies: 1514 | glob "^7.1.3" 1515 | 1516 | safe-buffer@5.1.2: 1517 | version "5.1.2" 1518 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1519 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1520 | 1521 | "safer-buffer@>= 2.1.2 < 3": 1522 | version "2.1.2" 1523 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1524 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1525 | 1526 | semver-diff@^3.1.1: 1527 | version "3.1.1" 1528 | resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" 1529 | integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== 1530 | dependencies: 1531 | semver "^6.3.0" 1532 | 1533 | semver@^5.7.1: 1534 | version "5.7.1" 1535 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1536 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1537 | 1538 | semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: 1539 | version "6.3.0" 1540 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1541 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1542 | 1543 | semver@^7.2.1: 1544 | version "7.3.5" 1545 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" 1546 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 1547 | dependencies: 1548 | lru-cache "^6.0.0" 1549 | 1550 | send@0.17.1: 1551 | version "0.17.1" 1552 | resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" 1553 | integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== 1554 | dependencies: 1555 | debug "2.6.9" 1556 | depd "~1.1.2" 1557 | destroy "~1.0.4" 1558 | encodeurl "~1.0.2" 1559 | escape-html "~1.0.3" 1560 | etag "~1.8.1" 1561 | fresh "0.5.2" 1562 | http-errors "~1.7.2" 1563 | mime "1.6.0" 1564 | ms "2.1.1" 1565 | on-finished "~2.3.0" 1566 | range-parser "~1.2.1" 1567 | statuses "~1.5.0" 1568 | 1569 | serve-static@1.14.1: 1570 | version "1.14.1" 1571 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" 1572 | integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== 1573 | dependencies: 1574 | encodeurl "~1.0.2" 1575 | escape-html "~1.0.3" 1576 | parseurl "~1.3.3" 1577 | send "0.17.1" 1578 | 1579 | setprototypeof@1.1.1: 1580 | version "1.1.1" 1581 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" 1582 | integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== 1583 | 1584 | shebang-command@^2.0.0: 1585 | version "2.0.0" 1586 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1587 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1588 | dependencies: 1589 | shebang-regex "^3.0.0" 1590 | 1591 | shebang-regex@^3.0.0: 1592 | version "3.0.0" 1593 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1594 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1595 | 1596 | signal-exit@^3.0.2: 1597 | version "3.0.3" 1598 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 1599 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 1600 | 1601 | slice-ansi@^4.0.0: 1602 | version "4.0.0" 1603 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" 1604 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 1605 | dependencies: 1606 | ansi-styles "^4.0.0" 1607 | astral-regex "^2.0.0" 1608 | is-fullwidth-code-point "^3.0.0" 1609 | 1610 | sprintf-js@~1.0.2: 1611 | version "1.0.3" 1612 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1613 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1614 | 1615 | "statuses@>= 1.5.0 < 2", statuses@~1.5.0: 1616 | version "1.5.0" 1617 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1618 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 1619 | 1620 | string-width@^3.0.0: 1621 | version "3.1.0" 1622 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 1623 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 1624 | dependencies: 1625 | emoji-regex "^7.0.1" 1626 | is-fullwidth-code-point "^2.0.0" 1627 | strip-ansi "^5.1.0" 1628 | 1629 | string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: 1630 | version "4.2.2" 1631 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" 1632 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== 1633 | dependencies: 1634 | emoji-regex "^8.0.0" 1635 | is-fullwidth-code-point "^3.0.0" 1636 | strip-ansi "^6.0.0" 1637 | 1638 | strip-ansi@^5.1.0: 1639 | version "5.2.0" 1640 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 1641 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 1642 | dependencies: 1643 | ansi-regex "^4.1.0" 1644 | 1645 | strip-ansi@^6.0.0: 1646 | version "6.0.0" 1647 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 1648 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 1649 | dependencies: 1650 | ansi-regex "^5.0.0" 1651 | 1652 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 1653 | version "3.1.1" 1654 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1655 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1656 | 1657 | strip-json-comments@~2.0.1: 1658 | version "2.0.1" 1659 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 1660 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 1661 | 1662 | supports-color@^5.3.0, supports-color@^5.5.0: 1663 | version "5.5.0" 1664 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1665 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1666 | dependencies: 1667 | has-flag "^3.0.0" 1668 | 1669 | supports-color@^7.1.0: 1670 | version "7.2.0" 1671 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1672 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1673 | dependencies: 1674 | has-flag "^4.0.0" 1675 | 1676 | table@^6.0.4: 1677 | version "6.0.9" 1678 | resolved "https://registry.yarnpkg.com/table/-/table-6.0.9.tgz#790a12bf1e09b87b30e60419bafd6a1fd85536fb" 1679 | integrity sha512-F3cLs9a3hL1Z7N4+EkSscsel3z55XT950AvB05bwayrNg5T1/gykXtigioTAjbltvbMSJvvhFCbnf6mX+ntnJQ== 1680 | dependencies: 1681 | ajv "^8.0.1" 1682 | is-boolean-object "^1.1.0" 1683 | is-number-object "^1.0.4" 1684 | is-string "^1.0.5" 1685 | lodash.clonedeep "^4.5.0" 1686 | lodash.flatten "^4.4.0" 1687 | lodash.truncate "^4.4.2" 1688 | slice-ansi "^4.0.0" 1689 | string-width "^4.2.0" 1690 | 1691 | term-size@^2.1.0: 1692 | version "2.2.1" 1693 | resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" 1694 | integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== 1695 | 1696 | text-table@^0.2.0: 1697 | version "0.2.0" 1698 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1699 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1700 | 1701 | to-readable-stream@^1.0.0: 1702 | version "1.0.0" 1703 | resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" 1704 | integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== 1705 | 1706 | to-regex-range@^5.0.1: 1707 | version "5.0.1" 1708 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1709 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1710 | dependencies: 1711 | is-number "^7.0.0" 1712 | 1713 | toidentifier@1.0.0: 1714 | version "1.0.0" 1715 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 1716 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== 1717 | 1718 | touch@^3.1.0: 1719 | version "3.1.0" 1720 | resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" 1721 | integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== 1722 | dependencies: 1723 | nopt "~1.0.10" 1724 | 1725 | type-check@^0.4.0, type-check@~0.4.0: 1726 | version "0.4.0" 1727 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 1728 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 1729 | dependencies: 1730 | prelude-ls "^1.2.1" 1731 | 1732 | type-fest@^0.20.2: 1733 | version "0.20.2" 1734 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 1735 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 1736 | 1737 | type-fest@^0.8.1: 1738 | version "0.8.1" 1739 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 1740 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 1741 | 1742 | type-is@~1.6.17, type-is@~1.6.18: 1743 | version "1.6.18" 1744 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 1745 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1746 | dependencies: 1747 | media-typer "0.3.0" 1748 | mime-types "~2.1.24" 1749 | 1750 | typedarray-to-buffer@^3.1.5: 1751 | version "3.1.5" 1752 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" 1753 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== 1754 | dependencies: 1755 | is-typedarray "^1.0.0" 1756 | 1757 | undefsafe@^2.0.3: 1758 | version "2.0.3" 1759 | resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.3.tgz#6b166e7094ad46313b2202da7ecc2cd7cc6e7aae" 1760 | integrity sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A== 1761 | dependencies: 1762 | debug "^2.2.0" 1763 | 1764 | unique-string@^2.0.0: 1765 | version "2.0.0" 1766 | resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" 1767 | integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== 1768 | dependencies: 1769 | crypto-random-string "^2.0.0" 1770 | 1771 | unpipe@1.0.0, unpipe@~1.0.0: 1772 | version "1.0.0" 1773 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1774 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= 1775 | 1776 | update-notifier@^4.1.0: 1777 | version "4.1.3" 1778 | resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" 1779 | integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== 1780 | dependencies: 1781 | boxen "^4.2.0" 1782 | chalk "^3.0.0" 1783 | configstore "^5.0.1" 1784 | has-yarn "^2.1.0" 1785 | import-lazy "^2.1.0" 1786 | is-ci "^2.0.0" 1787 | is-installed-globally "^0.3.1" 1788 | is-npm "^4.0.0" 1789 | is-yarn-global "^0.3.0" 1790 | latest-version "^5.0.0" 1791 | pupa "^2.0.1" 1792 | semver-diff "^3.1.1" 1793 | xdg-basedir "^4.0.0" 1794 | 1795 | uri-js@^4.2.2: 1796 | version "4.4.1" 1797 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 1798 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 1799 | dependencies: 1800 | punycode "^2.1.0" 1801 | 1802 | url-parse-lax@^3.0.0: 1803 | version "3.0.0" 1804 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" 1805 | integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= 1806 | dependencies: 1807 | prepend-http "^2.0.0" 1808 | 1809 | utils-merge@1.0.1: 1810 | version "1.0.1" 1811 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1812 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= 1813 | 1814 | v8-compile-cache@^2.0.3: 1815 | version "2.3.0" 1816 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" 1817 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 1818 | 1819 | vary@^1, vary@~1.1.2: 1820 | version "1.1.2" 1821 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1822 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= 1823 | 1824 | which@^2.0.1: 1825 | version "2.0.2" 1826 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1827 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1828 | dependencies: 1829 | isexe "^2.0.0" 1830 | 1831 | widest-line@^3.1.0: 1832 | version "3.1.0" 1833 | resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" 1834 | integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== 1835 | dependencies: 1836 | string-width "^4.0.0" 1837 | 1838 | word-wrap@^1.2.3: 1839 | version "1.2.3" 1840 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 1841 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 1842 | 1843 | wrappy@1: 1844 | version "1.0.2" 1845 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1846 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1847 | 1848 | write-file-atomic@^3.0.0: 1849 | version "3.0.3" 1850 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" 1851 | integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== 1852 | dependencies: 1853 | imurmurhash "^0.1.4" 1854 | is-typedarray "^1.0.0" 1855 | signal-exit "^3.0.2" 1856 | typedarray-to-buffer "^3.1.5" 1857 | 1858 | xdg-basedir@^4.0.0: 1859 | version "4.0.0" 1860 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" 1861 | integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== 1862 | 1863 | yallist@^4.0.0: 1864 | version "4.0.0" 1865 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1866 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1867 | --------------------------------------------------------------------------------